
void jsonReplaceFunc(sqlite3_context *ctx,int argc,sqlite3_value **argv)

{
  bool bVar1;
  byte bVar2;
  int iVar3;
  sqlite3_value **ppsVar4;
  int iVar5;
  sqlite3_value *psVar6;
  JsonNode *pJVar7;
  FuncDef *pFVar8;
  u32 *puVar9;
  u32 uVar10;
  undefined4 uVar11;
  HashElem *pHVar12;
  HashElem *pHVar13;
  byte *pbVar14;
  char *pcVar15;
  uint uVar16;
  sqlite3_value *psVar17;
  uint uVar18;
  uint uVar19;
  sqlite3_value *zPath;
  sqlite3_value *psVar20;
  byte *pbVar21;
  uint uVar22;
  sqlite3_value *unaff_s0;
  sqlite3_value **unaff_s1;
  sqlite3_value *unaff_s3;
  JsonParse *unaff_s4;
  sqlite3 **pParse;
  undefined *unaff_s5;
  int unaff_s6;
  sqlite3_value *psVar23;
  sqlite3_value **unaff_s7;
  sqlite3_value **ppsVar24;
  undefined *puVar25;
  Mem *pMVar26;
  sqlite3 *psVar27;
  code *pcVar28;
  byte abStackY_234 [256];
  int iStackY_134;
  sqlite3_value *psStackY_12c;
  sqlite3_value *psStackY_128;
  sqlite3_value *psStackY_124;
  sqlite3_value *psStackY_120;
  code *pcStackY_11c;
  char *pcStack_f8;
  int iStack_f4;
  sqlite3_value *psStack_f0;
  sqlite3_value **ppsStack_ec;
  sqlite3_value *psStack_e8;
  sqlite3_value *psStack_e4;
  JsonParse *pJStack_e0;
  code *pcStack_dc;
  sqlite3_value *psStack_c8;
  sqlite3_value **ppsStack_bc;
  int iStack_b8;
  undefined1 auStack_b4 [20];
  u8 uStack_a0;
  u8 uStack_9f;
  sqlite3 *psStack_94;
  sqlite3_value *psStack_90;
  sqlite3_value **ppsStack_8c;
  sqlite3_context *psStack_88;
  sqlite3_value *psStack_84;
  JsonParse *pJStack_80;
  undefined *puStack_7c;
  int iStack_78;
  sqlite3_value **ppsStack_74;
  JsonParse x;
  
  iVar3 = *(int *)PTR___stack_chk_guard_0018fecc;
  psVar17 = (sqlite3_value *)ctx;
  psVar6 = (sqlite3_value *)argc;
  ppsVar4 = argv;
  if (0 < argc) {
    unaff_s0 = (sqlite3_value *)argc;
    unaff_s7 = argv;
    if ((argc & 1U) == 0) {
      psVar6 = (sqlite3_value *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824);
      jsonWrongNumArgs(ctx,(char *)psVar6);
    }
    else {
      ppsVar4 = (sqlite3_value **)(*(code *)PTR_sqlite3_value_text_0018f97c)(*argv);
      psVar17 = (sqlite3_value *)&x;
      psVar6 = (sqlite3_value *)ctx;
      iVar5 = jsonParse((JsonParse *)psVar17,ctx,(char *)ppsVar4);
      puVar25 = PTR_sqlite3_value_text_0018f97c;
      unaff_s6 = argc;
      if (iVar5 == 0) {
        unaff_s0 = (sqlite3_value *)(uint)((uint)argc < 2);
        unaff_s1 = argv + 1;
        if (unaff_s0 == (sqlite3_value *)0x0) {
          unaff_s0 = (sqlite3_value *)0x1;
          unaff_s4 = &x;
          unaff_s3 = (sqlite3_value *)(PTR_LAB_0018fbc8 + 0x3c48);
          do {
            psVar6 = (sqlite3_value *)(*(code *)puVar25)(*unaff_s1);
            ppsVar4 = (sqlite3_value **)0x0;
            pJVar7 = jsonLookup(unaff_s4,(char *)psVar6,(int *)0x0,ctx);
            unaff_s5 = puVar25;
            if (x.nErr != '\0') goto LAB_000c4674;
            if (pJVar7 != (JsonNode *)0x0) {
              pJVar7->jnFlags = pJVar7->jnFlags | 8;
              (pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1);
            }
            unaff_s0 = (sqlite3_value *)((int)&unaff_s0->u + 2);
            unaff_s1 = unaff_s1 + 2;
          } while (unaff_s0 < (uint)argc);
        }
        if (((x.aNode)->jnFlags & 8) == 0) {
          psVar6 = (sqlite3_value *)ctx;
          ppsVar4 = argv;
          jsonReturnJson(x.aNode,ctx,argv);
        }
        else {
          ppsVar24 = argv + ((x.aNode)->u).iAppend;
          psVar6 = *ppsVar24;
          (*(code *)PTR_sqlite3_result_value_0018fa38)(ctx);
          ppsVar4 = argv;
          argv = ppsVar24;
        }
LAB_000c4674:
        psVar17 = (sqlite3_value *)&x;
        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();
        unaff_s7 = argv;
      }
    }
  }
  if (iVar3 == *(int *)PTR___stack_chk_guard_0018fecc) {
    return;
  }
  puVar25 = PTR___stack_chk_fail_0018fea0;
  (*(code *)PTR___stack_chk_fail_0018fea0)();
  ppsStack_74 = unaff_s7;
  iStack_78 = unaff_s6;
  puStack_7c = unaff_s5;
  pJStack_80 = unaff_s4;
  psStack_84 = unaff_s3;
  psStack_88 = ctx;
  ppsStack_8c = unaff_s1;
  psStack_90 = unaff_s0;
  psStack_c8 = (sqlite3_value *)(puVar25 + 0xd3230);
  ppsStack_bc = ppsVar4;
  ppsVar4 = ppsStack_bc;
  psStack_94 = (sqlite3 *)**(undefined4 **)(puVar25 + 0xcb7dc);
  psVar23 = psVar17;
  zPath = psVar6;
  if (0 < (int)psVar6) {
    unaff_s3 = (sqlite3_value *)**(undefined4 **)(*(u32 *)((int)&psVar17->u + 4) + 8);
    unaff_s0 = psVar6;
    if (((uint)psVar6 & 1) == 0) {
      if (unaff_s3 == (sqlite3_value *)0x0) {
        zPath = (sqlite3_value *)(*(int *)(puVar25 + 0xcb268) + 0x4920);
      }
      else {
        zPath = (sqlite3_value *)(*(int *)(puVar25 + 0xcb26c) + 0x6e8);
      }
      jsonWrongNumArgs((sqlite3_context *)psVar17,(char *)zPath);
    }
    else {
      pcVar15 = (char *)(**(code **)(puVar25 + 0xcb28c))(*ppsVar4);
      psVar23 = (sqlite3_value *)auStack_b4;
      zPath = psVar17;
      iVar3 = jsonParse((JsonParse *)psVar23,(sqlite3_context *)psVar17,pcVar15);
      unaff_s1 = ppsVar4;
      if (iVar3 == 0) {
        unaff_s0 = (sqlite3_value *)(uint)(psVar6 < (sqlite3_value *)0x2);
        unaff_s1 = ppsVar4 + 1;
        if (unaff_s0 == (sqlite3_value *)0x0) {
          unaff_s0 = (sqlite3_value *)0x1;
          psVar23 = *(sqlite3_value **)((int)&psStack_c8[-0x331].u + 4);
          unaff_s4 = (JsonParse *)auStack_b4;
          do {
            zPath = (sqlite3_value *)(*(code *)psVar23)(*unaff_s1);
            iStack_b8 = 0;
            pJVar7 = jsonLookup(unaff_s4,(char *)zPath,&iStack_b8,(sqlite3_context *)psVar17);
            if (uStack_a0 != '\0') {
              (*(code *)psStack_c8[-0x32f].zMalloc)(psVar17);
              goto LAB_000c484c;
            }
            if (uStack_9f != '\0') goto LAB_000c484c;
            if ((pJVar7 != (JsonNode *)0x0) && (unaff_s3 != (sqlite3_value *)0x0 || iStack_b8 != 0))
            {
              pJVar7->jnFlags = pJVar7->jnFlags | 8;
              (pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1);
            }
            unaff_s0 = (sqlite3_value *)((int)&unaff_s0->u + 2);
            unaff_s1 = unaff_s1 + 2;
          } while (unaff_s0 < psVar6);
        }
        if ((*(u8 *)(auStack_b4._8_4_ + 1) & 8) == 0) {
          zPath = psVar17;
          jsonReturnJson((JsonNode *)auStack_b4._8_4_,(sqlite3_context *)psVar17,ppsStack_bc);
        }
        else {
          zPath = ppsStack_bc[((anon_union_4_5_9b08aacb_for_u *)(auStack_b4._8_4_ + 8))->iAppend];
          (*(code *)psStack_c8[-0x32d].db)(psVar17);
        }
LAB_000c484c:
        psVar23 = (sqlite3_value *)auStack_b4;
        (*(code *)(psStack_c8[-0x321].n + 0x3c38))();
      }
    }
  }
  if (psStack_94 == (*(Vdbe **)((int)&psStack_c8[-0x30f].u + 4))->db) {
    return;
  }
  pMVar26 = (Mem *)psStack_c8[-0x310].u.zPType;
  pcVar28 = jsonEachFilter;
  (*(code *)pMVar26)();
  psVar6 = psStack_c8;
  iStack_f4 = *(int *)pMVar26[0x5155].xDel;
  psVar20 = zPath;
  psStack_f0 = unaff_s0;
  ppsStack_ec = unaff_s1;
  psStack_e8 = psVar17;
  psStack_e4 = unaff_s3;
  pJStack_e0 = unaff_s4;
  pcStack_dc = pcVar28;
  (*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))();
  if (zPath != (sqlite3_value *)0x0) {
    iVar3 = (*pMVar26[0x5133].xDel)((Mem *)(psVar6->u).nZero);
    if (iVar3 == 0) {
      zPath = (sqlite3_value *)0x0;
    }
    else {
      unaff_s3 = (sqlite3_value *)(*(code *)pMVar26[0x5135].szMalloc)((Mem *)(psVar6->u).nZero);
      psVar20 = (sqlite3_value *)((int)&unaff_s3->u + 1);
      iVar5 = (*(code *)pMVar26[0x5136].u.nZero)
                        ((uint)(psVar20 < unaff_s3) + ((int)unaff_s3 >> 0x1f));
      psVar23->szMalloc = iVar5;
      if (iVar5 == 0) {
        zPath = (sqlite3_value *)&DAT_00000007;
      }
      else {
        (**(code **)((int)&pMVar26[0x5156].u + 4))(iVar5,iVar3,(char *)((int)&unaff_s3->u + 1));
        pParse = &psVar23->db;
        psVar20 = (sqlite3_value *)0x0;
        unaff_s3 = (sqlite3_value *)
                   jsonParse((JsonParse *)pParse,(sqlite3_context *)0x0,(char *)psVar23->szMalloc);
        if (unaff_s3 == (sqlite3_value *)0x0) {
          if (*(u8 *)((int)&psVar23->zMalloc + 1) != '\0') {
            psVar20 = (sqlite3_value *)((int)psVar23->db << 2);
            puVar9 = (u32 *)(*(code *)pMVar26[0x5136].u.nZero)(0);
            *(u32 **)&psVar23[1].flags = puVar9;
            if (puVar9 == (u32 *)0x0) {
              *(u8 *)&psVar23[1].n = '\x01';
              (*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))(psVar23);
              zPath = (sqlite3_value *)&DAT_00000007;
              goto LAB_000c49c4;
            }
            psVar20 = (sqlite3_value *)0x0;
            (*(code *)(pMVar26[0x5142].n + 0x604))(pParse,0,0);
          }
          bVar1 = zPath == (sqlite3_value *)0x3;
          zPath = (sqlite3_value *)0x0;
          if (bVar1) {
            pcStack_f8 = (char *)0x0;
            pcVar15 = (char *)(*pMVar26[0x5133].xDel)(*(FuncDef **)((int)&psVar6->u + 4));
            if (pcVar15 != (char *)0x0) {
              psVar6 = (sqlite3_value *)
                       (*(code *)pMVar26[0x5135].szMalloc)(*(FuncDef **)((int)&psVar6->u + 4));
              psVar20 = (sqlite3_value *)((int)&psVar6->u + 1);
              uVar10 = (*(code *)pMVar26[0x5136].u.nZero)
                                 ((uint)(psVar20 < psVar6) + ((int)psVar6 >> 0x1f));
              psVar23->uTemp = uVar10;
              if (uVar10 == 0) {
                zPath = (sqlite3_value *)&DAT_00000007;
              }
              else {
                (**(code **)((int)&pMVar26[0x5156].u + 4))
                          (uVar10,pcVar15,(char *)((int)&psVar6->u + 1));
                if (*pcVar15 != '$') {
                  pcStack_f8 = pcVar15;
LAB_000c4cdc:
                  (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);
                    /* WARNING: Subroutine does not return */
                  sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x463c),
                                  pcStack_f8);
                }
                psVar20 = (sqlite3_value *)0x0;
                pFVar8 = (FuncDef *)
                         jsonLookupStep((JsonParse *)pParse,0,(char *)(psVar23->uTemp + 1),
                                        (int *)0x0,&pcStack_f8);
                if (pcStack_f8 != (char *)0x0) goto LAB_000c4cdc;
                if (pFVar8 != (FuncDef *)0x0) goto LAB_000c4aac;
              }
            }
          }
          else {
            pFVar8 = psVar23[1].u.pDef;
LAB_000c4aac:
            pJVar7 = (JsonNode *)(((int)pFVar8 - (int)psVar23[1].u.nZero >> 2) * -0x55555555);
            psVar23->n = (int)pJVar7;
            *(JsonNode **)&psVar23->flags = pJVar7;
            bVar2 = pFVar8->nArg;
            *(byte *)&psVar23->zMalloc = bVar2;
            if (bVar2 < 6) {
              psVar23->z = (char *)&pJVar7->jnFlags;
            }
            else {
              ((anon_union_4_5_9b08aacb_for_u *)&pFVar8->pUserData)->zJContent = (char *)0x0;
              pcVar15 = (char *)psVar23->n;
              psVar23->z = pcVar15 + 1 + pFVar8->funcFlags;
              psVar20 = (sqlite3_value *)((int)pcVar15 * 4);
              if (*(u8 *)((int)&psVar23->zMalloc + 1) == '\0') {
                psVar23->n = (int)(pcVar15 + 1);
              }
              else {
                pJVar7 = (JsonNode *)psVar23[1].u.nZero;
                psVar20 = (sqlite3_value *)(*(u32 **)&psVar23[1].flags)[(int)pcVar15];
                *(u8 *)&psVar23->zMalloc = pJVar7[(int)psVar20].eType;
                if ((pcVar15 != (char *)0x0) && ((pJVar7[(int)(pcVar15 + -1)].jnFlags & 0x40) != 0))
                {
                  psVar23->n = (int)(pcVar15 + -1);
                }
              }
            }
          }
        }
        else {
          if (*(u8 *)&psVar23[1].n == '\0') {
            (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);
                    /* WARNING: Subroutine does not return */
            sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x5060));
          }
          zPath = (sqlite3_value *)&DAT_00000007;
          (*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))(psVar23);
        }
      }
    }
  }
LAB_000c49c4:
  if (iStack_f4 == *(int *)pMVar26[0x5155].xDel) {
    return;
  }
  psVar27 = pMVar26[0x5154].db;
  pcVar28 = sqlite3_randomness;
  iVar3 = iStack_f4;
  (*(code *)psVar27)();
                    /* WARNING: Load size is inaccurate */
  iStackY_134 = *psVar27[0x658].pUpdateArg;
  psStackY_12c = zPath;
  psStackY_128 = psVar23;
  psStackY_124 = psVar6;
  psStackY_120 = unaff_s3;
  pcStackY_11c = pcVar28;
  iVar5 = (*(code *)psVar27[0x656].aDbStatic[1].pBt)();
  if (iVar5 == 0) {
    uVar11 = (*(code *)(psVar27[0x656].pDisconnect + 0x80))(5);
    (*(code *)psVar27[0x656].pSavepoint)(uVar11);
    pHVar12 = psVar27[0x655].aModule.first;
    if (0 < iVar3) {
      if (psVar20 != (sqlite3_value *)0x0) {
        pHVar13 = psVar27[0x655].aModule.first;
        if (*(char *)&pHVar12[0x33].data == '\0') {
          *(undefined1 *)((int)&pHVar13[0x33].data + 2) = 0;
          *(undefined1 *)((int)&pHVar13[0x33].data + 1) = 0;
          iVar5 = (**(code **)((int)&psVar27[0x656].flags + 4))(0);
          (**(code **)(iVar5 + 0x38))(iVar5,0x100,abStackY_234);
          pHVar12 = psVar27[0x655].aModule.first;
          iVar5 = 0;
          do {
            *(char *)((int)&pHVar12[0x33].data + iVar5 + 3) = (char)iVar5;
            iVar5 = iVar5 + 1;
          } while (iVar5 != 0x100);
          pHVar12 = psVar27[0x655].aModule.first;
          uVar18 = (uint)*(byte *)((int)&pHVar12[0x33].data + 2);
          pbVar14 = (byte *)((int)&psVar27[0x655].aModule.first[0x33].data + 3);
          pbVar21 = abStackY_234;
          pHVar13 = psVar27[0x655].aModule.first;
          do {
            uVar22 = uVar18 + (uint)*pbVar14 + (uint)*pbVar21;
            uVar18 = uVar22 & 0xff;
            bVar2 = *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3);
            *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3) = *pbVar14;
            *pbVar14 = bVar2;
            pbVar14 = pbVar14 + 1;
            pbVar21 = pbVar21 + 1;
          } while (pbVar14 != (byte *)((int)&pHVar12[0x43].data + 3));
          pHVar13 = psVar27[0x655].aModule.first;
          *(char *)((int)&pHVar13[0x33].data + 2) = (char)uVar22;
          *(undefined1 *)&pHVar13[0x33].data = 1;
        }
        uVar18 = (uint)*(byte *)((int)&pHVar13[0x33].data + 2);
        uVar22 = *(byte *)((int)&pHVar13[0x33].data + 1) + 1;
        psVar17 = psVar20;
        do {
          uVar16 = (uint)((int)psVar17 + ((uVar22 & 0xff) - (int)psVar20)) & 0xff;
          bVar2 = *(byte *)((int)&pHVar13[0x33].data + uVar16 + 3);
          uVar19 = bVar2 + uVar18;
          uVar18 = uVar19 & 0xff;
          *(undefined1 *)((int)&pHVar13[0x33].data + uVar16 + 3) =
               *(undefined1 *)((int)&pHVar13[0x33].data + uVar18 + 3);
          *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3) = bVar2;
          psVar6 = (sqlite3_value *)((int)&psVar17->u + 1);
          *(char *)&psVar17->u =
               *(char *)((int)&pHVar13[0x33].data +
                        ((uint)bVar2 + (uint)*(byte *)((int)&pHVar13[0x33].data + uVar16 + 3) & 0xff
                        ) + 3);
          psVar17 = psVar6;
        } while (psVar6 != (sqlite3_value *)((int)&psVar20->u + iVar3));
        pHVar12 = psVar27[0x655].aModule.first;
        *(char *)((int)&pHVar12[0x33].data + 1) = (char)uVar22 + (char)iVar3 + -1;
        *(char *)((int)&pHVar12[0x33].data + 2) = (char)uVar19;
        (*(code *)psVar27[0x656].aDbStatic[1].pSchema)(uVar11);
        goto LAB_000c4e3c;
      }
      pHVar12 = psVar27[0x655].aModule.first;
    }
    *(undefined1 *)&pHVar12[0x33].data = 0;
    (*(code *)psVar27[0x656].aDbStatic[1].pSchema)(uVar11);
  }
LAB_000c4e3c:
                    /* WARNING: Load size is inaccurate */
  if (iStackY_134 != *psVar27[0x658].pUpdateArg) {
    (*(code *)psVar27[0x658].nVDestroy)();
    return;
  }
  return;
}



/* WARNING: Type propagation algorithm not settling */

code * FUN_000c44e8(code *param_1,code *param_2,code *param_3,code *param_4)

{
  bool bVar1;
  code cVar2;
  code *pcVar3;
  int iVar4;
  code *pcVar5;
  code *pcVar6;
  byte *pbVar7;
  int iVar8;
  uint uVar9;
  int *piVar10;
  int *piVar11;
  int *piVar12;
  code *pcVar13;
  code *pcVar14;
  byte *pbVar15;
  int iVar16;
  byte bVar17;
  code *unaff_s0;
  code *unaff_s1;
  uint uVar18;
  undefined4 *puVar19;
  code *unaff_s3;
  code *unaff_s4;
  uint uVar20;
  code *unaff_s5;
  code *unaff_s6;
  int *piVar21;
  code *unaff_s7;
  code *pcVar22;
  code *pcVar23;
  undefined *puVar24;
  code *pcVar25;
  code *pcVar26;
  code *unaff_s8;
  int iVar27;
  uint uVar28;
  undefined4 uVar29;
  code *pcVar30;
  code *pcVar31;
  undefined8 uVar32;
  code *pcStack_96c;
  uint uStack_968;
  undefined4 uStack_960;
  uint uStack_958;
  undefined4 uStack_954;
  undefined4 uStack_950;
  int iStack_94c;
  int iStack_948;
  int iStack_944;
  int aiStack_940 [4];
  int iStack_930;
  int iStack_92c;
  uint uStack_928;
  undefined4 uStack_920;
  undefined4 uStack_91c;
  undefined1 auStack_89c [516];
  undefined1 auStack_698 [516];
  int iStack_494;
  int iStack_490;
  code *pcStack_48c;
  code *pcStack_488;
  code *pcStack_484;
  code *pcStack_480;
  code *pcStack_47c;
  code *pcStack_478;
  code *pcStack_474;
  int iStack_470;
  undefined4 uStack_46c;
  undefined4 *puStack_458;
  code *pcStack_448;
  int iStack_37c;
  code *pcStack_378;
  code *pcStack_374;
  code *pcStack_370;
  code *pcStack_36c;
  code *pcStack_368;
  code *pcStack_364;
  code *pcStack_360;
  code *pcStack_35c;
  int iStack_358;
  undefined4 uStack_354;
  undefined4 uStack_340;
  undefined4 uStack_33c;
  undefined4 uStack_338;
  code *pcStack_330;
  undefined4 uStack_328;
  undefined4 uStack_324;
  undefined1 auStack_320 [24];
  uint uStack_308;
  int iStack_27c;
  int iStack_278;
  code *pcStack_274;
  code *pcStack_270;
  code *pcStack_26c;
  code *pcStack_268;
  code *pcStack_264;
  code *pcStack_260;
  code *pcStack_25c;
  code *pcStack_258;
  code *pcStack_254;
  code *pcStack_240;
  byte abStack_234 [256];
  code *pcStack_134;
  code *pcStack_12c;
  code *pcStack_128;
  code *pcStack_124;
  code *pcStack_120;
  code *pcStack_11c;
  code **local_108;
  code *local_100;
  code *local_f8;
  code *local_f4;
  code *local_f0;
  code *local_ec;
  code *local_e8;
  code *local_e4;
  code *local_e0;
  undefined4 local_dc;
  code *local_c8;
  code *local_bc;
  int local_b8;
  undefined1 auStack_b4 [8];
  int local_ac;
  char local_a0;
  char local_9f;
  code *local_94;
  code *local_90;
  code *local_8c;
  code *local_88;
  code *local_84;
  code *local_80;
  code *local_7c;
  code *local_78;
  code *local_74;
  undefined1 local_4c [8];
  int local_44;
  char local_37;
  code *local_2c;
  
  local_2c = *(code **)PTR___stack_chk_guard_0018fecc;
  pcVar22 = param_1;
  pcVar5 = param_2;
  pcVar3 = param_3;
  if (0 < (int)param_2) {
    unaff_s0 = param_2;
    unaff_s7 = param_3;
    if (((uint)param_2 & 1) == 0) {
      pcVar5 = (code *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824);
      FUN_000c4464();
    }
    else {
      pcVar3 = (code *)(*(code *)PTR_sqlite3_value_text_0018f97c)(*(int *)param_3);
      pcVar22 = (code *)local_4c;
      pcVar5 = param_1;
      iVar4 = FUN_000b4580();
      puVar24 = PTR_sqlite3_value_text_0018f97c;
      unaff_s6 = param_2;
      if (iVar4 == 0) {
        unaff_s0 = (code *)(uint)(param_2 < (code *)0x2);
        unaff_s1 = param_3 + 4;
        if (unaff_s0 == (code *)0x0) {
          unaff_s0 = (code *)0x1;
          unaff_s4 = (code *)local_4c;
          unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);
          do {
            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);
            pcVar3 = (code *)0x0;
            param_4 = param_1;
            iVar4 = FUN_000c3c48(unaff_s4);
            unaff_s5 = (code *)puVar24;
            if (local_37 != '\0') goto LAB_000c4674;
            if (iVar4 != 0) {
              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;
              *(code **)(iVar4 + 8) = unaff_s0 + 1;
            }
            unaff_s0 = unaff_s0 + 2;
            unaff_s1 = unaff_s1 + 8;
          } while (unaff_s0 < param_2);
        }
        if ((*(byte *)(local_44 + 1) & 8) == 0) {
          pcVar5 = param_1;
          pcVar3 = param_3;
          FUN_000b63c4();
        }
        else {
          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;
          pcVar5 = *(code **)pcVar22;
          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);
          pcVar3 = param_3;
          param_3 = pcVar22;
        }
LAB_000c4674:
        pcVar22 = (code *)local_4c;
        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();
        unaff_s7 = param_3;
      }
    }
  }
  if (local_2c == *(code **)PTR___stack_chk_guard_0018fecc) {
    return *(code **)PTR___stack_chk_guard_0018fecc;
  }
  puVar24 = PTR___stack_chk_fail_0018fea0;
  (*(code *)PTR___stack_chk_fail_0018fea0)();
  local_74 = unaff_s7;
  local_78 = unaff_s6;
  local_7c = unaff_s5;
  local_80 = unaff_s4;
  local_84 = unaff_s3;
  local_88 = param_1;
  local_8c = unaff_s1;
  local_90 = unaff_s0;
  local_c8 = (code *)(puVar24 + 0xd3230);
  local_bc = pcVar3;
  pcVar3 = local_bc;
  local_94 = (code *)**(int **)(puVar24 + 0xcb7dc);
  pcVar31 = pcVar22;
  pcVar13 = pcVar5;
  pcVar6 = pcVar3;
  if (0 < (int)pcVar5) {
    unaff_s3 = (code *)**(undefined4 **)(*(int *)(pcVar22 + 4) + 8);
    unaff_s0 = pcVar5;
    if (((uint)pcVar5 & 1) == 0) {
      if (unaff_s3 == (code *)0x0) {
        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb268) + 0x4920);
      }
      else {
        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8);
      }
      FUN_000c4464();
      pcVar6 = pcVar3;
    }
    else {
      pcVar6 = (code *)(**(code **)(puVar24 + 0xcb28c))(*(int *)pcVar3);
      pcVar31 = (code *)auStack_b4;
      pcVar13 = pcVar22;
      iVar4 = FUN_000b4580();
      unaff_s1 = pcVar3;
      unaff_s7 = pcVar5;
      if (iVar4 == 0) {
        unaff_s0 = (code *)(uint)(pcVar5 < (code *)0x2);
        unaff_s1 = pcVar3 + 4;
        if (unaff_s0 == (code *)0x0) {
          unaff_s0 = (code *)0x1;
          unaff_s6 = *(code **)(local_c8 + -0x7fa4);
          unaff_s5 = (code *)&local_b8;
          unaff_s4 = (code *)auStack_b4;
          unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);
          do {
            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);
            local_b8 = 0;
            pcVar6 = unaff_s5;
            param_4 = pcVar22;
            iVar4 = FUN_000c3c48(unaff_s4);
            if (local_a0 != '\0') {
              (**(code **)(local_c8 + -0x7f44))(pcVar22);
              goto LAB_000c484c;
            }
            if (local_9f != '\0') goto LAB_000c484c;
            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {
              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;
              *(code **)(iVar4 + 8) = unaff_s0 + 1;
            }
            unaff_s0 = unaff_s0 + 2;
            unaff_s1 = unaff_s1 + 8;
          } while (unaff_s0 < pcVar5);
        }
        pcVar6 = local_bc;
        if ((*(byte *)(local_ac + 1) & 8) == 0) {
          pcVar13 = pcVar22;
          FUN_000b63c4();
        }
        else {
          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;
          pcVar13 = *(code **)unaff_s8;
          (**(code **)(local_c8 + -0x7ee8))(pcVar22);
        }
LAB_000c484c:
        pcVar31 = (code *)auStack_b4;
        (*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))();
      }
    }
  }
  if (local_94 == (code *)**(int **)(local_c8 + -0x7a54)) {
    return (code *)**(int **)(local_c8 + -0x7a54);
  }
  pcVar25 = *(code **)(local_c8 + -0x7a80);
  uVar29 = 0xc4960;
  (*pcVar25)();
  pcVar5 = local_c8;
  local_100 = pcVar25 + 0xd2fc0;
  local_f4 = (code *)**(undefined4 **)(pcVar25 + 0xcb56c);
  pcVar3 = pcVar13;
  local_f0 = unaff_s0;
  local_ec = unaff_s1;
  local_e8 = pcVar22;
  local_e4 = unaff_s3;
  local_e0 = unaff_s4;
  local_dc = uVar29;
  (*(code *)(*(int *)(pcVar25 + 0xcb2a4) + 0x3d3c))();
  if (pcVar13 != (code *)0x0) {
    unaff_s4 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)pcVar5);
    if (unaff_s4 == (code *)0x0) {
      pcVar13 = (code *)0x0;
    }
    else {
      unaff_s3 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)pcVar5);
      pcVar3 = unaff_s3 + 1;
      iVar4 = (**(code **)(local_100 + -0x7f50))
                        ((uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f));
      *(int *)(pcVar31 + 0x18) = iVar4;
      if (iVar4 == 0) {
        pcVar13 = (code *)&DAT_00000007;
      }
      else {
        (**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1);
        unaff_s4 = pcVar31 + 0x20;
        pcVar6 = *(code **)(pcVar31 + 0x18);
        pcVar3 = (code *)0x0;
        unaff_s3 = (code *)FUN_000b4580(unaff_s4);
        if (unaff_s3 == (code *)0x0) {
          if (pcVar31[0x15] != (code)0x0) {
            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);
            iVar4 = (**(code **)(local_100 + -0x7f50))(0);
            *(int *)(pcVar31 + 0x30) = iVar4;
            if (iVar4 == 0) {
              pcVar31[0x34] = (code)0x1;
              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);
              pcVar13 = (code *)&DAT_00000007;
              goto LAB_000c49c4;
            }
            pcVar6 = (code *)0x0;
            pcVar3 = (code *)0x0;
            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);
          }
          bVar1 = pcVar13 == (code *)0x3;
          pcVar13 = (code *)0x0;
          if (bVar1) {
            local_f8 = (code *)0x0;
            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));
            if (pcVar22 != (code *)0x0) {
              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));
              pcVar3 = pcVar5 + 1;
              iVar4 = (**(code **)(local_100 + -0x7f50))
                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));
              *(int *)(pcVar31 + 0x1c) = iVar4;
              if (iVar4 == 0) {
                pcVar13 = (code *)&DAT_00000007;
              }
              else {
                pcVar6 = pcVar5 + 1;
                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);
                if (*pcVar22 == (code)0x24) {
                  param_4 = (code *)0x0;
                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);
                  pcVar3 = (code *)0x0;
                  local_108 = &local_f8;
                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);
                  if (local_f8 == (code *)0x0) {
                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;
                    goto LAB_000c49c4;
                  }
                }
                else {
                  local_f8 = pcVar22;
                }
                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));
                iVar4 = *(int *)pcVar31;
                pcVar3 = local_f8;
                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);
                *(undefined4 *)(iVar4 + 8) = uVar29;
                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);
                pcVar13 = (code *)&DAT_00000007;
                if (*(int *)(*(int *)pcVar31 + 8) != 0) {
                  pcVar13 = (code *)0x1;
                }
              }
            }
          }
          else {
            pcVar22 = *(code **)(pcVar31 + 0x28);
LAB_000c4aac:
            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;
            *(int *)(pcVar31 + 0xc) = iVar4;
            *(int *)(pcVar31 + 8) = iVar4;
            cVar2 = *pcVar22;
            pcVar31[0x14] = cVar2;
            if ((byte)cVar2 < 6) {
              *(int *)(pcVar31 + 0x10) = iVar4 + 1;
            }
            else {
              *(undefined4 *)(pcVar22 + 8) = 0;
              iVar4 = *(int *)(pcVar31 + 0xc);
              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;
              pcVar3 = (code *)(iVar4 * 4);
              if (pcVar31[0x15] == (code)0x0) {
                *(int *)(pcVar31 + 0xc) = iVar4 + 1;
              }
              else {
                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));
                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);
                if ((iVar4 != 0) &&
                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {
                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;
                }
              }
            }
          }
        }
        else {
          if (pcVar31[0x34] == (code)0x0) {
            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));
            iVar4 = *(int *)pcVar31;
            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);
            *(undefined4 *)(iVar4 + 8) = uVar29;
            pcVar13 = (code *)0x1;
            if (*(int *)(*(int *)pcVar31 + 8) == 0) {
              pcVar13 = (code *)&DAT_00000007;
            }
          }
          else {
            pcVar13 = (code *)&DAT_00000007;
          }
          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);
        }
      }
    }
  }
LAB_000c49c4:
  if (local_f4 == (code *)**(undefined4 **)(local_100 + -0x7a54)) {
    return pcVar13;
  }
  pcVar26 = *(code **)(local_100 + -0x7a80);
  pcVar30 = sqlite3_randomness;
  pcVar22 = local_f4;
  (*pcVar26)();
  pcStack_240 = pcVar26 + 0xd2b38;
  pcStack_134 = (code *)**(int **)(pcVar26 + 0xcb0e4);
  pcVar25 = pcVar22;
  pcVar14 = pcVar3;
  pcStack_12c = pcVar13;
  pcStack_128 = pcVar31;
  pcStack_124 = pcVar5;
  pcStack_120 = unaff_s3;
  pcStack_11c = pcVar30;
  iVar4 = (**(code **)(pcVar26 + 0xcadb8))();
  if (iVar4 == 0) {
    unaff_s3 = (code *)(*(code *)(*(int *)(pcStack_240 + -0x7dc8) + 0xe00))(5);
    (**(code **)(pcStack_240 + -0x7d74))(unaff_s3);
    iVar27 = *(int *)(pcStack_240 + -0x7fd8);
    pcVar25 = unaff_s3;
    if (0 < (int)pcVar22) {
      if (pcVar3 != (code *)0x0) {
        iVar8 = *(int *)(pcStack_240 + -0x7fd8);
        if (*(char *)(iVar27 + 0x338) == '\0') {
          *(undefined1 *)(iVar8 + 0x33a) = 0;
          *(undefined1 *)(iVar8 + 0x339) = 0;
          iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0);
          (**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234);
          iVar27 = *(int *)(pcStack_240 + -0x7fd8);
          iVar4 = 0;
          do {
            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;
            iVar4 = iVar4 + 1;
          } while (iVar4 != 0x100);
          iVar4 = *(int *)(pcStack_240 + -0x7fd8);
          uVar9 = (uint)*(byte *)(iVar4 + 0x33a);
          pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b);
          pbVar15 = abStack_234;
          iVar27 = *(int *)(pcStack_240 + -0x7fd8);
          do {
            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;
            uVar9 = uVar18 & 0xff;
            iVar8 = iVar27 + 0x338 + uVar9;
            bVar17 = *(byte *)(iVar8 + 3);
            *(byte *)(iVar8 + 3) = *pbVar7;
            *pbVar7 = bVar17;
            pbVar7 = pbVar7 + 1;
            pbVar15 = pbVar15 + 1;
          } while (pbVar7 != (byte *)(iVar4 + 0x43b));
          iVar8 = *(int *)(pcStack_240 + -0x7fd8);
          *(char *)(iVar8 + 0x33a) = (char)uVar18;
          *(undefined1 *)(iVar8 + 0x338) = 1;
          iVar4 = 0x100;
        }
        pcVar6 = (code *)(iVar8 + 0x338);
        uVar9 = (uint)*(byte *)(iVar8 + 0x33a);
        bVar17 = *(char *)(iVar8 + 0x339) + 1;
        pcVar13 = (code *)((uint)bVar17 - (int)pcVar3);
        pcVar5 = pcVar3;
        do {
          uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff;
          cVar2 = pcVar6[uVar18 + 3];
          uVar20 = (byte)cVar2 + uVar9;
          uVar9 = uVar20 & 0xff;
          param_4 = pcVar6 + uVar9;
          pcVar6[uVar18 + 3] = param_4[3];
          param_4[3] = cVar2;
          pcVar14 = pcVar5 + 1;
          *pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3];
          pcVar5 = pcVar14;
        } while (pcVar14 != pcVar3 + (int)pcVar22);
        iVar27 = *(int *)(pcStack_240 + -0x7fd8);
        pcVar22 = pcVar22 + -1;
        *(byte *)(iVar27 + 0x339) = bVar17 + (char)pcVar22;
        *(char *)(iVar27 + 0x33a) = (char)uVar20;
        (**(code **)(pcStack_240 + -0x7d78))();
        pcVar3 = pcVar13;
        goto LAB_000c4e3c;
      }
      iVar27 = *(int *)(pcStack_240 + -0x7fd8);
    }
    *(undefined1 *)(iVar27 + 0x338) = 0;
    (**(code **)(pcStack_240 + -0x7d78))();
  }
LAB_000c4e3c:
  if (pcStack_134 == (code *)**(int **)(pcStack_240 + -0x7a54)) {
    return (code *)**(int **)(pcStack_240 + -0x7a54);
  }
  pcVar13 = *(code **)(pcStack_240 + -0x7a80);
  pcVar31 = FUN_000c5048;
  (*pcVar13)();
  pcStack_330 = pcVar13 + 0xd28d8;
  iStack_27c = **(int **)(pcVar13 + 0xcae84);
  *pcVar14 = (code)0x0;
  pcVar5 = (code *)**(undefined4 **)(pcVar13 + 0xcac68);
  iStack_278 = iVar4;
  pcStack_274 = pcVar3;
  pcStack_270 = pcVar22;
  pcStack_26c = unaff_s3;
  pcStack_268 = unaff_s4;
  pcStack_264 = unaff_s5;
  pcStack_260 = unaff_s6;
  pcStack_25c = unaff_s7;
  pcStack_258 = unaff_s8;
  pcStack_254 = pcVar31;
  if (*(int *)(*(int *)(pcVar13 + 0xca900) + -0xb90) == 0) {
    uVar29 = (**(code **)(pcVar13 + 0xcae0c))(*(int *)(pcVar13 + 0xca914) + -0x45f4);
    *(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90) = uVar29;
  }
  if (*(int *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) == 0) {
    uVar29 = (**(code **)(pcStack_330 + -0x7acc))(*(int *)(pcStack_330 + -0x7fc4) + -0x45e4);
    *(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) = uVar29;
  }
  pcVar3 = (code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90);
  pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb78);
  pcVar26 = (code *)auStack_320;
  iVar4 = *(int *)(pcStack_330 + -0x7fd8);
  pcVar13 = (code *)(iVar4 + -0x840);
  iVar27 = 0x4000;
  pcVar22 = pcStack_330;
  while( true ) {
    pcVar30 = pcVar26;
    if ((((pcVar5 != (code *)0x0) &&
         (iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) &&
        (pcVar30 = (code *)0x3, (uStack_308 & 0xf000) == 0x4000)) &&
       (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) {
      pcVar3 = (code *)&DAT_0000000c;
      pcVar26 = (code *)&uStack_328;
      pcVar13 = pcVar14 + (int)(pcVar25 + -2);
      pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fc4) + -0x45dc);
      iVar4 = *(int *)(pcStack_330 + -0x7fd8);
      iVar27 = iVar4 + -0x840;
      goto LAB_000c51a4;
    }
    pcVar23 = (code *)0x190a;
    if (pcVar3 == pcVar31) break;
    pcVar5 = *(code **)pcVar3;
    pcVar3 = pcVar3 + 4;
  }
  goto LAB_000c5230;
joined_r0x000c5ce4:
  if (param_4 == pcVar5) goto LAB_000c5d10;
  piVar21 = (int *)piVar11[2];
  if (piVar21 == (int *)0x0) goto LAB_000c6494;
  pcVar5 = (code *)piVar21[1];
  piVar12 = piVar11 + 2;
  piVar11 = piVar21;
  goto joined_r0x000c5ce4;
LAB_000c5d10:
  *piVar12 = piVar11[2];
  (**(code **)(pcVar22 + 0xca2ac))(piVar10[4]);
  (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();
  iVar4 = *piVar11;
  goto LAB_000c5d44;
LAB_000c6494:
  (**(code **)(pcVar22 + 0xca2ac))(piVar10[4]);
  (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();
  goto LAB_000c642c;
  while (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar14), iVar8 == 0) {
LAB_000c51a4:
    sqlite3_randomness(8,pcVar26);
    *pcVar13 = (code)0x0;
    uStack_338 = 0;
    uStack_33c = uStack_324;
    uStack_340 = uStack_328;
    pcVar30 = pcVar14;
    pcVar6 = pcVar31;
    param_4 = pcVar5;
    (**(code **)(pcStack_330 + -0x7ec4))(pcVar25);
    pcVar3 = pcVar3 + -1;
    if ((*pcVar13 != (code)0x0) || (pcVar30 = (code *)0x0, pcVar3 == (code *)0x0)) {
      pcVar23 = (code *)0x1;
      pcVar22 = pcStack_330;
      goto LAB_000c5230;
    }
  }
  pcVar23 = (code *)0x0;
  pcVar30 = pcVar26;
  pcVar22 = pcStack_330;
LAB_000c5230:
  if (iStack_27c == **(int **)(pcVar22 + -0x7a54)) {
    return pcVar23;
  }
  pcVar22 = *(code **)(pcVar22 + -0x7a80);
  uVar29 = 0xc527c;
  iVar4 = iStack_27c;
  (*pcVar22)();
  pcStack_448 = pcVar22 + 0xd26a4;
  iVar8 = **(int **)(pcVar22 + 0xcac50);
  iStack_37c = iVar8;
  pcStack_378 = pcVar3;
  pcStack_374 = pcVar5;
  pcStack_370 = pcVar14;
  pcStack_36c = pcVar13;
  pcStack_368 = pcVar25;
  pcStack_364 = pcVar31;
  pcStack_360 = pcVar26;
  pcStack_35c = pcVar23;
  iStack_358 = iVar27;
  uStack_354 = uVar29;
  if (pcVar30 < &DAT_00000015) {
                    /* WARNING: Could not recover jumptable at 0x000c52e8. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    pcVar22 = (code *)(*(pcStack_448 +
                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)))();
    return pcVar22;
  }
  if (iVar8 == **(int **)(pcVar22 + 0xcac50)) {
    return (code *)&DAT_0000000c;
  }
  pcVar22 = *(code **)(pcVar22 + 0xcac24);
  uVar29 = 0xc58fc;
  (*pcVar22)();
  iStack_494 = **(int **)(pcVar22 + 0xca5d0);
  uVar20 = (uint)param_4 & 0xffffff00;
  uVar18 = (uint)param_4 & 8;
  uStack_958 = (uint)param_4 & 1;
  uVar9 = (uint)param_4 & 2;
  pcStack_96c = pcVar30;
  iStack_490 = iVar4;
  pcStack_48c = pcVar5;
  pcStack_488 = pcVar14;
  pcStack_484 = pcVar13;
  pcStack_480 = pcVar25;
  pcStack_47c = pcVar31;
  pcStack_478 = pcVar26;
  pcStack_474 = pcVar23;
  iStack_470 = iVar27;
  uStack_46c = uVar29;
  if (((uint)param_4 & 4) == 0) {
LAB_000c59a0:
    iVar4 = (**(code **)(pcVar22 + 0xca564))();
    if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {
      bVar1 = false;
      goto LAB_000c59cc;
    }
    bVar1 = false;
LAB_000c59fc:
    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);
    if (uVar20 != 0x100) goto LAB_000c5a24;
    (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();
    if (*(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228) == 0) {
LAB_000c6414:
      iVar4 = *(int *)(pcVar22 + 0xca25c);
    }
    else {
      iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(pcVar30,aiStack_940);
      if ((iVar4 != 0) ||
         (piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0))
      goto LAB_000c6414;
      do {
        if ((((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&
           (piVar10[3] == iStack_92c)) {
          (**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);
          piVar11 = (int *)piVar10[8];
          if (piVar11 == (int *)0x0) goto LAB_000c6494;
          pcVar5 = (code *)piVar11[1];
          piVar12 = piVar10 + 8;
          goto joined_r0x000c5ce4;
        }
        piVar10 = (int *)piVar10[0xb];
        iVar4 = *(int *)(pcVar22 + 0xca25c);
      } while (piVar10 != (int *)0x0);
    }
    (*(code *)(iVar4 + 0x27b8))();
LAB_000c642c:
    piVar11 = (int *)(**(code **)(pcVar22 + 0xca0d4))(0,0xc);
    if (piVar11 == (int *)0x0) {
      pcVar5 = (code *)&DAT_00000007;
      goto LAB_000c602c;
    }
    iVar4 = -1;
LAB_000c5d44:
    *(int **)(pcVar6 + 0x1c) = piVar11;
LAB_000c5a34:
    uStack_968 = uVar9;
    if (((uint)param_4 & 4) != 0) {
      uStack_968 = uVar9 | 0x100;
    }
    if (((uint)param_4 & 0x10) != 0) {
      uStack_968 = uStack_968 | 0x20400;
    }
    if (iVar4 < 0) {
      if (((uint)param_4 & 0x80800) == 0) {
        uVar28 = 0x180;
        if ((uVar18 == 0) && (uVar28 = 0, ((uint)param_4 & 0x40) != 0)) {
          iVar4 = (**(code **)(pcVar22 + 0xca2f4))
                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8);
          if (iVar4 != 0) {
            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);
            if (iVar4 == 0) {
              uVar28 = uStack_928 & 0x1ff;
              uStack_960 = uStack_920;
              uStack_954 = uStack_91c;
              pcVar5 = (code *)0x0;
            }
            else {
              uStack_954 = 0;
              uStack_960 = 0;
              uVar28 = 0;
              pcVar5 = (code *)0x70a;
            }
            goto LAB_000c5ee0;
          }
          uVar28 = 0;
        }
LAB_000c5e0c:
        uStack_954 = 0;
        uStack_960 = 0;
      }
      else {
        iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c);
        iVar27 = iVar4 + -1;
        if (pcStack_96c[iVar27] != (code)0x2d) {
          if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {
            iVar27 = iVar4 + -2;
            do {
              pcVar5 = pcStack_96c + iVar27;
              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;
              uVar28 = 0;
              if (iVar27 == 0) goto LAB_000c5e0c;
              iVar27 = iVar27 + -1;
            } while (*pcVar5 != (code)0x2e);
          }
          uVar28 = 0;
          goto LAB_000c5e0c;
        }
LAB_000c5e78:
        (**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201);
        auStack_89c[iVar27] = 0;
        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940);
        if (iVar4 == 0) {
          uVar28 = uStack_928 & 0x1ff;
          uStack_960 = uStack_920;
          uStack_954 = uStack_91c;
          pcVar5 = (code *)0x0;
        }
        else {
          uStack_954 = 0;
          uStack_960 = 0;
          uVar28 = 0;
          pcVar5 = (code *)0x70a;
        }
LAB_000c5ee0:
        if (pcVar5 != (code *)0x0) goto LAB_000c602c;
      }
      iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))
                        (pcStack_96c,uStack_968 | 0x2000,uVar28);
      if (-1 < iVar4) {
LAB_000c5e40:
        if (((uint)param_4 & 0x80800) != 0) {
          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);
        }
        goto LAB_000c5a6c;
      }
      pcVar5 = *(code **)(pcVar22 + 0xca4f8);
      if (bVar1) {
        piVar10 = (int *)(*pcVar5)();
        if (*piVar10 != 0xd) {
          pcVar5 = *(code **)(pcVar22 + 0xca4f8);
          goto LAB_000c5fb8;
        }
        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))(pcStack_96c,0);
        pcVar5 = *(code **)(pcVar22 + 0xca4f8);
        if (iVar4 == 0) goto LAB_000c5fb8;
        uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);
        (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))
                  (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634);
        pcVar5 = (code *)0x608;
      }
      else {
LAB_000c5fb8:
        piVar10 = (int *)(*pcVar5)();
        if ((*piVar10 == 0x15) || (uVar9 == 0)) {
          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);
          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))
                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634
                                     );
        }
        else {
          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);
          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))
                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);
          if (-1 < iVar4) {
            uStack_958 = 1;
            goto LAB_000c5e40;
          }
          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);
          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))
                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634
                                     );
        }
        if (pcVar5 == (code *)0x0) goto LAB_000c602c;
      }
LAB_000c630c:
      iVar4 = *(int *)(pcVar6 + 0x1c);
LAB_000c6310:
      (**(code **)(pcVar22 + 0xca07c))(iVar4);
    }
    else {
LAB_000c5a6c:
      if (puStack_458 != (undefined4 *)0x0) {
        *puStack_458 = param_4;
      }
      if (*(int **)(pcVar6 + 0x1c) != (int *)0x0) {
        **(int **)(pcVar6 + 0x1c) = iVar4;
        *(code **)(*(int *)(pcVar6 + 0x1c) + 4) = param_4;
      }
      if (uVar18 != 0) {
        (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))(pcStack_96c);
        uVar18 = 0x20;
      }
      if (uStack_958 != 0) {
        uVar18 = uVar18 | 2;
      }
      if (uVar20 != 0x100) {
        uVar18 = uVar18 | 0x80;
      }
      if (bVar1) {
        uVar18 = uVar18 | 8;
      }
      if (((uint)param_4 & 0x40) == 0) {
        *(int *)(pcVar6 + 0xc) = iVar4;
        *(int *)(pcVar6 + 4) = iVar8;
        *(code **)(pcVar6 + 0x20) = pcVar30;
        *(short *)(pcVar6 + 0x12) = (short)uVar18;
        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);
        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);
        *(int *)(pcVar6 + 0x40) = iVar27;
        pcVar5 = (code *)0x0;
      }
      else {
        uVar18 = uVar18 | 0x40;
        *(int *)(pcVar6 + 0xc) = iVar4;
        *(int *)(pcVar6 + 4) = iVar8;
        *(code **)(pcVar6 + 0x20) = pcVar30;
        *(short *)(pcVar6 + 0x12) = (short)uVar18;
        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);
        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);
        *(int *)(pcVar6 + 0x40) = iVar27;
        pcVar5 = pcVar30;
      }
      iVar27 = (**(code **)(pcVar22 + 0xca37c))(pcVar5,*(int *)(pcVar22 + 0xca060) + -0x45c0,1);
      iVar16 = *(int *)(pcVar22 + 0xca060);
      if (iVar27 != 0) {
        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 0x10;
      }
      iVar27 = (**(code **)(pcVar22 + 0xca610))(*(undefined4 *)(iVar8 + 0x10),iVar16 + -0x45b8);
      if (iVar27 == 0) {
        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 1;
      }
      if ((uVar18 & 0x80) == 0) {
        iVar27 = (*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6);
        if (iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154) {
          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();
          iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))
                            (*(int *)(pcVar6 + 0xc),aiStack_940);
          if (iVar8 == 0) {
            uStack_950 = 0;
            iStack_94c = aiStack_940[0];
            iStack_944 = iStack_92c;
            iStack_948 = iStack_930;
            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);
                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {
              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);
              if (iVar8 == 0) {
                if (puVar19 != (undefined4 *)0x0) {
                  puVar19[9] = puVar19[9] + 1;
                  goto LAB_000c62e4;
                }
                break;
              }
            }
            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);
            if (puVar19 == (undefined4 *)0x0) {
              pcVar5 = (code *)&DAT_00000007;
              goto LAB_000c62a8;
            }
            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);
            *puVar19 = uStack_950;
            puVar19[1] = iStack_94c;
            puVar19[2] = iStack_948;
            puVar19[3] = iStack_944;
            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {
              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);
              puVar19[4] = iVar8;
              if (iVar8 == 0) {
                (**(code **)(pcVar22 + 0xca07c))(puVar19);
                pcVar5 = (code *)&DAT_00000007;
                goto LAB_000c62a8;
              }
            }
            puVar19[9] = 1;
            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);
            puVar19[0xb] = iVar8;
            puVar19[0xc] = 0;
            if (iVar8 != 0) {
              *(undefined4 **)(iVar8 + 0x30) = puVar19;
            }
            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;
LAB_000c62e4:
            *(undefined4 **)(pcVar6 + 8) = puVar19;
            pcVar5 = (code *)0x0;
          }
          else {
            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();
            *(int *)(pcVar6 + 0x14) = *piVar10;
            pcVar5 = (code *)&DAT_0000000a;
LAB_000c62a8:
            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);
            iVar4 = -1;
          }
          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();
        }
        else {
          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;
          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);
          iVar8 = iVar8 + 6;
          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);
          if (iVar16 == 0) {
            pcVar5 = (code *)&DAT_00000007;
          }
          else {
            (**(code **)(pcVar22 + 0xca160))
                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);
            pcVar5 = (code *)0x0;
          }
          *(int *)(pcVar6 + 0x18) = iVar16;
        }
        *(int *)(pcVar6 + 0x14) = 0;
        if (pcVar5 != (code *)0x0) {
          if (iVar4 < 0) goto LAB_000c630c;
          (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);
          iVar4 = *(int *)(pcVar6 + 0x1c);
          goto LAB_000c6310;
        }
      }
      else {
        iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4;
LAB_000c6394:
        *(int *)(pcVar6 + 0x14) = 0;
      }
      *(int *)pcVar6 = iVar27;
      (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524))(pcVar6);
      pcVar5 = (code *)0x0;
    }
  }
  else {
    if ((uVar20 == 0x4000) || (uVar20 == 0x800)) {
      pcVar5 = *(code **)(pcVar22 + 0xca564);
    }
    else {
      pcVar5 = *(code **)(pcVar22 + 0xca564);
      if (uVar20 != 0x80000) goto LAB_000c59a0;
    }
    iVar4 = (*pcVar5)();
    if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {
      bVar1 = true;
LAB_000c59cc:
      uVar29 = (**(code **)(pcVar22 + 0xca564))();
      *(undefined4 *)(*(int *)(pcVar22 + 0xca04c) + 0x230) = uVar29;
      sqlite3_randomness(0,0);
      goto LAB_000c59fc;
    }
    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);
    bVar1 = true;
LAB_000c5a24:
    iVar4 = -1;
    if (pcVar30 != (code *)0x0) goto LAB_000c5a34;
    pcVar5 = (code *)FUN_000c5048(*(undefined4 *)(iVar8 + 8),auStack_698);
    if (pcVar5 == (code *)0x0) {
      iVar4 = -1;
      pcStack_96c = (code *)auStack_698;
      goto LAB_000c5a34;
    }
  }
LAB_000c602c:
  if (iStack_494 == **(int **)(pcVar22 + 0xca5d0)) {
    return pcVar5;
  }
  pcVar22 = *(code **)(pcVar22 + 0xca5a4);
  iVar4 = iStack_494;
  (*pcVar22)();
  uVar9 = *(uint *)(iVar4 + 0x98);
  if (*(uint *)(iVar4 + 0x94) <= *(uint *)(iVar4 + 0x98)) {
    uVar9 = *(uint *)(iVar4 + 0x94);
  }
  puVar19 = *(undefined4 **)(iVar4 + 0xd0);
  if (0 < *(int *)(iVar4 + 0x60)) {
    iVar8 = 0;
    iVar27 = 0;
    do {
      iVar16 = *(int *)(iVar4 + 0x5c) + iVar8;
      if (*(int *)(iVar16 + 8) == 0 && *(int *)(iVar16 + 0xc) == 0) {
        uVar29 = *(undefined4 *)(iVar4 + 0x48);
        *(undefined4 *)(iVar16 + 0xc) = *(undefined4 *)(iVar4 + 0x4c);
        *(undefined4 *)(iVar16 + 8) = uVar29;
      }
      iVar27 = iVar27 + 1;
      iVar8 = iVar8 + 0x30;
    } while (iVar27 < *(int *)(iVar4 + 0x60));
  }
  uVar32 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x43ec))(iVar4);
  *(undefined8 *)(iVar4 + 0x48) = uVar32;
  *(undefined8 *)(iVar4 + 0x50) = uVar32;
  if ((*(char *)(iVar4 + 7) == '\0') && (*(char *)(iVar4 + 5) != '\x04')) {
    uVar18 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0xaf8))(*(undefined4 *)(iVar4 + 0x3c));
    iVar27 = *(int *)(pcVar22 + 0xc96e0);
    if ((uVar18 & 0x200) == 0) {
      *(undefined1 *)puVar19 = 0;
      *(undefined1 *)((int)puVar19 + 1) = 0;
      *(undefined1 *)((int)puVar19 + 2) = 0;
      *(undefined1 *)((int)puVar19 + 3) = 0;
      *(undefined1 *)(puVar19 + 1) = 0;
      *(undefined1 *)((int)puVar19 + 5) = 0;
      *(undefined1 *)((int)puVar19 + 6) = 0;
      *(undefined1 *)((int)puVar19 + 7) = 0;
      *(undefined1 *)(puVar19 + 2) = 0;
      *(undefined1 *)((int)puVar19 + 9) = 0;
      *(undefined1 *)((int)puVar19 + 10) = 0;
      *(undefined1 *)((int)puVar19 + 0xb) = 0;
      goto LAB_000c65ec;
    }
  }
  else {
    iVar27 = *(int *)(pcVar22 + 0xc96e0);
  }
  uVar29 = *(undefined4 *)(iVar27 + -0x4394);
  *puVar19 = *(undefined4 *)(iVar27 + -0x4398);
  puVar19[1] = uVar29;
  (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c))(puVar19 + 2,0xffffffff);
LAB_000c65ec:
  sqlite3_randomness(4,iVar4 + 0x30);
  pcVar5 = (code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c);
  (*pcVar5)(puVar19 + 3,*(undefined4 *)(iVar4 + 0x30));
  (*pcVar5)(puVar19 + 4,*(undefined4 *)(iVar4 + 0x1c));
  (*pcVar5)(puVar19 + 5,*(undefined4 *)(iVar4 + 0x94));
  (*pcVar5)(puVar19 + 6,*(undefined4 *)(iVar4 + 0x98));
  (**(code **)(pcVar22 + 0xc9930))(puVar19 + 7,0,uVar9 - 0x1c);
  uVar18 = 0;
  if (*(int *)(iVar4 + 0x94) != 0) {
    iVar27 = *(int *)(pcVar22 + 0xc9688);
    do {
      pcVar22 = (code *)(*(code *)(iVar27 + 0x9e0))(*(undefined4 *)(iVar4 + 0x40),puVar19,uVar9);
      uVar20 = *(uint *)(iVar4 + 0x4c) + uVar9;
      *(uint *)(iVar4 + 0x48) = (uint)(uVar20 < *(uint *)(iVar4 + 0x4c)) + *(int *)(iVar4 + 0x48);
      *(uint *)(iVar4 + 0x4c) = uVar20;
      uVar18 = uVar18 + uVar9;
      if (pcVar22 != (code *)0x0) {
        return pcVar22;
      }
    } while (uVar18 < *(uint *)(iVar4 + 0x94));
  }
  return (code *)0x0;
}


lui gp,0xd
addiu gp,gp,0x3438
addu gp,gp,t9
addiu sp,sp,-0x68
sw ra,0x64(sp)
sw s7,0x60(sp)
sw s6,0x5c(sp)
sw s5,0x58(sp)
sw s4,0x54(sp)
sw s3,0x50(sp)
sw s2,0x4c(sp)
sw s1,0x48(sp)
sw s0,0x44(sp)
sw gp,0x10(sp)
lw v0,-0x7a54(gp)
lw v0,0x0(v0)
sw v0,0x3c(sp)
blez a1,0x000c4688
_or s2,a0,zero
or s0,a1,zero
andi v0,a1,0x1
beq v0,zero,0x000c45a4
_or s7,a2,zero
lw a0,0x0(a2)
lw t9,-0x7fa4(gp)
jalr t9
_nop
lw gp,0x10(sp)
or a2,v0,zero
or a1,s2,zero
addiu a0,sp,0x1c
lw t9,-0x7c94(gp)
addiu t9,t9,0x4580
bal 0x000b4580
_nop
lw gp,0x10(sp)
bne v0,zero,0x000c4688
_or s6,s0,zero
sltiu s0,s0,0x2
bne s0,zero,0x000c4638
_addiu s1,s7,0x4
li s0,0x1
lw s5,-0x7fa4(gp)
addiu s4,sp,0x1c
lw s3,-0x7d58(gp)
b 0x000c45d8
_addiu s3,s3,0x3c48
lw a1,-0x7fc4(gp)
addiu a1,a1,-0x6824
lw t9,-0x7d58(gp)
addiu t9,t9,0x4464
bal 0x000c4464
_nop
lw gp,0x10(sp)
b 0x000c4688
_nop
addiu s0,s0,0x2
sltu v0,s0,s6
beq v0,zero,0x000c4638
_addiu s1,s1,0x8
lw a0,0x0(s1)
or t9,s5,zero
jalr t9
_nop
lw gp,0x10(sp)
or a3,s2,zero
or a2,zero,zero
or a1,v0,zero
or a0,s4,zero
or t9,s3,zero
bal 0x000c3c48
_nop
lw gp,0x10(sp)
lbu v1,0x31(sp)
bne v1,zero,0x000c4674
_addiu a0,sp,0x1c
beq v0,zero,0x000c45c8
_nop
lbu v1,0x1(v0)
ori v1,v1,0x8
sb v1,0x1(v0)
addiu v1,s0,0x1
b 0x000c45c8
_sw v1,0x8(v0)
lw a0,0x24(sp)
lbu v0,0x1(a0)
andi v0,v0,0x8
beq v0,zero,0x000c46c4
_or a2,s7,zero
lw v0,0x8(a0)
sll v0,v0,0x2
addu s7,s7,v0
lw a1,0x0(s7)
or a0,s2,zero
lw t9,-0x7ee8(gp)
jalr t9
_nop
lw gp,0x10(sp)
addiu a0,sp,0x1c
lw t9,-0x7d1c(gp)
addiu t9,t9,0x3c38
jalr t9
_nop
lw gp,0x10(sp)
lw v1,0x3c(sp)
lw v0,-0x7a54(gp)
lw v0,0x0(v0)
bne v1,v0,0x000c46e4
_lw ra,0x64(sp)
lw s7,0x60(sp)
lw s6,0x5c(sp)
lw s5,0x58(sp)
lw s4,0x54(sp)
lw s3,0x50(sp)
lw s2,0x4c(sp)
lw s1,0x48(sp)
lw s0,0x44(sp)
jr ra
_addiu sp,sp,0x68
or a1,s2,zero
lw t9,-0x7c94(gp)
addiu t9,t9,0x63c4
bal 0x000b63c4
_nop
lw gp,0x10(sp)
b 0x000c4674
_addiu a0,sp,0x1c
lw t9,-0x7a80(gp)
jalr t9
_nop
lui gp,0xd
addiu gp,gp,0x3230
addu gp,gp,t9
addiu sp,sp,-0x70
sw ra,0x6c(sp)
sw s8,0x68(sp)
sw s7,0x64(sp)
sw s6,0x60(sp)
sw s5,0x5c(sp)
sw s4,0x58(sp)
sw s3,0x54(sp)
sw s2,0x50(sp)
sw s1,0x4c(sp)
sw s0,0x48(sp)
sw gp,0x10(sp)
sw a2,0x1c(sp)
lw v0,-0x7a54(gp)
lw v0,0x0(v0)
sw v0,0x44(sp)
blez a1,0x000c4784
_or s2,a0,zero
lw v0,0x4(a0)
lw v0,0x8(v0)
lw s3,0x0(v0)
andi v0,a1,0x1
bne v0,zero,0x000c47cc
_or s0,a1,zero
bne s3,zero,0x000c47c4
_lw a1,-0x7fc4(gp)
lw a1,-0x7fc8(gp)
addiu a1,a1,0x4920
or a0,s2,zero
lw t9,-0x7d58(gp)
addiu t9,t9,0x4464
bal 0x000c4464
_nop
lw gp,0x10(sp)
lw v1,0x44(sp)
lw v0,-0x7a54(gp)
lw v0,0x0(v0)
bne v1,v0,0x000c4954
_lw ra,0x6c(sp)
lw s8,0x68(sp)
lw s7,0x64(sp)
lw s6,0x60(sp)
lw s5,0x5c(sp)
lw s4,0x58(sp)
lw s3,0x54(sp)
lw s2,0x50(sp)
lw s1,0x4c(sp)
lw s0,0x48(sp)
jr ra
_addiu sp,sp,0x70
b 0x000c476c
_addiu a1,a1,0x6e8
lw s1,0x1c(sp)
lw a0,0x0(s1)
lw t9,-0x7fa4(gp)
jalr t9
_nop
lw gp,0x10(sp)
or a2,v0,zero
or a1,s2,zero
addiu a0,sp,0x24
lw t9,-0x7c94(gp)
addiu t9,t9,0x4580
bal 0x000b4580
_nop
lw gp,0x10(sp)
bne v0,zero,0x000c4784
_or s7,s0,zero
sltiu s0,s0,0x2
bne s0,zero,0x000c48f0
_addiu s1,s1,0x4
li s0,0x1
lw s6,-0x7fa4(gp)
addiu s5,sp,0x20
addiu s4,sp,0x24
lw v0,-0x7d58(gp)
b 0x000c4888
_addiu s8,v0,0x3c48
or a0,s2,zero
lw t9,-0x7f44(gp)
jalr t9
_nop
lw gp,0x10(sp)
addiu a0,sp,0x24
lw t9,-0x7d1c(gp)
addiu t9,t9,0x3c38
jalr t9
_nop
lw gp,0x10(sp)
b 0x000c4784
_nop
ori v1,v1,0x8
sb v1,0x1(v0)
addiu v1,s0,0x1
sw v1,0x8(v0)
addiu s0,s0,0x2
sltu v0,s0,s7
beq v0,zero,0x000c48f0
_addiu s1,s1,0x8
lw a0,0x0(s1)
or t9,s6,zero
jalr t9
_nop
lw gp,0x10(sp)
sw zero,0x20(sp)
or a3,s2,zero
or a2,s5,zero
or a1,v0,zero
or a0,s4,zero
or t9,s8,zero
bal 0x000c3c48
_nop
lw gp,0x10(sp)
lbu v1,0x38(sp)
bne v1,zero,0x000c4834
_lbu v1,0x39(sp)
bne v1,zero,0x000c484c
_addiu a0,sp,0x24
beq v0,zero,0x000c4878
_lw v1,0x20(sp)
or v1,s3,v1
beq v1,zero,0x000c4878
_nop
b 0x000c4868
_lbu v1,0x1(v0)
lw a0,0x2c(sp)
lbu v0,0x1(a0)
andi v0,v0,0x8
beq v0,zero,0x000c4934
_lw a2,0x1c(sp)
lw v0,0x8(a0)
sll v0,v0,0x2
lw v1,0x1c(sp)
addu s8,v1,v0
lw a1,0x0(s8)
or a0,s2,zero
lw t9,-0x7ee8(gp)
jalr t9
_nop
lw gp,0x10(sp)
b 0x000c484c
_addiu a0,sp,0x24
or a1,s2,zero
lw t9,-0x7c94(gp)
addiu t9,t9,0x63c4
bal 0x000b63c4
_nop
lw gp,0x10(sp)
b 0x000c484c
_addiu a0,sp,0x24
lw t9,-0x7a80(gp)
jalr t9
_nop
lui gp,0xd
addiu gp,gp,0x2fc0
addu gp,gp,t9
addiu sp,sp,-0x40
sw ra,0x3c(sp)
sw s4,0x38(sp)
sw s3,0x34(sp)
sw s2,0x30(sp)
sw s1,0x2c(sp)
sw s0,0x28(sp)
sw gp,0x18(sp)
or s1,a0,zero
or s0,a1,zero
lw s2,0x50(sp)
lw v0,-0x7a54(gp)
lw v0,0x0(v0)
sw v0,0x24(sp)
lw t9,-0x7d1c(gp)
addiu t9,t9,0x3d3c
jalr t9
_nop
lw gp,0x18(sp)
bne s0,zero,0x000c49f4
_lw t9,-0x7fa4(gp)
or v0,s0,zero
lw a0,0x24(sp)
lw v1,-0x7a54(gp)
lw v1,0x0(v1)
bne a0,v1,0x000c4ddc
_lw ra,0x3c(sp)
lw s4,0x38(sp)
lw s3,0x34(sp)
lw s2,0x30(sp)
lw s1,0x2c(sp)
lw s0,0x28(sp)
jr ra
_addiu sp,sp,0x40
lw a0,0x0(s2)
jalr t9
_nop
lw gp,0x18(sp)
beq v0,zero,0x000c4dbc
_or s4,v0,zero
lw a0,0x0(s2)
lw t9,-0x7f60(gp)
jalr t9
_nop
lw gp,0x18(sp)
or s3,v0,zero
sra v0,v0,0x1f
addiu a1,s3,0x1
sltu a0,a1,s3
addu a0,a0,v0
lw t9,-0x7f50(gp)
jalr t9
_nop
lw gp,0x18(sp)
beq v0,zero,0x000c4dc4
_sw v0,0x18(s1)
addiu a2,s3,0x1
or a1,s4,zero
or a0,v0,zero
lw t9,-0x7a4c(gp)
jalr t9
_nop
lw gp,0x18(sp)
addiu s4,s1,0x20
lw a2,0x18(s1)
or a1,zero,zero
or a0,s4,zero
lw t9,-0x7c94(gp)
addiu t9,t9,0x4580
bal 0x000b4580
_nop
lw gp,0x18(sp)
bne v0,zero,0x000c4b5c
_or s3,v0,zero
lbu v0,0x15(s1)
bne v0,zero,0x000c4bdc
_li v0,0x3
beq s0,v0,0x000c4c50
_lw t9,-0x7fa4(gp)
lw v0,0x28(s1)
lw v1,0x28(s1)
subu v1,v0,v1
sra v1,v1,0x2
lui a0,0xaaaa
ori a0,a0,0xaaab
mul v1,v1,a0
sw v1,0xc(s1)
sw v1,0x8(s1)
lbu a0,0x0(v0)
sb a0,0x14(s1)
sltiu a0,a0,0x6
bne a0,zero,0x000c4db0
_addiu v1,v1,0x1
sw zero,0x8(v0)
lw v1,0xc(s1)
addiu a0,v1,0x1
lw v0,0x4(v0)
addu v0,v0,a0
sw v0,0x10(s1)
lbu v0,0x15(s1)
beq v0,zero,0x000c4da4
_sll a1,v1,0x2
lw a0,0x28(s1)
lw v0,0x30(s1)
addu v0,v0,a1
lw a1,0x0(v0)
sll v0,a1,0x1
addu v0,v0,a1
sll v0,v0,0x2
addu v0,a0,v0
lbu v0,0x0(v0)
beq v1,zero,0x000c4dcc
_sb v0,0x14(s1)
sll v0,v1,0x1
addu v0,v0,v1
sll v0,v0,0x2
addu a0,a0,v0
lbu v0,-0xb(a0)
andi v0,v0,0x40
beq v0,zero,0x000c4dd4
_addiu v1,v1,-0x1
sw v1,0xc(s1)
b 0x000c49c0
_or s0,s3,zero
lbu v0,0x34(s1)
beq v0,zero,0x000c4b8c
_lw t9,-0x7fa8(gp)
li s0,0x7
or a0,s1,zero
lw t9,-0x7d1c(gp)
addiu t9,t9,0x3d3c
jalr t9
_nop
lw gp,0x18(sp)
b 0x000c49c4
_or v0,s0,zero
lw v0,0x0(s1)
lw a0,0x8(v0)
jalr t9
_nop
lw gp,0x18(sp)
lw s0,0x0(s1)
lw a0,-0x7fc4(gp)
addiu a0,a0,-0x5060
lw t9,-0x7fbc(gp)
bal 0x000bcd54
_nop
lw gp,0x18(sp)
sw v0,0x8(s0)
lw v0,0x0(s1)
lw s0,0x8(v0)
li v1,0x7
li v0,0x1
movz v0,v1,s0
b 0x000c4b6c
_or s0,v0,zero
lw a1,0x20(s1)
or a0,zero,zero
sll a1,a1,0x2
lw t9,-0x7f50(gp)
jalr t9
_nop
lw gp,0x18(sp)
beq v0,zero,0x000c4c28
_sw v0,0x30(s1)
or a2,zero,zero
or a1,zero,zero
or a0,s4,zero
lw t9,-0x7d64(gp)
addiu t9,t9,0x604
jalr t9
_nop
lw gp,0x18(sp)
b 0x000c4aa0
_li v0,0x3
li v0,0x1
sb v0,0x34(s1)
or a0,s1,zero
lw t9,-0x7d1c(gp)
addiu t9,t9,0x3d3c
jalr t9
_nop
lw gp,0x18(sp)
b 0x000c49c0
_li s0,0x7
sw zero,0x20(sp)
lw a0,0x4(s2)
jalr t9
_nop
lw gp,0x18(sp)
beq v0,zero,0x000c4d94
_or s0,v0,zero
lw a0,0x4(s2)
lw t9,-0x7f60(gp)
jalr t9
_nop
lw gp,0x18(sp)
or s2,v0,zero
sra v0,v0,0x1f
addiu a1,s2,0x1
sltu a0,a1,s2
addu a0,a0,v0
lw t9,-0x7f50(gp)
jalr t9
_nop
lw gp,0x18(sp)
beq v0,zero,0x000c4d9c
_sw v0,0x1c(s1)
addiu a2,s2,0x1
or a1,s0,zero
or a0,v0,zero
lw t9,-0x7a4c(gp)
jalr t9
_nop
lw gp,0x18(sp)
lb v1,0x0(s0)
li v0,0x24
beq v1,v0,0x000c4d4c
_addiu v0,sp,0x20
sw s0,0x20(sp)
lw v0,0x0(s1)
lw a0,0x8(v0)
lw t9,-0x7fa8(gp)
jalr t9
_nop
lw gp,0x18(sp)
lw s0,0x0(s1)
lw a1,0x20(sp)
lw a0,-0x7fc4(gp)
addiu a0,a0,-0x463c
lw t9,-0x7fbc(gp)
bal 0x000bcd54
_nop
lw gp,0x18(sp)
sw v0,0x8(s0)
or a0,s1,zero
lw t9,-0x7d1c(gp)
addiu t9,t9,0x3d3c
jalr t9
_nop
lw gp,0x18(sp)
lw v0,0x0(s1)
lw s0,0x8(v0)
li v1,0x1
li v0,0x7
movn v0,v1,s0
b 0x000c49c0
_or s0,v0,zero
lw a2,0x1c(s1)
sw v0,0x10(sp)
or a3,zero,zero
addiu a2,a2,0x1
or a1,zero,zero
or a0,s4,zero
lw t9,-0x7c94(gp)
addiu t9,t9,0x4b70
bal 0x000b4b70
_nop
lw gp,0x18(sp)
lw v1,0x20(sp)
bne v1,zero,0x000c4cdc
_nop
bne v0,zero,0x000c4aac
_or s0,s3,zero
b 0x000c49c4
_or v0,s0,zero
b 0x000c49c0
_or s0,s3,zero
b 0x000c49c0
_li s0,0x7
sw a0,0xc(s1)
b 0x000c49c0
_or s0,s3,zero
sw v1,0x10(s1)
b 0x000c49c0
_or s0,s3,zero
b 0x000c49c0
_or s0,zero,zero
b 0x000c49c0
_li s0,0x7
b 0x000c49c0
_or s0,s3,zero
b 0x000c49c0
_or s0,s3,zero
lw t9,-0x7a80(gp)
jalr t9
_nop
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n\ncode * FUN_000c44e8(code *param_1,code *param_2,code *param_3,code *param_4)\n\n{\n  bool bVar1;\n  code cVar2;\n  code *pcVar3;\n  int iVar4;\n  code *pcVar5;\n  code *pcVar6;\n  byte *pbVar7;\n  int iVar8;\n  uint uVar9;\n  int *piVar10;\n  int *piVar11;\n  int *piVar12;\n  code *pcVar13;\n  code *pcVar14;\n  byte *pbVar15;\n  int iVar16;\n  byte bVar17;\n  code *unaff_s0;\n  code *unaff_s1;\n  uint uVar18;\n  undefined4 *puVar19;\n  code *unaff_s3;\n  code *unaff_s4;\n  uint uVar20;\n  code *unaff_s5;\n  code *unaff_s6;\n  int *piVar21;\n  code *unaff_s7;\n  code *pcVar22;\n  code *pcVar23;\n  undefined *puVar24;\n  code *pcVar25;\n  code *pcVar26;\n  code *unaff_s8;\n  int iVar27;\n  uint uVar28;\n  undefined4 uVar29;\n  code *pcVar30;\n  code *pcVar31;\n  undefined8 uVar32;\n  code *pcStack_96c;\n  uint uStack_968;\n  undefined4 uStack_960;\n  uint uStack_958;\n  undefined4 uStack_954;\n  undefined4 uStack_950;\n  int iStack_94c;\n  int iStack_948;\n  int iStack_944;\n  int aiStack_940 [4];\n  int iStack_930;\n  int iStack_92c;\n  uint uStack_928;\n  undefined4 uStack_920;\n  undefined4 uStack_91c;\n  undefined1 auStack_89c [516];\n  undefined1 auStack_698 [516];\n  int iStack_494;\n  int iStack_490;\n  code *pcStack_48c;\n  code *pcStack_488;\n  code *pcStack_484;\n  code *pcStack_480;\n  code *pcStack_47c;\n  code *pcStack_478;\n  code *pcStack_474;\n  int iStack_470;\n  undefined4 uStack_46c;\n  undefined4 *puStack_458;\n  code *pcStack_448;\n  int iStack_37c;\n  code *pcStack_378;\n  code *pcStack_374;\n  code *pcStack_370;\n  code *pcStack_36c;\n  code *pcStack_368;\n  code *pcStack_364;\n  code *pcStack_360;\n  code *pcStack_35c;\n  int iStack_358;\n  undefined4 uStack_354;\n  undefined4 uStack_340;\n  undefined4 uStack_33c;\n  undefined4 uStack_338;\n  code *pcStack_330;\n  undefined4 uStack_328;\n  undefined4 uStack_324;\n  undefined1 auStack_320 [24];\n  uint uStack_308;\n  int iStack_27c;\n  int iStack_278;\n  code *pcStack_274;\n  code *pcStack_270;\n  code *pcStack_26c;\n  code *pcStack_268;\n  code *pcStack_264;\n  code *pcStack_260;\n  code *pcStack_25c;\n  code *pcStack_258;\n  code *pcStack_254;\n  code *pcStack_240;\n  byte abStack_234 [256];\n  code *pcStack_134;\n  code *pcStack_12c;\n  code *pcStack_128;\n  code *pcStack_124;\n  code *pcStack_120;\n  code *pcStack_11c;\n  code **local_108;\n  code *local_100;\n  code *local_f8;\n  code *local_f4;\n  code *local_f0;\n  code *local_ec;\n  code *local_e8;\n  code *local_e4;\n  code *local_e0;\n  undefined4 local_dc;\n  code *local_c8;\n  code *local_bc;\n  int local_b8;\n  undefined1 auStack_b4 [8];\n  int local_ac;\n  char local_a0;\n  char local_9f;\n  code *local_94;\n  code *local_90;\n  code *local_8c;\n  code *local_88;\n  code *local_84;\n  code *local_80;\n  code *local_7c;\n  code *local_78;\n  code *local_74;\n  undefined1 local_4c [8];\n  int local_44;\n  char local_37;\n  code *local_2c;\n  \n  local_2c = *(code **)PTR___stack_chk_guard_0018fecc;\n  pcVar22 = param_1;\n  pcVar5 = param_2;\n  pcVar3 = param_3;\n  if (0 < (int)param_2) {\n    unaff_s0 = param_2;\n    unaff_s7 = param_3;\n    if (((uint)param_2 & 1) == 0) {\n      pcVar5 = (code *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824);\n      FUN_000c4464();\n    }\n    else {\n      pcVar3 = (code *)(*(code *)PTR_sqlite3_value_text_0018f97c)(*(int *)param_3);\n      pcVar22 = (code *)local_4c;\n      pcVar5 = param_1;\n      iVar4 = FUN_000b4580();\n      puVar24 = PTR_sqlite3_value_text_0018f97c;\n      unaff_s6 = param_2;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(param_2 < (code *)0x2);\n        unaff_s1 = param_3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s4 = (code *)local_4c;\n          unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);\n          do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);\n        }\n        if ((*(byte *)(local_44 + 1) & 8) == 0) {\n          pcVar5 = param_1;\n          pcVar3 = param_3;\n          FUN_000b63c4();\n        }\n        else {\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }\nLAB_000c4674:\n        pcVar22 = (code *)local_4c;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = param_3;\n      }\n    }\n  }\n  if (local_2c == *(code **)PTR___stack_chk_guard_0018fecc) {\n    return *(code **)PTR___stack_chk_guard_0018fecc;\n  }\n  puVar24 = PTR___stack_chk_fail_0018fea0;\n  (*(code *)PTR___stack_chk_fail_0018fea0)();\n  local_74 = unaff_s7;\n  local_78 = unaff_s6;\n  local_7c = unaff_s5;\n  local_80 = unaff_s4;\n  local_84 = unaff_s3;\n  local_88 = param_1;\n  local_8c = unaff_s1;\n  local_90 = unaff_s0;\n  local_c8 = (code *)(puVar24 + 0xd3230);\n  local_bc = pcVar3;\n  pcVar3 = local_bc;\n  local_94 = (code *)**(int **)(puVar24 + 0xcb7dc);\n  pcVar31 = pcVar22;\n  pcVar13 = pcVar5;\n  pcVar6 = pcVar3;\n  if (0 < (int)pcVar5) {\n    unaff_s3 = (code *)**(undefined4 **)(*(int *)(pcVar22 + 4) + 8);\n    unaff_s0 = pcVar5;\n    if (((uint)pcVar5 & 1) == 0) {\n      if (unaff_s3 == (code *)0x0) {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb268) + 0x4920);\n      }\n      else {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8);\n      }\n      FUN_000c4464();\n      pcVar6 = pcVar3;\n    }\n    else {\n      pcVar6 = (code *)(**(code **)(puVar24 + 0xcb28c))(*(int *)pcVar3);\n      pcVar31 = (code *)auStack_b4;\n      pcVar13 = pcVar22;\n      iVar4 = FUN_000b4580();\n      unaff_s1 = pcVar3;\n      unaff_s7 = pcVar5;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(pcVar5 < (code *)0x2);\n        unaff_s1 = pcVar3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s6 = *(code **)(local_c8 + -0x7fa4);\n          unaff_s5 = (code *)&local_b8;\n          unaff_s4 = (code *)auStack_b4;\n          unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);\n          do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);\n        }\n        pcVar6 = local_bc;\n        if ((*(byte *)(local_ac + 1) & 8) == 0) {\n          pcVar13 = pcVar22;\n          FUN_000b63c4();\n        }\n        else {\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }\nLAB_000c484c:\n        pcVar31 = (code *)auStack_b4;\n        (*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))();\n      }\n    }\n  }\n  if (local_94 == (code *)**(int **)(local_c8 + -0x7a54)) {\n    return (code *)**(int **)(local_c8 + -0x7a54);\n  }\n  pcVar25 = *(code **)(local_c8 + -0x7a80);\n  uVar29 = 0xc4960;\n  (*pcVar25)();\n  pcVar5 = local_c8;\n  local_100 = pcVar25 + 0xd2fc0;\n  local_f4 = (code *)**(undefined4 **)(pcVar25 + 0xcb56c);\n  pcVar3 = pcVar13;\n  local_f0 = unaff_s0;\n  local_ec = unaff_s1;\n  local_e8 = pcVar22;\n  local_e4 = unaff_s3;\n  local_e0 = unaff_s4;\n  local_dc = uVar29;\n  (*(code *)(*(int *)(pcVar25 + 0xcb2a4) + 0x3d3c))();\n  if (pcVar13 != (code *)0x0) {\n    unaff_s4 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)pcVar5);\n    if (unaff_s4 == (code *)0x0) {\n      pcVar13 = (code *)0x0;\n    }\n    else {\n      unaff_s3 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)pcVar5);\n      pcVar3 = unaff_s3 + 1;\n      iVar4 = (**(code **)(local_100 + -0x7f50))\n                        ((uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f));\n      *(int *)(pcVar31 + 0x18) = iVar4;\n      if (iVar4 == 0) {\n        pcVar13 = (code *)&DAT_00000007;\n      }\n      else {\n        (**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1);\n        unaff_s4 = pcVar31 + 0x20;\n        pcVar6 = *(code **)(pcVar31 + 0x18);\n        pcVar3 = (code *)0x0;\n        unaff_s3 = (code *)FUN_000b4580(unaff_s4);\n        if (unaff_s3 == (code *)0x0) {\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }\n      }\n    }\n  }\nLAB_000c49c4:\n  if (local_f4 == (code *)**(undefined4 **)(local_100 + -0x7a54)) {\n    return pcVar13;\n  }\n  pcVar26 = *(code **)(local_100 + -0x7a80);\n  pcVar30 = sqlite3_randomness;\n  pcVar22 = local_f4;\n  (*pcVar26)();\n  pcStack_240 = pcVar26 + 0xd2b38;\n  pcStack_134 = (code *)**(int **)(pcVar26 + 0xcb0e4);\n  pcVar25 = pcVar22;\n  pcVar14 = pcVar3;\n  pcStack_12c = pcVar13;\n  pcStack_128 = pcVar31;\n  pcStack_124 = pcVar5;\n  pcStack_120 = unaff_s3;\n  pcStack_11c = pcVar30;\n  iVar4 = (**(code **)(pcVar26 + 0xcadb8))();\n  if (iVar4 == 0) {\n    unaff_s3 = (code *)(*(code *)(*(int *)(pcStack_240 + -0x7dc8) + 0xe00))(5);\n    (**(code **)(pcStack_240 + -0x7d74))(unaff_s3);\n    iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n    pcVar25 = unaff_s3;\n    if (0 < (int)pcVar22) {\n      if (pcVar3 != (code *)0x0) {\n        iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n        if (*(char *)(iVar27 + 0x338) == '\0') {\n          *(undefined1 *)(iVar8 + 0x33a) = 0;\n          *(undefined1 *)(iVar8 + 0x339) = 0;\n          iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0);\n          (**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234);\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          iVar4 = 0;\n          do {\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          } while (iVar4 != 0x100);\n          iVar4 = *(int *)(pcStack_240 + -0x7fd8);\n          uVar9 = (uint)*(byte *)(iVar4 + 0x33a);\n          pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b);\n          pbVar15 = abStack_234;\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          do {\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          } while (pbVar7 != (byte *)(iVar4 + 0x43b));\n          iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n          *(char *)(iVar8 + 0x33a) = (char)uVar18;\n          *(undefined1 *)(iVar8 + 0x338) = 1;\n          iVar4 = 0x100;\n        }\n        pcVar6 = (code *)(iVar8 + 0x338);\n        uVar9 = (uint)*(byte *)(iVar8 + 0x33a);\n        bVar17 = *(char *)(iVar8 + 0x339) + 1;\n        pcVar13 = (code *)((uint)bVar17 - (int)pcVar3);\n        pcVar5 = pcVar3;\n        do {\n          uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff;\n          cVar2 = pcVar6[uVar18 + 3];\n          uVar20 = (byte)cVar2 + uVar9;\n          uVar9 = uVar20 & 0xff;\n          param_4 = pcVar6 + uVar9;\n          pcVar6[uVar18 + 3] = param_4[3];\n          param_4[3] = cVar2;\n          pcVar14 = pcVar5 + 1;\n          *pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3];\n          pcVar5 = pcVar14;\n        } while (pcVar14 != pcVar3 + (int)pcVar22);\n        iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n        pcVar22 = pcVar22 + -1;\n        *(byte *)(iVar27 + 0x339) = bVar17 + (char)pcVar22;\n        *(char *)(iVar27 + 0x33a) = (char)uVar20;\n        (**(code **)(pcStack_240 + -0x7d78))();\n        pcVar3 = pcVar13;\n        goto LAB_000c4e3c;\n      }\n      iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n    }\n    *(undefined1 *)(iVar27 + 0x338) = 0;\n    (**(code **)(pcStack_240 + -0x7d78))();\n  }\nLAB_000c4e3c:\n  if (pcStack_134 == (code *)**(int **)(pcStack_240 + -0x7a54)) {\n    return (code *)**(int **)(pcStack_240 + -0x7a54);\n  }\n  pcVar13 = *(code **)(pcStack_240 + -0x7a80);\n  pcVar31 = FUN_000c5048;\n  (*pcVar13)();\n  pcStack_330 = pcVar13 + 0xd28d8;\n  iStack_27c = **(int **)(pcVar13 + 0xcae84);\n  *pcVar14 = (code)0x0;\n  pcVar5 = (code *)**(undefined4 **)(pcVar13 + 0xcac68);\n  iStack_278 = iVar4;\n  pcStack_274 = pcVar3;\n  pcStack_270 = pcVar22;\n  pcStack_26c = unaff_s3;\n  pcStack_268 = unaff_s4;\n  pcStack_264 = unaff_s5;\n  pcStack_260 = unaff_s6;\n  pcStack_25c = unaff_s7;\n  pcStack_258 = unaff_s8;\n  pcStack_254 = pcVar31;\n  if (*(int *)(*(int *)(pcVar13 + 0xca900) + -0xb90) == 0) {\n    uVar29 = (**(code **)(pcVar13 + 0xcae0c))(*(int *)(pcVar13 + 0xca914) + -0x45f4);\n    *(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90) = uVar29;\n  }\n  if (*(int *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) == 0) {\n    uVar29 = (**(code **)(pcStack_330 + -0x7acc))(*(int *)(pcStack_330 + -0x7fc4) + -0x45e4);\n    *(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) = uVar29;\n  }\n  pcVar3 = (code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90);\n  pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb78);\n  pcVar26 = (code *)auStack_320;\n  iVar4 = *(int *)(pcStack_330 + -0x7fd8);\n  pcVar13 = (code *)(iVar4 + -0x840);\n  iVar27 = 0x4000;\n  pcVar22 = pcStack_330;\n  while( true ) {\n    pcVar30 = pcVar26;\n    if ((((pcVar5 != (code *)0x0) &&\n         (iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) &&\n        (pcVar30 = (code *)0x3, (uStack_308 & 0xf000) == 0x4000)) &&\n       (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) {\n      pcVar3 = (code *)&DAT_0000000c;\n      pcVar26 = (code *)&uStack_328;\n      pcVar13 = pcVar14 + (int)(pcVar25 + -2);\n      pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fc4) + -0x45dc);\n      iVar4 = *(int *)(pcStack_330 + -0x7fd8);\n      iVar27 = iVar4 + -0x840;\n      goto LAB_000c51a4;\n    }\n    pcVar23 = (code *)0x190a;\n    if (pcVar3 == pcVar31) break;\n    pcVar5 = *(code **)pcVar3;\n    pcVar3 = pcVar3 + 4;\n  }\n  goto LAB_000c5230;\njoined_r0x000c5ce4:\n  if (param_4 == pcVar5) goto LAB_000c5d10;\n  piVar21 = (int *)piVar11[2];\n  if (piVar21 == (int *)0x0) goto LAB_000c6494;\n  pcVar5 = (code *)piVar21[1];\n  piVar12 = piVar11 + 2;\n  piVar11 = piVar21;\n  goto joined_r0x000c5ce4;\nLAB_000c5d10:\n  *piVar12 = piVar11[2];\n  (**(code **)(pcVar22 + 0xca2ac))(piVar10[4]);\n  (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n  iVar4 = *piVar11;\n  goto LAB_000c5d44;\nLAB_000c6494:\n  (**(code **)(pcVar22 + 0xca2ac))(piVar10[4]);\n  (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n  goto LAB_000c642c;\n  while (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar14), iVar8 == 0) {\nLAB_000c51a4:\n    sqlite3_randomness(8,pcVar26);\n    *pcVar13 = (code)0x0;\n    uStack_338 = 0;\n    uStack_33c = uStack_324;\n    uStack_340 = uStack_328;\n    pcVar30 = pcVar14;\n    pcVar6 = pcVar31;\n    param_4 = pcVar5;\n    (**(code **)(pcStack_330 + -0x7ec4))(pcVar25);\n    pcVar3 = pcVar3 + -1;\n    if ((*pcVar13 != (code)0x0) || (pcVar30 = (code *)0x0, pcVar3 == (code *)0x0)) {\n      pcVar23 = (code *)0x1;\n      pcVar22 = pcStack_330;\n      goto LAB_000c5230;\n    }\n  }\n  pcVar23 = (code *)0x0;\n  pcVar30 = pcVar26;\n  pcVar22 = pcStack_330;\nLAB_000c5230:\n  if (iStack_27c == **(int **)(pcVar22 + -0x7a54)) {\n    return pcVar23;\n  }\n  pcVar22 = *(code **)(pcVar22 + -0x7a80);\n  uVar29 = 0xc527c;\n  iVar4 = iStack_27c;\n  (*pcVar22)();\n  pcStack_448 = pcVar22 + 0xd26a4;\n  iVar8 = **(int **)(pcVar22 + 0xcac50);\n  iStack_37c = iVar8;\n  pcStack_378 = pcVar3;\n  pcStack_374 = pcVar5;\n  pcStack_370 = pcVar14;\n  pcStack_36c = pcVar13;\n  pcStack_368 = pcVar25;\n  pcStack_364 = pcVar31;\n  pcStack_360 = pcVar26;\n  pcStack_35c = pcVar23;\n  iStack_358 = iVar27;\n  uStack_354 = uVar29;\n  if (pcVar30 < &DAT_00000015) {\n                    /* WARNING: Could not recover jumptable at 0x000c52e8. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    pcVar22 = (code *)(*(pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)))();\n    return pcVar22;\n  }\n  if (iVar8 == **(int **)(pcVar22 + 0xcac50)) {\n    return (code *)&DAT_0000000c;\n  }\n  pcVar22 = *(code **)(pcVar22 + 0xcac24);\n  uVar29 = 0xc58fc;\n  (*pcVar22)();\n  iStack_494 = **(int **)(pcVar22 + 0xca5d0);\n  uVar20 = (uint)param_4 & 0xffffff00;\n  uVar18 = (uint)param_4 & 8;\n  uStack_958 = (uint)param_4 & 1;\n  uVar9 = (uint)param_4 & 2;\n  pcStack_96c = pcVar30;\n  iStack_490 = iVar4;\n  pcStack_48c = pcVar5;\n  pcStack_488 = pcVar14;\n  pcStack_484 = pcVar13;\n  pcStack_480 = pcVar25;\n  pcStack_47c = pcVar31;\n  pcStack_478 = pcVar26;\n  pcStack_474 = pcVar23;\n  iStack_470 = iVar27;\n  uStack_46c = uVar29;\n  if (((uint)param_4 & 4) == 0) {\nLAB_000c59a0:\n    iVar4 = (**(code **)(pcVar22 + 0xca564))();\n    if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {\n      bVar1 = false;\n      goto LAB_000c59cc;\n    }\n    bVar1 = false;\nLAB_000c59fc:\n    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);\n    if (uVar20 != 0x100) goto LAB_000c5a24;\n    (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n    if (*(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228) == 0) {\nLAB_000c6414:\n      iVar4 = *(int *)(pcVar22 + 0xca25c);\n    }\n    else {\n      iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(pcVar30,aiStack_940);\n      if ((iVar4 != 0) ||\n         (piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0))\n      goto LAB_000c6414;\n      do {\n        if ((((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c)) {\n          (**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);\n          piVar11 = (int *)piVar10[8];\n          if (piVar11 == (int *)0x0) goto LAB_000c6494;\n          pcVar5 = (code *)piVar11[1];\n          piVar12 = piVar10 + 8;\n          goto joined_r0x000c5ce4;\n        }\n        piVar10 = (int *)piVar10[0xb];\n        iVar4 = *(int *)(pcVar22 + 0xca25c);\n      } while (piVar10 != (int *)0x0);\n    }\n    (*(code *)(iVar4 + 0x27b8))();\nLAB_000c642c:\n    piVar11 = (int *)(**(code **)(pcVar22 + 0xca0d4))(0,0xc);\n    if (piVar11 == (int *)0x0) {\n      pcVar5 = (code *)&DAT_00000007;\n      goto LAB_000c602c;\n    }\n    iVar4 = -1;\nLAB_000c5d44:\n    *(int **)(pcVar6 + 0x1c) = piVar11;\nLAB_000c5a34:\n    uStack_968 = uVar9;\n    if (((uint)param_4 & 4) != 0) {\n      uStack_968 = uVar9 | 0x100;\n    }\n    if (((uint)param_4 & 0x10) != 0) {\n      uStack_968 = uStack_968 | 0x20400;\n    }\n    if (iVar4 < 0) {\n      if (((uint)param_4 & 0x80800) == 0) {\n        uVar28 = 0x180;\n        if ((uVar18 == 0) && (uVar28 = 0, ((uint)param_4 & 0x40) != 0)) {\n          iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }\n          uVar28 = 0;\n        }\nLAB_000c5e0c:\n        uStack_954 = 0;\n        uStack_960 = 0;\n      }\n      else {\n        iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c);\n        iVar27 = iVar4 + -1;\n        if (pcStack_96c[iVar27] != (code)0x2d) {\n          if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }\n          uVar28 = 0;\n          goto LAB_000c5e0c;\n        }\nLAB_000c5e78:\n        (**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201);\n        auStack_89c[iVar27] = 0;\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940);\n        if (iVar4 == 0) {\n          uVar28 = uStack_928 & 0x1ff;\n          uStack_960 = uStack_920;\n          uStack_954 = uStack_91c;\n          pcVar5 = (code *)0x0;\n        }\n        else {\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }\nLAB_000c5ee0:\n        if (pcVar5 != (code *)0x0) goto LAB_000c602c;\n      }\n      iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                        (pcStack_96c,uStack_968 | 0x2000,uVar28);\n      if (-1 < iVar4) {\nLAB_000c5e40:\n        if (((uint)param_4 & 0x80800) != 0) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);\n        }\n        goto LAB_000c5a6c;\n      }\n      pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n      if (bVar1) {\n        piVar10 = (int *)(*pcVar5)();\n        if (*piVar10 != 0xd) {\n          pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n          goto LAB_000c5fb8;\n        }\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))(pcStack_96c,0);\n        pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n        if (iVar4 == 0) goto LAB_000c5fb8;\n        uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n        (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                  (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634);\n        pcVar5 = (code *)0x608;\n      }\n      else {\nLAB_000c5fb8:\n        piVar10 = (int *)(*pcVar5)();\n        if ((*piVar10 == 0x15) || (uVar9 == 0)) {\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        else {\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        if (pcVar5 == (code *)0x0) goto LAB_000c602c;\n      }\nLAB_000c630c:\n      iVar4 = *(int *)(pcVar6 + 0x1c);\nLAB_000c6310:\n      (**(code **)(pcVar22 + 0xca07c))(iVar4);\n    }\n    else {\nLAB_000c5a6c:\n      if (puStack_458 != (undefined4 *)0x0) {\n        *puStack_458 = param_4;\n      }\n      if (*(int **)(pcVar6 + 0x1c) != (int *)0x0) {\n        **(int **)(pcVar6 + 0x1c) = iVar4;\n        *(code **)(*(int *)(pcVar6 + 0x1c) + 4) = param_4;\n      }\n      if (uVar18 != 0) {\n        (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))(pcStack_96c);\n        uVar18 = 0x20;\n      }\n      if (uStack_958 != 0) {\n        uVar18 = uVar18 | 2;\n      }\n      if (uVar20 != 0x100) {\n        uVar18 = uVar18 | 0x80;\n      }\n      if (bVar1) {\n        uVar18 = uVar18 | 8;\n      }\n      if (((uint)param_4 & 0x40) == 0) {\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = (code *)0x0;\n      }\n      else {\n        uVar18 = uVar18 | 0x40;\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = pcVar30;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca37c))(pcVar5,*(int *)(pcVar22 + 0xca060) + -0x45c0,1);\n      iVar16 = *(int *)(pcVar22 + 0xca060);\n      if (iVar27 != 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 0x10;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca610))(*(undefined4 *)(iVar8 + 0x10),iVar16 + -0x45b8);\n      if (iVar27 == 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 1;\n      }\n      if ((uVar18 & 0x80) == 0) {\n        iVar27 = (*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6);\n        if (iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n          iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);\n          if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n        }\n        else {\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }\n        *(int *)(pcVar6 + 0x14) = 0;\n        if (pcVar5 != (code *)0x0) {\n          if (iVar4 < 0) goto LAB_000c630c;\n          (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);\n          iVar4 = *(int *)(pcVar6 + 0x1c);\n          goto LAB_000c6310;\n        }\n      }\n      else {\n        iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4;\nLAB_000c6394:\n        *(int *)(pcVar6 + 0x14) = 0;\n      }\n      *(int *)pcVar6 = iVar27;\n      (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524))(pcVar6);\n      pcVar5 = (code *)0x0;\n    }\n  }\n  else {\n    if ((uVar20 == 0x4000) || (uVar20 == 0x800)) {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n    }\n    else {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n      if (uVar20 != 0x80000) goto LAB_000c59a0;\n    }\n    iVar4 = (*pcVar5)();\n    if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {\n      bVar1 = true;\nLAB_000c59cc:\n      uVar29 = (**(code **)(pcVar22 + 0xca564))();\n      *(undefined4 *)(*(int *)(pcVar22 + 0xca04c) + 0x230) = uVar29;\n      sqlite3_randomness(0,0);\n      goto LAB_000c59fc;\n    }\n    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);\n    bVar1 = true;\nLAB_000c5a24:\n    iVar4 = -1;\n    if (pcVar30 != (code *)0x0) goto LAB_000c5a34;\n    pcVar5 = (code *)FUN_000c5048(*(undefined4 *)(iVar8 + 8),auStack_698);\n    if (pcVar5 == (code *)0x0) {\n      iVar4 = -1;\n      pcStack_96c = (code *)auStack_698;\n      goto LAB_000c5a34;\n    }\n  }\nLAB_000c602c:\n  if (iStack_494 == **(int **)(pcVar22 + 0xca5d0)) {\n    return pcVar5;\n  }\n  pcVar22 = *(code **)(pcVar22 + 0xca5a4);\n  iVar4 = iStack_494;\n  (*pcVar22)();\n  uVar9 = *(uint *)(iVar4 + 0x98);\n  if (*(uint *)(iVar4 + 0x94) <= *(uint *)(iVar4 + 0x98)) {\n    uVar9 = *(uint *)(iVar4 + 0x94);\n  }\n  puVar19 = *(undefined4 **)(iVar4 + 0xd0);\n  if (0 < *(int *)(iVar4 + 0x60)) {\n    iVar8 = 0;\n    iVar27 = 0;\n    do {\n      iVar16 = *(int *)(iVar4 + 0x5c) + iVar8;\n      if (*(int *)(iVar16 + 8) == 0 && *(int *)(iVar16 + 0xc) == 0) {\n        uVar29 = *(undefined4 *)(iVar4 + 0x48);\n        *(undefined4 *)(iVar16 + 0xc) = *(undefined4 *)(iVar4 + 0x4c);\n        *(undefined4 *)(iVar16 + 8) = uVar29;\n      }\n      iVar27 = iVar27 + 1;\n      iVar8 = iVar8 + 0x30;\n    } while (iVar27 < *(int *)(iVar4 + 0x60));\n  }\n  uVar32 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x43ec))(iVar4);\n  *(undefined8 *)(iVar4 + 0x48) = uVar32;\n  *(undefined8 *)(iVar4 + 0x50) = uVar32;\n  if ((*(char *)(iVar4 + 7) == '\0') && (*(char *)(iVar4 + 5) != '\x04')) {\n    uVar18 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0xaf8))(*(undefined4 *)(iVar4 + 0x3c));\n    iVar27 = *(int *)(pcVar22 + 0xc96e0);\n    if ((uVar18 & 0x200) == 0) {\n      *(undefined1 *)puVar19 = 0;\n      *(undefined1 *)((int)puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 3) = 0;\n      *(undefined1 *)(puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 5) = 0;\n      *(undefined1 *)((int)puVar19 + 6) = 0;\n      *(undefined1 *)((int)puVar19 + 7) = 0;\n      *(undefined1 *)(puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 9) = 0;\n      *(undefined1 *)((int)puVar19 + 10) = 0;\n      *(undefined1 *)((int)puVar19 + 0xb) = 0;\n      goto LAB_000c65ec;\n    }\n  }\n  else {\n    iVar27 = *(int *)(pcVar22 + 0xc96e0);\n  }\n  uVar29 = *(undefined4 *)(iVar27 + -0x4394);\n  *puVar19 = *(undefined4 *)(iVar27 + -0x4398);\n  puVar19[1] = uVar29;\n  (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c))(puVar19 + 2,0xffffffff);\nLAB_000c65ec:\n  sqlite3_randomness(4,iVar4 + 0x30);\n  pcVar5 = (code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c);\n  (*pcVar5)(puVar19 + 3,*(undefined4 *)(iVar4 + 0x30));\n  (*pcVar5)(puVar19 + 4,*(undefined4 *)(iVar4 + 0x1c));\n  (*pcVar5)(puVar19 + 5,*(undefined4 *)(iVar4 + 0x94));\n  (*pcVar5)(puVar19 + 6,*(undefined4 *)(iVar4 + 0x98));\n  (**(code **)(pcVar22 + 0xc9930))(puVar19 + 7,0,uVar9 - 0x1c);\n  uVar18 = 0;\n  if (*(int *)(iVar4 + 0x94) != 0) {\n    iVar27 = *(int *)(pcVar22 + 0xc9688);\n    do {\n      pcVar22 = (code *)(*(code *)(iVar27 + 0x9e0))(*(undefined4 *)(iVar4 + 0x40),puVar19,uVar9);\n      uVar20 = *(uint *)(iVar4 + 0x4c) + uVar9;\n      *(uint *)(iVar4 + 0x48) = (uint)(uVar20 < *(uint *)(iVar4 + 0x4c)) + *(int *)(iVar4 + 0x48);\n      *(uint *)(iVar4 + 0x4c) = uVar20;\n      uVar18 = uVar18 + uVar9;\n      if (pcVar22 != (code *)0x0) {\n        return pcVar22;\n      }\n    } while (uVar18 < *(uint *)(iVar4 + 0x94));\n  }\n  return (code *)0x0;\n}\n\n" comment (function_definition "code * FUN_000c44e8(code *param_1,code *param_2,code *param_3,code *param_4)\n\n{\n  bool bVar1;\n  code cVar2;\n  code *pcVar3;\n  int iVar4;\n  code *pcVar5;\n  code *pcVar6;\n  byte *pbVar7;\n  int iVar8;\n  uint uVar9;\n  int *piVar10;\n  int *piVar11;\n  int *piVar12;\n  code *pcVar13;\n  code *pcVar14;\n  byte *pbVar15;\n  int iVar16;\n  byte bVar17;\n  code *unaff_s0;\n  code *unaff_s1;\n  uint uVar18;\n  undefined4 *puVar19;\n  code *unaff_s3;\n  code *unaff_s4;\n  uint uVar20;\n  code *unaff_s5;\n  code *unaff_s6;\n  int *piVar21;\n  code *unaff_s7;\n  code *pcVar22;\n  code *pcVar23;\n  undefined *puVar24;\n  code *pcVar25;\n  code *pcVar26;\n  code *unaff_s8;\n  int iVar27;\n  uint uVar28;\n  undefined4 uVar29;\n  code *pcVar30;\n  code *pcVar31;\n  undefined8 uVar32;\n  code *pcStack_96c;\n  uint uStack_968;\n  undefined4 uStack_960;\n  uint uStack_958;\n  undefined4 uStack_954;\n  undefined4 uStack_950;\n  int iStack_94c;\n  int iStack_948;\n  int iStack_944;\n  int aiStack_940 [4];\n  int iStack_930;\n  int iStack_92c;\n  uint uStack_928;\n  undefined4 uStack_920;\n  undefined4 uStack_91c;\n  undefined1 auStack_89c [516];\n  undefined1 auStack_698 [516];\n  int iStack_494;\n  int iStack_490;\n  code *pcStack_48c;\n  code *pcStack_488;\n  code *pcStack_484;\n  code *pcStack_480;\n  code *pcStack_47c;\n  code *pcStack_478;\n  code *pcStack_474;\n  int iStack_470;\n  undefined4 uStack_46c;\n  undefined4 *puStack_458;\n  code *pcStack_448;\n  int iStack_37c;\n  code *pcStack_378;\n  code *pcStack_374;\n  code *pcStack_370;\n  code *pcStack_36c;\n  code *pcStack_368;\n  code *pcStack_364;\n  code *pcStack_360;\n  code *pcStack_35c;\n  int iStack_358;\n  undefined4 uStack_354;\n  undefined4 uStack_340;\n  undefined4 uStack_33c;\n  undefined4 uStack_338;\n  code *pcStack_330;\n  undefined4 uStack_328;\n  undefined4 uStack_324;\n  undefined1 auStack_320 [24];\n  uint uStack_308;\n  int iStack_27c;\n  int iStack_278;\n  code *pcStack_274;\n  code *pcStack_270;\n  code *pcStack_26c;\n  code *pcStack_268;\n  code *pcStack_264;\n  code *pcStack_260;\n  code *pcStack_25c;\n  code *pcStack_258;\n  code *pcStack_254;\n  code *pcStack_240;\n  byte abStack_234 [256];\n  code *pcStack_134;\n  code *pcStack_12c;\n  code *pcStack_128;\n  code *pcStack_124;\n  code *pcStack_120;\n  code *pcStack_11c;\n  code **local_108;\n  code *local_100;\n  code *local_f8;\n  code *local_f4;\n  code *local_f0;\n  code *local_ec;\n  code *local_e8;\n  code *local_e4;\n  code *local_e0;\n  undefined4 local_dc;\n  code *local_c8;\n  code *local_bc;\n  int local_b8;\n  undefined1 auStack_b4 [8];\n  int local_ac;\n  char local_a0;\n  char local_9f;\n  code *local_94;\n  code *local_90;\n  code *local_8c;\n  code *local_88;\n  code *local_84;\n  code *local_80;\n  code *local_7c;\n  code *local_78;\n  code *local_74;\n  undefined1 local_4c [8];\n  int local_44;\n  char local_37;\n  code *local_2c;\n  \n  local_2c = *(code **)PTR___stack_chk_guard_0018fecc;\n  pcVar22 = param_1;\n  pcVar5 = param_2;\n  pcVar3 = param_3;\n  if (0 < (int)param_2) {\n    unaff_s0 = param_2;\n    unaff_s7 = param_3;\n    if (((uint)param_2 & 1) == 0) {\n      pcVar5 = (code *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824);\n      FUN_000c4464();\n    }\n    else {\n      pcVar3 = (code *)(*(code *)PTR_sqlite3_value_text_0018f97c)(*(int *)param_3);\n      pcVar22 = (code *)local_4c;\n      pcVar5 = param_1;\n      iVar4 = FUN_000b4580();\n      puVar24 = PTR_sqlite3_value_text_0018f97c;\n      unaff_s6 = param_2;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(param_2 < (code *)0x2);\n        unaff_s1 = param_3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s4 = (code *)local_4c;\n          unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);\n          do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);\n        }\n        if ((*(byte *)(local_44 + 1) & 8) == 0) {\n          pcVar5 = param_1;\n          pcVar3 = param_3;\n          FUN_000b63c4();\n        }\n        else {\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }\nLAB_000c4674:\n        pcVar22 = (code *)local_4c;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = param_3;\n      }\n    }\n  }\n  if (local_2c == *(code **)PTR___stack_chk_guard_0018fecc) {\n    return *(code **)PTR___stack_chk_guard_0018fecc;\n  }\n  puVar24 = PTR___stack_chk_fail_0018fea0;\n  (*(code *)PTR___stack_chk_fail_0018fea0)();\n  local_74 = unaff_s7;\n  local_78 = unaff_s6;\n  local_7c = unaff_s5;\n  local_80 = unaff_s4;\n  local_84 = unaff_s3;\n  local_88 = param_1;\n  local_8c = unaff_s1;\n  local_90 = unaff_s0;\n  local_c8 = (code *)(puVar24 + 0xd3230);\n  local_bc = pcVar3;\n  pcVar3 = local_bc;\n  local_94 = (code *)**(int **)(puVar24 + 0xcb7dc);\n  pcVar31 = pcVar22;\n  pcVar13 = pcVar5;\n  pcVar6 = pcVar3;\n  if (0 < (int)pcVar5) {\n    unaff_s3 = (code *)**(undefined4 **)(*(int *)(pcVar22 + 4) + 8);\n    unaff_s0 = pcVar5;\n    if (((uint)pcVar5 & 1) == 0) {\n      if (unaff_s3 == (code *)0x0) {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb268) + 0x4920);\n      }\n      else {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8);\n      }\n      FUN_000c4464();\n      pcVar6 = pcVar3;\n    }\n    else {\n      pcVar6 = (code *)(**(code **)(puVar24 + 0xcb28c))(*(int *)pcVar3);\n      pcVar31 = (code *)auStack_b4;\n      pcVar13 = pcVar22;\n      iVar4 = FUN_000b4580();\n      unaff_s1 = pcVar3;\n      unaff_s7 = pcVar5;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(pcVar5 < (code *)0x2);\n        unaff_s1 = pcVar3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s6 = *(code **)(local_c8 + -0x7fa4);\n          unaff_s5 = (code *)&local_b8;\n          unaff_s4 = (code *)auStack_b4;\n          unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);\n          do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);\n        }\n        pcVar6 = local_bc;\n        if ((*(byte *)(local_ac + 1) & 8) == 0) {\n          pcVar13 = pcVar22;\n          FUN_000b63c4();\n        }\n        else {\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }\nLAB_000c484c:\n        pcVar31 = (code *)auStack_b4;\n        (*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))();\n      }\n    }\n  }\n  if (local_94 == (code *)**(int **)(local_c8 + -0x7a54)) {\n    return (code *)**(int **)(local_c8 + -0x7a54);\n  }\n  pcVar25 = *(code **)(local_c8 + -0x7a80);\n  uVar29 = 0xc4960;\n  (*pcVar25)();\n  pcVar5 = local_c8;\n  local_100 = pcVar25 + 0xd2fc0;\n  local_f4 = (code *)**(undefined4 **)(pcVar25 + 0xcb56c);\n  pcVar3 = pcVar13;\n  local_f0 = unaff_s0;\n  local_ec = unaff_s1;\n  local_e8 = pcVar22;\n  local_e4 = unaff_s3;\n  local_e0 = unaff_s4;\n  local_dc = uVar29;\n  (*(code *)(*(int *)(pcVar25 + 0xcb2a4) + 0x3d3c))();\n  if (pcVar13 != (code *)0x0) {\n    unaff_s4 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)pcVar5);\n    if (unaff_s4 == (code *)0x0) {\n      pcVar13 = (code *)0x0;\n    }\n    else {\n      unaff_s3 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)pcVar5);\n      pcVar3 = unaff_s3 + 1;\n      iVar4 = (**(code **)(local_100 + -0x7f50))\n                        ((uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f));\n      *(int *)(pcVar31 + 0x18) = iVar4;\n      if (iVar4 == 0) {\n        pcVar13 = (code *)&DAT_00000007;\n      }\n      else {\n        (**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1);\n        unaff_s4 = pcVar31 + 0x20;\n        pcVar6 = *(code **)(pcVar31 + 0x18);\n        pcVar3 = (code *)0x0;\n        unaff_s3 = (code *)FUN_000b4580(unaff_s4);\n        if (unaff_s3 == (code *)0x0) {\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }\n      }\n    }\n  }\nLAB_000c49c4:\n  if (local_f4 == (code *)**(undefined4 **)(local_100 + -0x7a54)) {\n    return pcVar13;\n  }\n  pcVar26 = *(code **)(local_100 + -0x7a80);\n  pcVar30 = sqlite3_randomness;\n  pcVar22 = local_f4;\n  (*pcVar26)();\n  pcStack_240 = pcVar26 + 0xd2b38;\n  pcStack_134 = (code *)**(int **)(pcVar26 + 0xcb0e4);\n  pcVar25 = pcVar22;\n  pcVar14 = pcVar3;\n  pcStack_12c = pcVar13;\n  pcStack_128 = pcVar31;\n  pcStack_124 = pcVar5;\n  pcStack_120 = unaff_s3;\n  pcStack_11c = pcVar30;\n  iVar4 = (**(code **)(pcVar26 + 0xcadb8))();\n  if (iVar4 == 0) {\n    unaff_s3 = (code *)(*(code *)(*(int *)(pcStack_240 + -0x7dc8) + 0xe00))(5);\n    (**(code **)(pcStack_240 + -0x7d74))(unaff_s3);\n    iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n    pcVar25 = unaff_s3;\n    if (0 < (int)pcVar22) {\n      if (pcVar3 != (code *)0x0) {\n        iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n        if (*(char *)(iVar27 + 0x338) == '\0') {\n          *(undefined1 *)(iVar8 + 0x33a) = 0;\n          *(undefined1 *)(iVar8 + 0x339) = 0;\n          iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0);\n          (**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234);\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          iVar4 = 0;\n          do {\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          } while (iVar4 != 0x100);\n          iVar4 = *(int *)(pcStack_240 + -0x7fd8);\n          uVar9 = (uint)*(byte *)(iVar4 + 0x33a);\n          pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b);\n          pbVar15 = abStack_234;\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          do {\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          } while (pbVar7 != (byte *)(iVar4 + 0x43b));\n          iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n          *(char *)(iVar8 + 0x33a) = (char)uVar18;\n          *(undefined1 *)(iVar8 + 0x338) = 1;\n          iVar4 = 0x100;\n        }\n        pcVar6 = (code *)(iVar8 + 0x338);\n        uVar9 = (uint)*(byte *)(iVar8 + 0x33a);\n        bVar17 = *(char *)(iVar8 + 0x339) + 1;\n        pcVar13 = (code *)((uint)bVar17 - (int)pcVar3);\n        pcVar5 = pcVar3;\n        do {\n          uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff;\n          cVar2 = pcVar6[uVar18 + 3];\n          uVar20 = (byte)cVar2 + uVar9;\n          uVar9 = uVar20 & 0xff;\n          param_4 = pcVar6 + uVar9;\n          pcVar6[uVar18 + 3] = param_4[3];\n          param_4[3] = cVar2;\n          pcVar14 = pcVar5 + 1;\n          *pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3];\n          pcVar5 = pcVar14;\n        } while (pcVar14 != pcVar3 + (int)pcVar22);\n        iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n        pcVar22 = pcVar22 + -1;\n        *(byte *)(iVar27 + 0x339) = bVar17 + (char)pcVar22;\n        *(char *)(iVar27 + 0x33a) = (char)uVar20;\n        (**(code **)(pcStack_240 + -0x7d78))();\n        pcVar3 = pcVar13;\n        goto LAB_000c4e3c;\n      }\n      iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n    }\n    *(undefined1 *)(iVar27 + 0x338) = 0;\n    (**(code **)(pcStack_240 + -0x7d78))();\n  }\nLAB_000c4e3c:\n  if (pcStack_134 == (code *)**(int **)(pcStack_240 + -0x7a54)) {\n    return (code *)**(int **)(pcStack_240 + -0x7a54);\n  }\n  pcVar13 = *(code **)(pcStack_240 + -0x7a80);\n  pcVar31 = FUN_000c5048;\n  (*pcVar13)();\n  pcStack_330 = pcVar13 + 0xd28d8;\n  iStack_27c = **(int **)(pcVar13 + 0xcae84);\n  *pcVar14 = (code)0x0;\n  pcVar5 = (code *)**(undefined4 **)(pcVar13 + 0xcac68);\n  iStack_278 = iVar4;\n  pcStack_274 = pcVar3;\n  pcStack_270 = pcVar22;\n  pcStack_26c = unaff_s3;\n  pcStack_268 = unaff_s4;\n  pcStack_264 = unaff_s5;\n  pcStack_260 = unaff_s6;\n  pcStack_25c = unaff_s7;\n  pcStack_258 = unaff_s8;\n  pcStack_254 = pcVar31;\n  if (*(int *)(*(int *)(pcVar13 + 0xca900) + -0xb90) == 0) {\n    uVar29 = (**(code **)(pcVar13 + 0xcae0c))(*(int *)(pcVar13 + 0xca914) + -0x45f4);\n    *(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90) = uVar29;\n  }\n  if (*(int *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) == 0) {\n    uVar29 = (**(code **)(pcStack_330 + -0x7acc))(*(int *)(pcStack_330 + -0x7fc4) + -0x45e4);\n    *(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) = uVar29;\n  }\n  pcVar3 = (code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90);\n  pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb78);\n  pcVar26 = (code *)auStack_320;\n  iVar4 = *(int *)(pcStack_330 + -0x7fd8);\n  pcVar13 = (code *)(iVar4 + -0x840);\n  iVar27 = 0x4000;\n  pcVar22 = pcStack_330;\n  while( true ) {\n    pcVar30 = pcVar26;\n    if ((((pcVar5 != (code *)0x0) &&\n         (iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) &&\n        (pcVar30 = (code *)0x3, (uStack_308 & 0xf000) == 0x4000)) &&\n       (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) {\n      pcVar3 = (code *)&DAT_0000000c;\n      pcVar26 = (code *)&uStack_328;\n      pcVar13 = pcVar14 + (int)(pcVar25 + -2);\n      pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fc4) + -0x45dc);\n      iVar4 = *(int *)(pcStack_330 + -0x7fd8);\n      iVar27 = iVar4 + -0x840;\n      goto LAB_000c51a4;\n    }\n    pcVar23 = (code *)0x190a;\n    if (pcVar3 == pcVar31) break;\n    pcVar5 = *(code **)pcVar3;\n    pcVar3 = pcVar3 + 4;\n  }\n  goto LAB_000c5230;\njoined_r0x000c5ce4:\n  if (param_4 == pcVar5) goto LAB_000c5d10;\n  piVar21 = (int *)piVar11[2];\n  if (piVar21 == (int *)0x0) goto LAB_000c6494;\n  pcVar5 = (code *)piVar21[1];\n  piVar12 = piVar11 + 2;\n  piVar11 = piVar21;\n  goto joined_r0x000c5ce4;\nLAB_000c5d10:\n  *piVar12 = piVar11[2];\n  (**(code **)(pcVar22 + 0xca2ac))(piVar10[4]);\n  (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n  iVar4 = *piVar11;\n  goto LAB_000c5d44;\nLAB_000c6494:\n  (**(code **)(pcVar22 + 0xca2ac))(piVar10[4]);\n  (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n  goto LAB_000c642c;\n  while (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar14), iVar8 == 0) {\nLAB_000c51a4:\n    sqlite3_randomness(8,pcVar26);\n    *pcVar13 = (code)0x0;\n    uStack_338 = 0;\n    uStack_33c = uStack_324;\n    uStack_340 = uStack_328;\n    pcVar30 = pcVar14;\n    pcVar6 = pcVar31;\n    param_4 = pcVar5;\n    (**(code **)(pcStack_330 + -0x7ec4))(pcVar25);\n    pcVar3 = pcVar3 + -1;\n    if ((*pcVar13 != (code)0x0) || (pcVar30 = (code *)0x0, pcVar3 == (code *)0x0)) {\n      pcVar23 = (code *)0x1;\n      pcVar22 = pcStack_330;\n      goto LAB_000c5230;\n    }\n  }\n  pcVar23 = (code *)0x0;\n  pcVar30 = pcVar26;\n  pcVar22 = pcStack_330;\nLAB_000c5230:\n  if (iStack_27c == **(int **)(pcVar22 + -0x7a54)) {\n    return pcVar23;\n  }\n  pcVar22 = *(code **)(pcVar22 + -0x7a80);\n  uVar29 = 0xc527c;\n  iVar4 = iStack_27c;\n  (*pcVar22)();\n  pcStack_448 = pcVar22 + 0xd26a4;\n  iVar8 = **(int **)(pcVar22 + 0xcac50);\n  iStack_37c = iVar8;\n  pcStack_378 = pcVar3;\n  pcStack_374 = pcVar5;\n  pcStack_370 = pcVar14;\n  pcStack_36c = pcVar13;\n  pcStack_368 = pcVar25;\n  pcStack_364 = pcVar31;\n  pcStack_360 = pcVar26;\n  pcStack_35c = pcVar23;\n  iStack_358 = iVar27;\n  uStack_354 = uVar29;\n  if (pcVar30 < &DAT_00000015) {\n                    /* WARNING: Could not recover jumptable at 0x000c52e8. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    pcVar22 = (code *)(*(pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)))();\n    return pcVar22;\n  }\n  if (iVar8 == **(int **)(pcVar22 + 0xcac50)) {\n    return (code *)&DAT_0000000c;\n  }\n  pcVar22 = *(code **)(pcVar22 + 0xcac24);\n  uVar29 = 0xc58fc;\n  (*pcVar22)();\n  iStack_494 = **(int **)(pcVar22 + 0xca5d0);\n  uVar20 = (uint)param_4 & 0xffffff00;\n  uVar18 = (uint)param_4 & 8;\n  uStack_958 = (uint)param_4 & 1;\n  uVar9 = (uint)param_4 & 2;\n  pcStack_96c = pcVar30;\n  iStack_490 = iVar4;\n  pcStack_48c = pcVar5;\n  pcStack_488 = pcVar14;\n  pcStack_484 = pcVar13;\n  pcStack_480 = pcVar25;\n  pcStack_47c = pcVar31;\n  pcStack_478 = pcVar26;\n  pcStack_474 = pcVar23;\n  iStack_470 = iVar27;\n  uStack_46c = uVar29;\n  if (((uint)param_4 & 4) == 0) {\nLAB_000c59a0:\n    iVar4 = (**(code **)(pcVar22 + 0xca564))();\n    if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {\n      bVar1 = false;\n      goto LAB_000c59cc;\n    }\n    bVar1 = false;\nLAB_000c59fc:\n    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);\n    if (uVar20 != 0x100) goto LAB_000c5a24;\n    (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n    if (*(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228) == 0) {\nLAB_000c6414:\n      iVar4 = *(int *)(pcVar22 + 0xca25c);\n    }\n    else {\n      iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(pcVar30,aiStack_940);\n      if ((iVar4 != 0) ||\n         (piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0))\n      goto LAB_000c6414;\n      do {\n        if ((((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c)) {\n          (**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);\n          piVar11 = (int *)piVar10[8];\n          if (piVar11 == (int *)0x0) goto LAB_000c6494;\n          pcVar5 = (code *)piVar11[1];\n          piVar12 = piVar10 + 8;\n          goto joined_r0x000c5ce4;\n        }\n        piVar10 = (int *)piVar10[0xb];\n        iVar4 = *(int *)(pcVar22 + 0xca25c);\n      } while (piVar10 != (int *)0x0);\n    }\n    (*(code *)(iVar4 + 0x27b8))();\nLAB_000c642c:\n    piVar11 = (int *)(**(code **)(pcVar22 + 0xca0d4))(0,0xc);\n    if (piVar11 == (int *)0x0) {\n      pcVar5 = (code *)&DAT_00000007;\n      goto LAB_000c602c;\n    }\n    iVar4 = -1;\nLAB_000c5d44:\n    *(int **)(pcVar6 + 0x1c) = piVar11;\nLAB_000c5a34:\n    uStack_968 = uVar9;\n    if (((uint)param_4 & 4) != 0) {\n      uStack_968 = uVar9 | 0x100;\n    }\n    if (((uint)param_4 & 0x10) != 0) {\n      uStack_968 = uStack_968 | 0x20400;\n    }\n    if (iVar4 < 0) {\n      if (((uint)param_4 & 0x80800) == 0) {\n        uVar28 = 0x180;\n        if ((uVar18 == 0) && (uVar28 = 0, ((uint)param_4 & 0x40) != 0)) {\n          iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }\n          uVar28 = 0;\n        }\nLAB_000c5e0c:\n        uStack_954 = 0;\n        uStack_960 = 0;\n      }\n      else {\n        iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c);\n        iVar27 = iVar4 + -1;\n        if (pcStack_96c[iVar27] != (code)0x2d) {\n          if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }\n          uVar28 = 0;\n          goto LAB_000c5e0c;\n        }\nLAB_000c5e78:\n        (**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201);\n        auStack_89c[iVar27] = 0;\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940);\n        if (iVar4 == 0) {\n          uVar28 = uStack_928 & 0x1ff;\n          uStack_960 = uStack_920;\n          uStack_954 = uStack_91c;\n          pcVar5 = (code *)0x0;\n        }\n        else {\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }\nLAB_000c5ee0:\n        if (pcVar5 != (code *)0x0) goto LAB_000c602c;\n      }\n      iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                        (pcStack_96c,uStack_968 | 0x2000,uVar28);\n      if (-1 < iVar4) {\nLAB_000c5e40:\n        if (((uint)param_4 & 0x80800) != 0) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);\n        }\n        goto LAB_000c5a6c;\n      }\n      pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n      if (bVar1) {\n        piVar10 = (int *)(*pcVar5)();\n        if (*piVar10 != 0xd) {\n          pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n          goto LAB_000c5fb8;\n        }\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))(pcStack_96c,0);\n        pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n        if (iVar4 == 0) goto LAB_000c5fb8;\n        uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n        (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                  (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634);\n        pcVar5 = (code *)0x608;\n      }\n      else {\nLAB_000c5fb8:\n        piVar10 = (int *)(*pcVar5)();\n        if ((*piVar10 == 0x15) || (uVar9 == 0)) {\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        else {\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        if (pcVar5 == (code *)0x0) goto LAB_000c602c;\n      }\nLAB_000c630c:\n      iVar4 = *(int *)(pcVar6 + 0x1c);\nLAB_000c6310:\n      (**(code **)(pcVar22 + 0xca07c))(iVar4);\n    }\n    else {\nLAB_000c5a6c:\n      if (puStack_458 != (undefined4 *)0x0) {\n        *puStack_458 = param_4;\n      }\n      if (*(int **)(pcVar6 + 0x1c) != (int *)0x0) {\n        **(int **)(pcVar6 + 0x1c) = iVar4;\n        *(code **)(*(int *)(pcVar6 + 0x1c) + 4) = param_4;\n      }\n      if (uVar18 != 0) {\n        (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))(pcStack_96c);\n        uVar18 = 0x20;\n      }\n      if (uStack_958 != 0) {\n        uVar18 = uVar18 | 2;\n      }\n      if (uVar20 != 0x100) {\n        uVar18 = uVar18 | 0x80;\n      }\n      if (bVar1) {\n        uVar18 = uVar18 | 8;\n      }\n      if (((uint)param_4 & 0x40) == 0) {\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = (code *)0x0;\n      }\n      else {\n        uVar18 = uVar18 | 0x40;\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = pcVar30;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca37c))(pcVar5,*(int *)(pcVar22 + 0xca060) + -0x45c0,1);\n      iVar16 = *(int *)(pcVar22 + 0xca060);\n      if (iVar27 != 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 0x10;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca610))(*(undefined4 *)(iVar8 + 0x10),iVar16 + -0x45b8);\n      if (iVar27 == 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 1;\n      }\n      if ((uVar18 & 0x80) == 0) {\n        iVar27 = (*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6);\n        if (iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n          iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);\n          if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n        }\n        else {\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }\n        *(int *)(pcVar6 + 0x14) = 0;\n        if (pcVar5 != (code *)0x0) {\n          if (iVar4 < 0) goto LAB_000c630c;\n          (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);\n          iVar4 = *(int *)(pcVar6 + 0x1c);\n          goto LAB_000c6310;\n        }\n      }\n      else {\n        iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4;\nLAB_000c6394:\n        *(int *)(pcVar6 + 0x14) = 0;\n      }\n      *(int *)pcVar6 = iVar27;\n      (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524))(pcVar6);\n      pcVar5 = (code *)0x0;\n    }\n  }\n  else {\n    if ((uVar20 == 0x4000) || (uVar20 == 0x800)) {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n    }\n    else {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n      if (uVar20 != 0x80000) goto LAB_000c59a0;\n    }\n    iVar4 = (*pcVar5)();\n    if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {\n      bVar1 = true;\nLAB_000c59cc:\n      uVar29 = (**(code **)(pcVar22 + 0xca564))();\n      *(undefined4 *)(*(int *)(pcVar22 + 0xca04c) + 0x230) = uVar29;\n      sqlite3_randomness(0,0);\n      goto LAB_000c59fc;\n    }\n    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);\n    bVar1 = true;\nLAB_000c5a24:\n    iVar4 = -1;\n    if (pcVar30 != (code *)0x0) goto LAB_000c5a34;\n    pcVar5 = (code *)FUN_000c5048(*(undefined4 *)(iVar8 + 8),auStack_698);\n    if (pcVar5 == (code *)0x0) {\n      iVar4 = -1;\n      pcStack_96c = (code *)auStack_698;\n      goto LAB_000c5a34;\n    }\n  }\nLAB_000c602c:\n  if (iStack_494 == **(int **)(pcVar22 + 0xca5d0)) {\n    return pcVar5;\n  }\n  pcVar22 = *(code **)(pcVar22 + 0xca5a4);\n  iVar4 = iStack_494;\n  (*pcVar22)();\n  uVar9 = *(uint *)(iVar4 + 0x98);\n  if (*(uint *)(iVar4 + 0x94) <= *(uint *)(iVar4 + 0x98)) {\n    uVar9 = *(uint *)(iVar4 + 0x94);\n  }\n  puVar19 = *(undefined4 **)(iVar4 + 0xd0);\n  if (0 < *(int *)(iVar4 + 0x60)) {\n    iVar8 = 0;\n    iVar27 = 0;\n    do {\n      iVar16 = *(int *)(iVar4 + 0x5c) + iVar8;\n      if (*(int *)(iVar16 + 8) == 0 && *(int *)(iVar16 + 0xc) == 0) {\n        uVar29 = *(undefined4 *)(iVar4 + 0x48);\n        *(undefined4 *)(iVar16 + 0xc) = *(undefined4 *)(iVar4 + 0x4c);\n        *(undefined4 *)(iVar16 + 8) = uVar29;\n      }\n      iVar27 = iVar27 + 1;\n      iVar8 = iVar8 + 0x30;\n    } while (iVar27 < *(int *)(iVar4 + 0x60));\n  }\n  uVar32 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x43ec))(iVar4);\n  *(undefined8 *)(iVar4 + 0x48) = uVar32;\n  *(undefined8 *)(iVar4 + 0x50) = uVar32;\n  if ((*(char *)(iVar4 + 7) == '\0') && (*(char *)(iVar4 + 5) != '\x04')) {\n    uVar18 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0xaf8))(*(undefined4 *)(iVar4 + 0x3c));\n    iVar27 = *(int *)(pcVar22 + 0xc96e0);\n    if ((uVar18 & 0x200) == 0) {\n      *(undefined1 *)puVar19 = 0;\n      *(undefined1 *)((int)puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 3) = 0;\n      *(undefined1 *)(puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 5) = 0;\n      *(undefined1 *)((int)puVar19 + 6) = 0;\n      *(undefined1 *)((int)puVar19 + 7) = 0;\n      *(undefined1 *)(puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 9) = 0;\n      *(undefined1 *)((int)puVar19 + 10) = 0;\n      *(undefined1 *)((int)puVar19 + 0xb) = 0;\n      goto LAB_000c65ec;\n    }\n  }\n  else {\n    iVar27 = *(int *)(pcVar22 + 0xc96e0);\n  }\n  uVar29 = *(undefined4 *)(iVar27 + -0x4394);\n  *puVar19 = *(undefined4 *)(iVar27 + -0x4398);\n  puVar19[1] = uVar29;\n  (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c))(puVar19 + 2,0xffffffff);\nLAB_000c65ec:\n  sqlite3_randomness(4,iVar4 + 0x30);\n  pcVar5 = (code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c);\n  (*pcVar5)(puVar19 + 3,*(undefined4 *)(iVar4 + 0x30));\n  (*pcVar5)(puVar19 + 4,*(undefined4 *)(iVar4 + 0x1c));\n  (*pcVar5)(puVar19 + 5,*(undefined4 *)(iVar4 + 0x94));\n  (*pcVar5)(puVar19 + 6,*(undefined4 *)(iVar4 + 0x98));\n  (**(code **)(pcVar22 + 0xc9930))(puVar19 + 7,0,uVar9 - 0x1c);\n  uVar18 = 0;\n  if (*(int *)(iVar4 + 0x94) != 0) {\n    iVar27 = *(int *)(pcVar22 + 0xc9688);\n    do {\n      pcVar22 = (code *)(*(code *)(iVar27 + 0x9e0))(*(undefined4 *)(iVar4 + 0x40),puVar19,uVar9);\n      uVar20 = *(uint *)(iVar4 + 0x4c) + uVar9;\n      *(uint *)(iVar4 + 0x48) = (uint)(uVar20 < *(uint *)(iVar4 + 0x4c)) + *(int *)(iVar4 + 0x48);\n      *(uint *)(iVar4 + 0x4c) = uVar20;\n      uVar18 = uVar18 + uVar9;\n      if (pcVar22 != (code *)0x0) {\n        return pcVar22;\n      }\n    } while (uVar18 < *(uint *)(iVar4 + 0x94));\n  }\n  return (code *)0x0;\n}" type_identifier (pointer_declarator "* FUN_000c44e8(code *param_1,code *param_2,code *param_3,code *param_4)" * (function_declarator "FUN_000c44e8(code *param_1,code *param_2,code *param_3,code *param_4)" identifier (parameter_list "(code *param_1,code *param_2,code *param_3,code *param_4)" ( (parameter_declaration "code *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "code *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "code *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "code *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) )))) (compound_statement "{\n  bool bVar1;\n  code cVar2;\n  code *pcVar3;\n  int iVar4;\n  code *pcVar5;\n  code *pcVar6;\n  byte *pbVar7;\n  int iVar8;\n  uint uVar9;\n  int *piVar10;\n  int *piVar11;\n  int *piVar12;\n  code *pcVar13;\n  code *pcVar14;\n  byte *pbVar15;\n  int iVar16;\n  byte bVar17;\n  code *unaff_s0;\n  code *unaff_s1;\n  uint uVar18;\n  undefined4 *puVar19;\n  code *unaff_s3;\n  code *unaff_s4;\n  uint uVar20;\n  code *unaff_s5;\n  code *unaff_s6;\n  int *piVar21;\n  code *unaff_s7;\n  code *pcVar22;\n  code *pcVar23;\n  undefined *puVar24;\n  code *pcVar25;\n  code *pcVar26;\n  code *unaff_s8;\n  int iVar27;\n  uint uVar28;\n  undefined4 uVar29;\n  code *pcVar30;\n  code *pcVar31;\n  undefined8 uVar32;\n  code *pcStack_96c;\n  uint uStack_968;\n  undefined4 uStack_960;\n  uint uStack_958;\n  undefined4 uStack_954;\n  undefined4 uStack_950;\n  int iStack_94c;\n  int iStack_948;\n  int iStack_944;\n  int aiStack_940 [4];\n  int iStack_930;\n  int iStack_92c;\n  uint uStack_928;\n  undefined4 uStack_920;\n  undefined4 uStack_91c;\n  undefined1 auStack_89c [516];\n  undefined1 auStack_698 [516];\n  int iStack_494;\n  int iStack_490;\n  code *pcStack_48c;\n  code *pcStack_488;\n  code *pcStack_484;\n  code *pcStack_480;\n  code *pcStack_47c;\n  code *pcStack_478;\n  code *pcStack_474;\n  int iStack_470;\n  undefined4 uStack_46c;\n  undefined4 *puStack_458;\n  code *pcStack_448;\n  int iStack_37c;\n  code *pcStack_378;\n  code *pcStack_374;\n  code *pcStack_370;\n  code *pcStack_36c;\n  code *pcStack_368;\n  code *pcStack_364;\n  code *pcStack_360;\n  code *pcStack_35c;\n  int iStack_358;\n  undefined4 uStack_354;\n  undefined4 uStack_340;\n  undefined4 uStack_33c;\n  undefined4 uStack_338;\n  code *pcStack_330;\n  undefined4 uStack_328;\n  undefined4 uStack_324;\n  undefined1 auStack_320 [24];\n  uint uStack_308;\n  int iStack_27c;\n  int iStack_278;\n  code *pcStack_274;\n  code *pcStack_270;\n  code *pcStack_26c;\n  code *pcStack_268;\n  code *pcStack_264;\n  code *pcStack_260;\n  code *pcStack_25c;\n  code *pcStack_258;\n  code *pcStack_254;\n  code *pcStack_240;\n  byte abStack_234 [256];\n  code *pcStack_134;\n  code *pcStack_12c;\n  code *pcStack_128;\n  code *pcStack_124;\n  code *pcStack_120;\n  code *pcStack_11c;\n  code **local_108;\n  code *local_100;\n  code *local_f8;\n  code *local_f4;\n  code *local_f0;\n  code *local_ec;\n  code *local_e8;\n  code *local_e4;\n  code *local_e0;\n  undefined4 local_dc;\n  code *local_c8;\n  code *local_bc;\n  int local_b8;\n  undefined1 auStack_b4 [8];\n  int local_ac;\n  char local_a0;\n  char local_9f;\n  code *local_94;\n  code *local_90;\n  code *local_8c;\n  code *local_88;\n  code *local_84;\n  code *local_80;\n  code *local_7c;\n  code *local_78;\n  code *local_74;\n  undefined1 local_4c [8];\n  int local_44;\n  char local_37;\n  code *local_2c;\n  \n  local_2c = *(code **)PTR___stack_chk_guard_0018fecc;\n  pcVar22 = param_1;\n  pcVar5 = param_2;\n  pcVar3 = param_3;\n  if (0 < (int)param_2) {\n    unaff_s0 = param_2;\n    unaff_s7 = param_3;\n    if (((uint)param_2 & 1) == 0) {\n      pcVar5 = (code *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824);\n      FUN_000c4464();\n    }\n    else {\n      pcVar3 = (code *)(*(code *)PTR_sqlite3_value_text_0018f97c)(*(int *)param_3);\n      pcVar22 = (code *)local_4c;\n      pcVar5 = param_1;\n      iVar4 = FUN_000b4580();\n      puVar24 = PTR_sqlite3_value_text_0018f97c;\n      unaff_s6 = param_2;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(param_2 < (code *)0x2);\n        unaff_s1 = param_3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s4 = (code *)local_4c;\n          unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);\n          do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);\n        }\n        if ((*(byte *)(local_44 + 1) & 8) == 0) {\n          pcVar5 = param_1;\n          pcVar3 = param_3;\n          FUN_000b63c4();\n        }\n        else {\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }\nLAB_000c4674:\n        pcVar22 = (code *)local_4c;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = param_3;\n      }\n    }\n  }\n  if (local_2c == *(code **)PTR___stack_chk_guard_0018fecc) {\n    return *(code **)PTR___stack_chk_guard_0018fecc;\n  }\n  puVar24 = PTR___stack_chk_fail_0018fea0;\n  (*(code *)PTR___stack_chk_fail_0018fea0)();\n  local_74 = unaff_s7;\n  local_78 = unaff_s6;\n  local_7c = unaff_s5;\n  local_80 = unaff_s4;\n  local_84 = unaff_s3;\n  local_88 = param_1;\n  local_8c = unaff_s1;\n  local_90 = unaff_s0;\n  local_c8 = (code *)(puVar24 + 0xd3230);\n  local_bc = pcVar3;\n  pcVar3 = local_bc;\n  local_94 = (code *)**(int **)(puVar24 + 0xcb7dc);\n  pcVar31 = pcVar22;\n  pcVar13 = pcVar5;\n  pcVar6 = pcVar3;\n  if (0 < (int)pcVar5) {\n    unaff_s3 = (code *)**(undefined4 **)(*(int *)(pcVar22 + 4) + 8);\n    unaff_s0 = pcVar5;\n    if (((uint)pcVar5 & 1) == 0) {\n      if (unaff_s3 == (code *)0x0) {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb268) + 0x4920);\n      }\n      else {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8);\n      }\n      FUN_000c4464();\n      pcVar6 = pcVar3;\n    }\n    else {\n      pcVar6 = (code *)(**(code **)(puVar24 + 0xcb28c))(*(int *)pcVar3);\n      pcVar31 = (code *)auStack_b4;\n      pcVar13 = pcVar22;\n      iVar4 = FUN_000b4580();\n      unaff_s1 = pcVar3;\n      unaff_s7 = pcVar5;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(pcVar5 < (code *)0x2);\n        unaff_s1 = pcVar3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s6 = *(code **)(local_c8 + -0x7fa4);\n          unaff_s5 = (code *)&local_b8;\n          unaff_s4 = (code *)auStack_b4;\n          unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);\n          do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);\n        }\n        pcVar6 = local_bc;\n        if ((*(byte *)(local_ac + 1) & 8) == 0) {\n          pcVar13 = pcVar22;\n          FUN_000b63c4();\n        }\n        else {\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }\nLAB_000c484c:\n        pcVar31 = (code *)auStack_b4;\n        (*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))();\n      }\n    }\n  }\n  if (local_94 == (code *)**(int **)(local_c8 + -0x7a54)) {\n    return (code *)**(int **)(local_c8 + -0x7a54);\n  }\n  pcVar25 = *(code **)(local_c8 + -0x7a80);\n  uVar29 = 0xc4960;\n  (*pcVar25)();\n  pcVar5 = local_c8;\n  local_100 = pcVar25 + 0xd2fc0;\n  local_f4 = (code *)**(undefined4 **)(pcVar25 + 0xcb56c);\n  pcVar3 = pcVar13;\n  local_f0 = unaff_s0;\n  local_ec = unaff_s1;\n  local_e8 = pcVar22;\n  local_e4 = unaff_s3;\n  local_e0 = unaff_s4;\n  local_dc = uVar29;\n  (*(code *)(*(int *)(pcVar25 + 0xcb2a4) + 0x3d3c))();\n  if (pcVar13 != (code *)0x0) {\n    unaff_s4 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)pcVar5);\n    if (unaff_s4 == (code *)0x0) {\n      pcVar13 = (code *)0x0;\n    }\n    else {\n      unaff_s3 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)pcVar5);\n      pcVar3 = unaff_s3 + 1;\n      iVar4 = (**(code **)(local_100 + -0x7f50))\n                        ((uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f));\n      *(int *)(pcVar31 + 0x18) = iVar4;\n      if (iVar4 == 0) {\n        pcVar13 = (code *)&DAT_00000007;\n      }\n      else {\n        (**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1);\n        unaff_s4 = pcVar31 + 0x20;\n        pcVar6 = *(code **)(pcVar31 + 0x18);\n        pcVar3 = (code *)0x0;\n        unaff_s3 = (code *)FUN_000b4580(unaff_s4);\n        if (unaff_s3 == (code *)0x0) {\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }\n      }\n    }\n  }\nLAB_000c49c4:\n  if (local_f4 == (code *)**(undefined4 **)(local_100 + -0x7a54)) {\n    return pcVar13;\n  }\n  pcVar26 = *(code **)(local_100 + -0x7a80);\n  pcVar30 = sqlite3_randomness;\n  pcVar22 = local_f4;\n  (*pcVar26)();\n  pcStack_240 = pcVar26 + 0xd2b38;\n  pcStack_134 = (code *)**(int **)(pcVar26 + 0xcb0e4);\n  pcVar25 = pcVar22;\n  pcVar14 = pcVar3;\n  pcStack_12c = pcVar13;\n  pcStack_128 = pcVar31;\n  pcStack_124 = pcVar5;\n  pcStack_120 = unaff_s3;\n  pcStack_11c = pcVar30;\n  iVar4 = (**(code **)(pcVar26 + 0xcadb8))();\n  if (iVar4 == 0) {\n    unaff_s3 = (code *)(*(code *)(*(int *)(pcStack_240 + -0x7dc8) + 0xe00))(5);\n    (**(code **)(pcStack_240 + -0x7d74))(unaff_s3);\n    iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n    pcVar25 = unaff_s3;\n    if (0 < (int)pcVar22) {\n      if (pcVar3 != (code *)0x0) {\n        iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n        if (*(char *)(iVar27 + 0x338) == '\0') {\n          *(undefined1 *)(iVar8 + 0x33a) = 0;\n          *(undefined1 *)(iVar8 + 0x339) = 0;\n          iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0);\n          (**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234);\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          iVar4 = 0;\n          do {\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          } while (iVar4 != 0x100);\n          iVar4 = *(int *)(pcStack_240 + -0x7fd8);\n          uVar9 = (uint)*(byte *)(iVar4 + 0x33a);\n          pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b);\n          pbVar15 = abStack_234;\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          do {\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          } while (pbVar7 != (byte *)(iVar4 + 0x43b));\n          iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n          *(char *)(iVar8 + 0x33a) = (char)uVar18;\n          *(undefined1 *)(iVar8 + 0x338) = 1;\n          iVar4 = 0x100;\n        }\n        pcVar6 = (code *)(iVar8 + 0x338);\n        uVar9 = (uint)*(byte *)(iVar8 + 0x33a);\n        bVar17 = *(char *)(iVar8 + 0x339) + 1;\n        pcVar13 = (code *)((uint)bVar17 - (int)pcVar3);\n        pcVar5 = pcVar3;\n        do {\n          uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff;\n          cVar2 = pcVar6[uVar18 + 3];\n          uVar20 = (byte)cVar2 + uVar9;\n          uVar9 = uVar20 & 0xff;\n          param_4 = pcVar6 + uVar9;\n          pcVar6[uVar18 + 3] = param_4[3];\n          param_4[3] = cVar2;\n          pcVar14 = pcVar5 + 1;\n          *pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3];\n          pcVar5 = pcVar14;\n        } while (pcVar14 != pcVar3 + (int)pcVar22);\n        iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n        pcVar22 = pcVar22 + -1;\n        *(byte *)(iVar27 + 0x339) = bVar17 + (char)pcVar22;\n        *(char *)(iVar27 + 0x33a) = (char)uVar20;\n        (**(code **)(pcStack_240 + -0x7d78))();\n        pcVar3 = pcVar13;\n        goto LAB_000c4e3c;\n      }\n      iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n    }\n    *(undefined1 *)(iVar27 + 0x338) = 0;\n    (**(code **)(pcStack_240 + -0x7d78))();\n  }\nLAB_000c4e3c:\n  if (pcStack_134 == (code *)**(int **)(pcStack_240 + -0x7a54)) {\n    return (code *)**(int **)(pcStack_240 + -0x7a54);\n  }\n  pcVar13 = *(code **)(pcStack_240 + -0x7a80);\n  pcVar31 = FUN_000c5048;\n  (*pcVar13)();\n  pcStack_330 = pcVar13 + 0xd28d8;\n  iStack_27c = **(int **)(pcVar13 + 0xcae84);\n  *pcVar14 = (code)0x0;\n  pcVar5 = (code *)**(undefined4 **)(pcVar13 + 0xcac68);\n  iStack_278 = iVar4;\n  pcStack_274 = pcVar3;\n  pcStack_270 = pcVar22;\n  pcStack_26c = unaff_s3;\n  pcStack_268 = unaff_s4;\n  pcStack_264 = unaff_s5;\n  pcStack_260 = unaff_s6;\n  pcStack_25c = unaff_s7;\n  pcStack_258 = unaff_s8;\n  pcStack_254 = pcVar31;\n  if (*(int *)(*(int *)(pcVar13 + 0xca900) + -0xb90) == 0) {\n    uVar29 = (**(code **)(pcVar13 + 0xcae0c))(*(int *)(pcVar13 + 0xca914) + -0x45f4);\n    *(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90) = uVar29;\n  }\n  if (*(int *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) == 0) {\n    uVar29 = (**(code **)(pcStack_330 + -0x7acc))(*(int *)(pcStack_330 + -0x7fc4) + -0x45e4);\n    *(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) = uVar29;\n  }\n  pcVar3 = (code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90);\n  pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb78);\n  pcVar26 = (code *)auStack_320;\n  iVar4 = *(int *)(pcStack_330 + -0x7fd8);\n  pcVar13 = (code *)(iVar4 + -0x840);\n  iVar27 = 0x4000;\n  pcVar22 = pcStack_330;\n  while( true ) {\n    pcVar30 = pcVar26;\n    if ((((pcVar5 != (code *)0x0) &&\n         (iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) &&\n        (pcVar30 = (code *)0x3, (uStack_308 & 0xf000) == 0x4000)) &&\n       (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) {\n      pcVar3 = (code *)&DAT_0000000c;\n      pcVar26 = (code *)&uStack_328;\n      pcVar13 = pcVar14 + (int)(pcVar25 + -2);\n      pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fc4) + -0x45dc);\n      iVar4 = *(int *)(pcStack_330 + -0x7fd8);\n      iVar27 = iVar4 + -0x840;\n      goto LAB_000c51a4;\n    }\n    pcVar23 = (code *)0x190a;\n    if (pcVar3 == pcVar31) break;\n    pcVar5 = *(code **)pcVar3;\n    pcVar3 = pcVar3 + 4;\n  }\n  goto LAB_000c5230;\njoined_r0x000c5ce4:\n  if (param_4 == pcVar5) goto LAB_000c5d10;\n  piVar21 = (int *)piVar11[2];\n  if (piVar21 == (int *)0x0) goto LAB_000c6494;\n  pcVar5 = (code *)piVar21[1];\n  piVar12 = piVar11 + 2;\n  piVar11 = piVar21;\n  goto joined_r0x000c5ce4;\nLAB_000c5d10:\n  *piVar12 = piVar11[2];\n  (**(code **)(pcVar22 + 0xca2ac))(piVar10[4]);\n  (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n  iVar4 = *piVar11;\n  goto LAB_000c5d44;\nLAB_000c6494:\n  (**(code **)(pcVar22 + 0xca2ac))(piVar10[4]);\n  (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n  goto LAB_000c642c;\n  while (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar14), iVar8 == 0) {\nLAB_000c51a4:\n    sqlite3_randomness(8,pcVar26);\n    *pcVar13 = (code)0x0;\n    uStack_338 = 0;\n    uStack_33c = uStack_324;\n    uStack_340 = uStack_328;\n    pcVar30 = pcVar14;\n    pcVar6 = pcVar31;\n    param_4 = pcVar5;\n    (**(code **)(pcStack_330 + -0x7ec4))(pcVar25);\n    pcVar3 = pcVar3 + -1;\n    if ((*pcVar13 != (code)0x0) || (pcVar30 = (code *)0x0, pcVar3 == (code *)0x0)) {\n      pcVar23 = (code *)0x1;\n      pcVar22 = pcStack_330;\n      goto LAB_000c5230;\n    }\n  }\n  pcVar23 = (code *)0x0;\n  pcVar30 = pcVar26;\n  pcVar22 = pcStack_330;\nLAB_000c5230:\n  if (iStack_27c == **(int **)(pcVar22 + -0x7a54)) {\n    return pcVar23;\n  }\n  pcVar22 = *(code **)(pcVar22 + -0x7a80);\n  uVar29 = 0xc527c;\n  iVar4 = iStack_27c;\n  (*pcVar22)();\n  pcStack_448 = pcVar22 + 0xd26a4;\n  iVar8 = **(int **)(pcVar22 + 0xcac50);\n  iStack_37c = iVar8;\n  pcStack_378 = pcVar3;\n  pcStack_374 = pcVar5;\n  pcStack_370 = pcVar14;\n  pcStack_36c = pcVar13;\n  pcStack_368 = pcVar25;\n  pcStack_364 = pcVar31;\n  pcStack_360 = pcVar26;\n  pcStack_35c = pcVar23;\n  iStack_358 = iVar27;\n  uStack_354 = uVar29;\n  if (pcVar30 < &DAT_00000015) {\n                    /* WARNING: Could not recover jumptable at 0x000c52e8. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    pcVar22 = (code *)(*(pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)))();\n    return pcVar22;\n  }\n  if (iVar8 == **(int **)(pcVar22 + 0xcac50)) {\n    return (code *)&DAT_0000000c;\n  }\n  pcVar22 = *(code **)(pcVar22 + 0xcac24);\n  uVar29 = 0xc58fc;\n  (*pcVar22)();\n  iStack_494 = **(int **)(pcVar22 + 0xca5d0);\n  uVar20 = (uint)param_4 & 0xffffff00;\n  uVar18 = (uint)param_4 & 8;\n  uStack_958 = (uint)param_4 & 1;\n  uVar9 = (uint)param_4 & 2;\n  pcStack_96c = pcVar30;\n  iStack_490 = iVar4;\n  pcStack_48c = pcVar5;\n  pcStack_488 = pcVar14;\n  pcStack_484 = pcVar13;\n  pcStack_480 = pcVar25;\n  pcStack_47c = pcVar31;\n  pcStack_478 = pcVar26;\n  pcStack_474 = pcVar23;\n  iStack_470 = iVar27;\n  uStack_46c = uVar29;\n  if (((uint)param_4 & 4) == 0) {\nLAB_000c59a0:\n    iVar4 = (**(code **)(pcVar22 + 0xca564))();\n    if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {\n      bVar1 = false;\n      goto LAB_000c59cc;\n    }\n    bVar1 = false;\nLAB_000c59fc:\n    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);\n    if (uVar20 != 0x100) goto LAB_000c5a24;\n    (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n    if (*(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228) == 0) {\nLAB_000c6414:\n      iVar4 = *(int *)(pcVar22 + 0xca25c);\n    }\n    else {\n      iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(pcVar30,aiStack_940);\n      if ((iVar4 != 0) ||\n         (piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0))\n      goto LAB_000c6414;\n      do {\n        if ((((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c)) {\n          (**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);\n          piVar11 = (int *)piVar10[8];\n          if (piVar11 == (int *)0x0) goto LAB_000c6494;\n          pcVar5 = (code *)piVar11[1];\n          piVar12 = piVar10 + 8;\n          goto joined_r0x000c5ce4;\n        }\n        piVar10 = (int *)piVar10[0xb];\n        iVar4 = *(int *)(pcVar22 + 0xca25c);\n      } while (piVar10 != (int *)0x0);\n    }\n    (*(code *)(iVar4 + 0x27b8))();\nLAB_000c642c:\n    piVar11 = (int *)(**(code **)(pcVar22 + 0xca0d4))(0,0xc);\n    if (piVar11 == (int *)0x0) {\n      pcVar5 = (code *)&DAT_00000007;\n      goto LAB_000c602c;\n    }\n    iVar4 = -1;\nLAB_000c5d44:\n    *(int **)(pcVar6 + 0x1c) = piVar11;\nLAB_000c5a34:\n    uStack_968 = uVar9;\n    if (((uint)param_4 & 4) != 0) {\n      uStack_968 = uVar9 | 0x100;\n    }\n    if (((uint)param_4 & 0x10) != 0) {\n      uStack_968 = uStack_968 | 0x20400;\n    }\n    if (iVar4 < 0) {\n      if (((uint)param_4 & 0x80800) == 0) {\n        uVar28 = 0x180;\n        if ((uVar18 == 0) && (uVar28 = 0, ((uint)param_4 & 0x40) != 0)) {\n          iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }\n          uVar28 = 0;\n        }\nLAB_000c5e0c:\n        uStack_954 = 0;\n        uStack_960 = 0;\n      }\n      else {\n        iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c);\n        iVar27 = iVar4 + -1;\n        if (pcStack_96c[iVar27] != (code)0x2d) {\n          if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }\n          uVar28 = 0;\n          goto LAB_000c5e0c;\n        }\nLAB_000c5e78:\n        (**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201);\n        auStack_89c[iVar27] = 0;\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940);\n        if (iVar4 == 0) {\n          uVar28 = uStack_928 & 0x1ff;\n          uStack_960 = uStack_920;\n          uStack_954 = uStack_91c;\n          pcVar5 = (code *)0x0;\n        }\n        else {\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }\nLAB_000c5ee0:\n        if (pcVar5 != (code *)0x0) goto LAB_000c602c;\n      }\n      iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                        (pcStack_96c,uStack_968 | 0x2000,uVar28);\n      if (-1 < iVar4) {\nLAB_000c5e40:\n        if (((uint)param_4 & 0x80800) != 0) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);\n        }\n        goto LAB_000c5a6c;\n      }\n      pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n      if (bVar1) {\n        piVar10 = (int *)(*pcVar5)();\n        if (*piVar10 != 0xd) {\n          pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n          goto LAB_000c5fb8;\n        }\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))(pcStack_96c,0);\n        pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n        if (iVar4 == 0) goto LAB_000c5fb8;\n        uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n        (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                  (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634);\n        pcVar5 = (code *)0x608;\n      }\n      else {\nLAB_000c5fb8:\n        piVar10 = (int *)(*pcVar5)();\n        if ((*piVar10 == 0x15) || (uVar9 == 0)) {\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        else {\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        if (pcVar5 == (code *)0x0) goto LAB_000c602c;\n      }\nLAB_000c630c:\n      iVar4 = *(int *)(pcVar6 + 0x1c);\nLAB_000c6310:\n      (**(code **)(pcVar22 + 0xca07c))(iVar4);\n    }\n    else {\nLAB_000c5a6c:\n      if (puStack_458 != (undefined4 *)0x0) {\n        *puStack_458 = param_4;\n      }\n      if (*(int **)(pcVar6 + 0x1c) != (int *)0x0) {\n        **(int **)(pcVar6 + 0x1c) = iVar4;\n        *(code **)(*(int *)(pcVar6 + 0x1c) + 4) = param_4;\n      }\n      if (uVar18 != 0) {\n        (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))(pcStack_96c);\n        uVar18 = 0x20;\n      }\n      if (uStack_958 != 0) {\n        uVar18 = uVar18 | 2;\n      }\n      if (uVar20 != 0x100) {\n        uVar18 = uVar18 | 0x80;\n      }\n      if (bVar1) {\n        uVar18 = uVar18 | 8;\n      }\n      if (((uint)param_4 & 0x40) == 0) {\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = (code *)0x0;\n      }\n      else {\n        uVar18 = uVar18 | 0x40;\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = pcVar30;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca37c))(pcVar5,*(int *)(pcVar22 + 0xca060) + -0x45c0,1);\n      iVar16 = *(int *)(pcVar22 + 0xca060);\n      if (iVar27 != 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 0x10;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca610))(*(undefined4 *)(iVar8 + 0x10),iVar16 + -0x45b8);\n      if (iVar27 == 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 1;\n      }\n      if ((uVar18 & 0x80) == 0) {\n        iVar27 = (*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6);\n        if (iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n          iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);\n          if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n        }\n        else {\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }\n        *(int *)(pcVar6 + 0x14) = 0;\n        if (pcVar5 != (code *)0x0) {\n          if (iVar4 < 0) goto LAB_000c630c;\n          (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);\n          iVar4 = *(int *)(pcVar6 + 0x1c);\n          goto LAB_000c6310;\n        }\n      }\n      else {\n        iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4;\nLAB_000c6394:\n        *(int *)(pcVar6 + 0x14) = 0;\n      }\n      *(int *)pcVar6 = iVar27;\n      (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524))(pcVar6);\n      pcVar5 = (code *)0x0;\n    }\n  }\n  else {\n    if ((uVar20 == 0x4000) || (uVar20 == 0x800)) {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n    }\n    else {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n      if (uVar20 != 0x80000) goto LAB_000c59a0;\n    }\n    iVar4 = (*pcVar5)();\n    if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {\n      bVar1 = true;\nLAB_000c59cc:\n      uVar29 = (**(code **)(pcVar22 + 0xca564))();\n      *(undefined4 *)(*(int *)(pcVar22 + 0xca04c) + 0x230) = uVar29;\n      sqlite3_randomness(0,0);\n      goto LAB_000c59fc;\n    }\n    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);\n    bVar1 = true;\nLAB_000c5a24:\n    iVar4 = -1;\n    if (pcVar30 != (code *)0x0) goto LAB_000c5a34;\n    pcVar5 = (code *)FUN_000c5048(*(undefined4 *)(iVar8 + 8),auStack_698);\n    if (pcVar5 == (code *)0x0) {\n      iVar4 = -1;\n      pcStack_96c = (code *)auStack_698;\n      goto LAB_000c5a34;\n    }\n  }\nLAB_000c602c:\n  if (iStack_494 == **(int **)(pcVar22 + 0xca5d0)) {\n    return pcVar5;\n  }\n  pcVar22 = *(code **)(pcVar22 + 0xca5a4);\n  iVar4 = iStack_494;\n  (*pcVar22)();\n  uVar9 = *(uint *)(iVar4 + 0x98);\n  if (*(uint *)(iVar4 + 0x94) <= *(uint *)(iVar4 + 0x98)) {\n    uVar9 = *(uint *)(iVar4 + 0x94);\n  }\n  puVar19 = *(undefined4 **)(iVar4 + 0xd0);\n  if (0 < *(int *)(iVar4 + 0x60)) {\n    iVar8 = 0;\n    iVar27 = 0;\n    do {\n      iVar16 = *(int *)(iVar4 + 0x5c) + iVar8;\n      if (*(int *)(iVar16 + 8) == 0 && *(int *)(iVar16 + 0xc) == 0) {\n        uVar29 = *(undefined4 *)(iVar4 + 0x48);\n        *(undefined4 *)(iVar16 + 0xc) = *(undefined4 *)(iVar4 + 0x4c);\n        *(undefined4 *)(iVar16 + 8) = uVar29;\n      }\n      iVar27 = iVar27 + 1;\n      iVar8 = iVar8 + 0x30;\n    } while (iVar27 < *(int *)(iVar4 + 0x60));\n  }\n  uVar32 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x43ec))(iVar4);\n  *(undefined8 *)(iVar4 + 0x48) = uVar32;\n  *(undefined8 *)(iVar4 + 0x50) = uVar32;\n  if ((*(char *)(iVar4 + 7) == '\0') && (*(char *)(iVar4 + 5) != '\x04')) {\n    uVar18 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0xaf8))(*(undefined4 *)(iVar4 + 0x3c));\n    iVar27 = *(int *)(pcVar22 + 0xc96e0);\n    if ((uVar18 & 0x200) == 0) {\n      *(undefined1 *)puVar19 = 0;\n      *(undefined1 *)((int)puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 3) = 0;\n      *(undefined1 *)(puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 5) = 0;\n      *(undefined1 *)((int)puVar19 + 6) = 0;\n      *(undefined1 *)((int)puVar19 + 7) = 0;\n      *(undefined1 *)(puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 9) = 0;\n      *(undefined1 *)((int)puVar19 + 10) = 0;\n      *(undefined1 *)((int)puVar19 + 0xb) = 0;\n      goto LAB_000c65ec;\n    }\n  }\n  else {\n    iVar27 = *(int *)(pcVar22 + 0xc96e0);\n  }\n  uVar29 = *(undefined4 *)(iVar27 + -0x4394);\n  *puVar19 = *(undefined4 *)(iVar27 + -0x4398);\n  puVar19[1] = uVar29;\n  (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c))(puVar19 + 2,0xffffffff);\nLAB_000c65ec:\n  sqlite3_randomness(4,iVar4 + 0x30);\n  pcVar5 = (code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c);\n  (*pcVar5)(puVar19 + 3,*(undefined4 *)(iVar4 + 0x30));\n  (*pcVar5)(puVar19 + 4,*(undefined4 *)(iVar4 + 0x1c));\n  (*pcVar5)(puVar19 + 5,*(undefined4 *)(iVar4 + 0x94));\n  (*pcVar5)(puVar19 + 6,*(undefined4 *)(iVar4 + 0x98));\n  (**(code **)(pcVar22 + 0xc9930))(puVar19 + 7,0,uVar9 - 0x1c);\n  uVar18 = 0;\n  if (*(int *)(iVar4 + 0x94) != 0) {\n    iVar27 = *(int *)(pcVar22 + 0xc9688);\n    do {\n      pcVar22 = (code *)(*(code *)(iVar27 + 0x9e0))(*(undefined4 *)(iVar4 + 0x40),puVar19,uVar9);\n      uVar20 = *(uint *)(iVar4 + 0x4c) + uVar9;\n      *(uint *)(iVar4 + 0x48) = (uint)(uVar20 < *(uint *)(iVar4 + 0x4c)) + *(int *)(iVar4 + 0x48);\n      *(uint *)(iVar4 + 0x4c) = uVar20;\n      uVar18 = uVar18 + uVar9;\n      if (pcVar22 != (code *)0x0) {\n        return pcVar22;\n      }\n    } while (uVar18 < *(uint *)(iVar4 + 0x94));\n  }\n  return (code *)0x0;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "code cVar2;" type_identifier identifier ;) (declaration "code *pcVar3;" type_identifier (pointer_declarator "*pcVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "code *pcVar5;" type_identifier (pointer_declarator "*pcVar5" * identifier) ;) (declaration "code *pcVar6;" type_identifier (pointer_declarator "*pcVar6" * identifier) ;) (declaration "byte *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "code *pcVar13;" type_identifier (pointer_declarator "*pcVar13" * identifier) ;) (declaration "code *pcVar14;" type_identifier (pointer_declarator "*pcVar14" * identifier) ;) (declaration "byte *pbVar15;" type_identifier (pointer_declarator "*pbVar15" * identifier) ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "byte bVar17;" type_identifier identifier ;) (declaration "code *unaff_s0;" type_identifier (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "code *unaff_s1;" type_identifier (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "undefined4 *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "code *unaff_s3;" type_identifier (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "code *unaff_s4;" type_identifier (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "code *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "code *unaff_s6;" type_identifier (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "int *piVar21;" primitive_type (pointer_declarator "*piVar21" * identifier) ;) (declaration "code *unaff_s7;" type_identifier (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "code *pcVar22;" type_identifier (pointer_declarator "*pcVar22" * identifier) ;) (declaration "code *pcVar23;" type_identifier (pointer_declarator "*pcVar23" * identifier) ;) (declaration "undefined *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "code *pcVar25;" type_identifier (pointer_declarator "*pcVar25" * identifier) ;) (declaration "code *pcVar26;" type_identifier (pointer_declarator "*pcVar26" * identifier) ;) (declaration "code *unaff_s8;" type_identifier (pointer_declarator "*unaff_s8" * identifier) ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "uint uVar28;" type_identifier identifier ;) (declaration "undefined4 uVar29;" type_identifier identifier ;) (declaration "code *pcVar30;" type_identifier (pointer_declarator "*pcVar30" * identifier) ;) (declaration "code *pcVar31;" type_identifier (pointer_declarator "*pcVar31" * identifier) ;) (declaration "undefined8 uVar32;" type_identifier identifier ;) (declaration "code *pcStack_96c;" type_identifier (pointer_declarator "*pcStack_96c" * identifier) ;) (declaration "uint uStack_968;" type_identifier identifier ;) (declaration "undefined4 uStack_960;" type_identifier identifier ;) (declaration "uint uStack_958;" type_identifier identifier ;) (declaration "undefined4 uStack_954;" type_identifier identifier ;) (declaration "undefined4 uStack_950;" type_identifier identifier ;) (declaration "int iStack_94c;" primitive_type identifier ;) (declaration "int iStack_948;" primitive_type identifier ;) (declaration "int iStack_944;" primitive_type identifier ;) (declaration "int aiStack_940 [4];" primitive_type (array_declarator "aiStack_940 [4]" identifier [ number_literal ]) ;) (declaration "int iStack_930;" primitive_type identifier ;) (declaration "int iStack_92c;" primitive_type identifier ;) (declaration "uint uStack_928;" type_identifier identifier ;) (declaration "undefined4 uStack_920;" type_identifier identifier ;) (declaration "undefined4 uStack_91c;" type_identifier identifier ;) (declaration "undefined1 auStack_89c [516];" type_identifier (array_declarator "auStack_89c [516]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_698 [516];" type_identifier (array_declarator "auStack_698 [516]" identifier [ number_literal ]) ;) (declaration "int iStack_494;" primitive_type identifier ;) (declaration "int iStack_490;" primitive_type identifier ;) (declaration "code *pcStack_48c;" type_identifier (pointer_declarator "*pcStack_48c" * identifier) ;) (declaration "code *pcStack_488;" type_identifier (pointer_declarator "*pcStack_488" * identifier) ;) (declaration "code *pcStack_484;" type_identifier (pointer_declarator "*pcStack_484" * identifier) ;) (declaration "code *pcStack_480;" type_identifier (pointer_declarator "*pcStack_480" * identifier) ;) (declaration "code *pcStack_47c;" type_identifier (pointer_declarator "*pcStack_47c" * identifier) ;) (declaration "code *pcStack_478;" type_identifier (pointer_declarator "*pcStack_478" * identifier) ;) (declaration "code *pcStack_474;" type_identifier (pointer_declarator "*pcStack_474" * identifier) ;) (declaration "int iStack_470;" primitive_type identifier ;) (declaration "undefined4 uStack_46c;" type_identifier identifier ;) (declaration "undefined4 *puStack_458;" type_identifier (pointer_declarator "*puStack_458" * identifier) ;) (declaration "code *pcStack_448;" type_identifier (pointer_declarator "*pcStack_448" * identifier) ;) (declaration "int iStack_37c;" primitive_type identifier ;) (declaration "code *pcStack_378;" type_identifier (pointer_declarator "*pcStack_378" * identifier) ;) (declaration "code *pcStack_374;" type_identifier (pointer_declarator "*pcStack_374" * identifier) ;) (declaration "code *pcStack_370;" type_identifier (pointer_declarator "*pcStack_370" * identifier) ;) (declaration "code *pcStack_36c;" type_identifier (pointer_declarator "*pcStack_36c" * identifier) ;) (declaration "code *pcStack_368;" type_identifier (pointer_declarator "*pcStack_368" * identifier) ;) (declaration "code *pcStack_364;" type_identifier (pointer_declarator "*pcStack_364" * identifier) ;) (declaration "code *pcStack_360;" type_identifier (pointer_declarator "*pcStack_360" * identifier) ;) (declaration "code *pcStack_35c;" type_identifier (pointer_declarator "*pcStack_35c" * identifier) ;) (declaration "int iStack_358;" primitive_type identifier ;) (declaration "undefined4 uStack_354;" type_identifier identifier ;) (declaration "undefined4 uStack_340;" type_identifier identifier ;) (declaration "undefined4 uStack_33c;" type_identifier identifier ;) (declaration "undefined4 uStack_338;" type_identifier identifier ;) (declaration "code *pcStack_330;" type_identifier (pointer_declarator "*pcStack_330" * identifier) ;) (declaration "undefined4 uStack_328;" type_identifier identifier ;) (declaration "undefined4 uStack_324;" type_identifier identifier ;) (declaration "undefined1 auStack_320 [24];" type_identifier (array_declarator "auStack_320 [24]" identifier [ number_literal ]) ;) (declaration "uint uStack_308;" type_identifier identifier ;) (declaration "int iStack_27c;" primitive_type identifier ;) (declaration "int iStack_278;" primitive_type identifier ;) (declaration "code *pcStack_274;" type_identifier (pointer_declarator "*pcStack_274" * identifier) ;) (declaration "code *pcStack_270;" type_identifier (pointer_declarator "*pcStack_270" * identifier) ;) (declaration "code *pcStack_26c;" type_identifier (pointer_declarator "*pcStack_26c" * identifier) ;) (declaration "code *pcStack_268;" type_identifier (pointer_declarator "*pcStack_268" * identifier) ;) (declaration "code *pcStack_264;" type_identifier (pointer_declarator "*pcStack_264" * identifier) ;) (declaration "code *pcStack_260;" type_identifier (pointer_declarator "*pcStack_260" * identifier) ;) (declaration "code *pcStack_25c;" type_identifier (pointer_declarator "*pcStack_25c" * identifier) ;) (declaration "code *pcStack_258;" type_identifier (pointer_declarator "*pcStack_258" * identifier) ;) (declaration "code *pcStack_254;" type_identifier (pointer_declarator "*pcStack_254" * identifier) ;) (declaration "code *pcStack_240;" type_identifier (pointer_declarator "*pcStack_240" * identifier) ;) (declaration "byte abStack_234 [256];" type_identifier (array_declarator "abStack_234 [256]" identifier [ number_literal ]) ;) (declaration "code *pcStack_134;" type_identifier (pointer_declarator "*pcStack_134" * identifier) ;) (declaration "code *pcStack_12c;" type_identifier (pointer_declarator "*pcStack_12c" * identifier) ;) (declaration "code *pcStack_128;" type_identifier (pointer_declarator "*pcStack_128" * identifier) ;) (declaration "code *pcStack_124;" type_identifier (pointer_declarator "*pcStack_124" * identifier) ;) (declaration "code *pcStack_120;" type_identifier (pointer_declarator "*pcStack_120" * identifier) ;) (declaration "code *pcStack_11c;" type_identifier (pointer_declarator "*pcStack_11c" * identifier) ;) (declaration "code **local_108;" type_identifier (pointer_declarator "**local_108" * (pointer_declarator "*local_108" * identifier)) ;) (declaration "code *local_100;" type_identifier (pointer_declarator "*local_100" * identifier) ;) (declaration "code *local_f8;" type_identifier (pointer_declarator "*local_f8" * identifier) ;) (declaration "code *local_f4;" type_identifier (pointer_declarator "*local_f4" * identifier) ;) (declaration "code *local_f0;" type_identifier (pointer_declarator "*local_f0" * identifier) ;) (declaration "code *local_ec;" type_identifier (pointer_declarator "*local_ec" * identifier) ;) (declaration "code *local_e8;" type_identifier (pointer_declarator "*local_e8" * identifier) ;) (declaration "code *local_e4;" type_identifier (pointer_declarator "*local_e4" * identifier) ;) (declaration "code *local_e0;" type_identifier (pointer_declarator "*local_e0" * identifier) ;) (declaration "undefined4 local_dc;" type_identifier identifier ;) (declaration "code *local_c8;" type_identifier (pointer_declarator "*local_c8" * identifier) ;) (declaration "code *local_bc;" type_identifier (pointer_declarator "*local_bc" * identifier) ;) (declaration "int local_b8;" primitive_type identifier ;) (declaration "undefined1 auStack_b4 [8];" type_identifier (array_declarator "auStack_b4 [8]" identifier [ number_literal ]) ;) (declaration "int local_ac;" primitive_type identifier ;) (declaration "char local_a0;" primitive_type identifier ;) (declaration "char local_9f;" primitive_type identifier ;) (declaration "code *local_94;" type_identifier (pointer_declarator "*local_94" * identifier) ;) (declaration "code *local_90;" type_identifier (pointer_declarator "*local_90" * identifier) ;) (declaration "code *local_8c;" type_identifier (pointer_declarator "*local_8c" * identifier) ;) (declaration "code *local_88;" type_identifier (pointer_declarator "*local_88" * identifier) ;) (declaration "code *local_84;" type_identifier (pointer_declarator "*local_84" * identifier) ;) (declaration "code *local_80;" type_identifier (pointer_declarator "*local_80" * identifier) ;) (declaration "code *local_7c;" type_identifier (pointer_declarator "*local_7c" * identifier) ;) (declaration "code *local_78;" type_identifier (pointer_declarator "*local_78" * identifier) ;) (declaration "code *local_74;" type_identifier (pointer_declarator "*local_74" * identifier) ;) (declaration "undefined1 local_4c [8];" type_identifier (array_declarator "local_4c [8]" identifier [ number_literal ]) ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "char local_37;" primitive_type identifier ;) (declaration "code *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (expression_statement "local_2c = *(code **)PTR___stack_chk_guard_0018fecc;" (assignment_expression "local_2c = *(code **)PTR___stack_chk_guard_0018fecc" identifier = (pointer_expression "*(code **)PTR___stack_chk_guard_0018fecc" * (cast_expression "(code **)PTR___stack_chk_guard_0018fecc" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pcVar22 = param_1;" (assignment_expression "pcVar22 = param_1" identifier = identifier) ;) (expression_statement "pcVar5 = param_2;" (assignment_expression "pcVar5 = param_2" identifier = identifier) ;) (expression_statement "pcVar3 = param_3;" (assignment_expression "pcVar3 = param_3" identifier = identifier) ;) (if_statement "if (0 < (int)param_2) {\n    unaff_s0 = param_2;\n    unaff_s7 = param_3;\n    if (((uint)param_2 & 1) == 0) {\n      pcVar5 = (code *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824);\n      FUN_000c4464();\n    }\n    else {\n      pcVar3 = (code *)(*(code *)PTR_sqlite3_value_text_0018f97c)(*(int *)param_3);\n      pcVar22 = (code *)local_4c;\n      pcVar5 = param_1;\n      iVar4 = FUN_000b4580();\n      puVar24 = PTR_sqlite3_value_text_0018f97c;\n      unaff_s6 = param_2;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(param_2 < (code *)0x2);\n        unaff_s1 = param_3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s4 = (code *)local_4c;\n          unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);\n          do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);\n        }\n        if ((*(byte *)(local_44 + 1) & 8) == 0) {\n          pcVar5 = param_1;\n          pcVar3 = param_3;\n          FUN_000b63c4();\n        }\n        else {\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }\nLAB_000c4674:\n        pcVar22 = (code *)local_4c;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = param_3;\n      }\n    }\n  }" if (parenthesized_expression "(0 < (int)param_2)" ( (binary_expression "0 < (int)param_2" number_literal < (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    unaff_s0 = param_2;\n    unaff_s7 = param_3;\n    if (((uint)param_2 & 1) == 0) {\n      pcVar5 = (code *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824);\n      FUN_000c4464();\n    }\n    else {\n      pcVar3 = (code *)(*(code *)PTR_sqlite3_value_text_0018f97c)(*(int *)param_3);\n      pcVar22 = (code *)local_4c;\n      pcVar5 = param_1;\n      iVar4 = FUN_000b4580();\n      puVar24 = PTR_sqlite3_value_text_0018f97c;\n      unaff_s6 = param_2;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(param_2 < (code *)0x2);\n        unaff_s1 = param_3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s4 = (code *)local_4c;\n          unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);\n          do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);\n        }\n        if ((*(byte *)(local_44 + 1) & 8) == 0) {\n          pcVar5 = param_1;\n          pcVar3 = param_3;\n          FUN_000b63c4();\n        }\n        else {\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }\nLAB_000c4674:\n        pcVar22 = (code *)local_4c;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = param_3;\n      }\n    }\n  }" { (expression_statement "unaff_s0 = param_2;" (assignment_expression "unaff_s0 = param_2" identifier = identifier) ;) (expression_statement "unaff_s7 = param_3;" (assignment_expression "unaff_s7 = param_3" identifier = identifier) ;) (if_statement "if (((uint)param_2 & 1) == 0) {\n      pcVar5 = (code *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824);\n      FUN_000c4464();\n    }\n    else {\n      pcVar3 = (code *)(*(code *)PTR_sqlite3_value_text_0018f97c)(*(int *)param_3);\n      pcVar22 = (code *)local_4c;\n      pcVar5 = param_1;\n      iVar4 = FUN_000b4580();\n      puVar24 = PTR_sqlite3_value_text_0018f97c;\n      unaff_s6 = param_2;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(param_2 < (code *)0x2);\n        unaff_s1 = param_3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s4 = (code *)local_4c;\n          unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);\n          do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);\n        }\n        if ((*(byte *)(local_44 + 1) & 8) == 0) {\n          pcVar5 = param_1;\n          pcVar3 = param_3;\n          FUN_000b63c4();\n        }\n        else {\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }\nLAB_000c4674:\n        pcVar22 = (code *)local_4c;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = param_3;\n      }\n    }" if (parenthesized_expression "(((uint)param_2 & 1) == 0)" ( (binary_expression "((uint)param_2 & 1) == 0" (parenthesized_expression "((uint)param_2 & 1)" ( (binary_expression "(uint)param_2 & 1" (cast_expression "(uint)param_2" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      pcVar5 = (code *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824);\n      FUN_000c4464();\n    }" { (expression_statement "pcVar5 = (code *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824);" (assignment_expression "pcVar5 = (code *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824)" identifier = (cast_expression "(code *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824)" ( (binary_expression "PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824" identifier + number_literal) )))) ;) (expression_statement "FUN_000c4464();" (call_expression "FUN_000c4464()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n      pcVar3 = (code *)(*(code *)PTR_sqlite3_value_text_0018f97c)(*(int *)param_3);\n      pcVar22 = (code *)local_4c;\n      pcVar5 = param_1;\n      iVar4 = FUN_000b4580();\n      puVar24 = PTR_sqlite3_value_text_0018f97c;\n      unaff_s6 = param_2;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(param_2 < (code *)0x2);\n        unaff_s1 = param_3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s4 = (code *)local_4c;\n          unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);\n          do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);\n        }\n        if ((*(byte *)(local_44 + 1) & 8) == 0) {\n          pcVar5 = param_1;\n          pcVar3 = param_3;\n          FUN_000b63c4();\n        }\n        else {\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }\nLAB_000c4674:\n        pcVar22 = (code *)local_4c;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = param_3;\n      }\n    }" else (compound_statement "{\n      pcVar3 = (code *)(*(code *)PTR_sqlite3_value_text_0018f97c)(*(int *)param_3);\n      pcVar22 = (code *)local_4c;\n      pcVar5 = param_1;\n      iVar4 = FUN_000b4580();\n      puVar24 = PTR_sqlite3_value_text_0018f97c;\n      unaff_s6 = param_2;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(param_2 < (code *)0x2);\n        unaff_s1 = param_3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s4 = (code *)local_4c;\n          unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);\n          do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);\n        }\n        if ((*(byte *)(local_44 + 1) & 8) == 0) {\n          pcVar5 = param_1;\n          pcVar3 = param_3;\n          FUN_000b63c4();\n        }\n        else {\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }\nLAB_000c4674:\n        pcVar22 = (code *)local_4c;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = param_3;\n      }\n    }" { (expression_statement "pcVar3 = (code *)(*(code *)PTR_sqlite3_value_text_0018f97c)(*(int *)param_3);" (assignment_expression "pcVar3 = (code *)(*(code *)PTR_sqlite3_value_text_0018f97c)(*(int *)param_3)" identifier = (cast_expression "(code *)(*(code *)PTR_sqlite3_value_text_0018f97c)(*(int *)param_3)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sqlite3_value_text_0018f97c)(*(int *)param_3)" (parenthesized_expression "(*(code *)PTR_sqlite3_value_text_0018f97c)" ( (pointer_expression "*(code *)PTR_sqlite3_value_text_0018f97c" * (cast_expression "(code *)PTR_sqlite3_value_text_0018f97c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(int *)param_3)" ( (pointer_expression "*(int *)param_3" * (cast_expression "(int *)param_3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ))))) ;) (expression_statement "pcVar22 = (code *)local_4c;" (assignment_expression "pcVar22 = (code *)local_4c" identifier = (cast_expression "(code *)local_4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcVar5 = param_1;" (assignment_expression "pcVar5 = param_1" identifier = identifier) ;) (expression_statement "iVar4 = FUN_000b4580();" (assignment_expression "iVar4 = FUN_000b4580()" identifier = (call_expression "FUN_000b4580()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar24 = PTR_sqlite3_value_text_0018f97c;" (assignment_expression "puVar24 = PTR_sqlite3_value_text_0018f97c" identifier = identifier) ;) (expression_statement "unaff_s6 = param_2;" (assignment_expression "unaff_s6 = param_2" identifier = identifier) ;) (if_statement "if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(param_2 < (code *)0x2);\n        unaff_s1 = param_3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s4 = (code *)local_4c;\n          unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);\n          do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);\n        }\n        if ((*(byte *)(local_44 + 1) & 8) == 0) {\n          pcVar5 = param_1;\n          pcVar3 = param_3;\n          FUN_000b63c4();\n        }\n        else {\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }\nLAB_000c4674:\n        pcVar22 = (code *)local_4c;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = param_3;\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        unaff_s0 = (code *)(uint)(param_2 < (code *)0x2);\n        unaff_s1 = param_3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s4 = (code *)local_4c;\n          unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);\n          do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);\n        }\n        if ((*(byte *)(local_44 + 1) & 8) == 0) {\n          pcVar5 = param_1;\n          pcVar3 = param_3;\n          FUN_000b63c4();\n        }\n        else {\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }\nLAB_000c4674:\n        pcVar22 = (code *)local_4c;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = param_3;\n      }" { (expression_statement "unaff_s0 = (code *)(uint)(param_2 < (code *)0x2);" (assignment_expression "unaff_s0 = (code *)(uint)(param_2 < (code *)0x2)" identifier = (cast_expression "(code *)(uint)(param_2 < (code *)0x2)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(param_2 < (code *)0x2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_2 < (code *)0x2)" ( (binary_expression "param_2 < (code *)0x2" identifier < (cast_expression "(code *)0x2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))))) ;) (expression_statement "unaff_s1 = param_3 + 4;" (assignment_expression "unaff_s1 = param_3 + 4" identifier = (binary_expression "param_3 + 4" identifier + number_literal)) ;) (if_statement "if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s4 = (code *)local_4c;\n          unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);\n          do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);\n        }" if (parenthesized_expression "(unaff_s0 == (code *)0x0)" ( (binary_expression "unaff_s0 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          unaff_s0 = (code *)0x1;\n          unaff_s4 = (code *)local_4c;\n          unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);\n          do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);\n        }" { (expression_statement "unaff_s0 = (code *)0x1;" (assignment_expression "unaff_s0 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s4 = (code *)local_4c;" (assignment_expression "unaff_s4 = (code *)local_4c" identifier = (cast_expression "(code *)local_4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);" (assignment_expression "unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48)" identifier = (cast_expression "(code *)(PTR_DAT_0018fbc8 + 0x3c48)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0018fbc8 + 0x3c48)" ( (binary_expression "PTR_DAT_0018fbc8 + 0x3c48" identifier + number_literal) )))) ;) (do_statement "do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);" do (compound_statement "{\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          }" { (expression_statement "pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);" (assignment_expression "pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1)" identifier = (cast_expression "(code *)(*(code *)puVar24)(*(int *)unaff_s1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar24)(*(int *)unaff_s1)" (parenthesized_expression "(*(code *)puVar24)" ( (pointer_expression "*(code *)puVar24" * (cast_expression "(code *)puVar24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(int *)unaff_s1)" ( (pointer_expression "*(int *)unaff_s1" * (cast_expression "(int *)unaff_s1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ))))) ;) (expression_statement "pcVar3 = (code *)0x0;" (assignment_expression "pcVar3 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "param_4 = param_1;" (assignment_expression "param_4 = param_1" identifier = identifier) ;) (expression_statement "iVar4 = FUN_000c3c48(unaff_s4);" (assignment_expression "iVar4 = FUN_000c3c48(unaff_s4)" identifier = (call_expression "FUN_000c3c48(unaff_s4)" identifier (argument_list "(unaff_s4)" ( identifier )))) ;) (expression_statement "unaff_s5 = (code *)puVar24;" (assignment_expression "unaff_s5 = (code *)puVar24" identifier = (cast_expression "(code *)puVar24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (local_37 != '\0') goto LAB_000c4674;" if (parenthesized_expression "(local_37 != '\0')" ( (binary_expression "local_37 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000c4674;" goto statement_identifier ;)) (if_statement "if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }" { (expression_statement "*(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;" (assignment_expression "*(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8" (pointer_expression "*(byte *)(iVar4 + 1)" * (cast_expression "(byte *)(iVar4 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 1)" ( (binary_expression "iVar4 + 1" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar4 + 1) | 8" (pointer_expression "*(byte *)(iVar4 + 1)" * (cast_expression "(byte *)(iVar4 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 1)" ( (binary_expression "iVar4 + 1" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "*(code **)(iVar4 + 8) = unaff_s0 + 1;" (assignment_expression "*(code **)(iVar4 + 8) = unaff_s0 + 1" (pointer_expression "*(code **)(iVar4 + 8)" * (cast_expression "(code **)(iVar4 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) )))) = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) })) (expression_statement "unaff_s0 = unaff_s0 + 2;" (assignment_expression "unaff_s0 = unaff_s0 + 2" identifier = (binary_expression "unaff_s0 + 2" identifier + number_literal)) ;) (expression_statement "unaff_s1 = unaff_s1 + 8;" (assignment_expression "unaff_s1 = unaff_s1 + 8" identifier = (binary_expression "unaff_s1 + 8" identifier + number_literal)) ;) }) while (parenthesized_expression "(unaff_s0 < param_2)" ( (binary_expression "unaff_s0 < param_2" identifier < identifier) )) ;) })) (if_statement "if ((*(byte *)(local_44 + 1) & 8) == 0) {\n          pcVar5 = param_1;\n          pcVar3 = param_3;\n          FUN_000b63c4();\n        }\n        else {\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }" if (parenthesized_expression "((*(byte *)(local_44 + 1) & 8) == 0)" ( (binary_expression "(*(byte *)(local_44 + 1) & 8) == 0" (parenthesized_expression "(*(byte *)(local_44 + 1) & 8)" ( (binary_expression "*(byte *)(local_44 + 1) & 8" (pointer_expression "*(byte *)(local_44 + 1)" * (cast_expression "(byte *)(local_44 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_44 + 1)" ( (binary_expression "local_44 + 1" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          pcVar5 = param_1;\n          pcVar3 = param_3;\n          FUN_000b63c4();\n        }" { (expression_statement "pcVar5 = param_1;" (assignment_expression "pcVar5 = param_1" identifier = identifier) ;) (expression_statement "pcVar3 = param_3;" (assignment_expression "pcVar3 = param_3" identifier = identifier) ;) (expression_statement "FUN_000b63c4();" (call_expression "FUN_000b63c4()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }" else (compound_statement "{\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }" { (expression_statement "pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;" (assignment_expression "pcVar22 = param_3 + *(int *)(local_44 + 8) * 4" identifier = (binary_expression "param_3 + *(int *)(local_44 + 8) * 4" identifier + (binary_expression "*(int *)(local_44 + 8) * 4" (pointer_expression "*(int *)(local_44 + 8)" * (cast_expression "(int *)(local_44 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_44 + 8)" ( (binary_expression "local_44 + 8" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "pcVar5 = *(code **)pcVar22;" (assignment_expression "pcVar5 = *(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 "(*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);" (call_expression "(*(code *)PTR_sqlite3_result_value_0018fa38)(param_1)" (parenthesized_expression "(*(code *)PTR_sqlite3_result_value_0018fa38)" ( (pointer_expression "*(code *)PTR_sqlite3_result_value_0018fa38" * (cast_expression "(code *)PTR_sqlite3_result_value_0018fa38" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "pcVar3 = param_3;" (assignment_expression "pcVar3 = param_3" identifier = identifier) ;) (expression_statement "param_3 = pcVar22;" (assignment_expression "param_3 = pcVar22" identifier = identifier) ;) }))) (labeled_statement "LAB_000c4674:\n        pcVar22 = (code *)local_4c;" statement_identifier : (expression_statement "pcVar22 = (code *)local_4c;" (assignment_expression "pcVar22 = (code *)local_4c" identifier = (cast_expression "(code *)local_4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "(*(code *)(PTR_LAB_0018fc04 + 0x3c38))();" (call_expression "(*(code *)(PTR_LAB_0018fc04 + 0x3c38))()" (parenthesized_expression "(*(code *)(PTR_LAB_0018fc04 + 0x3c38))" ( (pointer_expression "*(code *)(PTR_LAB_0018fc04 + 0x3c38)" * (cast_expression "(code *)(PTR_LAB_0018fc04 + 0x3c38)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0018fc04 + 0x3c38)" ( (binary_expression "PTR_LAB_0018fc04 + 0x3c38" identifier + number_literal) )))) )) (argument_list "()" ( ))) ;) (expression_statement "unaff_s7 = param_3;" (assignment_expression "unaff_s7 = param_3" identifier = identifier) ;) })) }))) })) (if_statement "if (local_2c == *(code **)PTR___stack_chk_guard_0018fecc) {\n    return *(code **)PTR___stack_chk_guard_0018fecc;\n  }" if (parenthesized_expression "(local_2c == *(code **)PTR___stack_chk_guard_0018fecc)" ( (binary_expression "local_2c == *(code **)PTR___stack_chk_guard_0018fecc" identifier == (pointer_expression "*(code **)PTR___stack_chk_guard_0018fecc" * (cast_expression "(code **)PTR___stack_chk_guard_0018fecc" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return *(code **)PTR___stack_chk_guard_0018fecc;\n  }" { (return_statement "return *(code **)PTR___stack_chk_guard_0018fecc;" return (pointer_expression "*(code **)PTR___stack_chk_guard_0018fecc" * (cast_expression "(code **)PTR___stack_chk_guard_0018fecc" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) })) (expression_statement "puVar24 = PTR___stack_chk_fail_0018fea0;" (assignment_expression "puVar24 = PTR___stack_chk_fail_0018fea0" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0018fea0)();" (call_expression "(*(code *)PTR___stack_chk_fail_0018fea0)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0018fea0)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0018fea0" * (cast_expression "(code *)PTR___stack_chk_fail_0018fea0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "local_74 = unaff_s7;" (assignment_expression "local_74 = unaff_s7" identifier = identifier) ;) (expression_statement "local_78 = unaff_s6;" (assignment_expression "local_78 = unaff_s6" identifier = identifier) ;) (expression_statement "local_7c = unaff_s5;" (assignment_expression "local_7c = unaff_s5" identifier = identifier) ;) (expression_statement "local_80 = unaff_s4;" (assignment_expression "local_80 = unaff_s4" identifier = identifier) ;) (expression_statement "local_84 = unaff_s3;" (assignment_expression "local_84 = unaff_s3" identifier = identifier) ;) (expression_statement "local_88 = param_1;" (assignment_expression "local_88 = param_1" identifier = identifier) ;) (expression_statement "local_8c = unaff_s1;" (assignment_expression "local_8c = unaff_s1" identifier = identifier) ;) (expression_statement "local_90 = unaff_s0;" (assignment_expression "local_90 = unaff_s0" identifier = identifier) ;) (expression_statement "local_c8 = (code *)(puVar24 + 0xd3230);" (assignment_expression "local_c8 = (code *)(puVar24 + 0xd3230)" identifier = (cast_expression "(code *)(puVar24 + 0xd3230)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0xd3230)" ( (binary_expression "puVar24 + 0xd3230" identifier + number_literal) )))) ;) (expression_statement "local_bc = pcVar3;" (assignment_expression "local_bc = pcVar3" identifier = identifier) ;) (expression_statement "pcVar3 = local_bc;" (assignment_expression "pcVar3 = local_bc" identifier = identifier) ;) (expression_statement "local_94 = (code *)**(int **)(puVar24 + 0xcb7dc);" (assignment_expression "local_94 = (code *)**(int **)(puVar24 + 0xcb7dc)" identifier = (cast_expression "(code *)**(int **)(puVar24 + 0xcb7dc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(puVar24 + 0xcb7dc)" * (pointer_expression "*(int **)(puVar24 + 0xcb7dc)" * (cast_expression "(int **)(puVar24 + 0xcb7dc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0xcb7dc)" ( (binary_expression "puVar24 + 0xcb7dc" identifier + number_literal) ))))))) ;) (expression_statement "pcVar31 = pcVar22;" (assignment_expression "pcVar31 = pcVar22" identifier = identifier) ;) (expression_statement "pcVar13 = pcVar5;" (assignment_expression "pcVar13 = pcVar5" identifier = identifier) ;) (expression_statement "pcVar6 = pcVar3;" (assignment_expression "pcVar6 = pcVar3" identifier = identifier) ;) (if_statement "if (0 < (int)pcVar5) {\n    unaff_s3 = (code *)**(undefined4 **)(*(int *)(pcVar22 + 4) + 8);\n    unaff_s0 = pcVar5;\n    if (((uint)pcVar5 & 1) == 0) {\n      if (unaff_s3 == (code *)0x0) {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb268) + 0x4920);\n      }\n      else {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8);\n      }\n      FUN_000c4464();\n      pcVar6 = pcVar3;\n    }\n    else {\n      pcVar6 = (code *)(**(code **)(puVar24 + 0xcb28c))(*(int *)pcVar3);\n      pcVar31 = (code *)auStack_b4;\n      pcVar13 = pcVar22;\n      iVar4 = FUN_000b4580();\n      unaff_s1 = pcVar3;\n      unaff_s7 = pcVar5;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(pcVar5 < (code *)0x2);\n        unaff_s1 = pcVar3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s6 = *(code **)(local_c8 + -0x7fa4);\n          unaff_s5 = (code *)&local_b8;\n          unaff_s4 = (code *)auStack_b4;\n          unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);\n          do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);\n        }\n        pcVar6 = local_bc;\n        if ((*(byte *)(local_ac + 1) & 8) == 0) {\n          pcVar13 = pcVar22;\n          FUN_000b63c4();\n        }\n        else {\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }\nLAB_000c484c:\n        pcVar31 = (code *)auStack_b4;\n        (*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))();\n      }\n    }\n  }" if (parenthesized_expression "(0 < (int)pcVar5)" ( (binary_expression "0 < (int)pcVar5" number_literal < (cast_expression "(int)pcVar5" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    unaff_s3 = (code *)**(undefined4 **)(*(int *)(pcVar22 + 4) + 8);\n    unaff_s0 = pcVar5;\n    if (((uint)pcVar5 & 1) == 0) {\n      if (unaff_s3 == (code *)0x0) {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb268) + 0x4920);\n      }\n      else {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8);\n      }\n      FUN_000c4464();\n      pcVar6 = pcVar3;\n    }\n    else {\n      pcVar6 = (code *)(**(code **)(puVar24 + 0xcb28c))(*(int *)pcVar3);\n      pcVar31 = (code *)auStack_b4;\n      pcVar13 = pcVar22;\n      iVar4 = FUN_000b4580();\n      unaff_s1 = pcVar3;\n      unaff_s7 = pcVar5;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(pcVar5 < (code *)0x2);\n        unaff_s1 = pcVar3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s6 = *(code **)(local_c8 + -0x7fa4);\n          unaff_s5 = (code *)&local_b8;\n          unaff_s4 = (code *)auStack_b4;\n          unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);\n          do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);\n        }\n        pcVar6 = local_bc;\n        if ((*(byte *)(local_ac + 1) & 8) == 0) {\n          pcVar13 = pcVar22;\n          FUN_000b63c4();\n        }\n        else {\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }\nLAB_000c484c:\n        pcVar31 = (code *)auStack_b4;\n        (*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))();\n      }\n    }\n  }" { (expression_statement "unaff_s3 = (code *)**(undefined4 **)(*(int *)(pcVar22 + 4) + 8);" (assignment_expression "unaff_s3 = (code *)**(undefined4 **)(*(int *)(pcVar22 + 4) + 8)" identifier = (cast_expression "(code *)**(undefined4 **)(*(int *)(pcVar22 + 4) + 8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(*(int *)(pcVar22 + 4) + 8)" * (pointer_expression "*(undefined4 **)(*(int *)(pcVar22 + 4) + 8)" * (cast_expression "(undefined4 **)(*(int *)(pcVar22 + 4) + 8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar22 + 4) + 8)" ( (binary_expression "*(int *)(pcVar22 + 4) + 8" (pointer_expression "*(int *)(pcVar22 + 4)" * (cast_expression "(int *)(pcVar22 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 4)" ( (binary_expression "pcVar22 + 4" identifier + number_literal) )))) + number_literal) ))))))) ;) (expression_statement "unaff_s0 = pcVar5;" (assignment_expression "unaff_s0 = pcVar5" identifier = identifier) ;) (if_statement "if (((uint)pcVar5 & 1) == 0) {\n      if (unaff_s3 == (code *)0x0) {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb268) + 0x4920);\n      }\n      else {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8);\n      }\n      FUN_000c4464();\n      pcVar6 = pcVar3;\n    }\n    else {\n      pcVar6 = (code *)(**(code **)(puVar24 + 0xcb28c))(*(int *)pcVar3);\n      pcVar31 = (code *)auStack_b4;\n      pcVar13 = pcVar22;\n      iVar4 = FUN_000b4580();\n      unaff_s1 = pcVar3;\n      unaff_s7 = pcVar5;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(pcVar5 < (code *)0x2);\n        unaff_s1 = pcVar3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s6 = *(code **)(local_c8 + -0x7fa4);\n          unaff_s5 = (code *)&local_b8;\n          unaff_s4 = (code *)auStack_b4;\n          unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);\n          do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);\n        }\n        pcVar6 = local_bc;\n        if ((*(byte *)(local_ac + 1) & 8) == 0) {\n          pcVar13 = pcVar22;\n          FUN_000b63c4();\n        }\n        else {\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }\nLAB_000c484c:\n        pcVar31 = (code *)auStack_b4;\n        (*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))();\n      }\n    }" if (parenthesized_expression "(((uint)pcVar5 & 1) == 0)" ( (binary_expression "((uint)pcVar5 & 1) == 0" (parenthesized_expression "((uint)pcVar5 & 1)" ( (binary_expression "(uint)pcVar5 & 1" (cast_expression "(uint)pcVar5" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      if (unaff_s3 == (code *)0x0) {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb268) + 0x4920);\n      }\n      else {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8);\n      }\n      FUN_000c4464();\n      pcVar6 = pcVar3;\n    }" { (if_statement "if (unaff_s3 == (code *)0x0) {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb268) + 0x4920);\n      }\n      else {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8);\n      }" if (parenthesized_expression "(unaff_s3 == (code *)0x0)" ( (binary_expression "unaff_s3 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb268) + 0x4920);\n      }" { (expression_statement "pcVar13 = (code *)(*(int *)(puVar24 + 0xcb268) + 0x4920);" (assignment_expression "pcVar13 = (code *)(*(int *)(puVar24 + 0xcb268) + 0x4920)" identifier = (cast_expression "(code *)(*(int *)(puVar24 + 0xcb268) + 0x4920)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar24 + 0xcb268) + 0x4920)" ( (binary_expression "*(int *)(puVar24 + 0xcb268) + 0x4920" (pointer_expression "*(int *)(puVar24 + 0xcb268)" * (cast_expression "(int *)(puVar24 + 0xcb268)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0xcb268)" ( (binary_expression "puVar24 + 0xcb268" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8);\n      }" else (compound_statement "{\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8);\n      }" { (expression_statement "pcVar13 = (code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8);" (assignment_expression "pcVar13 = (code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8)" identifier = (cast_expression "(code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar24 + 0xcb26c) + 0x6e8)" ( (binary_expression "*(int *)(puVar24 + 0xcb26c) + 0x6e8" (pointer_expression "*(int *)(puVar24 + 0xcb26c)" * (cast_expression "(int *)(puVar24 + 0xcb26c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0xcb26c)" ( (binary_expression "puVar24 + 0xcb26c" identifier + number_literal) )))) + number_literal) )))) ;) }))) (expression_statement "FUN_000c4464();" (call_expression "FUN_000c4464()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar6 = pcVar3;" (assignment_expression "pcVar6 = pcVar3" identifier = identifier) ;) }) (else_clause "else {\n      pcVar6 = (code *)(**(code **)(puVar24 + 0xcb28c))(*(int *)pcVar3);\n      pcVar31 = (code *)auStack_b4;\n      pcVar13 = pcVar22;\n      iVar4 = FUN_000b4580();\n      unaff_s1 = pcVar3;\n      unaff_s7 = pcVar5;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(pcVar5 < (code *)0x2);\n        unaff_s1 = pcVar3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s6 = *(code **)(local_c8 + -0x7fa4);\n          unaff_s5 = (code *)&local_b8;\n          unaff_s4 = (code *)auStack_b4;\n          unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);\n          do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);\n        }\n        pcVar6 = local_bc;\n        if ((*(byte *)(local_ac + 1) & 8) == 0) {\n          pcVar13 = pcVar22;\n          FUN_000b63c4();\n        }\n        else {\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }\nLAB_000c484c:\n        pcVar31 = (code *)auStack_b4;\n        (*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))();\n      }\n    }" else (compound_statement "{\n      pcVar6 = (code *)(**(code **)(puVar24 + 0xcb28c))(*(int *)pcVar3);\n      pcVar31 = (code *)auStack_b4;\n      pcVar13 = pcVar22;\n      iVar4 = FUN_000b4580();\n      unaff_s1 = pcVar3;\n      unaff_s7 = pcVar5;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(pcVar5 < (code *)0x2);\n        unaff_s1 = pcVar3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s6 = *(code **)(local_c8 + -0x7fa4);\n          unaff_s5 = (code *)&local_b8;\n          unaff_s4 = (code *)auStack_b4;\n          unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);\n          do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);\n        }\n        pcVar6 = local_bc;\n        if ((*(byte *)(local_ac + 1) & 8) == 0) {\n          pcVar13 = pcVar22;\n          FUN_000b63c4();\n        }\n        else {\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }\nLAB_000c484c:\n        pcVar31 = (code *)auStack_b4;\n        (*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))();\n      }\n    }" { (expression_statement "pcVar6 = (code *)(**(code **)(puVar24 + 0xcb28c))(*(int *)pcVar3);" (assignment_expression "pcVar6 = (code *)(**(code **)(puVar24 + 0xcb28c))(*(int *)pcVar3)" identifier = (cast_expression "(code *)(**(code **)(puVar24 + 0xcb28c))(*(int *)pcVar3)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar24 + 0xcb28c))(*(int *)pcVar3)" (parenthesized_expression "(**(code **)(puVar24 + 0xcb28c))" ( (pointer_expression "**(code **)(puVar24 + 0xcb28c)" * (pointer_expression "*(code **)(puVar24 + 0xcb28c)" * (cast_expression "(code **)(puVar24 + 0xcb28c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0xcb28c)" ( (binary_expression "puVar24 + 0xcb28c" identifier + number_literal) ))))) )) (argument_list "(*(int *)pcVar3)" ( (pointer_expression "*(int *)pcVar3" * (cast_expression "(int *)pcVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ))))) ;) (expression_statement "pcVar31 = (code *)auStack_b4;" (assignment_expression "pcVar31 = (code *)auStack_b4" identifier = (cast_expression "(code *)auStack_b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcVar13 = pcVar22;" (assignment_expression "pcVar13 = pcVar22" identifier = identifier) ;) (expression_statement "iVar4 = FUN_000b4580();" (assignment_expression "iVar4 = FUN_000b4580()" identifier = (call_expression "FUN_000b4580()" identifier (argument_list "()" ( )))) ;) (expression_statement "unaff_s1 = pcVar3;" (assignment_expression "unaff_s1 = pcVar3" identifier = identifier) ;) (expression_statement "unaff_s7 = pcVar5;" (assignment_expression "unaff_s7 = pcVar5" identifier = identifier) ;) (if_statement "if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(pcVar5 < (code *)0x2);\n        unaff_s1 = pcVar3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s6 = *(code **)(local_c8 + -0x7fa4);\n          unaff_s5 = (code *)&local_b8;\n          unaff_s4 = (code *)auStack_b4;\n          unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);\n          do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);\n        }\n        pcVar6 = local_bc;\n        if ((*(byte *)(local_ac + 1) & 8) == 0) {\n          pcVar13 = pcVar22;\n          FUN_000b63c4();\n        }\n        else {\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }\nLAB_000c484c:\n        pcVar31 = (code *)auStack_b4;\n        (*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))();\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        unaff_s0 = (code *)(uint)(pcVar5 < (code *)0x2);\n        unaff_s1 = pcVar3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s6 = *(code **)(local_c8 + -0x7fa4);\n          unaff_s5 = (code *)&local_b8;\n          unaff_s4 = (code *)auStack_b4;\n          unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);\n          do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);\n        }\n        pcVar6 = local_bc;\n        if ((*(byte *)(local_ac + 1) & 8) == 0) {\n          pcVar13 = pcVar22;\n          FUN_000b63c4();\n        }\n        else {\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }\nLAB_000c484c:\n        pcVar31 = (code *)auStack_b4;\n        (*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))();\n      }" { (expression_statement "unaff_s0 = (code *)(uint)(pcVar5 < (code *)0x2);" (assignment_expression "unaff_s0 = (code *)(uint)(pcVar5 < (code *)0x2)" identifier = (cast_expression "(code *)(uint)(pcVar5 < (code *)0x2)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(pcVar5 < (code *)0x2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar5 < (code *)0x2)" ( (binary_expression "pcVar5 < (code *)0x2" identifier < (cast_expression "(code *)0x2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))))) ;) (expression_statement "unaff_s1 = pcVar3 + 4;" (assignment_expression "unaff_s1 = pcVar3 + 4" identifier = (binary_expression "pcVar3 + 4" identifier + number_literal)) ;) (if_statement "if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s6 = *(code **)(local_c8 + -0x7fa4);\n          unaff_s5 = (code *)&local_b8;\n          unaff_s4 = (code *)auStack_b4;\n          unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);\n          do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);\n        }" if (parenthesized_expression "(unaff_s0 == (code *)0x0)" ( (binary_expression "unaff_s0 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          unaff_s0 = (code *)0x1;\n          unaff_s6 = *(code **)(local_c8 + -0x7fa4);\n          unaff_s5 = (code *)&local_b8;\n          unaff_s4 = (code *)auStack_b4;\n          unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);\n          do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);\n        }" { (expression_statement "unaff_s0 = (code *)0x1;" (assignment_expression "unaff_s0 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s6 = *(code **)(local_c8 + -0x7fa4);" (assignment_expression "unaff_s6 = *(code **)(local_c8 + -0x7fa4)" identifier = (pointer_expression "*(code **)(local_c8 + -0x7fa4)" * (cast_expression "(code **)(local_c8 + -0x7fa4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_c8 + -0x7fa4)" ( (binary_expression "local_c8 + -0x7fa4" identifier + number_literal) ))))) ;) (expression_statement "unaff_s5 = (code *)&local_b8;" (assignment_expression "unaff_s5 = (code *)&local_b8" identifier = (cast_expression "(code *)&local_b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_b8" & identifier))) ;) (expression_statement "unaff_s4 = (code *)auStack_b4;" (assignment_expression "unaff_s4 = (code *)auStack_b4" identifier = (cast_expression "(code *)auStack_b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);" (assignment_expression "unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48)" identifier = (cast_expression "(code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_c8 + -0x7d58) + 0x3c48)" ( (binary_expression "*(int *)(local_c8 + -0x7d58) + 0x3c48" (pointer_expression "*(int *)(local_c8 + -0x7d58)" * (cast_expression "(int *)(local_c8 + -0x7d58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_c8 + -0x7d58)" ( (binary_expression "local_c8 + -0x7d58" identifier + number_literal) )))) + number_literal) )))) ;) (do_statement "do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);" do (compound_statement "{\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          }" { (expression_statement "pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);" (assignment_expression "pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1)" identifier = (cast_expression "(code *)(*unaff_s6)(*(int *)unaff_s1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*unaff_s6)(*(int *)unaff_s1)" (parenthesized_expression "(*unaff_s6)" ( (pointer_expression "*unaff_s6" * identifier) )) (argument_list "(*(int *)unaff_s1)" ( (pointer_expression "*(int *)unaff_s1" * (cast_expression "(int *)unaff_s1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ))))) ;) (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (expression_statement "pcVar6 = unaff_s5;" (assignment_expression "pcVar6 = unaff_s5" identifier = identifier) ;) (expression_statement "param_4 = pcVar22;" (assignment_expression "param_4 = pcVar22" identifier = identifier) ;) (expression_statement "iVar4 = FUN_000c3c48(unaff_s4);" (assignment_expression "iVar4 = FUN_000c3c48(unaff_s4)" identifier = (call_expression "FUN_000c3c48(unaff_s4)" identifier (argument_list "(unaff_s4)" ( identifier )))) ;) (if_statement "if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }" if (parenthesized_expression "(local_a0 != '\0')" ( (binary_expression "local_a0 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }" { (expression_statement "(**(code **)(local_c8 + -0x7f44))(pcVar22);" (call_expression "(**(code **)(local_c8 + -0x7f44))(pcVar22)" (parenthesized_expression "(**(code **)(local_c8 + -0x7f44))" ( (pointer_expression "**(code **)(local_c8 + -0x7f44)" * (pointer_expression "*(code **)(local_c8 + -0x7f44)" * (cast_expression "(code **)(local_c8 + -0x7f44)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_c8 + -0x7f44)" ( (binary_expression "local_c8 + -0x7f44" identifier + number_literal) ))))) )) (argument_list "(pcVar22)" ( identifier ))) ;) (goto_statement "goto LAB_000c484c;" goto statement_identifier ;) })) (if_statement "if (local_9f != '\0') goto LAB_000c484c;" if (parenthesized_expression "(local_9f != '\0')" ( (binary_expression "local_9f != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000c484c;" goto statement_identifier ;)) (if_statement "if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }" if (parenthesized_expression "((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0))" ( (binary_expression "(iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)" (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) && (parenthesized_expression "(unaff_s3 != (code *)0x0 || local_b8 != 0)" ( (binary_expression "unaff_s3 != (code *)0x0 || local_b8 != 0" (binary_expression "unaff_s3 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (binary_expression "local_b8 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }" { (expression_statement "*(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;" (assignment_expression "*(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8" (pointer_expression "*(byte *)(iVar4 + 1)" * (cast_expression "(byte *)(iVar4 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 1)" ( (binary_expression "iVar4 + 1" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar4 + 1) | 8" (pointer_expression "*(byte *)(iVar4 + 1)" * (cast_expression "(byte *)(iVar4 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 1)" ( (binary_expression "iVar4 + 1" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "*(code **)(iVar4 + 8) = unaff_s0 + 1;" (assignment_expression "*(code **)(iVar4 + 8) = unaff_s0 + 1" (pointer_expression "*(code **)(iVar4 + 8)" * (cast_expression "(code **)(iVar4 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) )))) = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) })) (expression_statement "unaff_s0 = unaff_s0 + 2;" (assignment_expression "unaff_s0 = unaff_s0 + 2" identifier = (binary_expression "unaff_s0 + 2" identifier + number_literal)) ;) (expression_statement "unaff_s1 = unaff_s1 + 8;" (assignment_expression "unaff_s1 = unaff_s1 + 8" identifier = (binary_expression "unaff_s1 + 8" identifier + number_literal)) ;) }) while (parenthesized_expression "(unaff_s0 < pcVar5)" ( (binary_expression "unaff_s0 < pcVar5" identifier < identifier) )) ;) })) (expression_statement "pcVar6 = local_bc;" (assignment_expression "pcVar6 = local_bc" identifier = identifier) ;) (if_statement "if ((*(byte *)(local_ac + 1) & 8) == 0) {\n          pcVar13 = pcVar22;\n          FUN_000b63c4();\n        }\n        else {\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }" if (parenthesized_expression "((*(byte *)(local_ac + 1) & 8) == 0)" ( (binary_expression "(*(byte *)(local_ac + 1) & 8) == 0" (parenthesized_expression "(*(byte *)(local_ac + 1) & 8)" ( (binary_expression "*(byte *)(local_ac + 1) & 8" (pointer_expression "*(byte *)(local_ac + 1)" * (cast_expression "(byte *)(local_ac + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_ac + 1)" ( (binary_expression "local_ac + 1" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          pcVar13 = pcVar22;\n          FUN_000b63c4();\n        }" { (expression_statement "pcVar13 = pcVar22;" (assignment_expression "pcVar13 = pcVar22" identifier = identifier) ;) (expression_statement "FUN_000b63c4();" (call_expression "FUN_000b63c4()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }" else (compound_statement "{\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }" { (expression_statement "unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;" (assignment_expression "unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4" identifier = (binary_expression "local_bc + *(int *)(local_ac + 8) * 4" identifier + (binary_expression "*(int *)(local_ac + 8) * 4" (pointer_expression "*(int *)(local_ac + 8)" * (cast_expression "(int *)(local_ac + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_ac + 8)" ( (binary_expression "local_ac + 8" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "pcVar13 = *(code **)unaff_s8;" (assignment_expression "pcVar13 = *(code **)unaff_s8" identifier = (pointer_expression "*(code **)unaff_s8" * (cast_expression "(code **)unaff_s8" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "(**(code **)(local_c8 + -0x7ee8))(pcVar22);" (call_expression "(**(code **)(local_c8 + -0x7ee8))(pcVar22)" (parenthesized_expression "(**(code **)(local_c8 + -0x7ee8))" ( (pointer_expression "**(code **)(local_c8 + -0x7ee8)" * (pointer_expression "*(code **)(local_c8 + -0x7ee8)" * (cast_expression "(code **)(local_c8 + -0x7ee8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_c8 + -0x7ee8)" ( (binary_expression "local_c8 + -0x7ee8" identifier + number_literal) ))))) )) (argument_list "(pcVar22)" ( identifier ))) ;) }))) (labeled_statement "LAB_000c484c:\n        pcVar31 = (code *)auStack_b4;" statement_identifier : (expression_statement "pcVar31 = (code *)auStack_b4;" (assignment_expression "pcVar31 = (code *)auStack_b4" identifier = (cast_expression "(code *)auStack_b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "(*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))();" (call_expression "(*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))()" (parenthesized_expression "(*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))" ( (pointer_expression "*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38)" * (cast_expression "(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_c8 + -0x7d1c) + 0x3c38)" ( (binary_expression "*(int *)(local_c8 + -0x7d1c) + 0x3c38" (pointer_expression "*(int *)(local_c8 + -0x7d1c)" * (cast_expression "(int *)(local_c8 + -0x7d1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_c8 + -0x7d1c)" ( (binary_expression "local_c8 + -0x7d1c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) })) }))) })) (if_statement "if (local_94 == (code *)**(int **)(local_c8 + -0x7a54)) {\n    return (code *)**(int **)(local_c8 + -0x7a54);\n  }" if (parenthesized_expression "(local_94 == (code *)**(int **)(local_c8 + -0x7a54))" ( (binary_expression "local_94 == (code *)**(int **)(local_c8 + -0x7a54)" identifier == (cast_expression "(code *)**(int **)(local_c8 + -0x7a54)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(local_c8 + -0x7a54)" * (pointer_expression "*(int **)(local_c8 + -0x7a54)" * (cast_expression "(int **)(local_c8 + -0x7a54)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_c8 + -0x7a54)" ( (binary_expression "local_c8 + -0x7a54" identifier + number_literal) ))))))) )) (compound_statement "{\n    return (code *)**(int **)(local_c8 + -0x7a54);\n  }" { (return_statement "return (code *)**(int **)(local_c8 + -0x7a54);" return (cast_expression "(code *)**(int **)(local_c8 + -0x7a54)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(local_c8 + -0x7a54)" * (pointer_expression "*(int **)(local_c8 + -0x7a54)" * (cast_expression "(int **)(local_c8 + -0x7a54)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_c8 + -0x7a54)" ( (binary_expression "local_c8 + -0x7a54" identifier + number_literal) )))))) ;) })) (expression_statement "pcVar25 = *(code **)(local_c8 + -0x7a80);" (assignment_expression "pcVar25 = *(code **)(local_c8 + -0x7a80)" identifier = (pointer_expression "*(code **)(local_c8 + -0x7a80)" * (cast_expression "(code **)(local_c8 + -0x7a80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_c8 + -0x7a80)" ( (binary_expression "local_c8 + -0x7a80" identifier + number_literal) ))))) ;) (expression_statement "uVar29 = 0xc4960;" (assignment_expression "uVar29 = 0xc4960" identifier = number_literal) ;) (expression_statement "(*pcVar25)();" (call_expression "(*pcVar25)()" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar5 = local_c8;" (assignment_expression "pcVar5 = local_c8" identifier = identifier) ;) (expression_statement "local_100 = pcVar25 + 0xd2fc0;" (assignment_expression "local_100 = pcVar25 + 0xd2fc0" identifier = (binary_expression "pcVar25 + 0xd2fc0" identifier + number_literal)) ;) (expression_statement "local_f4 = (code *)**(undefined4 **)(pcVar25 + 0xcb56c);" (assignment_expression "local_f4 = (code *)**(undefined4 **)(pcVar25 + 0xcb56c)" identifier = (cast_expression "(code *)**(undefined4 **)(pcVar25 + 0xcb56c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar25 + 0xcb56c)" * (pointer_expression "*(undefined4 **)(pcVar25 + 0xcb56c)" * (cast_expression "(undefined4 **)(pcVar25 + 0xcb56c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xcb56c)" ( (binary_expression "pcVar25 + 0xcb56c" identifier + number_literal) ))))))) ;) (expression_statement "pcVar3 = pcVar13;" (assignment_expression "pcVar3 = pcVar13" identifier = identifier) ;) (expression_statement "local_f0 = unaff_s0;" (assignment_expression "local_f0 = unaff_s0" identifier = identifier) ;) (expression_statement "local_ec = unaff_s1;" (assignment_expression "local_ec = unaff_s1" identifier = identifier) ;) (expression_statement "local_e8 = pcVar22;" (assignment_expression "local_e8 = pcVar22" identifier = identifier) ;) (expression_statement "local_e4 = unaff_s3;" (assignment_expression "local_e4 = unaff_s3" identifier = identifier) ;) (expression_statement "local_e0 = unaff_s4;" (assignment_expression "local_e0 = unaff_s4" identifier = identifier) ;) (expression_statement "local_dc = uVar29;" (assignment_expression "local_dc = uVar29" identifier = identifier) ;) (expression_statement "(*(code *)(*(int *)(pcVar25 + 0xcb2a4) + 0x3d3c))();" (call_expression "(*(code *)(*(int *)(pcVar25 + 0xcb2a4) + 0x3d3c))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar25 + 0xcb2a4) + 0x3d3c))" ( (pointer_expression "*(code *)(*(int *)(pcVar25 + 0xcb2a4) + 0x3d3c)" * (cast_expression "(code *)(*(int *)(pcVar25 + 0xcb2a4) + 0x3d3c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0xcb2a4) + 0x3d3c)" ( (binary_expression "*(int *)(pcVar25 + 0xcb2a4) + 0x3d3c" (pointer_expression "*(int *)(pcVar25 + 0xcb2a4)" * (cast_expression "(int *)(pcVar25 + 0xcb2a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xcb2a4)" ( (binary_expression "pcVar25 + 0xcb2a4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (if_statement "if (pcVar13 != (code *)0x0) {\n    unaff_s4 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)pcVar5);\n    if (unaff_s4 == (code *)0x0) {\n      pcVar13 = (code *)0x0;\n    }\n    else {\n      unaff_s3 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)pcVar5);\n      pcVar3 = unaff_s3 + 1;\n      iVar4 = (**(code **)(local_100 + -0x7f50))\n                        ((uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f));\n      *(int *)(pcVar31 + 0x18) = iVar4;\n      if (iVar4 == 0) {\n        pcVar13 = (code *)&DAT_00000007;\n      }\n      else {\n        (**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1);\n        unaff_s4 = pcVar31 + 0x20;\n        pcVar6 = *(code **)(pcVar31 + 0x18);\n        pcVar3 = (code *)0x0;\n        unaff_s3 = (code *)FUN_000b4580(unaff_s4);\n        if (unaff_s3 == (code *)0x0) {\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }\n      }\n    }\n  }" if (parenthesized_expression "(pcVar13 != (code *)0x0)" ( (binary_expression "pcVar13 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    unaff_s4 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)pcVar5);\n    if (unaff_s4 == (code *)0x0) {\n      pcVar13 = (code *)0x0;\n    }\n    else {\n      unaff_s3 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)pcVar5);\n      pcVar3 = unaff_s3 + 1;\n      iVar4 = (**(code **)(local_100 + -0x7f50))\n                        ((uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f));\n      *(int *)(pcVar31 + 0x18) = iVar4;\n      if (iVar4 == 0) {\n        pcVar13 = (code *)&DAT_00000007;\n      }\n      else {\n        (**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1);\n        unaff_s4 = pcVar31 + 0x20;\n        pcVar6 = *(code **)(pcVar31 + 0x18);\n        pcVar3 = (code *)0x0;\n        unaff_s3 = (code *)FUN_000b4580(unaff_s4);\n        if (unaff_s3 == (code *)0x0) {\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }\n      }\n    }\n  }" { (expression_statement "unaff_s4 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)pcVar5);" (assignment_expression "unaff_s4 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)pcVar5)" identifier = (cast_expression "(code *)(**(code **)(local_100 + -0x7fa4))(*(int *)pcVar5)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(local_100 + -0x7fa4))(*(int *)pcVar5)" (parenthesized_expression "(**(code **)(local_100 + -0x7fa4))" ( (pointer_expression "**(code **)(local_100 + -0x7fa4)" * (pointer_expression "*(code **)(local_100 + -0x7fa4)" * (cast_expression "(code **)(local_100 + -0x7fa4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_100 + -0x7fa4)" ( (binary_expression "local_100 + -0x7fa4" identifier + number_literal) ))))) )) (argument_list "(*(int *)pcVar5)" ( (pointer_expression "*(int *)pcVar5" * (cast_expression "(int *)pcVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ))))) ;) (if_statement "if (unaff_s4 == (code *)0x0) {\n      pcVar13 = (code *)0x0;\n    }\n    else {\n      unaff_s3 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)pcVar5);\n      pcVar3 = unaff_s3 + 1;\n      iVar4 = (**(code **)(local_100 + -0x7f50))\n                        ((uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f));\n      *(int *)(pcVar31 + 0x18) = iVar4;\n      if (iVar4 == 0) {\n        pcVar13 = (code *)&DAT_00000007;\n      }\n      else {\n        (**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1);\n        unaff_s4 = pcVar31 + 0x20;\n        pcVar6 = *(code **)(pcVar31 + 0x18);\n        pcVar3 = (code *)0x0;\n        unaff_s3 = (code *)FUN_000b4580(unaff_s4);\n        if (unaff_s3 == (code *)0x0) {\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }\n      }\n    }" if (parenthesized_expression "(unaff_s4 == (code *)0x0)" ( (binary_expression "unaff_s4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar13 = (code *)0x0;\n    }" { (expression_statement "pcVar13 = (code *)0x0;" (assignment_expression "pcVar13 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      unaff_s3 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)pcVar5);\n      pcVar3 = unaff_s3 + 1;\n      iVar4 = (**(code **)(local_100 + -0x7f50))\n                        ((uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f));\n      *(int *)(pcVar31 + 0x18) = iVar4;\n      if (iVar4 == 0) {\n        pcVar13 = (code *)&DAT_00000007;\n      }\n      else {\n        (**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1);\n        unaff_s4 = pcVar31 + 0x20;\n        pcVar6 = *(code **)(pcVar31 + 0x18);\n        pcVar3 = (code *)0x0;\n        unaff_s3 = (code *)FUN_000b4580(unaff_s4);\n        if (unaff_s3 == (code *)0x0) {\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }\n      }\n    }" else (compound_statement "{\n      unaff_s3 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)pcVar5);\n      pcVar3 = unaff_s3 + 1;\n      iVar4 = (**(code **)(local_100 + -0x7f50))\n                        ((uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f));\n      *(int *)(pcVar31 + 0x18) = iVar4;\n      if (iVar4 == 0) {\n        pcVar13 = (code *)&DAT_00000007;\n      }\n      else {\n        (**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1);\n        unaff_s4 = pcVar31 + 0x20;\n        pcVar6 = *(code **)(pcVar31 + 0x18);\n        pcVar3 = (code *)0x0;\n        unaff_s3 = (code *)FUN_000b4580(unaff_s4);\n        if (unaff_s3 == (code *)0x0) {\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }\n      }\n    }" { (expression_statement "unaff_s3 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)pcVar5);" (assignment_expression "unaff_s3 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)pcVar5)" identifier = (cast_expression "(code *)(**(code **)(local_100 + -0x7f60))(*(int *)pcVar5)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(local_100 + -0x7f60))(*(int *)pcVar5)" (parenthesized_expression "(**(code **)(local_100 + -0x7f60))" ( (pointer_expression "**(code **)(local_100 + -0x7f60)" * (pointer_expression "*(code **)(local_100 + -0x7f60)" * (cast_expression "(code **)(local_100 + -0x7f60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_100 + -0x7f60)" ( (binary_expression "local_100 + -0x7f60" identifier + number_literal) ))))) )) (argument_list "(*(int *)pcVar5)" ( (pointer_expression "*(int *)pcVar5" * (cast_expression "(int *)pcVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ))))) ;) (expression_statement "pcVar3 = unaff_s3 + 1;" (assignment_expression "pcVar3 = unaff_s3 + 1" identifier = (binary_expression "unaff_s3 + 1" identifier + number_literal)) ;) (expression_statement "iVar4 = (**(code **)(local_100 + -0x7f50))\n                        ((uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f));" (assignment_expression "iVar4 = (**(code **)(local_100 + -0x7f50))\n                        ((uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f))" identifier = (call_expression "(**(code **)(local_100 + -0x7f50))\n                        ((uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f))" (parenthesized_expression "(**(code **)(local_100 + -0x7f50))" ( (pointer_expression "**(code **)(local_100 + -0x7f50)" * (pointer_expression "*(code **)(local_100 + -0x7f50)" * (cast_expression "(code **)(local_100 + -0x7f50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_100 + -0x7f50)" ( (binary_expression "local_100 + -0x7f50" identifier + number_literal) ))))) )) (argument_list "((uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f))" ( (binary_expression "(uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f)" (call_expression "(uint)(pcVar3 < unaff_s3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar3 < unaff_s3)" ( (binary_expression "pcVar3 < unaff_s3" identifier < identifier) ))) + (parenthesized_expression "((int)unaff_s3 >> 0x1f)" ( (binary_expression "(int)unaff_s3 >> 0x1f" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )))) ;) (expression_statement "*(int *)(pcVar31 + 0x18) = iVar4;" (assignment_expression "*(int *)(pcVar31 + 0x18) = iVar4" (pointer_expression "*(int *)(pcVar31 + 0x18)" * (cast_expression "(int *)(pcVar31 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x18)" ( (binary_expression "pcVar31 + 0x18" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar4 == 0) {\n        pcVar13 = (code *)&DAT_00000007;\n      }\n      else {\n        (**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1);\n        unaff_s4 = pcVar31 + 0x20;\n        pcVar6 = *(code **)(pcVar31 + 0x18);\n        pcVar3 = (code *)0x0;\n        unaff_s3 = (code *)FUN_000b4580(unaff_s4);\n        if (unaff_s3 == (code *)0x0) {\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar13 = (code *)&DAT_00000007;\n      }" { (expression_statement "pcVar13 = (code *)&DAT_00000007;" (assignment_expression "pcVar13 = (code *)&DAT_00000007" identifier = (cast_expression "(code *)&DAT_00000007" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) }) (else_clause "else {\n        (**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1);\n        unaff_s4 = pcVar31 + 0x20;\n        pcVar6 = *(code **)(pcVar31 + 0x18);\n        pcVar3 = (code *)0x0;\n        unaff_s3 = (code *)FUN_000b4580(unaff_s4);\n        if (unaff_s3 == (code *)0x0) {\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }\n      }" else (compound_statement "{\n        (**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1);\n        unaff_s4 = pcVar31 + 0x20;\n        pcVar6 = *(code **)(pcVar31 + 0x18);\n        pcVar3 = (code *)0x0;\n        unaff_s3 = (code *)FUN_000b4580(unaff_s4);\n        if (unaff_s3 == (code *)0x0) {\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }\n      }" { (expression_statement "(**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1);" (call_expression "(**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1)" (parenthesized_expression "(**(code **)(local_100 + -0x7a4c))" ( (pointer_expression "**(code **)(local_100 + -0x7a4c)" * (pointer_expression "*(code **)(local_100 + -0x7a4c)" * (cast_expression "(code **)(local_100 + -0x7a4c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_100 + -0x7a4c)" ( (binary_expression "local_100 + -0x7a4c" identifier + number_literal) ))))) )) (argument_list "(iVar4,unaff_s4,unaff_s3 + 1)" ( identifier , identifier , (binary_expression "unaff_s3 + 1" identifier + number_literal) ))) ;) (expression_statement "unaff_s4 = pcVar31 + 0x20;" (assignment_expression "unaff_s4 = pcVar31 + 0x20" identifier = (binary_expression "pcVar31 + 0x20" identifier + number_literal)) ;) (expression_statement "pcVar6 = *(code **)(pcVar31 + 0x18);" (assignment_expression "pcVar6 = *(code **)(pcVar31 + 0x18)" identifier = (pointer_expression "*(code **)(pcVar31 + 0x18)" * (cast_expression "(code **)(pcVar31 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x18)" ( (binary_expression "pcVar31 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "pcVar3 = (code *)0x0;" (assignment_expression "pcVar3 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s3 = (code *)FUN_000b4580(unaff_s4);" (assignment_expression "unaff_s3 = (code *)FUN_000b4580(unaff_s4)" identifier = (cast_expression "(code *)FUN_000b4580(unaff_s4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000b4580(unaff_s4)" identifier (argument_list "(unaff_s4)" ( identifier ))))) ;) (if_statement "if (unaff_s3 == (code *)0x0) {\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }" if (parenthesized_expression "(unaff_s3 == (code *)0x0)" ( (binary_expression "unaff_s3 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }" { (if_statement "if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }" if (parenthesized_expression "(pcVar31[0x15] != (code)0x0)" ( (binary_expression "pcVar31[0x15] != (code)0x0" (subscript_expression "pcVar31[0x15]" identifier [ number_literal ]) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }" { (expression_statement "pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);" (assignment_expression "pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2)" identifier = (cast_expression "(code *)(*(int *)(pcVar31 + 0x20) << 2)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar31 + 0x20) << 2)" ( (binary_expression "*(int *)(pcVar31 + 0x20) << 2" (pointer_expression "*(int *)(pcVar31 + 0x20)" * (cast_expression "(int *)(pcVar31 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x20)" ( (binary_expression "pcVar31 + 0x20" identifier + number_literal) )))) << number_literal) )))) ;) (expression_statement "iVar4 = (**(code **)(local_100 + -0x7f50))(0);" (assignment_expression "iVar4 = (**(code **)(local_100 + -0x7f50))(0)" identifier = (call_expression "(**(code **)(local_100 + -0x7f50))(0)" (parenthesized_expression "(**(code **)(local_100 + -0x7f50))" ( (pointer_expression "**(code **)(local_100 + -0x7f50)" * (pointer_expression "*(code **)(local_100 + -0x7f50)" * (cast_expression "(code **)(local_100 + -0x7f50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_100 + -0x7f50)" ( (binary_expression "local_100 + -0x7f50" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal )))) ;) (expression_statement "*(int *)(pcVar31 + 0x30) = iVar4;" (assignment_expression "*(int *)(pcVar31 + 0x30) = iVar4" (pointer_expression "*(int *)(pcVar31 + 0x30)" * (cast_expression "(int *)(pcVar31 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x30)" ( (binary_expression "pcVar31 + 0x30" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }" { (expression_statement "pcVar31[0x34] = (code)0x1;" (assignment_expression "pcVar31[0x34] = (code)0x1" (subscript_expression "pcVar31[0x34]" identifier [ number_literal ]) = (cast_expression "(code)0x1" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (expression_statement "(*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);" (call_expression "(*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31)" (parenthesized_expression "(*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))" ( (pointer_expression "*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c)" * (cast_expression "(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_100 + -0x7d1c) + 0x3d3c)" ( (binary_expression "*(int *)(local_100 + -0x7d1c) + 0x3d3c" (pointer_expression "*(int *)(local_100 + -0x7d1c)" * (cast_expression "(int *)(local_100 + -0x7d1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_100 + -0x7d1c)" ( (binary_expression "local_100 + -0x7d1c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcVar31)" ( identifier ))) ;) (expression_statement "pcVar13 = (code *)&DAT_00000007;" (assignment_expression "pcVar13 = (code *)&DAT_00000007" identifier = (cast_expression "(code *)&DAT_00000007" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (goto_statement "goto LAB_000c49c4;" goto statement_identifier ;) })) (expression_statement "pcVar6 = (code *)0x0;" (assignment_expression "pcVar6 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar3 = (code *)0x0;" (assignment_expression "pcVar3 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);" (call_expression "(*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4)" (parenthesized_expression "(*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))" ( (pointer_expression "*(code *)(*(int *)(local_100 + -0x7d64) + 0x604)" * (cast_expression "(code *)(*(int *)(local_100 + -0x7d64) + 0x604)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_100 + -0x7d64) + 0x604)" ( (binary_expression "*(int *)(local_100 + -0x7d64) + 0x604" (pointer_expression "*(int *)(local_100 + -0x7d64)" * (cast_expression "(int *)(local_100 + -0x7d64)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_100 + -0x7d64)" ( (binary_expression "local_100 + -0x7d64" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(unaff_s4)" ( identifier ))) ;) })) (expression_statement "bVar1 = pcVar13 == (code *)0x3;" (assignment_expression "bVar1 = pcVar13 == (code *)0x3" identifier = (binary_expression "pcVar13 == (code *)0x3" identifier == (cast_expression "(code *)0x3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "pcVar13 = (code *)0x0;" (assignment_expression "pcVar13 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }" { (expression_statement "local_f8 = (code *)0x0;" (assignment_expression "local_f8 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));" (assignment_expression "pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4))" identifier = (cast_expression "(code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4))" (parenthesized_expression "(**(code **)(local_100 + -0x7fa4))" ( (pointer_expression "**(code **)(local_100 + -0x7fa4)" * (pointer_expression "*(code **)(local_100 + -0x7fa4)" * (cast_expression "(code **)(local_100 + -0x7fa4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_100 + -0x7fa4)" ( (binary_expression "local_100 + -0x7fa4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar5 + 4))" ( (pointer_expression "*(int *)(pcVar5 + 4)" * (cast_expression "(int *)(pcVar5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar5 + 4)" ( (binary_expression "pcVar5 + 4" identifier + number_literal) )))) ))))) ;) (if_statement "if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }" if (parenthesized_expression "(pcVar22 != (code *)0x0)" ( (binary_expression "pcVar22 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }" { (expression_statement "pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));" (assignment_expression "pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4))" identifier = (cast_expression "(code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4))" (parenthesized_expression "(**(code **)(local_100 + -0x7f60))" ( (pointer_expression "**(code **)(local_100 + -0x7f60)" * (pointer_expression "*(code **)(local_100 + -0x7f60)" * (cast_expression "(code **)(local_100 + -0x7f60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_100 + -0x7f60)" ( (binary_expression "local_100 + -0x7f60" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar5 + 4))" ( (pointer_expression "*(int *)(pcVar5 + 4)" * (cast_expression "(int *)(pcVar5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar5 + 4)" ( (binary_expression "pcVar5 + 4" identifier + number_literal) )))) ))))) ;) (expression_statement "pcVar3 = pcVar5 + 1;" (assignment_expression "pcVar3 = pcVar5 + 1" identifier = (binary_expression "pcVar5 + 1" identifier + number_literal)) ;) (expression_statement "iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));" (assignment_expression "iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f))" identifier = (call_expression "(**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f))" (parenthesized_expression "(**(code **)(local_100 + -0x7f50))" ( (pointer_expression "**(code **)(local_100 + -0x7f50)" * (pointer_expression "*(code **)(local_100 + -0x7f50)" * (cast_expression "(code **)(local_100 + -0x7f50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_100 + -0x7f50)" ( (binary_expression "local_100 + -0x7f50" identifier + number_literal) ))))) )) (argument_list "((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f))" ( (binary_expression "(uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f)" (call_expression "(uint)(pcVar3 < pcVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar3 < pcVar5)" ( (binary_expression "pcVar3 < pcVar5" identifier < identifier) ))) + (parenthesized_expression "((int)pcVar5 >> 0x1f)" ( (binary_expression "(int)pcVar5 >> 0x1f" (cast_expression "(int)pcVar5" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )))) ;) (expression_statement "*(int *)(pcVar31 + 0x1c) = iVar4;" (assignment_expression "*(int *)(pcVar31 + 0x1c) = iVar4" (pointer_expression "*(int *)(pcVar31 + 0x1c)" * (cast_expression "(int *)(pcVar31 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x1c)" ( (binary_expression "pcVar31 + 0x1c" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                pcVar13 = (code *)&DAT_00000007;\n              }" { (expression_statement "pcVar13 = (code *)&DAT_00000007;" (assignment_expression "pcVar13 = (code *)&DAT_00000007" identifier = (cast_expression "(code *)&DAT_00000007" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) }) (else_clause "else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }" else (compound_statement "{\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }" { (expression_statement "pcVar6 = pcVar5 + 1;" (assignment_expression "pcVar6 = pcVar5 + 1" identifier = (binary_expression "pcVar5 + 1" identifier + number_literal)) ;) (expression_statement "(**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);" (call_expression "(**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22)" (parenthesized_expression "(**(code **)(local_100 + -0x7a4c))" ( (pointer_expression "**(code **)(local_100 + -0x7a4c)" * (pointer_expression "*(code **)(local_100 + -0x7a4c)" * (cast_expression "(code **)(local_100 + -0x7a4c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_100 + -0x7a4c)" ( (binary_expression "local_100 + -0x7a4c" identifier + number_literal) ))))) )) (argument_list "(iVar4,pcVar22)" ( identifier , identifier ))) ;) (if_statement "if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }" if (parenthesized_expression "(*pcVar22 == (code)0x24)" ( (binary_expression "*pcVar22 == (code)0x24" (pointer_expression "*pcVar22" * identifier) == (cast_expression "(code)0x24" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }" { (expression_statement "param_4 = (code *)0x0;" (assignment_expression "param_4 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);" (assignment_expression "pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1)" identifier = (cast_expression "(code *)(*(int *)(pcVar31 + 0x1c) + 1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar31 + 0x1c) + 1)" ( (binary_expression "*(int *)(pcVar31 + 0x1c) + 1" (pointer_expression "*(int *)(pcVar31 + 0x1c)" * (cast_expression "(int *)(pcVar31 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x1c)" ( (binary_expression "pcVar31 + 0x1c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar3 = (code *)0x0;" (assignment_expression "pcVar3 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_108 = &local_f8;" (assignment_expression "local_108 = &local_f8" identifier = (pointer_expression "&local_f8" & identifier)) ;) (expression_statement "pcVar22 = (code *)FUN_000b4b70(unaff_s4);" (assignment_expression "pcVar22 = (code *)FUN_000b4b70(unaff_s4)" identifier = (cast_expression "(code *)FUN_000b4b70(unaff_s4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000b4b70(unaff_s4)" identifier (argument_list "(unaff_s4)" ( identifier ))))) ;) (if_statement "if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }" if (parenthesized_expression "(local_f8 == (code *)0x0)" ( (binary_expression "local_f8 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }" { (if_statement "if (pcVar22 != (code *)0x0) goto LAB_000c4aac;" if (parenthesized_expression "(pcVar22 != (code *)0x0)" ( (binary_expression "pcVar22 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c4aac;" goto statement_identifier ;)) (goto_statement "goto LAB_000c49c4;" goto statement_identifier ;) })) }) (else_clause "else {\n                  local_f8 = pcVar22;\n                }" else (compound_statement "{\n                  local_f8 = pcVar22;\n                }" { (expression_statement "local_f8 = pcVar22;" (assignment_expression "local_f8 = pcVar22" identifier = identifier) ;) }))) (expression_statement "(**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));" (call_expression "(**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8))" (parenthesized_expression "(**(code **)(local_100 + -0x7fa8))" ( (pointer_expression "**(code **)(local_100 + -0x7fa8)" * (pointer_expression "*(code **)(local_100 + -0x7fa8)" * (cast_expression "(code **)(local_100 + -0x7fa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_100 + -0x7fa8)" ( (binary_expression "local_100 + -0x7fa8" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(*(int *)pcVar31 + 8))" ( (pointer_expression "*(undefined4 *)(*(int *)pcVar31 + 8)" * (cast_expression "(undefined4 *)(*(int *)pcVar31 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)pcVar31 + 8)" ( (binary_expression "*(int *)pcVar31 + 8" (pointer_expression "*(int *)pcVar31" * (cast_expression "(int *)pcVar31" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) ))) ;) (expression_statement "iVar4 = *(int *)pcVar31;" (assignment_expression "iVar4 = *(int *)pcVar31" identifier = (pointer_expression "*(int *)pcVar31" * (cast_expression "(int *)pcVar31" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pcVar3 = local_f8;" (assignment_expression "pcVar3 = local_f8" identifier = identifier) ;) (expression_statement "uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);" (assignment_expression "uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c)" identifier = (call_expression "sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c)" identifier (argument_list "(*(int *)(local_100 + -0x7fc4) + -0x463c)" ( (binary_expression "*(int *)(local_100 + -0x7fc4) + -0x463c" (pointer_expression "*(int *)(local_100 + -0x7fc4)" * (cast_expression "(int *)(local_100 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_100 + -0x7fc4)" ( (binary_expression "local_100 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "*(undefined4 *)(iVar4 + 8) = uVar29;" (assignment_expression "*(undefined4 *)(iVar4 + 8) = uVar29" (pointer_expression "*(undefined4 *)(iVar4 + 8)" * (cast_expression "(undefined4 *)(iVar4 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "(*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);" (call_expression "(*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31)" (parenthesized_expression "(*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))" ( (pointer_expression "*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c)" * (cast_expression "(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_100 + -0x7d1c) + 0x3d3c)" ( (binary_expression "*(int *)(local_100 + -0x7d1c) + 0x3d3c" (pointer_expression "*(int *)(local_100 + -0x7d1c)" * (cast_expression "(int *)(local_100 + -0x7d1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_100 + -0x7d1c)" ( (binary_expression "local_100 + -0x7d1c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcVar31)" ( identifier ))) ;) (expression_statement "pcVar13 = (code *)&DAT_00000007;" (assignment_expression "pcVar13 = (code *)&DAT_00000007" identifier = (cast_expression "(code *)&DAT_00000007" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (if_statement "if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }" if (parenthesized_expression "(*(int *)(*(int *)pcVar31 + 8) != 0)" ( (binary_expression "*(int *)(*(int *)pcVar31 + 8) != 0" (pointer_expression "*(int *)(*(int *)pcVar31 + 8)" * (cast_expression "(int *)(*(int *)pcVar31 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)pcVar31 + 8)" ( (binary_expression "*(int *)pcVar31 + 8" (pointer_expression "*(int *)pcVar31" * (cast_expression "(int *)pcVar31" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) != number_literal) )) (compound_statement "{\n                  pcVar13 = (code *)0x1;\n                }" { (expression_statement "pcVar13 = (code *)0x1;" (assignment_expression "pcVar13 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) }))) })) }) (else_clause "else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }" else (compound_statement "{\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }" { (expression_statement "pcVar22 = *(code **)(pcVar31 + 0x28);" (assignment_expression "pcVar22 = *(code **)(pcVar31 + 0x28)" identifier = (pointer_expression "*(code **)(pcVar31 + 0x28)" * (cast_expression "(code **)(pcVar31 + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x28)" ( (binary_expression "pcVar31 + 0x28" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;" statement_identifier : (expression_statement "iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;" (assignment_expression "iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555" identifier = (binary_expression "((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555" (parenthesized_expression "((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2)" ( (binary_expression "(int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2" (binary_expression "(int)pcVar22 - *(int *)(pcVar31 + 0x28)" (cast_expression "(int)pcVar22" ( (type_descriptor "int" primitive_type) ) identifier) - (pointer_expression "*(int *)(pcVar31 + 0x28)" * (cast_expression "(int *)(pcVar31 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x28)" ( (binary_expression "pcVar31 + 0x28" identifier + number_literal) ))))) >> number_literal) )) * number_literal)) ;)) (expression_statement "*(int *)(pcVar31 + 0xc) = iVar4;" (assignment_expression "*(int *)(pcVar31 + 0xc) = iVar4" (pointer_expression "*(int *)(pcVar31 + 0xc)" * (cast_expression "(int *)(pcVar31 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xc)" ( (binary_expression "pcVar31 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(pcVar31 + 8) = iVar4;" (assignment_expression "*(int *)(pcVar31 + 8) = iVar4" (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) )))) = identifier) ;) (expression_statement "cVar2 = *pcVar22;" (assignment_expression "cVar2 = *pcVar22" identifier = (pointer_expression "*pcVar22" * identifier)) ;) (expression_statement "pcVar31[0x14] = cVar2;" (assignment_expression "pcVar31[0x14] = cVar2" (subscript_expression "pcVar31[0x14]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }" if (parenthesized_expression "((byte)cVar2 < 6)" ( (binary_expression "(byte)cVar2 < 6" (cast_expression "(byte)cVar2" ( (type_descriptor "byte" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }" { (expression_statement "*(int *)(pcVar31 + 0x10) = iVar4 + 1;" (assignment_expression "*(int *)(pcVar31 + 0x10) = iVar4 + 1" (pointer_expression "*(int *)(pcVar31 + 0x10)" * (cast_expression "(int *)(pcVar31 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x10)" ( (binary_expression "pcVar31 + 0x10" identifier + number_literal) )))) = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }" else (compound_statement "{\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }" { (expression_statement "*(undefined4 *)(pcVar22 + 8) = 0;" (assignment_expression "*(undefined4 *)(pcVar22 + 8) = 0" (pointer_expression "*(undefined4 *)(pcVar22 + 8)" * (cast_expression "(undefined4 *)(pcVar22 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 8)" ( (binary_expression "pcVar22 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = *(int *)(pcVar31 + 0xc);" (assignment_expression "iVar4 = *(int *)(pcVar31 + 0xc)" identifier = (pointer_expression "*(int *)(pcVar31 + 0xc)" * (cast_expression "(int *)(pcVar31 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xc)" ( (binary_expression "pcVar31 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;" (assignment_expression "*(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1" (pointer_expression "*(int *)(pcVar31 + 0x10)" * (cast_expression "(int *)(pcVar31 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x10)" ( (binary_expression "pcVar31 + 0x10" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar22 + 4) + iVar4 + 1" (binary_expression "*(int *)(pcVar22 + 4) + iVar4" (pointer_expression "*(int *)(pcVar22 + 4)" * (cast_expression "(int *)(pcVar22 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 4)" ( (binary_expression "pcVar22 + 4" identifier + number_literal) )))) + identifier) + number_literal)) ;) (expression_statement "pcVar3 = (code *)(iVar4 * 4);" (assignment_expression "pcVar3 = (code *)(iVar4 * 4)" identifier = (cast_expression "(code *)(iVar4 * 4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 * 4)" ( (binary_expression "iVar4 * 4" identifier * number_literal) )))) ;) (if_statement "if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }" if (parenthesized_expression "(pcVar31[0x15] == (code)0x0)" ( (binary_expression "pcVar31[0x15] == (code)0x0" (subscript_expression "pcVar31[0x15]" identifier [ number_literal ]) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }" { (expression_statement "*(int *)(pcVar31 + 0xc) = iVar4 + 1;" (assignment_expression "*(int *)(pcVar31 + 0xc) = iVar4 + 1" (pointer_expression "*(int *)(pcVar31 + 0xc)" * (cast_expression "(int *)(pcVar31 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xc)" ( (binary_expression "pcVar31 + 0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }" else (compound_statement "{\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }" { (expression_statement "pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));" (assignment_expression "pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30))" identifier = (pointer_expression "*(code **)(pcVar3 + *(int *)(pcVar31 + 0x30))" * (cast_expression "(code **)(pcVar3 + *(int *)(pcVar31 + 0x30))" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar3 + *(int *)(pcVar31 + 0x30))" ( (binary_expression "pcVar3 + *(int *)(pcVar31 + 0x30)" identifier + (pointer_expression "*(int *)(pcVar31 + 0x30)" * (cast_expression "(int *)(pcVar31 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x30)" ( (binary_expression "pcVar31 + 0x30" identifier + number_literal) ))))) ))))) ;) (expression_statement "pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);" (assignment_expression "pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc)" (subscript_expression "pcVar31[0x14]" identifier [ number_literal ]) = (pointer_expression "*(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc)" * (cast_expression "(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc)" ( (binary_expression "*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc" (pointer_expression "*(int *)(pcVar31 + 0x28)" * (cast_expression "(int *)(pcVar31 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x28)" ( (binary_expression "pcVar31 + 0x28" identifier + number_literal) )))) + (binary_expression "(int)pcVar3 * 0xc" (cast_expression "(int)pcVar3" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (if_statement "if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }" if (parenthesized_expression "((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0))" ( (binary_expression "(iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)" (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) && (parenthesized_expression "((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)" ( (binary_expression "(*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0" (parenthesized_expression "(*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40)" ( (binary_expression "*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40" (pointer_expression "*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb)" * (cast_expression "(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb)" ( (binary_expression "*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb" (binary_expression "*(int *)(pcVar31 + 0x28) + iVar4 * 0xc" (pointer_expression "*(int *)(pcVar31 + 0x28)" * (cast_expression "(int *)(pcVar31 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x28)" ( (binary_expression "pcVar31 + 0x28" identifier + number_literal) )))) + (binary_expression "iVar4 * 0xc" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }" { (expression_statement "*(int *)(pcVar31 + 0xc) = iVar4 + -1;" (assignment_expression "*(int *)(pcVar31 + 0xc) = iVar4 + -1" (pointer_expression "*(int *)(pcVar31 + 0xc)" * (cast_expression "(int *)(pcVar31 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xc)" ( (binary_expression "pcVar31 + 0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) })) }))) }))) }))) }) (else_clause "else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }" else (compound_statement "{\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }" { (if_statement "if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }" if (parenthesized_expression "(pcVar31[0x34] == (code)0x0)" ( (binary_expression "pcVar31[0x34] == (code)0x0" (subscript_expression "pcVar31[0x34]" identifier [ number_literal ]) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }" { (expression_statement "(**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));" (call_expression "(**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8))" (parenthesized_expression "(**(code **)(local_100 + -0x7fa8))" ( (pointer_expression "**(code **)(local_100 + -0x7fa8)" * (pointer_expression "*(code **)(local_100 + -0x7fa8)" * (cast_expression "(code **)(local_100 + -0x7fa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_100 + -0x7fa8)" ( (binary_expression "local_100 + -0x7fa8" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(*(int *)pcVar31 + 8))" ( (pointer_expression "*(undefined4 *)(*(int *)pcVar31 + 8)" * (cast_expression "(undefined4 *)(*(int *)pcVar31 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)pcVar31 + 8)" ( (binary_expression "*(int *)pcVar31 + 8" (pointer_expression "*(int *)pcVar31" * (cast_expression "(int *)pcVar31" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) ))) ;) (expression_statement "iVar4 = *(int *)pcVar31;" (assignment_expression "iVar4 = *(int *)pcVar31" identifier = (pointer_expression "*(int *)pcVar31" * (cast_expression "(int *)pcVar31" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);" (assignment_expression "uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060)" identifier = (call_expression "sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060)" identifier (argument_list "(*(int *)(local_100 + -0x7fc4) + -0x5060)" ( (binary_expression "*(int *)(local_100 + -0x7fc4) + -0x5060" (pointer_expression "*(int *)(local_100 + -0x7fc4)" * (cast_expression "(int *)(local_100 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_100 + -0x7fc4)" ( (binary_expression "local_100 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "*(undefined4 *)(iVar4 + 8) = uVar29;" (assignment_expression "*(undefined4 *)(iVar4 + 8) = uVar29" (pointer_expression "*(undefined4 *)(iVar4 + 8)" * (cast_expression "(undefined4 *)(iVar4 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar13 = (code *)0x1;" (assignment_expression "pcVar13 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }" if (parenthesized_expression "(*(int *)(*(int *)pcVar31 + 8) == 0)" ( (binary_expression "*(int *)(*(int *)pcVar31 + 8) == 0" (pointer_expression "*(int *)(*(int *)pcVar31 + 8)" * (cast_expression "(int *)(*(int *)pcVar31 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)pcVar31 + 8)" ( (binary_expression "*(int *)pcVar31 + 8" (pointer_expression "*(int *)pcVar31" * (cast_expression "(int *)pcVar31" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == number_literal) )) (compound_statement "{\n              pcVar13 = (code *)&DAT_00000007;\n            }" { (expression_statement "pcVar13 = (code *)&DAT_00000007;" (assignment_expression "pcVar13 = (code *)&DAT_00000007" identifier = (cast_expression "(code *)&DAT_00000007" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) })) }) (else_clause "else {\n            pcVar13 = (code *)&DAT_00000007;\n          }" else (compound_statement "{\n            pcVar13 = (code *)&DAT_00000007;\n          }" { (expression_statement "pcVar13 = (code *)&DAT_00000007;" (assignment_expression "pcVar13 = (code *)&DAT_00000007" identifier = (cast_expression "(code *)&DAT_00000007" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) }))) (expression_statement "(*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);" (call_expression "(*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31)" (parenthesized_expression "(*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))" ( (pointer_expression "*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c)" * (cast_expression "(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_100 + -0x7d1c) + 0x3d3c)" ( (binary_expression "*(int *)(local_100 + -0x7d1c) + 0x3d3c" (pointer_expression "*(int *)(local_100 + -0x7d1c)" * (cast_expression "(int *)(local_100 + -0x7d1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_100 + -0x7d1c)" ( (binary_expression "local_100 + -0x7d1c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcVar31)" ( identifier ))) ;) }))) }))) }))) })) (labeled_statement "LAB_000c49c4:\n  if (local_f4 == (code *)**(undefined4 **)(local_100 + -0x7a54)) {\n    return pcVar13;\n  }" statement_identifier : (if_statement "if (local_f4 == (code *)**(undefined4 **)(local_100 + -0x7a54)) {\n    return pcVar13;\n  }" if (parenthesized_expression "(local_f4 == (code *)**(undefined4 **)(local_100 + -0x7a54))" ( (binary_expression "local_f4 == (code *)**(undefined4 **)(local_100 + -0x7a54)" identifier == (cast_expression "(code *)**(undefined4 **)(local_100 + -0x7a54)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(local_100 + -0x7a54)" * (pointer_expression "*(undefined4 **)(local_100 + -0x7a54)" * (cast_expression "(undefined4 **)(local_100 + -0x7a54)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_100 + -0x7a54)" ( (binary_expression "local_100 + -0x7a54" identifier + number_literal) ))))))) )) (compound_statement "{\n    return pcVar13;\n  }" { (return_statement "return pcVar13;" return identifier ;) }))) (expression_statement "pcVar26 = *(code **)(local_100 + -0x7a80);" (assignment_expression "pcVar26 = *(code **)(local_100 + -0x7a80)" identifier = (pointer_expression "*(code **)(local_100 + -0x7a80)" * (cast_expression "(code **)(local_100 + -0x7a80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_100 + -0x7a80)" ( (binary_expression "local_100 + -0x7a80" identifier + number_literal) ))))) ;) (expression_statement "pcVar30 = sqlite3_randomness;" (assignment_expression "pcVar30 = sqlite3_randomness" identifier = identifier) ;) (expression_statement "pcVar22 = local_f4;" (assignment_expression "pcVar22 = local_f4" identifier = identifier) ;) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_240 = pcVar26 + 0xd2b38;" (assignment_expression "pcStack_240 = pcVar26 + 0xd2b38" identifier = (binary_expression "pcVar26 + 0xd2b38" identifier + number_literal)) ;) (expression_statement "pcStack_134 = (code *)**(int **)(pcVar26 + 0xcb0e4);" (assignment_expression "pcStack_134 = (code *)**(int **)(pcVar26 + 0xcb0e4)" identifier = (cast_expression "(code *)**(int **)(pcVar26 + 0xcb0e4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(pcVar26 + 0xcb0e4)" * (pointer_expression "*(int **)(pcVar26 + 0xcb0e4)" * (cast_expression "(int **)(pcVar26 + 0xcb0e4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xcb0e4)" ( (binary_expression "pcVar26 + 0xcb0e4" identifier + number_literal) ))))))) ;) (expression_statement "pcVar25 = pcVar22;" (assignment_expression "pcVar25 = pcVar22" identifier = identifier) ;) (expression_statement "pcVar14 = pcVar3;" (assignment_expression "pcVar14 = pcVar3" identifier = identifier) ;) (expression_statement "pcStack_12c = pcVar13;" (assignment_expression "pcStack_12c = pcVar13" identifier = identifier) ;) (expression_statement "pcStack_128 = pcVar31;" (assignment_expression "pcStack_128 = pcVar31" identifier = identifier) ;) (expression_statement "pcStack_124 = pcVar5;" (assignment_expression "pcStack_124 = pcVar5" identifier = identifier) ;) (expression_statement "pcStack_120 = unaff_s3;" (assignment_expression "pcStack_120 = unaff_s3" identifier = identifier) ;) (expression_statement "pcStack_11c = pcVar30;" (assignment_expression "pcStack_11c = pcVar30" identifier = identifier) ;) (expression_statement "iVar4 = (**(code **)(pcVar26 + 0xcadb8))();" (assignment_expression "iVar4 = (**(code **)(pcVar26 + 0xcadb8))()" identifier = (call_expression "(**(code **)(pcVar26 + 0xcadb8))()" (parenthesized_expression "(**(code **)(pcVar26 + 0xcadb8))" ( (pointer_expression "**(code **)(pcVar26 + 0xcadb8)" * (pointer_expression "*(code **)(pcVar26 + 0xcadb8)" * (cast_expression "(code **)(pcVar26 + 0xcadb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xcadb8)" ( (binary_expression "pcVar26 + 0xcadb8" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar4 == 0) {\n    unaff_s3 = (code *)(*(code *)(*(int *)(pcStack_240 + -0x7dc8) + 0xe00))(5);\n    (**(code **)(pcStack_240 + -0x7d74))(unaff_s3);\n    iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n    pcVar25 = unaff_s3;\n    if (0 < (int)pcVar22) {\n      if (pcVar3 != (code *)0x0) {\n        iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n        if (*(char *)(iVar27 + 0x338) == '\0') {\n          *(undefined1 *)(iVar8 + 0x33a) = 0;\n          *(undefined1 *)(iVar8 + 0x339) = 0;\n          iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0);\n          (**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234);\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          iVar4 = 0;\n          do {\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          } while (iVar4 != 0x100);\n          iVar4 = *(int *)(pcStack_240 + -0x7fd8);\n          uVar9 = (uint)*(byte *)(iVar4 + 0x33a);\n          pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b);\n          pbVar15 = abStack_234;\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          do {\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          } while (pbVar7 != (byte *)(iVar4 + 0x43b));\n          iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n          *(char *)(iVar8 + 0x33a) = (char)uVar18;\n          *(undefined1 *)(iVar8 + 0x338) = 1;\n          iVar4 = 0x100;\n        }\n        pcVar6 = (code *)(iVar8 + 0x338);\n        uVar9 = (uint)*(byte *)(iVar8 + 0x33a);\n        bVar17 = *(char *)(iVar8 + 0x339) + 1;\n        pcVar13 = (code *)((uint)bVar17 - (int)pcVar3);\n        pcVar5 = pcVar3;\n        do {\n          uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff;\n          cVar2 = pcVar6[uVar18 + 3];\n          uVar20 = (byte)cVar2 + uVar9;\n          uVar9 = uVar20 & 0xff;\n          param_4 = pcVar6 + uVar9;\n          pcVar6[uVar18 + 3] = param_4[3];\n          param_4[3] = cVar2;\n          pcVar14 = pcVar5 + 1;\n          *pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3];\n          pcVar5 = pcVar14;\n        } while (pcVar14 != pcVar3 + (int)pcVar22);\n        iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n        pcVar22 = pcVar22 + -1;\n        *(byte *)(iVar27 + 0x339) = bVar17 + (char)pcVar22;\n        *(char *)(iVar27 + 0x33a) = (char)uVar20;\n        (**(code **)(pcStack_240 + -0x7d78))();\n        pcVar3 = pcVar13;\n        goto LAB_000c4e3c;\n      }\n      iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n    }\n    *(undefined1 *)(iVar27 + 0x338) = 0;\n    (**(code **)(pcStack_240 + -0x7d78))();\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    unaff_s3 = (code *)(*(code *)(*(int *)(pcStack_240 + -0x7dc8) + 0xe00))(5);\n    (**(code **)(pcStack_240 + -0x7d74))(unaff_s3);\n    iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n    pcVar25 = unaff_s3;\n    if (0 < (int)pcVar22) {\n      if (pcVar3 != (code *)0x0) {\n        iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n        if (*(char *)(iVar27 + 0x338) == '\0') {\n          *(undefined1 *)(iVar8 + 0x33a) = 0;\n          *(undefined1 *)(iVar8 + 0x339) = 0;\n          iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0);\n          (**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234);\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          iVar4 = 0;\n          do {\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          } while (iVar4 != 0x100);\n          iVar4 = *(int *)(pcStack_240 + -0x7fd8);\n          uVar9 = (uint)*(byte *)(iVar4 + 0x33a);\n          pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b);\n          pbVar15 = abStack_234;\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          do {\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          } while (pbVar7 != (byte *)(iVar4 + 0x43b));\n          iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n          *(char *)(iVar8 + 0x33a) = (char)uVar18;\n          *(undefined1 *)(iVar8 + 0x338) = 1;\n          iVar4 = 0x100;\n        }\n        pcVar6 = (code *)(iVar8 + 0x338);\n        uVar9 = (uint)*(byte *)(iVar8 + 0x33a);\n        bVar17 = *(char *)(iVar8 + 0x339) + 1;\n        pcVar13 = (code *)((uint)bVar17 - (int)pcVar3);\n        pcVar5 = pcVar3;\n        do {\n          uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff;\n          cVar2 = pcVar6[uVar18 + 3];\n          uVar20 = (byte)cVar2 + uVar9;\n          uVar9 = uVar20 & 0xff;\n          param_4 = pcVar6 + uVar9;\n          pcVar6[uVar18 + 3] = param_4[3];\n          param_4[3] = cVar2;\n          pcVar14 = pcVar5 + 1;\n          *pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3];\n          pcVar5 = pcVar14;\n        } while (pcVar14 != pcVar3 + (int)pcVar22);\n        iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n        pcVar22 = pcVar22 + -1;\n        *(byte *)(iVar27 + 0x339) = bVar17 + (char)pcVar22;\n        *(char *)(iVar27 + 0x33a) = (char)uVar20;\n        (**(code **)(pcStack_240 + -0x7d78))();\n        pcVar3 = pcVar13;\n        goto LAB_000c4e3c;\n      }\n      iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n    }\n    *(undefined1 *)(iVar27 + 0x338) = 0;\n    (**(code **)(pcStack_240 + -0x7d78))();\n  }" { (expression_statement "unaff_s3 = (code *)(*(code *)(*(int *)(pcStack_240 + -0x7dc8) + 0xe00))(5);" (assignment_expression "unaff_s3 = (code *)(*(code *)(*(int *)(pcStack_240 + -0x7dc8) + 0xe00))(5)" identifier = (cast_expression "(code *)(*(code *)(*(int *)(pcStack_240 + -0x7dc8) + 0xe00))(5)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(pcStack_240 + -0x7dc8) + 0xe00))(5)" (parenthesized_expression "(*(code *)(*(int *)(pcStack_240 + -0x7dc8) + 0xe00))" ( (pointer_expression "*(code *)(*(int *)(pcStack_240 + -0x7dc8) + 0xe00)" * (cast_expression "(code *)(*(int *)(pcStack_240 + -0x7dc8) + 0xe00)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_240 + -0x7dc8) + 0xe00)" ( (binary_expression "*(int *)(pcStack_240 + -0x7dc8) + 0xe00" (pointer_expression "*(int *)(pcStack_240 + -0x7dc8)" * (cast_expression "(int *)(pcStack_240 + -0x7dc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_240 + -0x7dc8)" ( (binary_expression "pcStack_240 + -0x7dc8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(5)" ( number_literal ))))) ;) (expression_statement "(**(code **)(pcStack_240 + -0x7d74))(unaff_s3);" (call_expression "(**(code **)(pcStack_240 + -0x7d74))(unaff_s3)" (parenthesized_expression "(**(code **)(pcStack_240 + -0x7d74))" ( (pointer_expression "**(code **)(pcStack_240 + -0x7d74)" * (pointer_expression "*(code **)(pcStack_240 + -0x7d74)" * (cast_expression "(code **)(pcStack_240 + -0x7d74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_240 + -0x7d74)" ( (binary_expression "pcStack_240 + -0x7d74" identifier + number_literal) ))))) )) (argument_list "(unaff_s3)" ( identifier ))) ;) (expression_statement "iVar27 = *(int *)(pcStack_240 + -0x7fd8);" (assignment_expression "iVar27 = *(int *)(pcStack_240 + -0x7fd8)" identifier = (pointer_expression "*(int *)(pcStack_240 + -0x7fd8)" * (cast_expression "(int *)(pcStack_240 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_240 + -0x7fd8)" ( (binary_expression "pcStack_240 + -0x7fd8" identifier + number_literal) ))))) ;) (expression_statement "pcVar25 = unaff_s3;" (assignment_expression "pcVar25 = unaff_s3" identifier = identifier) ;) (if_statement "if (0 < (int)pcVar22) {\n      if (pcVar3 != (code *)0x0) {\n        iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n        if (*(char *)(iVar27 + 0x338) == '\0') {\n          *(undefined1 *)(iVar8 + 0x33a) = 0;\n          *(undefined1 *)(iVar8 + 0x339) = 0;\n          iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0);\n          (**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234);\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          iVar4 = 0;\n          do {\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          } while (iVar4 != 0x100);\n          iVar4 = *(int *)(pcStack_240 + -0x7fd8);\n          uVar9 = (uint)*(byte *)(iVar4 + 0x33a);\n          pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b);\n          pbVar15 = abStack_234;\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          do {\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          } while (pbVar7 != (byte *)(iVar4 + 0x43b));\n          iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n          *(char *)(iVar8 + 0x33a) = (char)uVar18;\n          *(undefined1 *)(iVar8 + 0x338) = 1;\n          iVar4 = 0x100;\n        }\n        pcVar6 = (code *)(iVar8 + 0x338);\n        uVar9 = (uint)*(byte *)(iVar8 + 0x33a);\n        bVar17 = *(char *)(iVar8 + 0x339) + 1;\n        pcVar13 = (code *)((uint)bVar17 - (int)pcVar3);\n        pcVar5 = pcVar3;\n        do {\n          uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff;\n          cVar2 = pcVar6[uVar18 + 3];\n          uVar20 = (byte)cVar2 + uVar9;\n          uVar9 = uVar20 & 0xff;\n          param_4 = pcVar6 + uVar9;\n          pcVar6[uVar18 + 3] = param_4[3];\n          param_4[3] = cVar2;\n          pcVar14 = pcVar5 + 1;\n          *pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3];\n          pcVar5 = pcVar14;\n        } while (pcVar14 != pcVar3 + (int)pcVar22);\n        iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n        pcVar22 = pcVar22 + -1;\n        *(byte *)(iVar27 + 0x339) = bVar17 + (char)pcVar22;\n        *(char *)(iVar27 + 0x33a) = (char)uVar20;\n        (**(code **)(pcStack_240 + -0x7d78))();\n        pcVar3 = pcVar13;\n        goto LAB_000c4e3c;\n      }\n      iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n    }" if (parenthesized_expression "(0 < (int)pcVar22)" ( (binary_expression "0 < (int)pcVar22" number_literal < (cast_expression "(int)pcVar22" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      if (pcVar3 != (code *)0x0) {\n        iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n        if (*(char *)(iVar27 + 0x338) == '\0') {\n          *(undefined1 *)(iVar8 + 0x33a) = 0;\n          *(undefined1 *)(iVar8 + 0x339) = 0;\n          iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0);\n          (**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234);\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          iVar4 = 0;\n          do {\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          } while (iVar4 != 0x100);\n          iVar4 = *(int *)(pcStack_240 + -0x7fd8);\n          uVar9 = (uint)*(byte *)(iVar4 + 0x33a);\n          pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b);\n          pbVar15 = abStack_234;\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          do {\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          } while (pbVar7 != (byte *)(iVar4 + 0x43b));\n          iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n          *(char *)(iVar8 + 0x33a) = (char)uVar18;\n          *(undefined1 *)(iVar8 + 0x338) = 1;\n          iVar4 = 0x100;\n        }\n        pcVar6 = (code *)(iVar8 + 0x338);\n        uVar9 = (uint)*(byte *)(iVar8 + 0x33a);\n        bVar17 = *(char *)(iVar8 + 0x339) + 1;\n        pcVar13 = (code *)((uint)bVar17 - (int)pcVar3);\n        pcVar5 = pcVar3;\n        do {\n          uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff;\n          cVar2 = pcVar6[uVar18 + 3];\n          uVar20 = (byte)cVar2 + uVar9;\n          uVar9 = uVar20 & 0xff;\n          param_4 = pcVar6 + uVar9;\n          pcVar6[uVar18 + 3] = param_4[3];\n          param_4[3] = cVar2;\n          pcVar14 = pcVar5 + 1;\n          *pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3];\n          pcVar5 = pcVar14;\n        } while (pcVar14 != pcVar3 + (int)pcVar22);\n        iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n        pcVar22 = pcVar22 + -1;\n        *(byte *)(iVar27 + 0x339) = bVar17 + (char)pcVar22;\n        *(char *)(iVar27 + 0x33a) = (char)uVar20;\n        (**(code **)(pcStack_240 + -0x7d78))();\n        pcVar3 = pcVar13;\n        goto LAB_000c4e3c;\n      }\n      iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n    }" { (if_statement "if (pcVar3 != (code *)0x0) {\n        iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n        if (*(char *)(iVar27 + 0x338) == '\0') {\n          *(undefined1 *)(iVar8 + 0x33a) = 0;\n          *(undefined1 *)(iVar8 + 0x339) = 0;\n          iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0);\n          (**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234);\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          iVar4 = 0;\n          do {\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          } while (iVar4 != 0x100);\n          iVar4 = *(int *)(pcStack_240 + -0x7fd8);\n          uVar9 = (uint)*(byte *)(iVar4 + 0x33a);\n          pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b);\n          pbVar15 = abStack_234;\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          do {\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          } while (pbVar7 != (byte *)(iVar4 + 0x43b));\n          iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n          *(char *)(iVar8 + 0x33a) = (char)uVar18;\n          *(undefined1 *)(iVar8 + 0x338) = 1;\n          iVar4 = 0x100;\n        }\n        pcVar6 = (code *)(iVar8 + 0x338);\n        uVar9 = (uint)*(byte *)(iVar8 + 0x33a);\n        bVar17 = *(char *)(iVar8 + 0x339) + 1;\n        pcVar13 = (code *)((uint)bVar17 - (int)pcVar3);\n        pcVar5 = pcVar3;\n        do {\n          uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff;\n          cVar2 = pcVar6[uVar18 + 3];\n          uVar20 = (byte)cVar2 + uVar9;\n          uVar9 = uVar20 & 0xff;\n          param_4 = pcVar6 + uVar9;\n          pcVar6[uVar18 + 3] = param_4[3];\n          param_4[3] = cVar2;\n          pcVar14 = pcVar5 + 1;\n          *pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3];\n          pcVar5 = pcVar14;\n        } while (pcVar14 != pcVar3 + (int)pcVar22);\n        iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n        pcVar22 = pcVar22 + -1;\n        *(byte *)(iVar27 + 0x339) = bVar17 + (char)pcVar22;\n        *(char *)(iVar27 + 0x33a) = (char)uVar20;\n        (**(code **)(pcStack_240 + -0x7d78))();\n        pcVar3 = pcVar13;\n        goto LAB_000c4e3c;\n      }" if (parenthesized_expression "(pcVar3 != (code *)0x0)" ( (binary_expression "pcVar3 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n        if (*(char *)(iVar27 + 0x338) == '\0') {\n          *(undefined1 *)(iVar8 + 0x33a) = 0;\n          *(undefined1 *)(iVar8 + 0x339) = 0;\n          iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0);\n          (**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234);\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          iVar4 = 0;\n          do {\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          } while (iVar4 != 0x100);\n          iVar4 = *(int *)(pcStack_240 + -0x7fd8);\n          uVar9 = (uint)*(byte *)(iVar4 + 0x33a);\n          pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b);\n          pbVar15 = abStack_234;\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          do {\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          } while (pbVar7 != (byte *)(iVar4 + 0x43b));\n          iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n          *(char *)(iVar8 + 0x33a) = (char)uVar18;\n          *(undefined1 *)(iVar8 + 0x338) = 1;\n          iVar4 = 0x100;\n        }\n        pcVar6 = (code *)(iVar8 + 0x338);\n        uVar9 = (uint)*(byte *)(iVar8 + 0x33a);\n        bVar17 = *(char *)(iVar8 + 0x339) + 1;\n        pcVar13 = (code *)((uint)bVar17 - (int)pcVar3);\n        pcVar5 = pcVar3;\n        do {\n          uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff;\n          cVar2 = pcVar6[uVar18 + 3];\n          uVar20 = (byte)cVar2 + uVar9;\n          uVar9 = uVar20 & 0xff;\n          param_4 = pcVar6 + uVar9;\n          pcVar6[uVar18 + 3] = param_4[3];\n          param_4[3] = cVar2;\n          pcVar14 = pcVar5 + 1;\n          *pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3];\n          pcVar5 = pcVar14;\n        } while (pcVar14 != pcVar3 + (int)pcVar22);\n        iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n        pcVar22 = pcVar22 + -1;\n        *(byte *)(iVar27 + 0x339) = bVar17 + (char)pcVar22;\n        *(char *)(iVar27 + 0x33a) = (char)uVar20;\n        (**(code **)(pcStack_240 + -0x7d78))();\n        pcVar3 = pcVar13;\n        goto LAB_000c4e3c;\n      }" { (expression_statement "iVar8 = *(int *)(pcStack_240 + -0x7fd8);" (assignment_expression "iVar8 = *(int *)(pcStack_240 + -0x7fd8)" identifier = (pointer_expression "*(int *)(pcStack_240 + -0x7fd8)" * (cast_expression "(int *)(pcStack_240 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_240 + -0x7fd8)" ( (binary_expression "pcStack_240 + -0x7fd8" identifier + number_literal) ))))) ;) (if_statement "if (*(char *)(iVar27 + 0x338) == '\0') {\n          *(undefined1 *)(iVar8 + 0x33a) = 0;\n          *(undefined1 *)(iVar8 + 0x339) = 0;\n          iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0);\n          (**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234);\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          iVar4 = 0;\n          do {\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          } while (iVar4 != 0x100);\n          iVar4 = *(int *)(pcStack_240 + -0x7fd8);\n          uVar9 = (uint)*(byte *)(iVar4 + 0x33a);\n          pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b);\n          pbVar15 = abStack_234;\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          do {\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          } while (pbVar7 != (byte *)(iVar4 + 0x43b));\n          iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n          *(char *)(iVar8 + 0x33a) = (char)uVar18;\n          *(undefined1 *)(iVar8 + 0x338) = 1;\n          iVar4 = 0x100;\n        }" if (parenthesized_expression "(*(char *)(iVar27 + 0x338) == '\0')" ( (binary_expression "*(char *)(iVar27 + 0x338) == '\0'" (pointer_expression "*(char *)(iVar27 + 0x338)" * (cast_expression "(char *)(iVar27 + 0x338)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x338)" ( (binary_expression "iVar27 + 0x338" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          *(undefined1 *)(iVar8 + 0x33a) = 0;\n          *(undefined1 *)(iVar8 + 0x339) = 0;\n          iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0);\n          (**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234);\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          iVar4 = 0;\n          do {\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          } while (iVar4 != 0x100);\n          iVar4 = *(int *)(pcStack_240 + -0x7fd8);\n          uVar9 = (uint)*(byte *)(iVar4 + 0x33a);\n          pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b);\n          pbVar15 = abStack_234;\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          do {\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          } while (pbVar7 != (byte *)(iVar4 + 0x43b));\n          iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n          *(char *)(iVar8 + 0x33a) = (char)uVar18;\n          *(undefined1 *)(iVar8 + 0x338) = 1;\n          iVar4 = 0x100;\n        }" { (expression_statement "*(undefined1 *)(iVar8 + 0x33a) = 0;" (assignment_expression "*(undefined1 *)(iVar8 + 0x33a) = 0" (pointer_expression "*(undefined1 *)(iVar8 + 0x33a)" * (cast_expression "(undefined1 *)(iVar8 + 0x33a)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x33a)" ( (binary_expression "iVar8 + 0x33a" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(iVar8 + 0x339) = 0;" (assignment_expression "*(undefined1 *)(iVar8 + 0x339) = 0" (pointer_expression "*(undefined1 *)(iVar8 + 0x339)" * (cast_expression "(undefined1 *)(iVar8 + 0x339)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x339)" ( (binary_expression "iVar8 + 0x339" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0);" (assignment_expression "iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0)" identifier = (call_expression "(**(code **)(pcStack_240 + -0x7f14))(0)" (parenthesized_expression "(**(code **)(pcStack_240 + -0x7f14))" ( (pointer_expression "**(code **)(pcStack_240 + -0x7f14)" * (pointer_expression "*(code **)(pcStack_240 + -0x7f14)" * (cast_expression "(code **)(pcStack_240 + -0x7f14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_240 + -0x7f14)" ( (binary_expression "pcStack_240 + -0x7f14" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal )))) ;) (expression_statement "(**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234);" (call_expression "(**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234)" (parenthesized_expression "(**(code **)(iVar4 + 0x38))" ( (pointer_expression "**(code **)(iVar4 + 0x38)" * (pointer_expression "*(code **)(iVar4 + 0x38)" * (cast_expression "(code **)(iVar4 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) ))))) )) (argument_list "(iVar4,0x100,abStack_234)" ( identifier , number_literal , identifier ))) ;) (expression_statement "iVar27 = *(int *)(pcStack_240 + -0x7fd8);" (assignment_expression "iVar27 = *(int *)(pcStack_240 + -0x7fd8)" identifier = (pointer_expression "*(int *)(pcStack_240 + -0x7fd8)" * (cast_expression "(int *)(pcStack_240 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_240 + -0x7fd8)" ( (binary_expression "pcStack_240 + -0x7fd8" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (do_statement "do {\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          } while (iVar4 != 0x100);" do (compound_statement "{\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          }" { (expression_statement "*(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;" (assignment_expression "*(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4" (pointer_expression "*(char *)(iVar27 + iVar4 + 0x33b)" * (cast_expression "(char *)(iVar27 + iVar4 + 0x33b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + iVar4 + 0x33b)" ( (binary_expression "iVar27 + iVar4 + 0x33b" (binary_expression "iVar27 + iVar4" identifier + identifier) + number_literal) )))) = (cast_expression "(char)iVar4" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar4 != 0x100)" ( (binary_expression "iVar4 != 0x100" identifier != number_literal) )) ;) (expression_statement "iVar4 = *(int *)(pcStack_240 + -0x7fd8);" (assignment_expression "iVar4 = *(int *)(pcStack_240 + -0x7fd8)" identifier = (pointer_expression "*(int *)(pcStack_240 + -0x7fd8)" * (cast_expression "(int *)(pcStack_240 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_240 + -0x7fd8)" ( (binary_expression "pcStack_240 + -0x7fd8" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = (uint)*(byte *)(iVar4 + 0x33a);" (assignment_expression "uVar9 = (uint)*(byte *)(iVar4 + 0x33a)" identifier = (binary_expression "(uint)*(byte *)(iVar4 + 0x33a)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar4 + 0x33a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x33a)" ( (binary_expression "iVar4 + 0x33a" identifier + number_literal) ))))) ;) (expression_statement "pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b);" (assignment_expression "pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b)" identifier = (cast_expression "(byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_240 + -0x7fd8) + 0x33b)" ( (binary_expression "*(int *)(pcStack_240 + -0x7fd8) + 0x33b" (pointer_expression "*(int *)(pcStack_240 + -0x7fd8)" * (cast_expression "(int *)(pcStack_240 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_240 + -0x7fd8)" ( (binary_expression "pcStack_240 + -0x7fd8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pbVar15 = abStack_234;" (assignment_expression "pbVar15 = abStack_234" identifier = identifier) ;) (expression_statement "iVar27 = *(int *)(pcStack_240 + -0x7fd8);" (assignment_expression "iVar27 = *(int *)(pcStack_240 + -0x7fd8)" identifier = (pointer_expression "*(int *)(pcStack_240 + -0x7fd8)" * (cast_expression "(int *)(pcStack_240 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_240 + -0x7fd8)" ( (binary_expression "pcStack_240 + -0x7fd8" identifier + number_literal) ))))) ;) (do_statement "do {\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          } while (pbVar7 != (byte *)(iVar4 + 0x43b));" do (compound_statement "{\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          }" { (expression_statement "uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;" (assignment_expression "uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15" identifier = (binary_expression "uVar9 + (uint)*pbVar7 + (uint)*pbVar15" (binary_expression "uVar9 + (uint)*pbVar7" identifier + (binary_expression "(uint)*pbVar7" (parenthesized_expression "(uint)" ( identifier )) * identifier)) + (binary_expression "(uint)*pbVar15" (parenthesized_expression "(uint)" ( identifier )) * identifier))) ;) (expression_statement "uVar9 = uVar18 & 0xff;" (assignment_expression "uVar9 = uVar18 & 0xff" identifier = (binary_expression "uVar18 & 0xff" identifier & number_literal)) ;) (expression_statement "iVar8 = iVar27 + 0x338 + uVar9;" (assignment_expression "iVar8 = iVar27 + 0x338 + uVar9" identifier = (binary_expression "iVar27 + 0x338 + uVar9" (binary_expression "iVar27 + 0x338" identifier + number_literal) + identifier)) ;) (expression_statement "bVar17 = *(byte *)(iVar8 + 3);" (assignment_expression "bVar17 = *(byte *)(iVar8 + 3)" identifier = (pointer_expression "*(byte *)(iVar8 + 3)" * (cast_expression "(byte *)(iVar8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 3)" ( (binary_expression "iVar8 + 3" identifier + number_literal) ))))) ;) (expression_statement "*(byte *)(iVar8 + 3) = *pbVar7;" (assignment_expression "*(byte *)(iVar8 + 3) = *pbVar7" (pointer_expression "*(byte *)(iVar8 + 3)" * (cast_expression "(byte *)(iVar8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 3)" ( (binary_expression "iVar8 + 3" identifier + number_literal) )))) = (pointer_expression "*pbVar7" * identifier)) ;) (expression_statement "*pbVar7 = bVar17;" (assignment_expression "*pbVar7 = bVar17" (pointer_expression "*pbVar7" * identifier) = identifier) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar15 = pbVar15 + 1;" (assignment_expression "pbVar15 = pbVar15 + 1" identifier = (binary_expression "pbVar15 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pbVar7 != (byte *)(iVar4 + 0x43b))" ( (binary_expression "pbVar7 != (byte *)(iVar4 + 0x43b)" identifier != (cast_expression "(byte *)(iVar4 + 0x43b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x43b)" ( (binary_expression "iVar4 + 0x43b" identifier + number_literal) )))) )) ;) (expression_statement "iVar8 = *(int *)(pcStack_240 + -0x7fd8);" (assignment_expression "iVar8 = *(int *)(pcStack_240 + -0x7fd8)" identifier = (pointer_expression "*(int *)(pcStack_240 + -0x7fd8)" * (cast_expression "(int *)(pcStack_240 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_240 + -0x7fd8)" ( (binary_expression "pcStack_240 + -0x7fd8" identifier + number_literal) ))))) ;) (expression_statement "*(char *)(iVar8 + 0x33a) = (char)uVar18;" (assignment_expression "*(char *)(iVar8 + 0x33a) = (char)uVar18" (pointer_expression "*(char *)(iVar8 + 0x33a)" * (cast_expression "(char *)(iVar8 + 0x33a)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x33a)" ( (binary_expression "iVar8 + 0x33a" identifier + number_literal) )))) = (cast_expression "(char)uVar18" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "*(undefined1 *)(iVar8 + 0x338) = 1;" (assignment_expression "*(undefined1 *)(iVar8 + 0x338) = 1" (pointer_expression "*(undefined1 *)(iVar8 + 0x338)" * (cast_expression "(undefined1 *)(iVar8 + 0x338)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x338)" ( (binary_expression "iVar8 + 0x338" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = 0x100;" (assignment_expression "iVar4 = 0x100" identifier = number_literal) ;) })) (expression_statement "pcVar6 = (code *)(iVar8 + 0x338);" (assignment_expression "pcVar6 = (code *)(iVar8 + 0x338)" identifier = (cast_expression "(code *)(iVar8 + 0x338)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x338)" ( (binary_expression "iVar8 + 0x338" identifier + number_literal) )))) ;) (expression_statement "uVar9 = (uint)*(byte *)(iVar8 + 0x33a);" (assignment_expression "uVar9 = (uint)*(byte *)(iVar8 + 0x33a)" identifier = (binary_expression "(uint)*(byte *)(iVar8 + 0x33a)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar8 + 0x33a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x33a)" ( (binary_expression "iVar8 + 0x33a" identifier + number_literal) ))))) ;) (expression_statement "bVar17 = *(char *)(iVar8 + 0x339) + 1;" (assignment_expression "bVar17 = *(char *)(iVar8 + 0x339) + 1" identifier = (binary_expression "*(char *)(iVar8 + 0x339) + 1" (pointer_expression "*(char *)(iVar8 + 0x339)" * (cast_expression "(char *)(iVar8 + 0x339)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x339)" ( (binary_expression "iVar8 + 0x339" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pcVar13 = (code *)((uint)bVar17 - (int)pcVar3);" (assignment_expression "pcVar13 = (code *)((uint)bVar17 - (int)pcVar3)" identifier = (cast_expression "(code *)((uint)bVar17 - (int)pcVar3)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)bVar17 - (int)pcVar3)" ( (binary_expression "(uint)bVar17 - (int)pcVar3" (cast_expression "(uint)bVar17" ( (type_descriptor "uint" type_identifier) ) identifier) - (cast_expression "(int)pcVar3" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pcVar5 = pcVar3;" (assignment_expression "pcVar5 = pcVar3" identifier = identifier) ;) (do_statement "do {\n          uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff;\n          cVar2 = pcVar6[uVar18 + 3];\n          uVar20 = (byte)cVar2 + uVar9;\n          uVar9 = uVar20 & 0xff;\n          param_4 = pcVar6 + uVar9;\n          pcVar6[uVar18 + 3] = param_4[3];\n          param_4[3] = cVar2;\n          pcVar14 = pcVar5 + 1;\n          *pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3];\n          pcVar5 = pcVar14;\n        } while (pcVar14 != pcVar3 + (int)pcVar22);" do (compound_statement "{\n          uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff;\n          cVar2 = pcVar6[uVar18 + 3];\n          uVar20 = (byte)cVar2 + uVar9;\n          uVar9 = uVar20 & 0xff;\n          param_4 = pcVar6 + uVar9;\n          pcVar6[uVar18 + 3] = param_4[3];\n          param_4[3] = cVar2;\n          pcVar14 = pcVar5 + 1;\n          *pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3];\n          pcVar5 = pcVar14;\n        }" { (expression_statement "uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff;" (assignment_expression "uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff" identifier = (binary_expression "(uint)(pcVar5 + (int)pcVar13) & 0xff" (call_expression "(uint)(pcVar5 + (int)pcVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar5 + (int)pcVar13)" ( (binary_expression "pcVar5 + (int)pcVar13" identifier + (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ))) & number_literal)) ;) (expression_statement "cVar2 = pcVar6[uVar18 + 3];" (assignment_expression "cVar2 = pcVar6[uVar18 + 3]" identifier = (subscript_expression "pcVar6[uVar18 + 3]" identifier [ (binary_expression "uVar18 + 3" identifier + number_literal) ])) ;) (expression_statement "uVar20 = (byte)cVar2 + uVar9;" (assignment_expression "uVar20 = (byte)cVar2 + uVar9" identifier = (binary_expression "(byte)cVar2 + uVar9" (cast_expression "(byte)cVar2" ( (type_descriptor "byte" type_identifier) ) identifier) + identifier)) ;) (expression_statement "uVar9 = uVar20 & 0xff;" (assignment_expression "uVar9 = uVar20 & 0xff" identifier = (binary_expression "uVar20 & 0xff" identifier & number_literal)) ;) (expression_statement "param_4 = pcVar6 + uVar9;" (assignment_expression "param_4 = pcVar6 + uVar9" identifier = (binary_expression "pcVar6 + uVar9" identifier + identifier)) ;) (expression_statement "pcVar6[uVar18 + 3] = param_4[3];" (assignment_expression "pcVar6[uVar18 + 3] = param_4[3]" (subscript_expression "pcVar6[uVar18 + 3]" identifier [ (binary_expression "uVar18 + 3" identifier + number_literal) ]) = (subscript_expression "param_4[3]" identifier [ number_literal ])) ;) (expression_statement "param_4[3] = cVar2;" (assignment_expression "param_4[3] = cVar2" (subscript_expression "param_4[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pcVar14 = pcVar5 + 1;" (assignment_expression "pcVar14 = pcVar5 + 1" identifier = (binary_expression "pcVar5 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3];" (assignment_expression "*pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3]" (pointer_expression "*pcVar5" * identifier) = (subscript_expression "pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3]" identifier [ (binary_expression "((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3" (parenthesized_expression "((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff)" ( (binary_expression "(uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff" (binary_expression "(uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3]" (cast_expression "(uint)(byte)cVar2" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)cVar2" ( (type_descriptor "byte" type_identifier) ) identifier)) + (cast_expression "(uint)(byte)pcVar6[uVar18 + 3]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pcVar6[uVar18 + 3]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pcVar6[uVar18 + 3]" identifier [ (binary_expression "uVar18 + 3" identifier + number_literal) ])))) & number_literal) )) + number_literal) ])) ;) (expression_statement "pcVar5 = pcVar14;" (assignment_expression "pcVar5 = pcVar14" identifier = identifier) ;) }) while (parenthesized_expression "(pcVar14 != pcVar3 + (int)pcVar22)" ( (binary_expression "pcVar14 != pcVar3 + (int)pcVar22" identifier != (binary_expression "pcVar3 + (int)pcVar22" identifier + (cast_expression "(int)pcVar22" ( (type_descriptor "int" primitive_type) ) identifier))) )) ;) (expression_statement "iVar27 = *(int *)(pcStack_240 + -0x7fd8);" (assignment_expression "iVar27 = *(int *)(pcStack_240 + -0x7fd8)" identifier = (pointer_expression "*(int *)(pcStack_240 + -0x7fd8)" * (cast_expression "(int *)(pcStack_240 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_240 + -0x7fd8)" ( (binary_expression "pcStack_240 + -0x7fd8" identifier + number_literal) ))))) ;) (expression_statement "pcVar22 = pcVar22 + -1;" (assignment_expression "pcVar22 = pcVar22 + -1" identifier = (binary_expression "pcVar22 + -1" identifier + number_literal)) ;) (expression_statement "*(byte *)(iVar27 + 0x339) = bVar17 + (char)pcVar22;" (assignment_expression "*(byte *)(iVar27 + 0x339) = bVar17 + (char)pcVar22" (pointer_expression "*(byte *)(iVar27 + 0x339)" * (cast_expression "(byte *)(iVar27 + 0x339)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x339)" ( (binary_expression "iVar27 + 0x339" identifier + number_literal) )))) = (binary_expression "bVar17 + (char)pcVar22" identifier + (cast_expression "(char)pcVar22" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "*(char *)(iVar27 + 0x33a) = (char)uVar20;" (assignment_expression "*(char *)(iVar27 + 0x33a) = (char)uVar20" (pointer_expression "*(char *)(iVar27 + 0x33a)" * (cast_expression "(char *)(iVar27 + 0x33a)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x33a)" ( (binary_expression "iVar27 + 0x33a" identifier + number_literal) )))) = (cast_expression "(char)uVar20" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "(**(code **)(pcStack_240 + -0x7d78))();" (call_expression "(**(code **)(pcStack_240 + -0x7d78))()" (parenthesized_expression "(**(code **)(pcStack_240 + -0x7d78))" ( (pointer_expression "**(code **)(pcStack_240 + -0x7d78)" * (pointer_expression "*(code **)(pcStack_240 + -0x7d78)" * (cast_expression "(code **)(pcStack_240 + -0x7d78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_240 + -0x7d78)" ( (binary_expression "pcStack_240 + -0x7d78" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar3 = pcVar13;" (assignment_expression "pcVar3 = pcVar13" identifier = identifier) ;) (goto_statement "goto LAB_000c4e3c;" goto statement_identifier ;) })) (expression_statement "iVar27 = *(int *)(pcStack_240 + -0x7fd8);" (assignment_expression "iVar27 = *(int *)(pcStack_240 + -0x7fd8)" identifier = (pointer_expression "*(int *)(pcStack_240 + -0x7fd8)" * (cast_expression "(int *)(pcStack_240 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_240 + -0x7fd8)" ( (binary_expression "pcStack_240 + -0x7fd8" identifier + number_literal) ))))) ;) })) (expression_statement "*(undefined1 *)(iVar27 + 0x338) = 0;" (assignment_expression "*(undefined1 *)(iVar27 + 0x338) = 0" (pointer_expression "*(undefined1 *)(iVar27 + 0x338)" * (cast_expression "(undefined1 *)(iVar27 + 0x338)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x338)" ( (binary_expression "iVar27 + 0x338" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(**(code **)(pcStack_240 + -0x7d78))();" (call_expression "(**(code **)(pcStack_240 + -0x7d78))()" (parenthesized_expression "(**(code **)(pcStack_240 + -0x7d78))" ( (pointer_expression "**(code **)(pcStack_240 + -0x7d78)" * (pointer_expression "*(code **)(pcStack_240 + -0x7d78)" * (cast_expression "(code **)(pcStack_240 + -0x7d78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_240 + -0x7d78)" ( (binary_expression "pcStack_240 + -0x7d78" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_000c4e3c:\n  if (pcStack_134 == (code *)**(int **)(pcStack_240 + -0x7a54)) {\n    return (code *)**(int **)(pcStack_240 + -0x7a54);\n  }" statement_identifier : (if_statement "if (pcStack_134 == (code *)**(int **)(pcStack_240 + -0x7a54)) {\n    return (code *)**(int **)(pcStack_240 + -0x7a54);\n  }" if (parenthesized_expression "(pcStack_134 == (code *)**(int **)(pcStack_240 + -0x7a54))" ( (binary_expression "pcStack_134 == (code *)**(int **)(pcStack_240 + -0x7a54)" identifier == (cast_expression "(code *)**(int **)(pcStack_240 + -0x7a54)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(pcStack_240 + -0x7a54)" * (pointer_expression "*(int **)(pcStack_240 + -0x7a54)" * (cast_expression "(int **)(pcStack_240 + -0x7a54)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_240 + -0x7a54)" ( (binary_expression "pcStack_240 + -0x7a54" identifier + number_literal) ))))))) )) (compound_statement "{\n    return (code *)**(int **)(pcStack_240 + -0x7a54);\n  }" { (return_statement "return (code *)**(int **)(pcStack_240 + -0x7a54);" return (cast_expression "(code *)**(int **)(pcStack_240 + -0x7a54)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(pcStack_240 + -0x7a54)" * (pointer_expression "*(int **)(pcStack_240 + -0x7a54)" * (cast_expression "(int **)(pcStack_240 + -0x7a54)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_240 + -0x7a54)" ( (binary_expression "pcStack_240 + -0x7a54" identifier + number_literal) )))))) ;) }))) (expression_statement "pcVar13 = *(code **)(pcStack_240 + -0x7a80);" (assignment_expression "pcVar13 = *(code **)(pcStack_240 + -0x7a80)" identifier = (pointer_expression "*(code **)(pcStack_240 + -0x7a80)" * (cast_expression "(code **)(pcStack_240 + -0x7a80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_240 + -0x7a80)" ( (binary_expression "pcStack_240 + -0x7a80" identifier + number_literal) ))))) ;) (expression_statement "pcVar31 = FUN_000c5048;" (assignment_expression "pcVar31 = FUN_000c5048" identifier = identifier) ;) (expression_statement "(*pcVar13)();" (call_expression "(*pcVar13)()" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_330 = pcVar13 + 0xd28d8;" (assignment_expression "pcStack_330 = pcVar13 + 0xd28d8" identifier = (binary_expression "pcVar13 + 0xd28d8" identifier + number_literal)) ;) (expression_statement "iStack_27c = **(int **)(pcVar13 + 0xcae84);" (assignment_expression "iStack_27c = **(int **)(pcVar13 + 0xcae84)" identifier = (pointer_expression "**(int **)(pcVar13 + 0xcae84)" * (pointer_expression "*(int **)(pcVar13 + 0xcae84)" * (cast_expression "(int **)(pcVar13 + 0xcae84)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0xcae84)" ( (binary_expression "pcVar13 + 0xcae84" identifier + number_literal) )))))) ;) (expression_statement "*pcVar14 = (code)0x0;" (assignment_expression "*pcVar14 = (code)0x0" (pointer_expression "*pcVar14" * identifier) = (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (expression_statement "pcVar5 = (code *)**(undefined4 **)(pcVar13 + 0xcac68);" (assignment_expression "pcVar5 = (code *)**(undefined4 **)(pcVar13 + 0xcac68)" identifier = (cast_expression "(code *)**(undefined4 **)(pcVar13 + 0xcac68)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar13 + 0xcac68)" * (pointer_expression "*(undefined4 **)(pcVar13 + 0xcac68)" * (cast_expression "(undefined4 **)(pcVar13 + 0xcac68)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0xcac68)" ( (binary_expression "pcVar13 + 0xcac68" identifier + number_literal) ))))))) ;) (expression_statement "iStack_278 = iVar4;" (assignment_expression "iStack_278 = iVar4" identifier = identifier) ;) (expression_statement "pcStack_274 = pcVar3;" (assignment_expression "pcStack_274 = pcVar3" identifier = identifier) ;) (expression_statement "pcStack_270 = pcVar22;" (assignment_expression "pcStack_270 = pcVar22" identifier = identifier) ;) (expression_statement "pcStack_26c = unaff_s3;" (assignment_expression "pcStack_26c = unaff_s3" identifier = identifier) ;) (expression_statement "pcStack_268 = unaff_s4;" (assignment_expression "pcStack_268 = unaff_s4" identifier = identifier) ;) (expression_statement "pcStack_264 = unaff_s5;" (assignment_expression "pcStack_264 = unaff_s5" identifier = identifier) ;) (expression_statement "pcStack_260 = unaff_s6;" (assignment_expression "pcStack_260 = unaff_s6" identifier = identifier) ;) (expression_statement "pcStack_25c = unaff_s7;" (assignment_expression "pcStack_25c = unaff_s7" identifier = identifier) ;) (expression_statement "pcStack_258 = unaff_s8;" (assignment_expression "pcStack_258 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_254 = pcVar31;" (assignment_expression "pcStack_254 = pcVar31" identifier = identifier) ;) (if_statement "if (*(int *)(*(int *)(pcVar13 + 0xca900) + -0xb90) == 0) {\n    uVar29 = (**(code **)(pcVar13 + 0xcae0c))(*(int *)(pcVar13 + 0xca914) + -0x45f4);\n    *(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90) = uVar29;\n  }" if (parenthesized_expression "(*(int *)(*(int *)(pcVar13 + 0xca900) + -0xb90) == 0)" ( (binary_expression "*(int *)(*(int *)(pcVar13 + 0xca900) + -0xb90) == 0" (pointer_expression "*(int *)(*(int *)(pcVar13 + 0xca900) + -0xb90)" * (cast_expression "(int *)(*(int *)(pcVar13 + 0xca900) + -0xb90)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar13 + 0xca900) + -0xb90)" ( (binary_expression "*(int *)(pcVar13 + 0xca900) + -0xb90" (pointer_expression "*(int *)(pcVar13 + 0xca900)" * (cast_expression "(int *)(pcVar13 + 0xca900)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0xca900)" ( (binary_expression "pcVar13 + 0xca900" identifier + number_literal) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    uVar29 = (**(code **)(pcVar13 + 0xcae0c))(*(int *)(pcVar13 + 0xca914) + -0x45f4);\n    *(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90) = uVar29;\n  }" { (expression_statement "uVar29 = (**(code **)(pcVar13 + 0xcae0c))(*(int *)(pcVar13 + 0xca914) + -0x45f4);" (assignment_expression "uVar29 = (**(code **)(pcVar13 + 0xcae0c))(*(int *)(pcVar13 + 0xca914) + -0x45f4)" identifier = (call_expression "(**(code **)(pcVar13 + 0xcae0c))(*(int *)(pcVar13 + 0xca914) + -0x45f4)" (parenthesized_expression "(**(code **)(pcVar13 + 0xcae0c))" ( (pointer_expression "**(code **)(pcVar13 + 0xcae0c)" * (pointer_expression "*(code **)(pcVar13 + 0xcae0c)" * (cast_expression "(code **)(pcVar13 + 0xcae0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0xcae0c)" ( (binary_expression "pcVar13 + 0xcae0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar13 + 0xca914) + -0x45f4)" ( (binary_expression "*(int *)(pcVar13 + 0xca914) + -0x45f4" (pointer_expression "*(int *)(pcVar13 + 0xca914)" * (cast_expression "(int *)(pcVar13 + 0xca914)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0xca914)" ( (binary_expression "pcVar13 + 0xca914" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "*(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90) = uVar29;" (assignment_expression "*(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90) = uVar29" (pointer_expression "*(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90)" * (cast_expression "(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_330 + -0x7fd8) + -0xb90)" ( (binary_expression "*(int *)(pcStack_330 + -0x7fd8) + -0xb90" (pointer_expression "*(int *)(pcStack_330 + -0x7fd8)" * (cast_expression "(int *)(pcStack_330 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_330 + -0x7fd8)" ( (binary_expression "pcStack_330 + -0x7fd8" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) })) (if_statement "if (*(int *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) == 0) {\n    uVar29 = (**(code **)(pcStack_330 + -0x7acc))(*(int *)(pcStack_330 + -0x7fc4) + -0x45e4);\n    *(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) = uVar29;\n  }" if (parenthesized_expression "(*(int *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) == 0)" ( (binary_expression "*(int *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) == 0" (pointer_expression "*(int *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c)" * (cast_expression "(int *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c)" ( (binary_expression "*(int *)(pcStack_330 + -0x7fd8) + -0xb8c" (pointer_expression "*(int *)(pcStack_330 + -0x7fd8)" * (cast_expression "(int *)(pcStack_330 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_330 + -0x7fd8)" ( (binary_expression "pcStack_330 + -0x7fd8" identifier + number_literal) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    uVar29 = (**(code **)(pcStack_330 + -0x7acc))(*(int *)(pcStack_330 + -0x7fc4) + -0x45e4);\n    *(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) = uVar29;\n  }" { (expression_statement "uVar29 = (**(code **)(pcStack_330 + -0x7acc))(*(int *)(pcStack_330 + -0x7fc4) + -0x45e4);" (assignment_expression "uVar29 = (**(code **)(pcStack_330 + -0x7acc))(*(int *)(pcStack_330 + -0x7fc4) + -0x45e4)" identifier = (call_expression "(**(code **)(pcStack_330 + -0x7acc))(*(int *)(pcStack_330 + -0x7fc4) + -0x45e4)" (parenthesized_expression "(**(code **)(pcStack_330 + -0x7acc))" ( (pointer_expression "**(code **)(pcStack_330 + -0x7acc)" * (pointer_expression "*(code **)(pcStack_330 + -0x7acc)" * (cast_expression "(code **)(pcStack_330 + -0x7acc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_330 + -0x7acc)" ( (binary_expression "pcStack_330 + -0x7acc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcStack_330 + -0x7fc4) + -0x45e4)" ( (binary_expression "*(int *)(pcStack_330 + -0x7fc4) + -0x45e4" (pointer_expression "*(int *)(pcStack_330 + -0x7fc4)" * (cast_expression "(int *)(pcStack_330 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_330 + -0x7fc4)" ( (binary_expression "pcStack_330 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "*(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) = uVar29;" (assignment_expression "*(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) = uVar29" (pointer_expression "*(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c)" * (cast_expression "(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c)" ( (binary_expression "*(int *)(pcStack_330 + -0x7fd8) + -0xb8c" (pointer_expression "*(int *)(pcStack_330 + -0x7fd8)" * (cast_expression "(int *)(pcStack_330 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_330 + -0x7fd8)" ( (binary_expression "pcStack_330 + -0x7fd8" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) })) (expression_statement "pcVar3 = (code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90);" (assignment_expression "pcVar3 = (code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90)" identifier = (cast_expression "(code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_330 + -0x7fd8) + -0xb90)" ( (binary_expression "*(int *)(pcStack_330 + -0x7fd8) + -0xb90" (pointer_expression "*(int *)(pcStack_330 + -0x7fd8)" * (cast_expression "(int *)(pcStack_330 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_330 + -0x7fd8)" ( (binary_expression "pcStack_330 + -0x7fd8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb78);" (assignment_expression "pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb78)" identifier = (cast_expression "(code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb78)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_330 + -0x7fd8) + -0xb78)" ( (binary_expression "*(int *)(pcStack_330 + -0x7fd8) + -0xb78" (pointer_expression "*(int *)(pcStack_330 + -0x7fd8)" * (cast_expression "(int *)(pcStack_330 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_330 + -0x7fd8)" ( (binary_expression "pcStack_330 + -0x7fd8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar26 = (code *)auStack_320;" (assignment_expression "pcVar26 = (code *)auStack_320" identifier = (cast_expression "(code *)auStack_320" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar4 = *(int *)(pcStack_330 + -0x7fd8);" (assignment_expression "iVar4 = *(int *)(pcStack_330 + -0x7fd8)" identifier = (pointer_expression "*(int *)(pcStack_330 + -0x7fd8)" * (cast_expression "(int *)(pcStack_330 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_330 + -0x7fd8)" ( (binary_expression "pcStack_330 + -0x7fd8" identifier + number_literal) ))))) ;) (expression_statement "pcVar13 = (code *)(iVar4 + -0x840);" (assignment_expression "pcVar13 = (code *)(iVar4 + -0x840)" identifier = (cast_expression "(code *)(iVar4 + -0x840)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + -0x840)" ( (binary_expression "iVar4 + -0x840" identifier + number_literal) )))) ;) (expression_statement "iVar27 = 0x4000;" (assignment_expression "iVar27 = 0x4000" identifier = number_literal) ;) (expression_statement "pcVar22 = pcStack_330;" (assignment_expression "pcVar22 = pcStack_330" identifier = identifier) ;) (while_statement "while( true ) {\n    pcVar30 = pcVar26;\n    if ((((pcVar5 != (code *)0x0) &&\n         (iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) &&\n        (pcVar30 = (code *)0x3, (uStack_308 & 0xf000) == 0x4000)) &&\n       (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) {\n      pcVar3 = (code *)&DAT_0000000c;\n      pcVar26 = (code *)&uStack_328;\n      pcVar13 = pcVar14 + (int)(pcVar25 + -2);\n      pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fc4) + -0x45dc);\n      iVar4 = *(int *)(pcStack_330 + -0x7fd8);\n      iVar27 = iVar4 + -0x840;\n      goto LAB_000c51a4;\n    }\n    pcVar23 = (code *)0x190a;\n    if (pcVar3 == pcVar31) break;\n    pcVar5 = *(code **)pcVar3;\n    pcVar3 = pcVar3 + 4;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    pcVar30 = pcVar26;\n    if ((((pcVar5 != (code *)0x0) &&\n         (iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) &&\n        (pcVar30 = (code *)0x3, (uStack_308 & 0xf000) == 0x4000)) &&\n       (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) {\n      pcVar3 = (code *)&DAT_0000000c;\n      pcVar26 = (code *)&uStack_328;\n      pcVar13 = pcVar14 + (int)(pcVar25 + -2);\n      pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fc4) + -0x45dc);\n      iVar4 = *(int *)(pcStack_330 + -0x7fd8);\n      iVar27 = iVar4 + -0x840;\n      goto LAB_000c51a4;\n    }\n    pcVar23 = (code *)0x190a;\n    if (pcVar3 == pcVar31) break;\n    pcVar5 = *(code **)pcVar3;\n    pcVar3 = pcVar3 + 4;\n  }" { (expression_statement "pcVar30 = pcVar26;" (assignment_expression "pcVar30 = pcVar26" identifier = identifier) ;) (if_statement "if ((((pcVar5 != (code *)0x0) &&\n         (iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) &&\n        (pcVar30 = (code *)0x3, (uStack_308 & 0xf000) == 0x4000)) &&\n       (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) {\n      pcVar3 = (code *)&DAT_0000000c;\n      pcVar26 = (code *)&uStack_328;\n      pcVar13 = pcVar14 + (int)(pcVar25 + -2);\n      pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fc4) + -0x45dc);\n      iVar4 = *(int *)(pcStack_330 + -0x7fd8);\n      iVar27 = iVar4 + -0x840;\n      goto LAB_000c51a4;\n    }" if (parenthesized_expression "((((pcVar5 != (code *)0x0) &&\n         (iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) &&\n        (pcVar30 = (code *)0x3, (uStack_308 & 0xf000) == 0x4000)) &&\n       (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0))" ( (binary_expression "(((pcVar5 != (code *)0x0) &&\n         (iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) &&\n        (pcVar30 = (code *)0x3, (uStack_308 & 0xf000) == 0x4000)) &&\n       (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)" (parenthesized_expression "(((pcVar5 != (code *)0x0) &&\n         (iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) &&\n        (pcVar30 = (code *)0x3, (uStack_308 & 0xf000) == 0x4000))" ( (binary_expression "((pcVar5 != (code *)0x0) &&\n         (iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) &&\n        (pcVar30 = (code *)0x3, (uStack_308 & 0xf000) == 0x4000)" (parenthesized_expression "((pcVar5 != (code *)0x0) &&\n         (iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0))" ( (binary_expression "(pcVar5 != (code *)0x0) &&\n         (iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)" (parenthesized_expression "(pcVar5 != (code *)0x0)" ( (binary_expression "pcVar5 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)" ( (comma_expression "iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0" (assignment_expression "iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5)" identifier = (call_expression "(**(code **)(iVar4 + -0x80c))(pcVar5)" (parenthesized_expression "(**(code **)(iVar4 + -0x80c))" ( (pointer_expression "**(code **)(iVar4 + -0x80c)" * (pointer_expression "*(code **)(iVar4 + -0x80c)" * (cast_expression "(code **)(iVar4 + -0x80c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + -0x80c)" ( (binary_expression "iVar4 + -0x80c" identifier + number_literal) ))))) )) (argument_list "(pcVar5)" ( identifier )))) , (comma_expression "pcVar22 = pcStack_330, iVar8 == 0" (assignment_expression "pcVar22 = pcStack_330" identifier = identifier) , (binary_expression "iVar8 == 0" identifier == number_literal))) ))) )) && (parenthesized_expression "(pcVar30 = (code *)0x3, (uStack_308 & 0xf000) == 0x4000)" ( (comma_expression "pcVar30 = (code *)0x3, (uStack_308 & 0xf000) == 0x4000" (assignment_expression "pcVar30 = (code *)0x3" identifier = (cast_expression "(code *)0x3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) , (binary_expression "(uStack_308 & 0xf000) == 0x4000" (parenthesized_expression "(uStack_308 & 0xf000)" ( (binary_expression "uStack_308 & 0xf000" identifier & number_literal) )) == number_literal)) ))) )) && (parenthesized_expression "(iVar8 = (**(code **)(iVar4 + -0x824))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)" ( (comma_expression "iVar8 = (**(code **)(iVar4 + -0x824))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0" (assignment_expression "iVar8 = (**(code **)(iVar4 + -0x824))(pcVar5)" identifier = (call_expression "(**(code **)(iVar4 + -0x824))(pcVar5)" (parenthesized_expression "(**(code **)(iVar4 + -0x824))" ( (pointer_expression "**(code **)(iVar4 + -0x824)" * (pointer_expression "*(code **)(iVar4 + -0x824)" * (cast_expression "(code **)(iVar4 + -0x824)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + -0x824)" ( (binary_expression "iVar4 + -0x824" identifier + number_literal) ))))) )) (argument_list "(pcVar5)" ( identifier )))) , (comma_expression "pcVar22 = pcStack_330, iVar8 == 0" (assignment_expression "pcVar22 = pcStack_330" identifier = identifier) , (binary_expression "iVar8 == 0" identifier == number_literal))) ))) )) (compound_statement "{\n      pcVar3 = (code *)&DAT_0000000c;\n      pcVar26 = (code *)&uStack_328;\n      pcVar13 = pcVar14 + (int)(pcVar25 + -2);\n      pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fc4) + -0x45dc);\n      iVar4 = *(int *)(pcStack_330 + -0x7fd8);\n      iVar27 = iVar4 + -0x840;\n      goto LAB_000c51a4;\n    }" { (expression_statement "pcVar3 = (code *)&DAT_0000000c;" (assignment_expression "pcVar3 = (code *)&DAT_0000000c" identifier = (cast_expression "(code *)&DAT_0000000c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000000c" & identifier))) ;) (expression_statement "pcVar26 = (code *)&uStack_328;" (assignment_expression "pcVar26 = (code *)&uStack_328" identifier = (cast_expression "(code *)&uStack_328" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_328" & identifier))) ;) (expression_statement "pcVar13 = pcVar14 + (int)(pcVar25 + -2);" (assignment_expression "pcVar13 = pcVar14 + (int)(pcVar25 + -2)" identifier = (binary_expression "pcVar14 + (int)(pcVar25 + -2)" identifier + (cast_expression "(int)(pcVar25 + -2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar25 + -2)" ( (binary_expression "pcVar25 + -2" identifier + number_literal) ))))) ;) (expression_statement "pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fc4) + -0x45dc);" (assignment_expression "pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fc4) + -0x45dc)" identifier = (cast_expression "(code *)(*(int *)(pcStack_330 + -0x7fc4) + -0x45dc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_330 + -0x7fc4) + -0x45dc)" ( (binary_expression "*(int *)(pcStack_330 + -0x7fc4) + -0x45dc" (pointer_expression "*(int *)(pcStack_330 + -0x7fc4)" * (cast_expression "(int *)(pcStack_330 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_330 + -0x7fc4)" ( (binary_expression "pcStack_330 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar4 = *(int *)(pcStack_330 + -0x7fd8);" (assignment_expression "iVar4 = *(int *)(pcStack_330 + -0x7fd8)" identifier = (pointer_expression "*(int *)(pcStack_330 + -0x7fd8)" * (cast_expression "(int *)(pcStack_330 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_330 + -0x7fd8)" ( (binary_expression "pcStack_330 + -0x7fd8" identifier + number_literal) ))))) ;) (expression_statement "iVar27 = iVar4 + -0x840;" (assignment_expression "iVar27 = iVar4 + -0x840" identifier = (binary_expression "iVar4 + -0x840" identifier + number_literal)) ;) (goto_statement "goto LAB_000c51a4;" goto statement_identifier ;) })) (expression_statement "pcVar23 = (code *)0x190a;" (assignment_expression "pcVar23 = (code *)0x190a" identifier = (cast_expression "(code *)0x190a" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (pcVar3 == pcVar31) break;" if (parenthesized_expression "(pcVar3 == pcVar31)" ( (binary_expression "pcVar3 == pcVar31" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "pcVar5 = *(code **)pcVar3;" (assignment_expression "pcVar5 = *(code **)pcVar3" identifier = (pointer_expression "*(code **)pcVar3" * (cast_expression "(code **)pcVar3" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pcVar3 = pcVar3 + 4;" (assignment_expression "pcVar3 = pcVar3 + 4" identifier = (binary_expression "pcVar3 + 4" identifier + number_literal)) ;) })) (goto_statement "goto LAB_000c5230;" goto statement_identifier ;) (labeled_statement "joined_r0x000c5ce4:\n  if (param_4 == pcVar5) goto LAB_000c5d10;" statement_identifier : (if_statement "if (param_4 == pcVar5) goto LAB_000c5d10;" if (parenthesized_expression "(param_4 == pcVar5)" ( (binary_expression "param_4 == pcVar5" identifier == identifier) )) (goto_statement "goto LAB_000c5d10;" goto statement_identifier ;))) (expression_statement "piVar21 = (int *)piVar11[2];" (assignment_expression "piVar21 = (int *)piVar11[2]" identifier = (cast_expression "(int *)piVar11[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar11[2]" identifier [ number_literal ]))) ;) (if_statement "if (piVar21 == (int *)0x0) goto LAB_000c6494;" if (parenthesized_expression "(piVar21 == (int *)0x0)" ( (binary_expression "piVar21 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c6494;" goto statement_identifier ;)) (expression_statement "pcVar5 = (code *)piVar21[1];" (assignment_expression "pcVar5 = (code *)piVar21[1]" identifier = (cast_expression "(code *)piVar21[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar21[1]" identifier [ number_literal ]))) ;) (expression_statement "piVar12 = piVar11 + 2;" (assignment_expression "piVar12 = piVar11 + 2" identifier = (binary_expression "piVar11 + 2" identifier + number_literal)) ;) (expression_statement "piVar11 = piVar21;" (assignment_expression "piVar11 = piVar21" identifier = identifier) ;) (goto_statement "goto joined_r0x000c5ce4;" goto statement_identifier ;) (labeled_statement "LAB_000c5d10:\n  *piVar12 = piVar11[2];" statement_identifier : (expression_statement "*piVar12 = piVar11[2];" (assignment_expression "*piVar12 = piVar11[2]" (pointer_expression "*piVar12" * identifier) = (subscript_expression "piVar11[2]" identifier [ number_literal ])) ;)) (expression_statement "(**(code **)(pcVar22 + 0xca2ac))(piVar10[4]);" (call_expression "(**(code **)(pcVar22 + 0xca2ac))(piVar10[4])" (parenthesized_expression "(**(code **)(pcVar22 + 0xca2ac))" ( (pointer_expression "**(code **)(pcVar22 + 0xca2ac)" * (pointer_expression "*(code **)(pcVar22 + 0xca2ac)" * (cast_expression "(code **)(pcVar22 + 0xca2ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca2ac)" ( (binary_expression "pcVar22 + 0xca2ac" identifier + number_literal) ))))) )) (argument_list "(piVar10[4])" ( (subscript_expression "piVar10[4]" identifier [ number_literal ]) ))) ;) (expression_statement "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();" (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca25c) + 0x27b8)" ( (binary_expression "*(int *)(pcVar22 + 0xca25c) + 0x27b8" (pointer_expression "*(int *)(pcVar22 + 0xca25c)" * (cast_expression "(int *)(pcVar22 + 0xca25c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca25c)" ( (binary_expression "pcVar22 + 0xca25c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (expression_statement "iVar4 = *piVar11;" (assignment_expression "iVar4 = *piVar11" identifier = (pointer_expression "*piVar11" * identifier)) ;) (goto_statement "goto LAB_000c5d44;" goto statement_identifier ;) (labeled_statement "LAB_000c6494:\n  (**(code **)(pcVar22 + 0xca2ac))(piVar10[4]);" statement_identifier : (expression_statement "(**(code **)(pcVar22 + 0xca2ac))(piVar10[4]);" (call_expression "(**(code **)(pcVar22 + 0xca2ac))(piVar10[4])" (parenthesized_expression "(**(code **)(pcVar22 + 0xca2ac))" ( (pointer_expression "**(code **)(pcVar22 + 0xca2ac)" * (pointer_expression "*(code **)(pcVar22 + 0xca2ac)" * (cast_expression "(code **)(pcVar22 + 0xca2ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca2ac)" ( (binary_expression "pcVar22 + 0xca2ac" identifier + number_literal) ))))) )) (argument_list "(piVar10[4])" ( (subscript_expression "piVar10[4]" identifier [ number_literal ]) ))) ;)) (expression_statement "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();" (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca25c) + 0x27b8)" ( (binary_expression "*(int *)(pcVar22 + 0xca25c) + 0x27b8" (pointer_expression "*(int *)(pcVar22 + 0xca25c)" * (cast_expression "(int *)(pcVar22 + 0xca25c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca25c)" ( (binary_expression "pcVar22 + 0xca25c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_000c642c;" goto statement_identifier ;) (while_statement "while (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar14), iVar8 == 0) {\nLAB_000c51a4:\n    sqlite3_randomness(8,pcVar26);\n    *pcVar13 = (code)0x0;\n    uStack_338 = 0;\n    uStack_33c = uStack_324;\n    uStack_340 = uStack_328;\n    pcVar30 = pcVar14;\n    pcVar6 = pcVar31;\n    param_4 = pcVar5;\n    (**(code **)(pcStack_330 + -0x7ec4))(pcVar25);\n    pcVar3 = pcVar3 + -1;\n    if ((*pcVar13 != (code)0x0) || (pcVar30 = (code *)0x0, pcVar3 == (code *)0x0)) {\n      pcVar23 = (code *)0x1;\n      pcVar22 = pcStack_330;\n      goto LAB_000c5230;\n    }\n  }" while (parenthesized_expression "(iVar8 = (**(code **)(iVar4 + -0x824))(pcVar14), iVar8 == 0)" ( (comma_expression "iVar8 = (**(code **)(iVar4 + -0x824))(pcVar14), iVar8 == 0" (assignment_expression "iVar8 = (**(code **)(iVar4 + -0x824))(pcVar14)" identifier = (call_expression "(**(code **)(iVar4 + -0x824))(pcVar14)" (parenthesized_expression "(**(code **)(iVar4 + -0x824))" ( (pointer_expression "**(code **)(iVar4 + -0x824)" * (pointer_expression "*(code **)(iVar4 + -0x824)" * (cast_expression "(code **)(iVar4 + -0x824)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + -0x824)" ( (binary_expression "iVar4 + -0x824" identifier + number_literal) ))))) )) (argument_list "(pcVar14)" ( identifier )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) )) (compound_statement "{\nLAB_000c51a4:\n    sqlite3_randomness(8,pcVar26);\n    *pcVar13 = (code)0x0;\n    uStack_338 = 0;\n    uStack_33c = uStack_324;\n    uStack_340 = uStack_328;\n    pcVar30 = pcVar14;\n    pcVar6 = pcVar31;\n    param_4 = pcVar5;\n    (**(code **)(pcStack_330 + -0x7ec4))(pcVar25);\n    pcVar3 = pcVar3 + -1;\n    if ((*pcVar13 != (code)0x0) || (pcVar30 = (code *)0x0, pcVar3 == (code *)0x0)) {\n      pcVar23 = (code *)0x1;\n      pcVar22 = pcStack_330;\n      goto LAB_000c5230;\n    }\n  }" { (labeled_statement "LAB_000c51a4:\n    sqlite3_randomness(8,pcVar26);" statement_identifier : (expression_statement "sqlite3_randomness(8,pcVar26);" (call_expression "sqlite3_randomness(8,pcVar26)" identifier (argument_list "(8,pcVar26)" ( number_literal , identifier ))) ;)) (expression_statement "*pcVar13 = (code)0x0;" (assignment_expression "*pcVar13 = (code)0x0" (pointer_expression "*pcVar13" * identifier) = (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (expression_statement "uStack_338 = 0;" (assignment_expression "uStack_338 = 0" identifier = number_literal) ;) (expression_statement "uStack_33c = uStack_324;" (assignment_expression "uStack_33c = uStack_324" identifier = identifier) ;) (expression_statement "uStack_340 = uStack_328;" (assignment_expression "uStack_340 = uStack_328" identifier = identifier) ;) (expression_statement "pcVar30 = pcVar14;" (assignment_expression "pcVar30 = pcVar14" identifier = identifier) ;) (expression_statement "pcVar6 = pcVar31;" (assignment_expression "pcVar6 = pcVar31" identifier = identifier) ;) (expression_statement "param_4 = pcVar5;" (assignment_expression "param_4 = pcVar5" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_330 + -0x7ec4))(pcVar25);" (call_expression "(**(code **)(pcStack_330 + -0x7ec4))(pcVar25)" (parenthesized_expression "(**(code **)(pcStack_330 + -0x7ec4))" ( (pointer_expression "**(code **)(pcStack_330 + -0x7ec4)" * (pointer_expression "*(code **)(pcStack_330 + -0x7ec4)" * (cast_expression "(code **)(pcStack_330 + -0x7ec4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_330 + -0x7ec4)" ( (binary_expression "pcStack_330 + -0x7ec4" identifier + number_literal) ))))) )) (argument_list "(pcVar25)" ( identifier ))) ;) (expression_statement "pcVar3 = pcVar3 + -1;" (assignment_expression "pcVar3 = pcVar3 + -1" identifier = (binary_expression "pcVar3 + -1" identifier + number_literal)) ;) (if_statement "if ((*pcVar13 != (code)0x0) || (pcVar30 = (code *)0x0, pcVar3 == (code *)0x0)) {\n      pcVar23 = (code *)0x1;\n      pcVar22 = pcStack_330;\n      goto LAB_000c5230;\n    }" if (parenthesized_expression "((*pcVar13 != (code)0x0) || (pcVar30 = (code *)0x0, pcVar3 == (code *)0x0))" ( (binary_expression "(*pcVar13 != (code)0x0) || (pcVar30 = (code *)0x0, pcVar3 == (code *)0x0)" (parenthesized_expression "(*pcVar13 != (code)0x0)" ( (binary_expression "*pcVar13 != (code)0x0" (pointer_expression "*pcVar13" * identifier) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) || (parenthesized_expression "(pcVar30 = (code *)0x0, pcVar3 == (code *)0x0)" ( (comma_expression "pcVar30 = (code *)0x0, pcVar3 == (code *)0x0" (assignment_expression "pcVar30 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) , (binary_expression "pcVar3 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n      pcVar23 = (code *)0x1;\n      pcVar22 = pcStack_330;\n      goto LAB_000c5230;\n    }" { (expression_statement "pcVar23 = (code *)0x1;" (assignment_expression "pcVar23 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar22 = pcStack_330;" (assignment_expression "pcVar22 = pcStack_330" identifier = identifier) ;) (goto_statement "goto LAB_000c5230;" goto statement_identifier ;) })) })) (expression_statement "pcVar23 = (code *)0x0;" (assignment_expression "pcVar23 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar30 = pcVar26;" (assignment_expression "pcVar30 = pcVar26" identifier = identifier) ;) (expression_statement "pcVar22 = pcStack_330;" (assignment_expression "pcVar22 = pcStack_330" identifier = identifier) ;) (labeled_statement "LAB_000c5230:\n  if (iStack_27c == **(int **)(pcVar22 + -0x7a54)) {\n    return pcVar23;\n  }" statement_identifier : (if_statement "if (iStack_27c == **(int **)(pcVar22 + -0x7a54)) {\n    return pcVar23;\n  }" if (parenthesized_expression "(iStack_27c == **(int **)(pcVar22 + -0x7a54))" ( (binary_expression "iStack_27c == **(int **)(pcVar22 + -0x7a54)" identifier == (pointer_expression "**(int **)(pcVar22 + -0x7a54)" * (pointer_expression "*(int **)(pcVar22 + -0x7a54)" * (cast_expression "(int **)(pcVar22 + -0x7a54)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + -0x7a54)" ( (binary_expression "pcVar22 + -0x7a54" identifier + number_literal) )))))) )) (compound_statement "{\n    return pcVar23;\n  }" { (return_statement "return pcVar23;" return identifier ;) }))) (expression_statement "pcVar22 = *(code **)(pcVar22 + -0x7a80);" (assignment_expression "pcVar22 = *(code **)(pcVar22 + -0x7a80)" identifier = (pointer_expression "*(code **)(pcVar22 + -0x7a80)" * (cast_expression "(code **)(pcVar22 + -0x7a80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + -0x7a80)" ( (binary_expression "pcVar22 + -0x7a80" identifier + number_literal) ))))) ;) (expression_statement "uVar29 = 0xc527c;" (assignment_expression "uVar29 = 0xc527c" identifier = number_literal) ;) (expression_statement "iVar4 = iStack_27c;" (assignment_expression "iVar4 = iStack_27c" identifier = identifier) ;) (expression_statement "(*pcVar22)();" (call_expression "(*pcVar22)()" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_448 = pcVar22 + 0xd26a4;" (assignment_expression "pcStack_448 = pcVar22 + 0xd26a4" identifier = (binary_expression "pcVar22 + 0xd26a4" identifier + number_literal)) ;) (expression_statement "iVar8 = **(int **)(pcVar22 + 0xcac50);" (assignment_expression "iVar8 = **(int **)(pcVar22 + 0xcac50)" identifier = (pointer_expression "**(int **)(pcVar22 + 0xcac50)" * (pointer_expression "*(int **)(pcVar22 + 0xcac50)" * (cast_expression "(int **)(pcVar22 + 0xcac50)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xcac50)" ( (binary_expression "pcVar22 + 0xcac50" identifier + number_literal) )))))) ;) (expression_statement "iStack_37c = iVar8;" (assignment_expression "iStack_37c = iVar8" identifier = identifier) ;) (expression_statement "pcStack_378 = pcVar3;" (assignment_expression "pcStack_378 = pcVar3" identifier = identifier) ;) (expression_statement "pcStack_374 = pcVar5;" (assignment_expression "pcStack_374 = pcVar5" identifier = identifier) ;) (expression_statement "pcStack_370 = pcVar14;" (assignment_expression "pcStack_370 = pcVar14" identifier = identifier) ;) (expression_statement "pcStack_36c = pcVar13;" (assignment_expression "pcStack_36c = pcVar13" identifier = identifier) ;) (expression_statement "pcStack_368 = pcVar25;" (assignment_expression "pcStack_368 = pcVar25" identifier = identifier) ;) (expression_statement "pcStack_364 = pcVar31;" (assignment_expression "pcStack_364 = pcVar31" identifier = identifier) ;) (expression_statement "pcStack_360 = pcVar26;" (assignment_expression "pcStack_360 = pcVar26" identifier = identifier) ;) (expression_statement "pcStack_35c = pcVar23;" (assignment_expression "pcStack_35c = pcVar23" identifier = identifier) ;) (expression_statement "iStack_358 = iVar27;" (assignment_expression "iStack_358 = iVar27" identifier = identifier) ;) (expression_statement "uStack_354 = uVar29;" (assignment_expression "uStack_354 = uVar29" identifier = identifier) ;) (if_statement "if (pcVar30 < &DAT_00000015) {\n                    /* WARNING: Could not recover jumptable at 0x000c52e8. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    pcVar22 = (code *)(*(pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)))();\n    return pcVar22;\n  }" if (parenthesized_expression "(pcVar30 < &DAT_00000015)" ( (binary_expression "pcVar30 < &DAT_00000015" identifier < (pointer_expression "&DAT_00000015" & identifier)) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x000c52e8. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    pcVar22 = (code *)(*(pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)))();\n    return pcVar22;\n  }" { comment comment (expression_statement "pcVar22 = (code *)(*(pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)))();" (assignment_expression "pcVar22 = (code *)(*(pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)))()" identifier = (cast_expression "(code *)(*(pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)))()" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)))()" (parenthesized_expression "(*(pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)))" ( (pointer_expression "*(pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4))" * (parenthesized_expression "(pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4))" ( (binary_expression "pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)" identifier + (pointer_expression "*(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)" * (cast_expression "(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)" ( (binary_expression "*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4" (binary_expression "*(int *)(pcVar22 + 0xca6e0) + 0x37fc" (pointer_expression "*(int *)(pcVar22 + 0xca6e0)" * (cast_expression "(int *)(pcVar22 + 0xca6e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca6e0)" ( (binary_expression "pcVar22 + 0xca6e0" identifier + number_literal) )))) + number_literal) + (binary_expression "(int)pcVar30 * 4" (cast_expression "(int)pcVar30" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ))) )) (argument_list "()" ( ))))) ;) (return_statement "return pcVar22;" return identifier ;) })) (if_statement "if (iVar8 == **(int **)(pcVar22 + 0xcac50)) {\n    return (code *)&DAT_0000000c;\n  }" if (parenthesized_expression "(iVar8 == **(int **)(pcVar22 + 0xcac50))" ( (binary_expression "iVar8 == **(int **)(pcVar22 + 0xcac50)" identifier == (pointer_expression "**(int **)(pcVar22 + 0xcac50)" * (pointer_expression "*(int **)(pcVar22 + 0xcac50)" * (cast_expression "(int **)(pcVar22 + 0xcac50)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xcac50)" ( (binary_expression "pcVar22 + 0xcac50" identifier + number_literal) )))))) )) (compound_statement "{\n    return (code *)&DAT_0000000c;\n  }" { (return_statement "return (code *)&DAT_0000000c;" return (cast_expression "(code *)&DAT_0000000c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000000c" & identifier)) ;) })) (expression_statement "pcVar22 = *(code **)(pcVar22 + 0xcac24);" (assignment_expression "pcVar22 = *(code **)(pcVar22 + 0xcac24)" identifier = (pointer_expression "*(code **)(pcVar22 + 0xcac24)" * (cast_expression "(code **)(pcVar22 + 0xcac24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xcac24)" ( (binary_expression "pcVar22 + 0xcac24" identifier + number_literal) ))))) ;) (expression_statement "uVar29 = 0xc58fc;" (assignment_expression "uVar29 = 0xc58fc" identifier = number_literal) ;) (expression_statement "(*pcVar22)();" (call_expression "(*pcVar22)()" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iStack_494 = **(int **)(pcVar22 + 0xca5d0);" (assignment_expression "iStack_494 = **(int **)(pcVar22 + 0xca5d0)" identifier = (pointer_expression "**(int **)(pcVar22 + 0xca5d0)" * (pointer_expression "*(int **)(pcVar22 + 0xca5d0)" * (cast_expression "(int **)(pcVar22 + 0xca5d0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca5d0)" ( (binary_expression "pcVar22 + 0xca5d0" identifier + number_literal) )))))) ;) (expression_statement "uVar20 = (uint)param_4 & 0xffffff00;" (assignment_expression "uVar20 = (uint)param_4 & 0xffffff00" identifier = (binary_expression "(uint)param_4 & 0xffffff00" (cast_expression "(uint)param_4" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uVar18 = (uint)param_4 & 8;" (assignment_expression "uVar18 = (uint)param_4 & 8" identifier = (binary_expression "(uint)param_4 & 8" (cast_expression "(uint)param_4" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uStack_958 = (uint)param_4 & 1;" (assignment_expression "uStack_958 = (uint)param_4 & 1" identifier = (binary_expression "(uint)param_4 & 1" (cast_expression "(uint)param_4" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uVar9 = (uint)param_4 & 2;" (assignment_expression "uVar9 = (uint)param_4 & 2" identifier = (binary_expression "(uint)param_4 & 2" (cast_expression "(uint)param_4" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "pcStack_96c = pcVar30;" (assignment_expression "pcStack_96c = pcVar30" identifier = identifier) ;) (expression_statement "iStack_490 = iVar4;" (assignment_expression "iStack_490 = iVar4" identifier = identifier) ;) (expression_statement "pcStack_48c = pcVar5;" (assignment_expression "pcStack_48c = pcVar5" identifier = identifier) ;) (expression_statement "pcStack_488 = pcVar14;" (assignment_expression "pcStack_488 = pcVar14" identifier = identifier) ;) (expression_statement "pcStack_484 = pcVar13;" (assignment_expression "pcStack_484 = pcVar13" identifier = identifier) ;) (expression_statement "pcStack_480 = pcVar25;" (assignment_expression "pcStack_480 = pcVar25" identifier = identifier) ;) (expression_statement "pcStack_47c = pcVar31;" (assignment_expression "pcStack_47c = pcVar31" identifier = identifier) ;) (expression_statement "pcStack_478 = pcVar26;" (assignment_expression "pcStack_478 = pcVar26" identifier = identifier) ;) (expression_statement "pcStack_474 = pcVar23;" (assignment_expression "pcStack_474 = pcVar23" identifier = identifier) ;) (expression_statement "iStack_470 = iVar27;" (assignment_expression "iStack_470 = iVar27" identifier = identifier) ;) (expression_statement "uStack_46c = uVar29;" (assignment_expression "uStack_46c = uVar29" identifier = identifier) ;) (if_statement "if (((uint)param_4 & 4) == 0) {\nLAB_000c59a0:\n    iVar4 = (**(code **)(pcVar22 + 0xca564))();\n    if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {\n      bVar1 = false;\n      goto LAB_000c59cc;\n    }\n    bVar1 = false;\nLAB_000c59fc:\n    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);\n    if (uVar20 != 0x100) goto LAB_000c5a24;\n    (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n    if (*(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228) == 0) {\nLAB_000c6414:\n      iVar4 = *(int *)(pcVar22 + 0xca25c);\n    }\n    else {\n      iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(pcVar30,aiStack_940);\n      if ((iVar4 != 0) ||\n         (piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0))\n      goto LAB_000c6414;\n      do {\n        if ((((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c)) {\n          (**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);\n          piVar11 = (int *)piVar10[8];\n          if (piVar11 == (int *)0x0) goto LAB_000c6494;\n          pcVar5 = (code *)piVar11[1];\n          piVar12 = piVar10 + 8;\n          goto joined_r0x000c5ce4;\n        }\n        piVar10 = (int *)piVar10[0xb];\n        iVar4 = *(int *)(pcVar22 + 0xca25c);\n      } while (piVar10 != (int *)0x0);\n    }\n    (*(code *)(iVar4 + 0x27b8))();\nLAB_000c642c:\n    piVar11 = (int *)(**(code **)(pcVar22 + 0xca0d4))(0,0xc);\n    if (piVar11 == (int *)0x0) {\n      pcVar5 = (code *)&DAT_00000007;\n      goto LAB_000c602c;\n    }\n    iVar4 = -1;\nLAB_000c5d44:\n    *(int **)(pcVar6 + 0x1c) = piVar11;\nLAB_000c5a34:\n    uStack_968 = uVar9;\n    if (((uint)param_4 & 4) != 0) {\n      uStack_968 = uVar9 | 0x100;\n    }\n    if (((uint)param_4 & 0x10) != 0) {\n      uStack_968 = uStack_968 | 0x20400;\n    }\n    if (iVar4 < 0) {\n      if (((uint)param_4 & 0x80800) == 0) {\n        uVar28 = 0x180;\n        if ((uVar18 == 0) && (uVar28 = 0, ((uint)param_4 & 0x40) != 0)) {\n          iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }\n          uVar28 = 0;\n        }\nLAB_000c5e0c:\n        uStack_954 = 0;\n        uStack_960 = 0;\n      }\n      else {\n        iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c);\n        iVar27 = iVar4 + -1;\n        if (pcStack_96c[iVar27] != (code)0x2d) {\n          if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }\n          uVar28 = 0;\n          goto LAB_000c5e0c;\n        }\nLAB_000c5e78:\n        (**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201);\n        auStack_89c[iVar27] = 0;\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940);\n        if (iVar4 == 0) {\n          uVar28 = uStack_928 & 0x1ff;\n          uStack_960 = uStack_920;\n          uStack_954 = uStack_91c;\n          pcVar5 = (code *)0x0;\n        }\n        else {\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }\nLAB_000c5ee0:\n        if (pcVar5 != (code *)0x0) goto LAB_000c602c;\n      }\n      iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                        (pcStack_96c,uStack_968 | 0x2000,uVar28);\n      if (-1 < iVar4) {\nLAB_000c5e40:\n        if (((uint)param_4 & 0x80800) != 0) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);\n        }\n        goto LAB_000c5a6c;\n      }\n      pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n      if (bVar1) {\n        piVar10 = (int *)(*pcVar5)();\n        if (*piVar10 != 0xd) {\n          pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n          goto LAB_000c5fb8;\n        }\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))(pcStack_96c,0);\n        pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n        if (iVar4 == 0) goto LAB_000c5fb8;\n        uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n        (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                  (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634);\n        pcVar5 = (code *)0x608;\n      }\n      else {\nLAB_000c5fb8:\n        piVar10 = (int *)(*pcVar5)();\n        if ((*piVar10 == 0x15) || (uVar9 == 0)) {\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        else {\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        if (pcVar5 == (code *)0x0) goto LAB_000c602c;\n      }\nLAB_000c630c:\n      iVar4 = *(int *)(pcVar6 + 0x1c);\nLAB_000c6310:\n      (**(code **)(pcVar22 + 0xca07c))(iVar4);\n    }\n    else {\nLAB_000c5a6c:\n      if (puStack_458 != (undefined4 *)0x0) {\n        *puStack_458 = param_4;\n      }\n      if (*(int **)(pcVar6 + 0x1c) != (int *)0x0) {\n        **(int **)(pcVar6 + 0x1c) = iVar4;\n        *(code **)(*(int *)(pcVar6 + 0x1c) + 4) = param_4;\n      }\n      if (uVar18 != 0) {\n        (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))(pcStack_96c);\n        uVar18 = 0x20;\n      }\n      if (uStack_958 != 0) {\n        uVar18 = uVar18 | 2;\n      }\n      if (uVar20 != 0x100) {\n        uVar18 = uVar18 | 0x80;\n      }\n      if (bVar1) {\n        uVar18 = uVar18 | 8;\n      }\n      if (((uint)param_4 & 0x40) == 0) {\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = (code *)0x0;\n      }\n      else {\n        uVar18 = uVar18 | 0x40;\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = pcVar30;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca37c))(pcVar5,*(int *)(pcVar22 + 0xca060) + -0x45c0,1);\n      iVar16 = *(int *)(pcVar22 + 0xca060);\n      if (iVar27 != 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 0x10;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca610))(*(undefined4 *)(iVar8 + 0x10),iVar16 + -0x45b8);\n      if (iVar27 == 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 1;\n      }\n      if ((uVar18 & 0x80) == 0) {\n        iVar27 = (*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6);\n        if (iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n          iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);\n          if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n        }\n        else {\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }\n        *(int *)(pcVar6 + 0x14) = 0;\n        if (pcVar5 != (code *)0x0) {\n          if (iVar4 < 0) goto LAB_000c630c;\n          (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);\n          iVar4 = *(int *)(pcVar6 + 0x1c);\n          goto LAB_000c6310;\n        }\n      }\n      else {\n        iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4;\nLAB_000c6394:\n        *(int *)(pcVar6 + 0x14) = 0;\n      }\n      *(int *)pcVar6 = iVar27;\n      (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524))(pcVar6);\n      pcVar5 = (code *)0x0;\n    }\n  }\n  else {\n    if ((uVar20 == 0x4000) || (uVar20 == 0x800)) {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n    }\n    else {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n      if (uVar20 != 0x80000) goto LAB_000c59a0;\n    }\n    iVar4 = (*pcVar5)();\n    if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {\n      bVar1 = true;\nLAB_000c59cc:\n      uVar29 = (**(code **)(pcVar22 + 0xca564))();\n      *(undefined4 *)(*(int *)(pcVar22 + 0xca04c) + 0x230) = uVar29;\n      sqlite3_randomness(0,0);\n      goto LAB_000c59fc;\n    }\n    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);\n    bVar1 = true;\nLAB_000c5a24:\n    iVar4 = -1;\n    if (pcVar30 != (code *)0x0) goto LAB_000c5a34;\n    pcVar5 = (code *)FUN_000c5048(*(undefined4 *)(iVar8 + 8),auStack_698);\n    if (pcVar5 == (code *)0x0) {\n      iVar4 = -1;\n      pcStack_96c = (code *)auStack_698;\n      goto LAB_000c5a34;\n    }\n  }" if (parenthesized_expression "(((uint)param_4 & 4) == 0)" ( (binary_expression "((uint)param_4 & 4) == 0" (parenthesized_expression "((uint)param_4 & 4)" ( (binary_expression "(uint)param_4 & 4" (cast_expression "(uint)param_4" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_000c59a0:\n    iVar4 = (**(code **)(pcVar22 + 0xca564))();\n    if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {\n      bVar1 = false;\n      goto LAB_000c59cc;\n    }\n    bVar1 = false;\nLAB_000c59fc:\n    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);\n    if (uVar20 != 0x100) goto LAB_000c5a24;\n    (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n    if (*(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228) == 0) {\nLAB_000c6414:\n      iVar4 = *(int *)(pcVar22 + 0xca25c);\n    }\n    else {\n      iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(pcVar30,aiStack_940);\n      if ((iVar4 != 0) ||\n         (piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0))\n      goto LAB_000c6414;\n      do {\n        if ((((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c)) {\n          (**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);\n          piVar11 = (int *)piVar10[8];\n          if (piVar11 == (int *)0x0) goto LAB_000c6494;\n          pcVar5 = (code *)piVar11[1];\n          piVar12 = piVar10 + 8;\n          goto joined_r0x000c5ce4;\n        }\n        piVar10 = (int *)piVar10[0xb];\n        iVar4 = *(int *)(pcVar22 + 0xca25c);\n      } while (piVar10 != (int *)0x0);\n    }\n    (*(code *)(iVar4 + 0x27b8))();\nLAB_000c642c:\n    piVar11 = (int *)(**(code **)(pcVar22 + 0xca0d4))(0,0xc);\n    if (piVar11 == (int *)0x0) {\n      pcVar5 = (code *)&DAT_00000007;\n      goto LAB_000c602c;\n    }\n    iVar4 = -1;\nLAB_000c5d44:\n    *(int **)(pcVar6 + 0x1c) = piVar11;\nLAB_000c5a34:\n    uStack_968 = uVar9;\n    if (((uint)param_4 & 4) != 0) {\n      uStack_968 = uVar9 | 0x100;\n    }\n    if (((uint)param_4 & 0x10) != 0) {\n      uStack_968 = uStack_968 | 0x20400;\n    }\n    if (iVar4 < 0) {\n      if (((uint)param_4 & 0x80800) == 0) {\n        uVar28 = 0x180;\n        if ((uVar18 == 0) && (uVar28 = 0, ((uint)param_4 & 0x40) != 0)) {\n          iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }\n          uVar28 = 0;\n        }\nLAB_000c5e0c:\n        uStack_954 = 0;\n        uStack_960 = 0;\n      }\n      else {\n        iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c);\n        iVar27 = iVar4 + -1;\n        if (pcStack_96c[iVar27] != (code)0x2d) {\n          if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }\n          uVar28 = 0;\n          goto LAB_000c5e0c;\n        }\nLAB_000c5e78:\n        (**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201);\n        auStack_89c[iVar27] = 0;\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940);\n        if (iVar4 == 0) {\n          uVar28 = uStack_928 & 0x1ff;\n          uStack_960 = uStack_920;\n          uStack_954 = uStack_91c;\n          pcVar5 = (code *)0x0;\n        }\n        else {\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }\nLAB_000c5ee0:\n        if (pcVar5 != (code *)0x0) goto LAB_000c602c;\n      }\n      iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                        (pcStack_96c,uStack_968 | 0x2000,uVar28);\n      if (-1 < iVar4) {\nLAB_000c5e40:\n        if (((uint)param_4 & 0x80800) != 0) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);\n        }\n        goto LAB_000c5a6c;\n      }\n      pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n      if (bVar1) {\n        piVar10 = (int *)(*pcVar5)();\n        if (*piVar10 != 0xd) {\n          pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n          goto LAB_000c5fb8;\n        }\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))(pcStack_96c,0);\n        pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n        if (iVar4 == 0) goto LAB_000c5fb8;\n        uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n        (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                  (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634);\n        pcVar5 = (code *)0x608;\n      }\n      else {\nLAB_000c5fb8:\n        piVar10 = (int *)(*pcVar5)();\n        if ((*piVar10 == 0x15) || (uVar9 == 0)) {\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        else {\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        if (pcVar5 == (code *)0x0) goto LAB_000c602c;\n      }\nLAB_000c630c:\n      iVar4 = *(int *)(pcVar6 + 0x1c);\nLAB_000c6310:\n      (**(code **)(pcVar22 + 0xca07c))(iVar4);\n    }\n    else {\nLAB_000c5a6c:\n      if (puStack_458 != (undefined4 *)0x0) {\n        *puStack_458 = param_4;\n      }\n      if (*(int **)(pcVar6 + 0x1c) != (int *)0x0) {\n        **(int **)(pcVar6 + 0x1c) = iVar4;\n        *(code **)(*(int *)(pcVar6 + 0x1c) + 4) = param_4;\n      }\n      if (uVar18 != 0) {\n        (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))(pcStack_96c);\n        uVar18 = 0x20;\n      }\n      if (uStack_958 != 0) {\n        uVar18 = uVar18 | 2;\n      }\n      if (uVar20 != 0x100) {\n        uVar18 = uVar18 | 0x80;\n      }\n      if (bVar1) {\n        uVar18 = uVar18 | 8;\n      }\n      if (((uint)param_4 & 0x40) == 0) {\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = (code *)0x0;\n      }\n      else {\n        uVar18 = uVar18 | 0x40;\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = pcVar30;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca37c))(pcVar5,*(int *)(pcVar22 + 0xca060) + -0x45c0,1);\n      iVar16 = *(int *)(pcVar22 + 0xca060);\n      if (iVar27 != 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 0x10;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca610))(*(undefined4 *)(iVar8 + 0x10),iVar16 + -0x45b8);\n      if (iVar27 == 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 1;\n      }\n      if ((uVar18 & 0x80) == 0) {\n        iVar27 = (*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6);\n        if (iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n          iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);\n          if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n        }\n        else {\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }\n        *(int *)(pcVar6 + 0x14) = 0;\n        if (pcVar5 != (code *)0x0) {\n          if (iVar4 < 0) goto LAB_000c630c;\n          (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);\n          iVar4 = *(int *)(pcVar6 + 0x1c);\n          goto LAB_000c6310;\n        }\n      }\n      else {\n        iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4;\nLAB_000c6394:\n        *(int *)(pcVar6 + 0x14) = 0;\n      }\n      *(int *)pcVar6 = iVar27;\n      (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524))(pcVar6);\n      pcVar5 = (code *)0x0;\n    }\n  }" { (labeled_statement "LAB_000c59a0:\n    iVar4 = (**(code **)(pcVar22 + 0xca564))();" statement_identifier : (expression_statement "iVar4 = (**(code **)(pcVar22 + 0xca564))();" (assignment_expression "iVar4 = (**(code **)(pcVar22 + 0xca564))()" identifier = (call_expression "(**(code **)(pcVar22 + 0xca564))()" (parenthesized_expression "(**(code **)(pcVar22 + 0xca564))" ( (pointer_expression "**(code **)(pcVar22 + 0xca564)" * (pointer_expression "*(code **)(pcVar22 + 0xca564)" * (cast_expression "(code **)(pcVar22 + 0xca564)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca564)" ( (binary_expression "pcVar22 + 0xca564" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;)) (if_statement "if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {\n      bVar1 = false;\n      goto LAB_000c59cc;\n    }" if (parenthesized_expression "(iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230))" ( (binary_expression "iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)" identifier != (pointer_expression "*(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)" * (cast_expression "(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + 0x230)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + 0x230" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n      bVar1 = false;\n      goto LAB_000c59cc;\n    }" { (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (goto_statement "goto LAB_000c59cc;" goto statement_identifier ;) })) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (labeled_statement "LAB_000c59fc:\n    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);" statement_identifier : (expression_statement "(**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);" (call_expression "(**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca504))" ( (pointer_expression "**(code **)(pcVar22 + 0xca504)" * (pointer_expression "*(code **)(pcVar22 + 0xca504)" * (cast_expression "(code **)(pcVar22 + 0xca504)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca504)" ( (binary_expression "pcVar22 + 0xca504" identifier + number_literal) ))))) )) (argument_list "(pcVar6,0,0x58)" ( identifier , number_literal , number_literal ))) ;)) (if_statement "if (uVar20 != 0x100) goto LAB_000c5a24;" if (parenthesized_expression "(uVar20 != 0x100)" ( (binary_expression "uVar20 != 0x100" identifier != number_literal) )) (goto_statement "goto LAB_000c5a24;" goto statement_identifier ;)) (expression_statement "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();" (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca25c) + 0x277c)" ( (binary_expression "*(int *)(pcVar22 + 0xca25c) + 0x277c" (pointer_expression "*(int *)(pcVar22 + 0xca25c)" * (cast_expression "(int *)(pcVar22 + 0xca25c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca25c)" ( (binary_expression "pcVar22 + 0xca25c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (if_statement "if (*(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228) == 0) {\nLAB_000c6414:\n      iVar4 = *(int *)(pcVar22 + 0xca25c);\n    }\n    else {\n      iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(pcVar30,aiStack_940);\n      if ((iVar4 != 0) ||\n         (piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0))\n      goto LAB_000c6414;\n      do {\n        if ((((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c)) {\n          (**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);\n          piVar11 = (int *)piVar10[8];\n          if (piVar11 == (int *)0x0) goto LAB_000c6494;\n          pcVar5 = (code *)piVar11[1];\n          piVar12 = piVar10 + 8;\n          goto joined_r0x000c5ce4;\n        }\n        piVar10 = (int *)piVar10[0xb];\n        iVar4 = *(int *)(pcVar22 + 0xca25c);\n      } while (piVar10 != (int *)0x0);\n    }" if (parenthesized_expression "(*(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228) == 0)" ( (binary_expression "*(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228) == 0" (pointer_expression "*(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228)" * (cast_expression "(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + 0x228)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + 0x228" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_000c6414:\n      iVar4 = *(int *)(pcVar22 + 0xca25c);\n    }" { (labeled_statement "LAB_000c6414:\n      iVar4 = *(int *)(pcVar22 + 0xca25c);" statement_identifier : (expression_statement "iVar4 = *(int *)(pcVar22 + 0xca25c);" (assignment_expression "iVar4 = *(int *)(pcVar22 + 0xca25c)" identifier = (pointer_expression "*(int *)(pcVar22 + 0xca25c)" * (cast_expression "(int *)(pcVar22 + 0xca25c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca25c)" ( (binary_expression "pcVar22 + 0xca25c" identifier + number_literal) ))))) ;)) }) (else_clause "else {\n      iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(pcVar30,aiStack_940);\n      if ((iVar4 != 0) ||\n         (piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0))\n      goto LAB_000c6414;\n      do {\n        if ((((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c)) {\n          (**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);\n          piVar11 = (int *)piVar10[8];\n          if (piVar11 == (int *)0x0) goto LAB_000c6494;\n          pcVar5 = (code *)piVar11[1];\n          piVar12 = piVar10 + 8;\n          goto joined_r0x000c5ce4;\n        }\n        piVar10 = (int *)piVar10[0xb];\n        iVar4 = *(int *)(pcVar22 + 0xca25c);\n      } while (piVar10 != (int *)0x0);\n    }" else (compound_statement "{\n      iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(pcVar30,aiStack_940);\n      if ((iVar4 != 0) ||\n         (piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0))\n      goto LAB_000c6414;\n      do {\n        if ((((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c)) {\n          (**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);\n          piVar11 = (int *)piVar10[8];\n          if (piVar11 == (int *)0x0) goto LAB_000c6494;\n          pcVar5 = (code *)piVar11[1];\n          piVar12 = piVar10 + 8;\n          goto joined_r0x000c5ce4;\n        }\n        piVar10 = (int *)piVar10[0xb];\n        iVar4 = *(int *)(pcVar22 + 0xca25c);\n      } while (piVar10 != (int *)0x0);\n    }" { (expression_statement "iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(pcVar30,aiStack_940);" (assignment_expression "iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(pcVar30,aiStack_940)" identifier = (call_expression "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(pcVar30,aiStack_940)" (parenthesized_expression "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))" ( (pointer_expression "**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c)" * (pointer_expression "*(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c)" * (cast_expression "(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + -0x80c)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x80c" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(pcVar30,aiStack_940)" ( identifier , identifier )))) ;) (if_statement "if ((iVar4 != 0) ||\n         (piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0))\n      goto LAB_000c6414;" if (parenthesized_expression "((iVar4 != 0) ||\n         (piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0))" ( (binary_expression "(iVar4 != 0) ||\n         (piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0)" (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) || (parenthesized_expression "(piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0)" ( (comma_expression "piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0" (assignment_expression "piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228)" identifier = (pointer_expression "*(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228)" * (cast_expression "(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + 0x228)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + 0x228" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) ))))) , (binary_expression "piVar10 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_000c6414;" goto statement_identifier ;)) (do_statement "do {\n        if ((((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c)) {\n          (**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);\n          piVar11 = (int *)piVar10[8];\n          if (piVar11 == (int *)0x0) goto LAB_000c6494;\n          pcVar5 = (code *)piVar11[1];\n          piVar12 = piVar10 + 8;\n          goto joined_r0x000c5ce4;\n        }\n        piVar10 = (int *)piVar10[0xb];\n        iVar4 = *(int *)(pcVar22 + 0xca25c);\n      } while (piVar10 != (int *)0x0);" do (compound_statement "{\n        if ((((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c)) {\n          (**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);\n          piVar11 = (int *)piVar10[8];\n          if (piVar11 == (int *)0x0) goto LAB_000c6494;\n          pcVar5 = (code *)piVar11[1];\n          piVar12 = piVar10 + 8;\n          goto joined_r0x000c5ce4;\n        }\n        piVar10 = (int *)piVar10[0xb];\n        iVar4 = *(int *)(pcVar22 + 0xca25c);\n      }" { (if_statement "if ((((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c)) {\n          (**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);\n          piVar11 = (int *)piVar10[8];\n          if (piVar11 == (int *)0x0) goto LAB_000c6494;\n          pcVar5 = (code *)piVar11[1];\n          piVar12 = piVar10 + 8;\n          goto joined_r0x000c5ce4;\n        }" if (parenthesized_expression "((((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c))" ( (binary_expression "(((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c)" (parenthesized_expression "(((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930))" ( (binary_expression "((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)" (parenthesized_expression "((*piVar10 == 0) && (piVar10[1] == aiStack_940[0]))" ( (binary_expression "(*piVar10 == 0) && (piVar10[1] == aiStack_940[0])" (parenthesized_expression "(*piVar10 == 0)" ( (binary_expression "*piVar10 == 0" (pointer_expression "*piVar10" * identifier) == number_literal) )) && (parenthesized_expression "(piVar10[1] == aiStack_940[0])" ( (binary_expression "piVar10[1] == aiStack_940[0]" (subscript_expression "piVar10[1]" identifier [ number_literal ]) == (subscript_expression "aiStack_940[0]" identifier [ number_literal ])) ))) )) && (parenthesized_expression "(piVar10[2] == iStack_930)" ( (binary_expression "piVar10[2] == iStack_930" (subscript_expression "piVar10[2]" identifier [ number_literal ]) == identifier) ))) )) && (parenthesized_expression "(piVar10[3] == iStack_92c)" ( (binary_expression "piVar10[3] == iStack_92c" (subscript_expression "piVar10[3]" identifier [ number_literal ]) == identifier) ))) )) (compound_statement "{\n          (**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);\n          piVar11 = (int *)piVar10[8];\n          if (piVar11 == (int *)0x0) goto LAB_000c6494;\n          pcVar5 = (code *)piVar11[1];\n          piVar12 = piVar10 + 8;\n          goto joined_r0x000c5ce4;\n        }" { (expression_statement "(**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);" (call_expression "(**(code **)(pcVar22 + 0xca2b0))(piVar10[4])" (parenthesized_expression "(**(code **)(pcVar22 + 0xca2b0))" ( (pointer_expression "**(code **)(pcVar22 + 0xca2b0)" * (pointer_expression "*(code **)(pcVar22 + 0xca2b0)" * (cast_expression "(code **)(pcVar22 + 0xca2b0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca2b0)" ( (binary_expression "pcVar22 + 0xca2b0" identifier + number_literal) ))))) )) (argument_list "(piVar10[4])" ( (subscript_expression "piVar10[4]" identifier [ number_literal ]) ))) ;) (expression_statement "piVar11 = (int *)piVar10[8];" (assignment_expression "piVar11 = (int *)piVar10[8]" identifier = (cast_expression "(int *)piVar10[8]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar10[8]" identifier [ number_literal ]))) ;) (if_statement "if (piVar11 == (int *)0x0) goto LAB_000c6494;" if (parenthesized_expression "(piVar11 == (int *)0x0)" ( (binary_expression "piVar11 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c6494;" goto statement_identifier ;)) (expression_statement "pcVar5 = (code *)piVar11[1];" (assignment_expression "pcVar5 = (code *)piVar11[1]" identifier = (cast_expression "(code *)piVar11[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar11[1]" identifier [ number_literal ]))) ;) (expression_statement "piVar12 = piVar10 + 8;" (assignment_expression "piVar12 = piVar10 + 8" identifier = (binary_expression "piVar10 + 8" identifier + number_literal)) ;) (goto_statement "goto joined_r0x000c5ce4;" goto statement_identifier ;) })) (expression_statement "piVar10 = (int *)piVar10[0xb];" (assignment_expression "piVar10 = (int *)piVar10[0xb]" identifier = (cast_expression "(int *)piVar10[0xb]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar10[0xb]" identifier [ number_literal ]))) ;) (expression_statement "iVar4 = *(int *)(pcVar22 + 0xca25c);" (assignment_expression "iVar4 = *(int *)(pcVar22 + 0xca25c)" identifier = (pointer_expression "*(int *)(pcVar22 + 0xca25c)" * (cast_expression "(int *)(pcVar22 + 0xca25c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca25c)" ( (binary_expression "pcVar22 + 0xca25c" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(piVar10 != (int *)0x0)" ( (binary_expression "piVar10 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }))) (expression_statement "(*(code *)(iVar4 + 0x27b8))();" (call_expression "(*(code *)(iVar4 + 0x27b8))()" (parenthesized_expression "(*(code *)(iVar4 + 0x27b8))" ( (pointer_expression "*(code *)(iVar4 + 0x27b8)" * (cast_expression "(code *)(iVar4 + 0x27b8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x27b8)" ( (binary_expression "iVar4 + 0x27b8" identifier + number_literal) )))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_000c642c:\n    piVar11 = (int *)(**(code **)(pcVar22 + 0xca0d4))(0,0xc);" statement_identifier : (expression_statement "piVar11 = (int *)(**(code **)(pcVar22 + 0xca0d4))(0,0xc);" (assignment_expression "piVar11 = (int *)(**(code **)(pcVar22 + 0xca0d4))(0,0xc)" identifier = (cast_expression "(int *)(**(code **)(pcVar22 + 0xca0d4))(0,0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar22 + 0xca0d4))(0,0xc)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca0d4))" ( (pointer_expression "**(code **)(pcVar22 + 0xca0d4)" * (pointer_expression "*(code **)(pcVar22 + 0xca0d4)" * (cast_expression "(code **)(pcVar22 + 0xca0d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca0d4)" ( (binary_expression "pcVar22 + 0xca0d4" identifier + number_literal) ))))) )) (argument_list "(0,0xc)" ( number_literal , number_literal ))))) ;)) (if_statement "if (piVar11 == (int *)0x0) {\n      pcVar5 = (code *)&DAT_00000007;\n      goto LAB_000c602c;\n    }" if (parenthesized_expression "(piVar11 == (int *)0x0)" ( (binary_expression "piVar11 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar5 = (code *)&DAT_00000007;\n      goto LAB_000c602c;\n    }" { (expression_statement "pcVar5 = (code *)&DAT_00000007;" (assignment_expression "pcVar5 = (code *)&DAT_00000007" identifier = (cast_expression "(code *)&DAT_00000007" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (goto_statement "goto LAB_000c602c;" goto statement_identifier ;) })) (expression_statement "iVar4 = -1;" (assignment_expression "iVar4 = -1" identifier = number_literal) ;) (labeled_statement "LAB_000c5d44:\n    *(int **)(pcVar6 + 0x1c) = piVar11;" statement_identifier : (expression_statement "*(int **)(pcVar6 + 0x1c) = piVar11;" (assignment_expression "*(int **)(pcVar6 + 0x1c) = piVar11" (pointer_expression "*(int **)(pcVar6 + 0x1c)" * (cast_expression "(int **)(pcVar6 + 0x1c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0x1c)" ( (binary_expression "pcVar6 + 0x1c" identifier + number_literal) )))) = identifier) ;)) (labeled_statement "LAB_000c5a34:\n    uStack_968 = uVar9;" statement_identifier : (expression_statement "uStack_968 = uVar9;" (assignment_expression "uStack_968 = uVar9" identifier = identifier) ;)) (if_statement "if (((uint)param_4 & 4) != 0) {\n      uStack_968 = uVar9 | 0x100;\n    }" if (parenthesized_expression "(((uint)param_4 & 4) != 0)" ( (binary_expression "((uint)param_4 & 4) != 0" (parenthesized_expression "((uint)param_4 & 4)" ( (binary_expression "(uint)param_4 & 4" (cast_expression "(uint)param_4" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n      uStack_968 = uVar9 | 0x100;\n    }" { (expression_statement "uStack_968 = uVar9 | 0x100;" (assignment_expression "uStack_968 = uVar9 | 0x100" identifier = (binary_expression "uVar9 | 0x100" identifier | number_literal)) ;) })) (if_statement "if (((uint)param_4 & 0x10) != 0) {\n      uStack_968 = uStack_968 | 0x20400;\n    }" if (parenthesized_expression "(((uint)param_4 & 0x10) != 0)" ( (binary_expression "((uint)param_4 & 0x10) != 0" (parenthesized_expression "((uint)param_4 & 0x10)" ( (binary_expression "(uint)param_4 & 0x10" (cast_expression "(uint)param_4" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n      uStack_968 = uStack_968 | 0x20400;\n    }" { (expression_statement "uStack_968 = uStack_968 | 0x20400;" (assignment_expression "uStack_968 = uStack_968 | 0x20400" identifier = (binary_expression "uStack_968 | 0x20400" identifier | number_literal)) ;) })) (if_statement "if (iVar4 < 0) {\n      if (((uint)param_4 & 0x80800) == 0) {\n        uVar28 = 0x180;\n        if ((uVar18 == 0) && (uVar28 = 0, ((uint)param_4 & 0x40) != 0)) {\n          iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }\n          uVar28 = 0;\n        }\nLAB_000c5e0c:\n        uStack_954 = 0;\n        uStack_960 = 0;\n      }\n      else {\n        iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c);\n        iVar27 = iVar4 + -1;\n        if (pcStack_96c[iVar27] != (code)0x2d) {\n          if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }\n          uVar28 = 0;\n          goto LAB_000c5e0c;\n        }\nLAB_000c5e78:\n        (**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201);\n        auStack_89c[iVar27] = 0;\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940);\n        if (iVar4 == 0) {\n          uVar28 = uStack_928 & 0x1ff;\n          uStack_960 = uStack_920;\n          uStack_954 = uStack_91c;\n          pcVar5 = (code *)0x0;\n        }\n        else {\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }\nLAB_000c5ee0:\n        if (pcVar5 != (code *)0x0) goto LAB_000c602c;\n      }\n      iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                        (pcStack_96c,uStack_968 | 0x2000,uVar28);\n      if (-1 < iVar4) {\nLAB_000c5e40:\n        if (((uint)param_4 & 0x80800) != 0) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);\n        }\n        goto LAB_000c5a6c;\n      }\n      pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n      if (bVar1) {\n        piVar10 = (int *)(*pcVar5)();\n        if (*piVar10 != 0xd) {\n          pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n          goto LAB_000c5fb8;\n        }\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))(pcStack_96c,0);\n        pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n        if (iVar4 == 0) goto LAB_000c5fb8;\n        uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n        (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                  (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634);\n        pcVar5 = (code *)0x608;\n      }\n      else {\nLAB_000c5fb8:\n        piVar10 = (int *)(*pcVar5)();\n        if ((*piVar10 == 0x15) || (uVar9 == 0)) {\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        else {\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        if (pcVar5 == (code *)0x0) goto LAB_000c602c;\n      }\nLAB_000c630c:\n      iVar4 = *(int *)(pcVar6 + 0x1c);\nLAB_000c6310:\n      (**(code **)(pcVar22 + 0xca07c))(iVar4);\n    }\n    else {\nLAB_000c5a6c:\n      if (puStack_458 != (undefined4 *)0x0) {\n        *puStack_458 = param_4;\n      }\n      if (*(int **)(pcVar6 + 0x1c) != (int *)0x0) {\n        **(int **)(pcVar6 + 0x1c) = iVar4;\n        *(code **)(*(int *)(pcVar6 + 0x1c) + 4) = param_4;\n      }\n      if (uVar18 != 0) {\n        (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))(pcStack_96c);\n        uVar18 = 0x20;\n      }\n      if (uStack_958 != 0) {\n        uVar18 = uVar18 | 2;\n      }\n      if (uVar20 != 0x100) {\n        uVar18 = uVar18 | 0x80;\n      }\n      if (bVar1) {\n        uVar18 = uVar18 | 8;\n      }\n      if (((uint)param_4 & 0x40) == 0) {\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = (code *)0x0;\n      }\n      else {\n        uVar18 = uVar18 | 0x40;\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = pcVar30;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca37c))(pcVar5,*(int *)(pcVar22 + 0xca060) + -0x45c0,1);\n      iVar16 = *(int *)(pcVar22 + 0xca060);\n      if (iVar27 != 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 0x10;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca610))(*(undefined4 *)(iVar8 + 0x10),iVar16 + -0x45b8);\n      if (iVar27 == 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 1;\n      }\n      if ((uVar18 & 0x80) == 0) {\n        iVar27 = (*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6);\n        if (iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n          iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);\n          if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n        }\n        else {\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }\n        *(int *)(pcVar6 + 0x14) = 0;\n        if (pcVar5 != (code *)0x0) {\n          if (iVar4 < 0) goto LAB_000c630c;\n          (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);\n          iVar4 = *(int *)(pcVar6 + 0x1c);\n          goto LAB_000c6310;\n        }\n      }\n      else {\n        iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4;\nLAB_000c6394:\n        *(int *)(pcVar6 + 0x14) = 0;\n      }\n      *(int *)pcVar6 = iVar27;\n      (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524))(pcVar6);\n      pcVar5 = (code *)0x0;\n    }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n      if (((uint)param_4 & 0x80800) == 0) {\n        uVar28 = 0x180;\n        if ((uVar18 == 0) && (uVar28 = 0, ((uint)param_4 & 0x40) != 0)) {\n          iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }\n          uVar28 = 0;\n        }\nLAB_000c5e0c:\n        uStack_954 = 0;\n        uStack_960 = 0;\n      }\n      else {\n        iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c);\n        iVar27 = iVar4 + -1;\n        if (pcStack_96c[iVar27] != (code)0x2d) {\n          if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }\n          uVar28 = 0;\n          goto LAB_000c5e0c;\n        }\nLAB_000c5e78:\n        (**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201);\n        auStack_89c[iVar27] = 0;\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940);\n        if (iVar4 == 0) {\n          uVar28 = uStack_928 & 0x1ff;\n          uStack_960 = uStack_920;\n          uStack_954 = uStack_91c;\n          pcVar5 = (code *)0x0;\n        }\n        else {\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }\nLAB_000c5ee0:\n        if (pcVar5 != (code *)0x0) goto LAB_000c602c;\n      }\n      iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                        (pcStack_96c,uStack_968 | 0x2000,uVar28);\n      if (-1 < iVar4) {\nLAB_000c5e40:\n        if (((uint)param_4 & 0x80800) != 0) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);\n        }\n        goto LAB_000c5a6c;\n      }\n      pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n      if (bVar1) {\n        piVar10 = (int *)(*pcVar5)();\n        if (*piVar10 != 0xd) {\n          pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n          goto LAB_000c5fb8;\n        }\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))(pcStack_96c,0);\n        pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n        if (iVar4 == 0) goto LAB_000c5fb8;\n        uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n        (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                  (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634);\n        pcVar5 = (code *)0x608;\n      }\n      else {\nLAB_000c5fb8:\n        piVar10 = (int *)(*pcVar5)();\n        if ((*piVar10 == 0x15) || (uVar9 == 0)) {\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        else {\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        if (pcVar5 == (code *)0x0) goto LAB_000c602c;\n      }\nLAB_000c630c:\n      iVar4 = *(int *)(pcVar6 + 0x1c);\nLAB_000c6310:\n      (**(code **)(pcVar22 + 0xca07c))(iVar4);\n    }" { (if_statement "if (((uint)param_4 & 0x80800) == 0) {\n        uVar28 = 0x180;\n        if ((uVar18 == 0) && (uVar28 = 0, ((uint)param_4 & 0x40) != 0)) {\n          iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }\n          uVar28 = 0;\n        }\nLAB_000c5e0c:\n        uStack_954 = 0;\n        uStack_960 = 0;\n      }\n      else {\n        iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c);\n        iVar27 = iVar4 + -1;\n        if (pcStack_96c[iVar27] != (code)0x2d) {\n          if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }\n          uVar28 = 0;\n          goto LAB_000c5e0c;\n        }\nLAB_000c5e78:\n        (**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201);\n        auStack_89c[iVar27] = 0;\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940);\n        if (iVar4 == 0) {\n          uVar28 = uStack_928 & 0x1ff;\n          uStack_960 = uStack_920;\n          uStack_954 = uStack_91c;\n          pcVar5 = (code *)0x0;\n        }\n        else {\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }\nLAB_000c5ee0:\n        if (pcVar5 != (code *)0x0) goto LAB_000c602c;\n      }" if (parenthesized_expression "(((uint)param_4 & 0x80800) == 0)" ( (binary_expression "((uint)param_4 & 0x80800) == 0" (parenthesized_expression "((uint)param_4 & 0x80800)" ( (binary_expression "(uint)param_4 & 0x80800" (cast_expression "(uint)param_4" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n        uVar28 = 0x180;\n        if ((uVar18 == 0) && (uVar28 = 0, ((uint)param_4 & 0x40) != 0)) {\n          iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }\n          uVar28 = 0;\n        }\nLAB_000c5e0c:\n        uStack_954 = 0;\n        uStack_960 = 0;\n      }" { (expression_statement "uVar28 = 0x180;" (assignment_expression "uVar28 = 0x180" identifier = number_literal) ;) (if_statement "if ((uVar18 == 0) && (uVar28 = 0, ((uint)param_4 & 0x40) != 0)) {\n          iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }\n          uVar28 = 0;\n        }" if (parenthesized_expression "((uVar18 == 0) && (uVar28 = 0, ((uint)param_4 & 0x40) != 0))" ( (binary_expression "(uVar18 == 0) && (uVar28 = 0, ((uint)param_4 & 0x40) != 0)" (parenthesized_expression "(uVar18 == 0)" ( (binary_expression "uVar18 == 0" identifier == number_literal) )) && (parenthesized_expression "(uVar28 = 0, ((uint)param_4 & 0x40) != 0)" ( (comma_expression "uVar28 = 0, ((uint)param_4 & 0x40) != 0" (assignment_expression "uVar28 = 0" identifier = number_literal) , (binary_expression "((uint)param_4 & 0x40) != 0" (parenthesized_expression "((uint)param_4 & 0x40)" ( (binary_expression "(uint)param_4 & 0x40" (cast_expression "(uint)param_4" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n          iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }\n          uVar28 = 0;\n        }" { (expression_statement "iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8);" (assignment_expression "iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8)" identifier = (call_expression "(**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca2f4))" ( (pointer_expression "**(code **)(pcVar22 + 0xca2f4)" * (pointer_expression "*(code **)(pcVar22 + 0xca2f4)" * (cast_expression "(code **)(pcVar22 + 0xca2f4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca2f4)" ( (binary_expression "pcVar22 + 0xca2f4" identifier + number_literal) ))))) )) (argument_list "(pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8)" ( identifier , (binary_expression "*(int *)(pcVar22 + 0xca060) + -0x45c8" (pointer_expression "*(int *)(pcVar22 + 0xca060)" * (cast_expression "(int *)(pcVar22 + 0xca060)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca060)" ( (binary_expression "pcVar22 + 0xca060" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar4 != 0) {\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }" { (expression_statement "iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);" (assignment_expression "iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940)" identifier = (call_expression "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940)" (parenthesized_expression "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))" ( (pointer_expression "**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c)" * (pointer_expression "*(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c)" * (cast_expression "(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + -0x80c)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x80c" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(iVar4,aiStack_940)" ( identifier , identifier )))) ;) (if_statement "if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }" { (expression_statement "uVar28 = uStack_928 & 0x1ff;" (assignment_expression "uVar28 = uStack_928 & 0x1ff" identifier = (binary_expression "uStack_928 & 0x1ff" identifier & number_literal)) ;) (expression_statement "uStack_960 = uStack_920;" (assignment_expression "uStack_960 = uStack_920" identifier = identifier) ;) (expression_statement "uStack_954 = uStack_91c;" (assignment_expression "uStack_954 = uStack_91c" identifier = identifier) ;) (expression_statement "pcVar5 = (code *)0x0;" (assignment_expression "pcVar5 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }" else (compound_statement "{\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }" { (expression_statement "uStack_954 = 0;" (assignment_expression "uStack_954 = 0" identifier = number_literal) ;) (expression_statement "uStack_960 = 0;" (assignment_expression "uStack_960 = 0" identifier = number_literal) ;) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (expression_statement "pcVar5 = (code *)0x70a;" (assignment_expression "pcVar5 = (code *)0x70a" identifier = (cast_expression "(code *)0x70a" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (goto_statement "goto LAB_000c5ee0;" goto statement_identifier ;) })) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) })) (labeled_statement "LAB_000c5e0c:\n        uStack_954 = 0;" statement_identifier : (expression_statement "uStack_954 = 0;" (assignment_expression "uStack_954 = 0" identifier = number_literal) ;)) (expression_statement "uStack_960 = 0;" (assignment_expression "uStack_960 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c);\n        iVar27 = iVar4 + -1;\n        if (pcStack_96c[iVar27] != (code)0x2d) {\n          if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }\n          uVar28 = 0;\n          goto LAB_000c5e0c;\n        }\nLAB_000c5e78:\n        (**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201);\n        auStack_89c[iVar27] = 0;\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940);\n        if (iVar4 == 0) {\n          uVar28 = uStack_928 & 0x1ff;\n          uStack_960 = uStack_920;\n          uStack_954 = uStack_91c;\n          pcVar5 = (code *)0x0;\n        }\n        else {\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }\nLAB_000c5ee0:\n        if (pcVar5 != (code *)0x0) goto LAB_000c602c;\n      }" else (compound_statement "{\n        iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c);\n        iVar27 = iVar4 + -1;\n        if (pcStack_96c[iVar27] != (code)0x2d) {\n          if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }\n          uVar28 = 0;\n          goto LAB_000c5e0c;\n        }\nLAB_000c5e78:\n        (**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201);\n        auStack_89c[iVar27] = 0;\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940);\n        if (iVar4 == 0) {\n          uVar28 = uStack_928 & 0x1ff;\n          uStack_960 = uStack_920;\n          uStack_954 = uStack_91c;\n          pcVar5 = (code *)0x0;\n        }\n        else {\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }\nLAB_000c5ee0:\n        if (pcVar5 != (code *)0x0) goto LAB_000c602c;\n      }" { (expression_statement "iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c);" (assignment_expression "iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c)" identifier = (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8)" ( (binary_expression "*(int *)(pcVar22 + 0xca2d4) + -0x4bc8" (pointer_expression "*(int *)(pcVar22 + 0xca2d4)" * (cast_expression "(int *)(pcVar22 + 0xca2d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca2d4)" ( (binary_expression "pcVar22 + 0xca2d4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcStack_96c)" ( identifier )))) ;) (expression_statement "iVar27 = iVar4 + -1;" (assignment_expression "iVar27 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (if_statement "if (pcStack_96c[iVar27] != (code)0x2d) {\n          if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }\n          uVar28 = 0;\n          goto LAB_000c5e0c;\n        }" if (parenthesized_expression "(pcStack_96c[iVar27] != (code)0x2d)" ( (binary_expression "pcStack_96c[iVar27] != (code)0x2d" (subscript_expression "pcStack_96c[iVar27]" identifier [ identifier ]) != (cast_expression "(code)0x2d" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n          if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }\n          uVar28 = 0;\n          goto LAB_000c5e0c;\n        }" { (if_statement "if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }" if (parenthesized_expression "((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e))" ( (binary_expression "(iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)" (parenthesized_expression "(iVar27 != 0)" ( (binary_expression "iVar27 != 0" identifier != number_literal) )) && (parenthesized_expression "(pcStack_96c[iVar27] != (code)0x2e)" ( (binary_expression "pcStack_96c[iVar27] != (code)0x2e" (subscript_expression "pcStack_96c[iVar27]" identifier [ identifier ]) != (cast_expression "(code)0x2e" ( (type_descriptor "code" type_identifier) ) number_literal)) ))) )) (compound_statement "{\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }" { (expression_statement "iVar27 = iVar4 + -2;" (assignment_expression "iVar27 = iVar4 + -2" identifier = (binary_expression "iVar4 + -2" identifier + number_literal)) ;) (do_statement "do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);" do (compound_statement "{\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            }" { (expression_statement "pcVar5 = pcStack_96c + iVar27;" (assignment_expression "pcVar5 = pcStack_96c + iVar27" identifier = (binary_expression "pcStack_96c + iVar27" identifier + identifier)) ;) (if_statement "if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;" if (parenthesized_expression "(*pcVar5 == (code)0x2d)" ( (binary_expression "*pcVar5 == (code)0x2d" (pointer_expression "*pcVar5" * identifier) == (cast_expression "(code)0x2d" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_000c5e78;" goto statement_identifier ;)) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (if_statement "if (iVar27 == 0) goto LAB_000c5e0c;" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000c5e0c;" goto statement_identifier ;)) (expression_statement "iVar27 = iVar27 + -1;" (assignment_expression "iVar27 = iVar27 + -1" identifier = (binary_expression "iVar27 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pcVar5 != (code)0x2e)" ( (binary_expression "*pcVar5 != (code)0x2e" (pointer_expression "*pcVar5" * identifier) != (cast_expression "(code)0x2e" ( (type_descriptor "code" type_identifier) ) number_literal)) )) ;) })) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000c5e0c;" goto statement_identifier ;) })) (labeled_statement "LAB_000c5e78:\n        (**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201);" statement_identifier : (expression_statement "(**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201);" (call_expression "(**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca544))" ( (pointer_expression "**(code **)(pcVar22 + 0xca544)" * (pointer_expression "*(code **)(pcVar22 + 0xca544)" * (cast_expression "(code **)(pcVar22 + 0xca544)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca544)" ( (binary_expression "pcVar22 + 0xca544" identifier + number_literal) ))))) )) (argument_list "(auStack_89c,pcStack_96c,iVar27,0x201)" ( identifier , identifier , identifier , number_literal ))) ;)) (expression_statement "auStack_89c[iVar27] = 0;" (assignment_expression "auStack_89c[iVar27] = 0" (subscript_expression "auStack_89c[iVar27]" identifier [ identifier ]) = number_literal) ;) (expression_statement "iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940);" (assignment_expression "iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940)" identifier = (call_expression "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940)" (parenthesized_expression "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))" ( (pointer_expression "**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c)" * (pointer_expression "*(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c)" * (cast_expression "(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + -0x80c)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x80c" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(auStack_89c,aiStack_940)" ( identifier , identifier )))) ;) (if_statement "if (iVar4 == 0) {\n          uVar28 = uStack_928 & 0x1ff;\n          uStack_960 = uStack_920;\n          uStack_954 = uStack_91c;\n          pcVar5 = (code *)0x0;\n        }\n        else {\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar28 = uStack_928 & 0x1ff;\n          uStack_960 = uStack_920;\n          uStack_954 = uStack_91c;\n          pcVar5 = (code *)0x0;\n        }" { (expression_statement "uVar28 = uStack_928 & 0x1ff;" (assignment_expression "uVar28 = uStack_928 & 0x1ff" identifier = (binary_expression "uStack_928 & 0x1ff" identifier & number_literal)) ;) (expression_statement "uStack_960 = uStack_920;" (assignment_expression "uStack_960 = uStack_920" identifier = identifier) ;) (expression_statement "uStack_954 = uStack_91c;" (assignment_expression "uStack_954 = uStack_91c" identifier = identifier) ;) (expression_statement "pcVar5 = (code *)0x0;" (assignment_expression "pcVar5 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }" else (compound_statement "{\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }" { (expression_statement "uStack_954 = 0;" (assignment_expression "uStack_954 = 0" identifier = number_literal) ;) (expression_statement "uStack_960 = 0;" (assignment_expression "uStack_960 = 0" identifier = number_literal) ;) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (expression_statement "pcVar5 = (code *)0x70a;" (assignment_expression "pcVar5 = (code *)0x70a" identifier = (cast_expression "(code *)0x70a" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (labeled_statement "LAB_000c5ee0:\n        if (pcVar5 != (code *)0x0) goto LAB_000c602c;" statement_identifier : (if_statement "if (pcVar5 != (code *)0x0) goto LAB_000c602c;" if (parenthesized_expression "(pcVar5 != (code *)0x0)" ( (binary_expression "pcVar5 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c602c;" goto statement_identifier ;))) }))) (expression_statement "iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                        (pcStack_96c,uStack_968 | 0x2000,uVar28);" (assignment_expression "iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                        (pcStack_96c,uStack_968 | 0x2000,uVar28)" identifier = (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                        (pcStack_96c,uStack_968 | 0x2000,uVar28)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca2f8) + 0xf70)" ( (binary_expression "*(int *)(pcVar22 + 0xca2f8) + 0xf70" (pointer_expression "*(int *)(pcVar22 + 0xca2f8)" * (cast_expression "(int *)(pcVar22 + 0xca2f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca2f8)" ( (binary_expression "pcVar22 + 0xca2f8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcStack_96c,uStack_968 | 0x2000,uVar28)" ( identifier , (binary_expression "uStack_968 | 0x2000" identifier | number_literal) , identifier )))) ;) (if_statement "if (-1 < iVar4) {\nLAB_000c5e40:\n        if (((uint)param_4 & 0x80800) != 0) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);\n        }\n        goto LAB_000c5a6c;\n      }" if (parenthesized_expression "(-1 < iVar4)" ( (binary_expression "-1 < iVar4" number_literal < identifier) )) (compound_statement "{\nLAB_000c5e40:\n        if (((uint)param_4 & 0x80800) != 0) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);\n        }\n        goto LAB_000c5a6c;\n      }" { (labeled_statement "LAB_000c5e40:\n        if (((uint)param_4 & 0x80800) != 0) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);\n        }" statement_identifier : (if_statement "if (((uint)param_4 & 0x80800) != 0) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);\n        }" if (parenthesized_expression "(((uint)param_4 & 0x80800) != 0)" ( (binary_expression "((uint)param_4 & 0x80800) != 0" (parenthesized_expression "((uint)param_4 & 0x80800)" ( (binary_expression "(uint)param_4 & 0x80800" (cast_expression "(uint)param_4" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);\n        }" { (expression_statement "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);" (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca25c) + 0x26f0)" ( (binary_expression "*(int *)(pcVar22 + 0xca25c) + 0x26f0" (pointer_expression "*(int *)(pcVar22 + 0xca25c)" * (cast_expression "(int *)(pcVar22 + 0xca25c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca25c)" ( (binary_expression "pcVar22 + 0xca25c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(iVar4,uStack_960,uStack_954)" ( identifier , identifier , identifier ))) ;) }))) (goto_statement "goto LAB_000c5a6c;" goto statement_identifier ;) })) (expression_statement "pcVar5 = *(code **)(pcVar22 + 0xca4f8);" (assignment_expression "pcVar5 = *(code **)(pcVar22 + 0xca4f8)" identifier = (pointer_expression "*(code **)(pcVar22 + 0xca4f8)" * (cast_expression "(code **)(pcVar22 + 0xca4f8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca4f8)" ( (binary_expression "pcVar22 + 0xca4f8" identifier + number_literal) ))))) ;) (if_statement "if (bVar1) {\n        piVar10 = (int *)(*pcVar5)();\n        if (*piVar10 != 0xd) {\n          pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n          goto LAB_000c5fb8;\n        }\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))(pcStack_96c,0);\n        pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n        if (iVar4 == 0) goto LAB_000c5fb8;\n        uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n        (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                  (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634);\n        pcVar5 = (code *)0x608;\n      }\n      else {\nLAB_000c5fb8:\n        piVar10 = (int *)(*pcVar5)();\n        if ((*piVar10 == 0x15) || (uVar9 == 0)) {\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        else {\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        if (pcVar5 == (code *)0x0) goto LAB_000c602c;\n      }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n        piVar10 = (int *)(*pcVar5)();\n        if (*piVar10 != 0xd) {\n          pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n          goto LAB_000c5fb8;\n        }\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))(pcStack_96c,0);\n        pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n        if (iVar4 == 0) goto LAB_000c5fb8;\n        uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n        (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                  (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634);\n        pcVar5 = (code *)0x608;\n      }" { (expression_statement "piVar10 = (int *)(*pcVar5)();" (assignment_expression "piVar10 = (int *)(*pcVar5)()" identifier = (cast_expression "(int *)(*pcVar5)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar5)()" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "()" ( ))))) ;) (if_statement "if (*piVar10 != 0xd) {\n          pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n          goto LAB_000c5fb8;\n        }" if (parenthesized_expression "(*piVar10 != 0xd)" ( (binary_expression "*piVar10 != 0xd" (pointer_expression "*piVar10" * identifier) != number_literal) )) (compound_statement "{\n          pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n          goto LAB_000c5fb8;\n        }" { (expression_statement "pcVar5 = *(code **)(pcVar22 + 0xca4f8);" (assignment_expression "pcVar5 = *(code **)(pcVar22 + 0xca4f8)" identifier = (pointer_expression "*(code **)(pcVar22 + 0xca4f8)" * (cast_expression "(code **)(pcVar22 + 0xca4f8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca4f8)" ( (binary_expression "pcVar22 + 0xca4f8" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000c5fb8;" goto statement_identifier ;) })) (expression_statement "iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))(pcStack_96c,0);" (assignment_expression "iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))(pcStack_96c,0)" identifier = (call_expression "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))(pcStack_96c,0)" (parenthesized_expression "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))" ( (pointer_expression "**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824)" * (pointer_expression "*(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824)" * (cast_expression "(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + -0x824)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x824" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(pcStack_96c,0)" ( identifier , number_literal )))) ;) (expression_statement "pcVar5 = *(code **)(pcVar22 + 0xca4f8);" (assignment_expression "pcVar5 = *(code **)(pcVar22 + 0xca4f8)" identifier = (pointer_expression "*(code **)(pcVar22 + 0xca4f8)" * (cast_expression "(code **)(pcVar22 + 0xca4f8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca4f8)" ( (binary_expression "pcVar22 + 0xca4f8" identifier + number_literal) ))))) ;) (if_statement "if (iVar4 == 0) goto LAB_000c5fb8;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000c5fb8;" goto statement_identifier ;)) (expression_statement "uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);" (assignment_expression "uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634)" identifier = (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca2f8) + 0x7538)" ( (binary_expression "*(int *)(pcVar22 + 0xca2f8) + 0x7538" (pointer_expression "*(int *)(pcVar22 + 0xca2f8)" * (cast_expression "(int *)(pcVar22 + 0xca2f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca2f8)" ( (binary_expression "pcVar22 + 0xca2f8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(0x9634)" ( number_literal )))) ;) (expression_statement "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                  (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634);" (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                  (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca2f8) + 0x114c)" ( (binary_expression "*(int *)(pcVar22 + 0xca2f8) + 0x114c" (pointer_expression "*(int *)(pcVar22 + 0xca2f8)" * (cast_expression "(int *)(pcVar22 + 0xca2f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca2f8)" ( (binary_expression "pcVar22 + 0xca2f8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634)" ( identifier , (binary_expression "*(int *)(pcVar22 + 0xca05c) + 0x1738" (pointer_expression "*(int *)(pcVar22 + 0xca05c)" * (cast_expression "(int *)(pcVar22 + 0xca05c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca05c)" ( (binary_expression "pcVar22 + 0xca05c" identifier + number_literal) )))) + number_literal) , identifier , number_literal ))) ;) (expression_statement "pcVar5 = (code *)0x608;" (assignment_expression "pcVar5 = (code *)0x608" identifier = (cast_expression "(code *)0x608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\nLAB_000c5fb8:\n        piVar10 = (int *)(*pcVar5)();\n        if ((*piVar10 == 0x15) || (uVar9 == 0)) {\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        else {\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        if (pcVar5 == (code *)0x0) goto LAB_000c602c;\n      }" else (compound_statement "{\nLAB_000c5fb8:\n        piVar10 = (int *)(*pcVar5)();\n        if ((*piVar10 == 0x15) || (uVar9 == 0)) {\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        else {\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        if (pcVar5 == (code *)0x0) goto LAB_000c602c;\n      }" { (labeled_statement "LAB_000c5fb8:\n        piVar10 = (int *)(*pcVar5)();" statement_identifier : (expression_statement "piVar10 = (int *)(*pcVar5)();" (assignment_expression "piVar10 = (int *)(*pcVar5)()" identifier = (cast_expression "(int *)(*pcVar5)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar5)()" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "()" ( ))))) ;)) (if_statement "if ((*piVar10 == 0x15) || (uVar9 == 0)) {\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        else {\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }" if (parenthesized_expression "((*piVar10 == 0x15) || (uVar9 == 0))" ( (binary_expression "(*piVar10 == 0x15) || (uVar9 == 0)" (parenthesized_expression "(*piVar10 == 0x15)" ( (binary_expression "*piVar10 == 0x15" (pointer_expression "*piVar10" * identifier) == number_literal) )) || (parenthesized_expression "(uVar9 == 0)" ( (binary_expression "uVar9 == 0" identifier == number_literal) ))) )) (compound_statement "{\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }" { (expression_statement "uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);" (assignment_expression "uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634)" identifier = (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca2f8) + 0x7538)" ( (binary_expression "*(int *)(pcVar22 + 0xca2f8) + 0x7538" (pointer_expression "*(int *)(pcVar22 + 0xca2f8)" * (cast_expression "(int *)(pcVar22 + 0xca2f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca2f8)" ( (binary_expression "pcVar22 + 0xca2f8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(0x9634)" ( number_literal )))) ;) (expression_statement "pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );" (assignment_expression "pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     )" identifier = (cast_expression "(code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     )" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     )" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca2f8) + 0x114c)" ( (binary_expression "*(int *)(pcVar22 + 0xca2f8) + 0x114c" (pointer_expression "*(int *)(pcVar22 + 0xca2f8)" * (cast_expression "(int *)(pcVar22 + 0xca2f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca2f8)" ( (binary_expression "pcVar22 + 0xca2f8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     )" ( identifier , (binary_expression "*(int *)(pcVar22 + 0xca05c) + 0x1738" (pointer_expression "*(int *)(pcVar22 + 0xca05c)" * (cast_expression "(int *)(pcVar22 + 0xca05c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca05c)" ( (binary_expression "pcVar22 + 0xca05c" identifier + number_literal) )))) + number_literal) , identifier , number_literal ))))) ;) }) (else_clause "else {\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }" else (compound_statement "{\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }" { (expression_statement "param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);" (assignment_expression "param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1)" identifier = (cast_expression "(code *)((uint)param_4 & 0xfffffff9 | 1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)param_4 & 0xfffffff9 | 1)" ( (binary_expression "(uint)param_4 & 0xfffffff9 | 1" (binary_expression "(uint)param_4 & 0xfffffff9" (cast_expression "(uint)param_4" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) | number_literal) )))) ;) (expression_statement "iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);" (assignment_expression "iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28)" identifier = (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca2f8) + 0xf70)" ( (binary_expression "*(int *)(pcVar22 + 0xca2f8) + 0xf70" (pointer_expression "*(int *)(pcVar22 + 0xca2f8)" * (cast_expression "(int *)(pcVar22 + 0xca2f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca2f8)" ( (binary_expression "pcVar22 + 0xca2f8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28)" ( identifier , (binary_expression "uStack_968 & 0xfffffefd | 0x2000" (binary_expression "uStack_968 & 0xfffffefd" identifier & number_literal) | number_literal) , identifier )))) ;) (if_statement "if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }" if (parenthesized_expression "(-1 < iVar4)" ( (binary_expression "-1 < iVar4" number_literal < identifier) )) (compound_statement "{\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }" { (expression_statement "uStack_958 = 1;" (assignment_expression "uStack_958 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_000c5e40;" goto statement_identifier ;) })) (expression_statement "uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);" (assignment_expression "uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634)" identifier = (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca2f8) + 0x7538)" ( (binary_expression "*(int *)(pcVar22 + 0xca2f8) + 0x7538" (pointer_expression "*(int *)(pcVar22 + 0xca2f8)" * (cast_expression "(int *)(pcVar22 + 0xca2f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca2f8)" ( (binary_expression "pcVar22 + 0xca2f8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(0x9634)" ( number_literal )))) ;) (expression_statement "pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );" (assignment_expression "pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     )" identifier = (cast_expression "(code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     )" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     )" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca2f8) + 0x114c)" ( (binary_expression "*(int *)(pcVar22 + 0xca2f8) + 0x114c" (pointer_expression "*(int *)(pcVar22 + 0xca2f8)" * (cast_expression "(int *)(pcVar22 + 0xca2f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca2f8)" ( (binary_expression "pcVar22 + 0xca2f8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     )" ( identifier , (binary_expression "*(int *)(pcVar22 + 0xca05c) + 0x1738" (pointer_expression "*(int *)(pcVar22 + 0xca05c)" * (cast_expression "(int *)(pcVar22 + 0xca05c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca05c)" ( (binary_expression "pcVar22 + 0xca05c" identifier + number_literal) )))) + number_literal) , identifier , number_literal ))))) ;) }))) (if_statement "if (pcVar5 == (code *)0x0) goto LAB_000c602c;" if (parenthesized_expression "(pcVar5 == (code *)0x0)" ( (binary_expression "pcVar5 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c602c;" goto statement_identifier ;)) }))) (labeled_statement "LAB_000c630c:\n      iVar4 = *(int *)(pcVar6 + 0x1c);" statement_identifier : (expression_statement "iVar4 = *(int *)(pcVar6 + 0x1c);" (assignment_expression "iVar4 = *(int *)(pcVar6 + 0x1c)" identifier = (pointer_expression "*(int *)(pcVar6 + 0x1c)" * (cast_expression "(int *)(pcVar6 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x1c)" ( (binary_expression "pcVar6 + 0x1c" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_000c6310:\n      (**(code **)(pcVar22 + 0xca07c))(iVar4);" statement_identifier : (expression_statement "(**(code **)(pcVar22 + 0xca07c))(iVar4);" (call_expression "(**(code **)(pcVar22 + 0xca07c))(iVar4)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca07c))" ( (pointer_expression "**(code **)(pcVar22 + 0xca07c)" * (pointer_expression "*(code **)(pcVar22 + 0xca07c)" * (cast_expression "(code **)(pcVar22 + 0xca07c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca07c)" ( (binary_expression "pcVar22 + 0xca07c" identifier + number_literal) ))))) )) (argument_list "(iVar4)" ( identifier ))) ;)) }) (else_clause "else {\nLAB_000c5a6c:\n      if (puStack_458 != (undefined4 *)0x0) {\n        *puStack_458 = param_4;\n      }\n      if (*(int **)(pcVar6 + 0x1c) != (int *)0x0) {\n        **(int **)(pcVar6 + 0x1c) = iVar4;\n        *(code **)(*(int *)(pcVar6 + 0x1c) + 4) = param_4;\n      }\n      if (uVar18 != 0) {\n        (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))(pcStack_96c);\n        uVar18 = 0x20;\n      }\n      if (uStack_958 != 0) {\n        uVar18 = uVar18 | 2;\n      }\n      if (uVar20 != 0x100) {\n        uVar18 = uVar18 | 0x80;\n      }\n      if (bVar1) {\n        uVar18 = uVar18 | 8;\n      }\n      if (((uint)param_4 & 0x40) == 0) {\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = (code *)0x0;\n      }\n      else {\n        uVar18 = uVar18 | 0x40;\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = pcVar30;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca37c))(pcVar5,*(int *)(pcVar22 + 0xca060) + -0x45c0,1);\n      iVar16 = *(int *)(pcVar22 + 0xca060);\n      if (iVar27 != 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 0x10;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca610))(*(undefined4 *)(iVar8 + 0x10),iVar16 + -0x45b8);\n      if (iVar27 == 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 1;\n      }\n      if ((uVar18 & 0x80) == 0) {\n        iVar27 = (*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6);\n        if (iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n          iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);\n          if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n        }\n        else {\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }\n        *(int *)(pcVar6 + 0x14) = 0;\n        if (pcVar5 != (code *)0x0) {\n          if (iVar4 < 0) goto LAB_000c630c;\n          (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);\n          iVar4 = *(int *)(pcVar6 + 0x1c);\n          goto LAB_000c6310;\n        }\n      }\n      else {\n        iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4;\nLAB_000c6394:\n        *(int *)(pcVar6 + 0x14) = 0;\n      }\n      *(int *)pcVar6 = iVar27;\n      (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524))(pcVar6);\n      pcVar5 = (code *)0x0;\n    }" else (compound_statement "{\nLAB_000c5a6c:\n      if (puStack_458 != (undefined4 *)0x0) {\n        *puStack_458 = param_4;\n      }\n      if (*(int **)(pcVar6 + 0x1c) != (int *)0x0) {\n        **(int **)(pcVar6 + 0x1c) = iVar4;\n        *(code **)(*(int *)(pcVar6 + 0x1c) + 4) = param_4;\n      }\n      if (uVar18 != 0) {\n        (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))(pcStack_96c);\n        uVar18 = 0x20;\n      }\n      if (uStack_958 != 0) {\n        uVar18 = uVar18 | 2;\n      }\n      if (uVar20 != 0x100) {\n        uVar18 = uVar18 | 0x80;\n      }\n      if (bVar1) {\n        uVar18 = uVar18 | 8;\n      }\n      if (((uint)param_4 & 0x40) == 0) {\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = (code *)0x0;\n      }\n      else {\n        uVar18 = uVar18 | 0x40;\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = pcVar30;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca37c))(pcVar5,*(int *)(pcVar22 + 0xca060) + -0x45c0,1);\n      iVar16 = *(int *)(pcVar22 + 0xca060);\n      if (iVar27 != 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 0x10;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca610))(*(undefined4 *)(iVar8 + 0x10),iVar16 + -0x45b8);\n      if (iVar27 == 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 1;\n      }\n      if ((uVar18 & 0x80) == 0) {\n        iVar27 = (*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6);\n        if (iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n          iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);\n          if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n        }\n        else {\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }\n        *(int *)(pcVar6 + 0x14) = 0;\n        if (pcVar5 != (code *)0x0) {\n          if (iVar4 < 0) goto LAB_000c630c;\n          (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);\n          iVar4 = *(int *)(pcVar6 + 0x1c);\n          goto LAB_000c6310;\n        }\n      }\n      else {\n        iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4;\nLAB_000c6394:\n        *(int *)(pcVar6 + 0x14) = 0;\n      }\n      *(int *)pcVar6 = iVar27;\n      (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524))(pcVar6);\n      pcVar5 = (code *)0x0;\n    }" { (labeled_statement "LAB_000c5a6c:\n      if (puStack_458 != (undefined4 *)0x0) {\n        *puStack_458 = param_4;\n      }" statement_identifier : (if_statement "if (puStack_458 != (undefined4 *)0x0) {\n        *puStack_458 = param_4;\n      }" if (parenthesized_expression "(puStack_458 != (undefined4 *)0x0)" ( (binary_expression "puStack_458 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *puStack_458 = param_4;\n      }" { (expression_statement "*puStack_458 = param_4;" (assignment_expression "*puStack_458 = param_4" (pointer_expression "*puStack_458" * identifier) = identifier) ;) }))) (if_statement "if (*(int **)(pcVar6 + 0x1c) != (int *)0x0) {\n        **(int **)(pcVar6 + 0x1c) = iVar4;\n        *(code **)(*(int *)(pcVar6 + 0x1c) + 4) = param_4;\n      }" if (parenthesized_expression "(*(int **)(pcVar6 + 0x1c) != (int *)0x0)" ( (binary_expression "*(int **)(pcVar6 + 0x1c) != (int *)0x0" (pointer_expression "*(int **)(pcVar6 + 0x1c)" * (cast_expression "(int **)(pcVar6 + 0x1c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0x1c)" ( (binary_expression "pcVar6 + 0x1c" identifier + number_literal) )))) != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        **(int **)(pcVar6 + 0x1c) = iVar4;\n        *(code **)(*(int *)(pcVar6 + 0x1c) + 4) = param_4;\n      }" { (expression_statement "**(int **)(pcVar6 + 0x1c) = iVar4;" (assignment_expression "**(int **)(pcVar6 + 0x1c) = iVar4" (pointer_expression "**(int **)(pcVar6 + 0x1c)" * (pointer_expression "*(int **)(pcVar6 + 0x1c)" * (cast_expression "(int **)(pcVar6 + 0x1c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0x1c)" ( (binary_expression "pcVar6 + 0x1c" identifier + number_literal) ))))) = identifier) ;) (expression_statement "*(code **)(*(int *)(pcVar6 + 0x1c) + 4) = param_4;" (assignment_expression "*(code **)(*(int *)(pcVar6 + 0x1c) + 4) = param_4" (pointer_expression "*(code **)(*(int *)(pcVar6 + 0x1c) + 4)" * (cast_expression "(code **)(*(int *)(pcVar6 + 0x1c) + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar6 + 0x1c) + 4)" ( (binary_expression "*(int *)(pcVar6 + 0x1c) + 4" (pointer_expression "*(int *)(pcVar6 + 0x1c)" * (cast_expression "(int *)(pcVar6 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x1c)" ( (binary_expression "pcVar6 + 0x1c" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) })) (if_statement "if (uVar18 != 0) {\n        (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))(pcStack_96c);\n        uVar18 = 0x20;\n      }" if (parenthesized_expression "(uVar18 != 0)" ( (binary_expression "uVar18 != 0" identifier != number_literal) )) (compound_statement "{\n        (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))(pcStack_96c);\n        uVar18 = 0x20;\n      }" { (expression_statement "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))(pcStack_96c);" (call_expression "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))(pcStack_96c)" (parenthesized_expression "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))" ( (pointer_expression "**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c)" * (pointer_expression "*(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c)" * (cast_expression "(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + -0x77c)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x77c" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(pcStack_96c)" ( identifier ))) ;) (expression_statement "uVar18 = 0x20;" (assignment_expression "uVar18 = 0x20" identifier = number_literal) ;) })) (if_statement "if (uStack_958 != 0) {\n        uVar18 = uVar18 | 2;\n      }" if (parenthesized_expression "(uStack_958 != 0)" ( (binary_expression "uStack_958 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar18 = uVar18 | 2;\n      }" { (expression_statement "uVar18 = uVar18 | 2;" (assignment_expression "uVar18 = uVar18 | 2" identifier = (binary_expression "uVar18 | 2" identifier | number_literal)) ;) })) (if_statement "if (uVar20 != 0x100) {\n        uVar18 = uVar18 | 0x80;\n      }" if (parenthesized_expression "(uVar20 != 0x100)" ( (binary_expression "uVar20 != 0x100" identifier != number_literal) )) (compound_statement "{\n        uVar18 = uVar18 | 0x80;\n      }" { (expression_statement "uVar18 = uVar18 | 0x80;" (assignment_expression "uVar18 = uVar18 | 0x80" identifier = (binary_expression "uVar18 | 0x80" identifier | number_literal)) ;) })) (if_statement "if (bVar1) {\n        uVar18 = uVar18 | 8;\n      }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n        uVar18 = uVar18 | 8;\n      }" { (expression_statement "uVar18 = uVar18 | 8;" (assignment_expression "uVar18 = uVar18 | 8" identifier = (binary_expression "uVar18 | 8" identifier | number_literal)) ;) })) (if_statement "if (((uint)param_4 & 0x40) == 0) {\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = (code *)0x0;\n      }\n      else {\n        uVar18 = uVar18 | 0x40;\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = pcVar30;\n      }" if (parenthesized_expression "(((uint)param_4 & 0x40) == 0)" ( (binary_expression "((uint)param_4 & 0x40) == 0" (parenthesized_expression "((uint)param_4 & 0x40)" ( (binary_expression "(uint)param_4 & 0x40" (cast_expression "(uint)param_4" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = (code *)0x0;\n      }" { (expression_statement "*(int *)(pcVar6 + 0xc) = iVar4;" (assignment_expression "*(int *)(pcVar6 + 0xc) = iVar4" (pointer_expression "*(int *)(pcVar6 + 0xc)" * (cast_expression "(int *)(pcVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xc)" ( (binary_expression "pcVar6 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(pcVar6 + 4) = iVar8;" (assignment_expression "*(int *)(pcVar6 + 4) = iVar8" (pointer_expression "*(int *)(pcVar6 + 4)" * (cast_expression "(int *)(pcVar6 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 4)" ( (binary_expression "pcVar6 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(pcVar6 + 0x20) = pcVar30;" (assignment_expression "*(code **)(pcVar6 + 0x20) = pcVar30" (pointer_expression "*(code **)(pcVar6 + 0x20)" * (cast_expression "(code **)(pcVar6 + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0x20)" ( (binary_expression "pcVar6 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(short *)(pcVar6 + 0x12) = (short)uVar18;" (assignment_expression "*(short *)(pcVar6 + 0x12) = (short)uVar18" (pointer_expression "*(short *)(pcVar6 + 0x12)" * (cast_expression "(short *)(pcVar6 + 0x12)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x12)" ( (binary_expression "pcVar6 + 0x12" identifier + number_literal) )))) = (cast_expression "(short)uVar18" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;) (expression_statement "iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);" (assignment_expression "iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0)" identifier = (pointer_expression "*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0)" * (cast_expression "(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + -0x1ac0)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x1ac0" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);" (assignment_expression "*(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc)" (pointer_expression "*(int *)(pcVar6 + 0x44)" * (cast_expression "(int *)(pcVar6 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x44)" ( (binary_expression "pcVar6 + 0x44" identifier + number_literal) )))) = (pointer_expression "*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc)" * (cast_expression "(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + -0x1abc)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x1abc" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(int *)(pcVar6 + 0x40) = iVar27;" (assignment_expression "*(int *)(pcVar6 + 0x40) = iVar27" (pointer_expression "*(int *)(pcVar6 + 0x40)" * (cast_expression "(int *)(pcVar6 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x40)" ( (binary_expression "pcVar6 + 0x40" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar5 = (code *)0x0;" (assignment_expression "pcVar5 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n        uVar18 = uVar18 | 0x40;\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = pcVar30;\n      }" else (compound_statement "{\n        uVar18 = uVar18 | 0x40;\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = pcVar30;\n      }" { (expression_statement "uVar18 = uVar18 | 0x40;" (assignment_expression "uVar18 = uVar18 | 0x40" identifier = (binary_expression "uVar18 | 0x40" identifier | number_literal)) ;) (expression_statement "*(int *)(pcVar6 + 0xc) = iVar4;" (assignment_expression "*(int *)(pcVar6 + 0xc) = iVar4" (pointer_expression "*(int *)(pcVar6 + 0xc)" * (cast_expression "(int *)(pcVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xc)" ( (binary_expression "pcVar6 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(pcVar6 + 4) = iVar8;" (assignment_expression "*(int *)(pcVar6 + 4) = iVar8" (pointer_expression "*(int *)(pcVar6 + 4)" * (cast_expression "(int *)(pcVar6 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 4)" ( (binary_expression "pcVar6 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(pcVar6 + 0x20) = pcVar30;" (assignment_expression "*(code **)(pcVar6 + 0x20) = pcVar30" (pointer_expression "*(code **)(pcVar6 + 0x20)" * (cast_expression "(code **)(pcVar6 + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0x20)" ( (binary_expression "pcVar6 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(short *)(pcVar6 + 0x12) = (short)uVar18;" (assignment_expression "*(short *)(pcVar6 + 0x12) = (short)uVar18" (pointer_expression "*(short *)(pcVar6 + 0x12)" * (cast_expression "(short *)(pcVar6 + 0x12)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x12)" ( (binary_expression "pcVar6 + 0x12" identifier + number_literal) )))) = (cast_expression "(short)uVar18" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;) (expression_statement "iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);" (assignment_expression "iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0)" identifier = (pointer_expression "*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0)" * (cast_expression "(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + -0x1ac0)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x1ac0" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);" (assignment_expression "*(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc)" (pointer_expression "*(int *)(pcVar6 + 0x44)" * (cast_expression "(int *)(pcVar6 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x44)" ( (binary_expression "pcVar6 + 0x44" identifier + number_literal) )))) = (pointer_expression "*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc)" * (cast_expression "(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + -0x1abc)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x1abc" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(int *)(pcVar6 + 0x40) = iVar27;" (assignment_expression "*(int *)(pcVar6 + 0x40) = iVar27" (pointer_expression "*(int *)(pcVar6 + 0x40)" * (cast_expression "(int *)(pcVar6 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x40)" ( (binary_expression "pcVar6 + 0x40" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar5 = pcVar30;" (assignment_expression "pcVar5 = pcVar30" identifier = identifier) ;) }))) (expression_statement "iVar27 = (**(code **)(pcVar22 + 0xca37c))(pcVar5,*(int *)(pcVar22 + 0xca060) + -0x45c0,1);" (assignment_expression "iVar27 = (**(code **)(pcVar22 + 0xca37c))(pcVar5,*(int *)(pcVar22 + 0xca060) + -0x45c0,1)" identifier = (call_expression "(**(code **)(pcVar22 + 0xca37c))(pcVar5,*(int *)(pcVar22 + 0xca060) + -0x45c0,1)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca37c))" ( (pointer_expression "**(code **)(pcVar22 + 0xca37c)" * (pointer_expression "*(code **)(pcVar22 + 0xca37c)" * (cast_expression "(code **)(pcVar22 + 0xca37c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca37c)" ( (binary_expression "pcVar22 + 0xca37c" identifier + number_literal) ))))) )) (argument_list "(pcVar5,*(int *)(pcVar22 + 0xca060) + -0x45c0,1)" ( identifier , (binary_expression "*(int *)(pcVar22 + 0xca060) + -0x45c0" (pointer_expression "*(int *)(pcVar22 + 0xca060)" * (cast_expression "(int *)(pcVar22 + 0xca060)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca060)" ( (binary_expression "pcVar22 + 0xca060" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "iVar16 = *(int *)(pcVar22 + 0xca060);" (assignment_expression "iVar16 = *(int *)(pcVar22 + 0xca060)" identifier = (pointer_expression "*(int *)(pcVar22 + 0xca060)" * (cast_expression "(int *)(pcVar22 + 0xca060)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca060)" ( (binary_expression "pcVar22 + 0xca060" identifier + number_literal) ))))) ;) (if_statement "if (iVar27 != 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 0x10;\n      }" if (parenthesized_expression "(iVar27 != 0)" ( (binary_expression "iVar27 != 0" identifier != number_literal) )) (compound_statement "{\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 0x10;\n      }" { (expression_statement "*(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 0x10;" (assignment_expression "*(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 0x10" (pointer_expression "*(ushort *)(pcVar6 + 0x12)" * (cast_expression "(ushort *)(pcVar6 + 0x12)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x12)" ( (binary_expression "pcVar6 + 0x12" identifier + number_literal) )))) = (binary_expression "*(ushort *)(pcVar6 + 0x12) | 0x10" (pointer_expression "*(ushort *)(pcVar6 + 0x12)" * (cast_expression "(ushort *)(pcVar6 + 0x12)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x12)" ( (binary_expression "pcVar6 + 0x12" identifier + number_literal) )))) | number_literal)) ;) })) (expression_statement "iVar27 = (**(code **)(pcVar22 + 0xca610))(*(undefined4 *)(iVar8 + 0x10),iVar16 + -0x45b8);" (assignment_expression "iVar27 = (**(code **)(pcVar22 + 0xca610))(*(undefined4 *)(iVar8 + 0x10),iVar16 + -0x45b8)" identifier = (call_expression "(**(code **)(pcVar22 + 0xca610))(*(undefined4 *)(iVar8 + 0x10),iVar16 + -0x45b8)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca610))" ( (pointer_expression "**(code **)(pcVar22 + 0xca610)" * (pointer_expression "*(code **)(pcVar22 + 0xca610)" * (cast_expression "(code **)(pcVar22 + 0xca610)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca610)" ( (binary_expression "pcVar22 + 0xca610" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar8 + 0x10),iVar16 + -0x45b8)" ( (pointer_expression "*(undefined4 *)(iVar8 + 0x10)" * (cast_expression "(undefined4 *)(iVar8 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x10)" ( (binary_expression "iVar8 + 0x10" identifier + number_literal) )))) , (binary_expression "iVar16 + -0x45b8" identifier + number_literal) )))) ;) (if_statement "if (iVar27 == 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 1;\n      }" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (compound_statement "{\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 1;\n      }" { (expression_statement "*(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 1;" (assignment_expression "*(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 1" (pointer_expression "*(ushort *)(pcVar6 + 0x12)" * (cast_expression "(ushort *)(pcVar6 + 0x12)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x12)" ( (binary_expression "pcVar6 + 0x12" identifier + number_literal) )))) = (binary_expression "*(ushort *)(pcVar6 + 0x12) | 1" (pointer_expression "*(ushort *)(pcVar6 + 0x12)" * (cast_expression "(ushort *)(pcVar6 + 0x12)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x12)" ( (binary_expression "pcVar6 + 0x12" identifier + number_literal) )))) | number_literal)) ;) })) (if_statement "if ((uVar18 & 0x80) == 0) {\n        iVar27 = (*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6);\n        if (iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n          iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);\n          if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n        }\n        else {\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }\n        *(int *)(pcVar6 + 0x14) = 0;\n        if (pcVar5 != (code *)0x0) {\n          if (iVar4 < 0) goto LAB_000c630c;\n          (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);\n          iVar4 = *(int *)(pcVar6 + 0x1c);\n          goto LAB_000c6310;\n        }\n      }\n      else {\n        iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4;\nLAB_000c6394:\n        *(int *)(pcVar6 + 0x14) = 0;\n      }" if (parenthesized_expression "((uVar18 & 0x80) == 0)" ( (binary_expression "(uVar18 & 0x80) == 0" (parenthesized_expression "(uVar18 & 0x80)" ( (binary_expression "uVar18 & 0x80" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        iVar27 = (*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6);\n        if (iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n          iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);\n          if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n        }\n        else {\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }\n        *(int *)(pcVar6 + 0x14) = 0;\n        if (pcVar5 != (code *)0x0) {\n          if (iVar4 < 0) goto LAB_000c630c;\n          (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);\n          iVar4 = *(int *)(pcVar6 + 0x1c);\n          goto LAB_000c6310;\n        }\n      }" { (expression_statement "iVar27 = (*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6);" (assignment_expression "iVar27 = (*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6)" identifier = (call_expression "(*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6)" (parenthesized_expression "(*(code *)**(undefined4 **)(iVar8 + 0x14))" ( (pointer_expression "*(code *)**(undefined4 **)(iVar8 + 0x14)" * (cast_expression "(code *)**(undefined4 **)(iVar8 + 0x14)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(iVar8 + 0x14)" * (pointer_expression "*(undefined4 **)(iVar8 + 0x14)" * (cast_expression "(undefined4 **)(iVar8 + 0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x14)" ( (binary_expression "iVar8 + 0x14" identifier + number_literal) ))))))) )) (argument_list "(pcVar30,pcVar6)" ( identifier , identifier )))) ;) (if_statement "if (iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n          iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);\n          if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n        }\n        else {\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }" if (parenthesized_expression "(iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154)" ( (binary_expression "iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154" identifier == (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x2154" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal)) )) (compound_statement "{\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n          iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);\n          if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n        }" { (expression_statement "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();" (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca25c) + 0x277c)" ( (binary_expression "*(int *)(pcVar22 + 0xca25c) + 0x277c" (pointer_expression "*(int *)(pcVar22 + 0xca25c)" * (cast_expression "(int *)(pcVar22 + 0xca25c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca25c)" ( (binary_expression "pcVar22 + 0xca25c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (expression_statement "iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);" (assignment_expression "iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940)" identifier = (call_expression "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940)" (parenthesized_expression "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))" ( (pointer_expression "**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800)" * (pointer_expression "*(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800)" * (cast_expression "(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + -0x800)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x800" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(*(int *)(pcVar6 + 0xc),aiStack_940)" ( (pointer_expression "*(int *)(pcVar6 + 0xc)" * (cast_expression "(int *)(pcVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xc)" ( (binary_expression "pcVar6 + 0xc" identifier + number_literal) )))) , identifier )))) ;) (if_statement "if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }" { (expression_statement "uStack_950 = 0;" (assignment_expression "uStack_950 = 0" identifier = number_literal) ;) (expression_statement "iStack_94c = aiStack_940[0];" (assignment_expression "iStack_94c = aiStack_940[0]" identifier = (subscript_expression "aiStack_940[0]" identifier [ number_literal ])) ;) (expression_statement "iStack_944 = iStack_92c;" (assignment_expression "iStack_944 = iStack_92c" identifier = identifier) ;) (expression_statement "iStack_948 = iStack_930;" (assignment_expression "iStack_948 = iStack_930" identifier = identifier) ;) (for_statement "for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }" for ( (assignment_expression "puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228)" identifier = (pointer_expression "*(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228)" * (cast_expression "(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + 0x228)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + 0x228" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) ))))) ; (binary_expression "puVar19 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar19 = (undefined4 *)puVar19[0xb]" identifier = (cast_expression "(undefined4 *)puVar19[0xb]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar19[0xb]" identifier [ number_literal ]))) ) (compound_statement "{\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }" { (expression_statement "iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);" (assignment_expression "iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10)" identifier = (call_expression "(**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca5b8))" ( (pointer_expression "**(code **)(pcVar22 + 0xca5b8)" * (pointer_expression "*(code **)(pcVar22 + 0xca5b8)" * (cast_expression "(code **)(pcVar22 + 0xca5b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca5b8)" ( (binary_expression "pcVar22 + 0xca5b8" identifier + number_literal) ))))) )) (argument_list "(&uStack_950,puVar19,0x10)" ( (pointer_expression "&uStack_950" & identifier) , identifier , number_literal )))) ;) (if_statement "if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }" { (if_statement "if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }" if (parenthesized_expression "(puVar19 != (undefined4 *)0x0)" ( (binary_expression "puVar19 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }" { (expression_statement "puVar19[9] = puVar19[9] + 1;" (assignment_expression "puVar19[9] = puVar19[9] + 1" (subscript_expression "puVar19[9]" identifier [ number_literal ]) = (binary_expression "puVar19[9] + 1" (subscript_expression "puVar19[9]" identifier [ number_literal ]) + number_literal)) ;) (goto_statement "goto LAB_000c62e4;" goto statement_identifier ;) })) (break_statement "break;" break ;) })) })) (expression_statement "puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);" (assignment_expression "puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38)" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar22 + 0xca0d4))(0,0x38)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca0d4))" ( (pointer_expression "**(code **)(pcVar22 + 0xca0d4)" * (pointer_expression "*(code **)(pcVar22 + 0xca0d4)" * (cast_expression "(code **)(pcVar22 + 0xca0d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca0d4)" ( (binary_expression "pcVar22 + 0xca0d4" identifier + number_literal) ))))) )) (argument_list "(0,0x38)" ( number_literal , number_literal ))))) ;) (if_statement "if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }" if (parenthesized_expression "(puVar19 == (undefined4 *)0x0)" ( (binary_expression "puVar19 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }" { (expression_statement "pcVar5 = (code *)&DAT_00000007;" (assignment_expression "pcVar5 = (code *)&DAT_00000007" identifier = (cast_expression "(code *)&DAT_00000007" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (goto_statement "goto LAB_000c62a8;" goto statement_identifier ;) })) (expression_statement "(**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);" (call_expression "(**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca504))" ( (pointer_expression "**(code **)(pcVar22 + 0xca504)" * (pointer_expression "*(code **)(pcVar22 + 0xca504)" * (cast_expression "(code **)(pcVar22 + 0xca504)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca504)" ( (binary_expression "pcVar22 + 0xca504" identifier + number_literal) ))))) )) (argument_list "(puVar19 + 4,0,0x28)" ( (binary_expression "puVar19 + 4" identifier + number_literal) , number_literal , number_literal ))) ;) (expression_statement "*puVar19 = uStack_950;" (assignment_expression "*puVar19 = uStack_950" (pointer_expression "*puVar19" * identifier) = identifier) ;) (expression_statement "puVar19[1] = iStack_94c;" (assignment_expression "puVar19[1] = iStack_94c" (subscript_expression "puVar19[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar19[2] = iStack_948;" (assignment_expression "puVar19[2] = iStack_948" (subscript_expression "puVar19[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar19[3] = iStack_944;" (assignment_expression "puVar19[3] = iStack_944" (subscript_expression "puVar19[3]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }" if (parenthesized_expression "(*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0)" ( (binary_expression "*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0" (pointer_expression "*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74)" * (cast_expression "(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + -0x1b74)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x1b74" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }" { (expression_statement "iVar8 = (**(code **)(pcVar22 + 0xca380))(0);" (assignment_expression "iVar8 = (**(code **)(pcVar22 + 0xca380))(0)" identifier = (call_expression "(**(code **)(pcVar22 + 0xca380))(0)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca380))" ( (pointer_expression "**(code **)(pcVar22 + 0xca380)" * (pointer_expression "*(code **)(pcVar22 + 0xca380)" * (cast_expression "(code **)(pcVar22 + 0xca380)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca380)" ( (binary_expression "pcVar22 + 0xca380" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal )))) ;) (expression_statement "puVar19[4] = iVar8;" (assignment_expression "puVar19[4] = iVar8" (subscript_expression "puVar19[4]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }" { (expression_statement "(**(code **)(pcVar22 + 0xca07c))(puVar19);" (call_expression "(**(code **)(pcVar22 + 0xca07c))(puVar19)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca07c))" ( (pointer_expression "**(code **)(pcVar22 + 0xca07c)" * (pointer_expression "*(code **)(pcVar22 + 0xca07c)" * (cast_expression "(code **)(pcVar22 + 0xca07c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca07c)" ( (binary_expression "pcVar22 + 0xca07c" identifier + number_literal) ))))) )) (argument_list "(puVar19)" ( identifier ))) ;) (expression_statement "pcVar5 = (code *)&DAT_00000007;" (assignment_expression "pcVar5 = (code *)&DAT_00000007" identifier = (cast_expression "(code *)&DAT_00000007" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (goto_statement "goto LAB_000c62a8;" goto statement_identifier ;) })) })) (expression_statement "puVar19[9] = 1;" (assignment_expression "puVar19[9] = 1" (subscript_expression "puVar19[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);" (assignment_expression "iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228)" identifier = (pointer_expression "*(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228)" * (cast_expression "(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + 0x228)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + 0x228" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "puVar19[0xb] = iVar8;" (assignment_expression "puVar19[0xb] = iVar8" (subscript_expression "puVar19[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar19[0xc] = 0;" (assignment_expression "puVar19[0xc] = 0" (subscript_expression "puVar19[0xc]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }" { (expression_statement "*(undefined4 **)(iVar8 + 0x30) = puVar19;" (assignment_expression "*(undefined4 **)(iVar8 + 0x30) = puVar19" (pointer_expression "*(undefined4 **)(iVar8 + 0x30)" * (cast_expression "(undefined4 **)(iVar8 + 0x30)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x30)" ( (binary_expression "iVar8 + 0x30" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "*(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;" (assignment_expression "*(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19" (pointer_expression "*(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228)" * (cast_expression "(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + 0x228)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + 0x228" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) (labeled_statement "LAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;" statement_identifier : (expression_statement "*(undefined4 **)(pcVar6 + 8) = puVar19;" (assignment_expression "*(undefined4 **)(pcVar6 + 8) = puVar19" (pointer_expression "*(undefined4 **)(pcVar6 + 8)" * (cast_expression "(undefined4 **)(pcVar6 + 8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 8)" ( (binary_expression "pcVar6 + 8" identifier + number_literal) )))) = identifier) ;)) (expression_statement "pcVar5 = (code *)0x0;" (assignment_expression "pcVar5 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }" else (compound_statement "{\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }" { (expression_statement "piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();" (assignment_expression "piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))()" identifier = (cast_expression "(int *)(**(code **)(pcVar22 + 0xca4f8))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar22 + 0xca4f8))()" (parenthesized_expression "(**(code **)(pcVar22 + 0xca4f8))" ( (pointer_expression "**(code **)(pcVar22 + 0xca4f8)" * (pointer_expression "*(code **)(pcVar22 + 0xca4f8)" * (cast_expression "(code **)(pcVar22 + 0xca4f8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca4f8)" ( (binary_expression "pcVar22 + 0xca4f8" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "*(int *)(pcVar6 + 0x14) = *piVar10;" (assignment_expression "*(int *)(pcVar6 + 0x14) = *piVar10" (pointer_expression "*(int *)(pcVar6 + 0x14)" * (cast_expression "(int *)(pcVar6 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x14)" ( (binary_expression "pcVar6 + 0x14" identifier + number_literal) )))) = (pointer_expression "*piVar10" * identifier)) ;) (expression_statement "pcVar5 = (code *)&DAT_0000000a;" (assignment_expression "pcVar5 = (code *)&DAT_0000000a" identifier = (cast_expression "(code *)&DAT_0000000a" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000000a" & identifier))) ;) (labeled_statement "LAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);" statement_identifier : (expression_statement "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);" (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca2f8) + 0x158c)" ( (binary_expression "*(int *)(pcVar22 + 0xca2f8) + 0x158c" (pointer_expression "*(int *)(pcVar22 + 0xca2f8)" * (cast_expression "(int *)(pcVar22 + 0xca2f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca2f8)" ( (binary_expression "pcVar22 + 0xca2f8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcVar6,iVar4,0x9442)" ( identifier , identifier , number_literal ))) ;)) (expression_statement "iVar4 = -1;" (assignment_expression "iVar4 = -1" identifier = number_literal) ;) }))) (expression_statement "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();" (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca25c) + 0x27b8)" ( (binary_expression "*(int *)(pcVar22 + 0xca25c) + 0x27b8" (pointer_expression "*(int *)(pcVar22 + 0xca25c)" * (cast_expression "(int *)(pcVar22 + 0xca25c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca25c)" ( (binary_expression "pcVar22 + 0xca25c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) }) (else_clause "else {\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }" else (compound_statement "{\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }" { (if_statement "if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;" if (parenthesized_expression "(iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4)" ( (binary_expression "iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4" identifier != (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x21f4" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal)) )) (goto_statement "goto LAB_000c6394;" goto statement_identifier ;)) (expression_statement "iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);" (assignment_expression "iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30)" identifier = (call_expression "(**(code **)(pcVar22 + 0xca52c))(pcVar30)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca52c))" ( (pointer_expression "**(code **)(pcVar22 + 0xca52c)" * (pointer_expression "*(code **)(pcVar22 + 0xca52c)" * (cast_expression "(code **)(pcVar22 + 0xca52c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca52c)" ( (binary_expression "pcVar22 + 0xca52c" identifier + number_literal) ))))) )) (argument_list "(pcVar30)" ( identifier )))) ;) (expression_statement "iVar8 = iVar8 + 6;" (assignment_expression "iVar8 = iVar8 + 6" identifier = (binary_expression "iVar8 + 6" identifier + number_literal)) ;) (expression_statement "iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);" (assignment_expression "iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8)" identifier = (call_expression "(**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca0d4))" ( (pointer_expression "**(code **)(pcVar22 + 0xca0d4)" * (pointer_expression "*(code **)(pcVar22 + 0xca0d4)" * (cast_expression "(code **)(pcVar22 + 0xca0d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca0d4)" ( (binary_expression "pcVar22 + 0xca0d4" identifier + number_literal) ))))) )) (argument_list "(iVar8 >> 0x1f,iVar8)" ( (binary_expression "iVar8 >> 0x1f" identifier >> number_literal) , identifier )))) ;) (if_statement "if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n            pcVar5 = (code *)&DAT_00000007;\n          }" { (expression_statement "pcVar5 = (code *)&DAT_00000007;" (assignment_expression "pcVar5 = (code *)&DAT_00000007" identifier = (cast_expression "(code *)&DAT_00000007" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) }) (else_clause "else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }" else (compound_statement "{\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }" { (expression_statement "(**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);" (call_expression "(**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca160))" ( (pointer_expression "**(code **)(pcVar22 + 0xca160)" * (pointer_expression "*(code **)(pcVar22 + 0xca160)" * (cast_expression "(code **)(pcVar22 + 0xca160)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca160)" ( (binary_expression "pcVar22 + 0xca160" identifier + number_literal) ))))) )) (argument_list "(iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30)" ( identifier , identifier , (binary_expression "*(int *)(pcVar22 + 0xca060) + -0x45ac" (pointer_expression "*(int *)(pcVar22 + 0xca060)" * (cast_expression "(int *)(pcVar22 + 0xca060)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca060)" ( (binary_expression "pcVar22 + 0xca060" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (expression_statement "pcVar5 = (code *)0x0;" (assignment_expression "pcVar5 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "*(int *)(pcVar6 + 0x18) = iVar16;" (assignment_expression "*(int *)(pcVar6 + 0x18) = iVar16" (pointer_expression "*(int *)(pcVar6 + 0x18)" * (cast_expression "(int *)(pcVar6 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x18)" ( (binary_expression "pcVar6 + 0x18" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "*(int *)(pcVar6 + 0x14) = 0;" (assignment_expression "*(int *)(pcVar6 + 0x14) = 0" (pointer_expression "*(int *)(pcVar6 + 0x14)" * (cast_expression "(int *)(pcVar6 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x14)" ( (binary_expression "pcVar6 + 0x14" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (pcVar5 != (code *)0x0) {\n          if (iVar4 < 0) goto LAB_000c630c;\n          (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);\n          iVar4 = *(int *)(pcVar6 + 0x1c);\n          goto LAB_000c6310;\n        }" if (parenthesized_expression "(pcVar5 != (code *)0x0)" ( (binary_expression "pcVar5 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (iVar4 < 0) goto LAB_000c630c;\n          (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);\n          iVar4 = *(int *)(pcVar6 + 0x1c);\n          goto LAB_000c6310;\n        }" { (if_statement "if (iVar4 < 0) goto LAB_000c630c;" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (goto_statement "goto LAB_000c630c;" goto statement_identifier ;)) (expression_statement "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);" (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca2f8) + 0x158c)" ( (binary_expression "*(int *)(pcVar22 + 0xca2f8) + 0x158c" (pointer_expression "*(int *)(pcVar22 + 0xca2f8)" * (cast_expression "(int *)(pcVar22 + 0xca2f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca2f8)" ( (binary_expression "pcVar22 + 0xca2f8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcVar6,iVar4,0x9497)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar4 = *(int *)(pcVar6 + 0x1c);" (assignment_expression "iVar4 = *(int *)(pcVar6 + 0x1c)" identifier = (pointer_expression "*(int *)(pcVar6 + 0x1c)" * (cast_expression "(int *)(pcVar6 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x1c)" ( (binary_expression "pcVar6 + 0x1c" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000c6310;" goto statement_identifier ;) })) }) (else_clause "else {\n        iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4;\nLAB_000c6394:\n        *(int *)(pcVar6 + 0x14) = 0;\n      }" else (compound_statement "{\n        iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4;\nLAB_000c6394:\n        *(int *)(pcVar6 + 0x14) = 0;\n      }" { (expression_statement "iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4;" (assignment_expression "iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4" identifier = (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x21a4" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal)) ;) (labeled_statement "LAB_000c6394:\n        *(int *)(pcVar6 + 0x14) = 0;" statement_identifier : (expression_statement "*(int *)(pcVar6 + 0x14) = 0;" (assignment_expression "*(int *)(pcVar6 + 0x14) = 0" (pointer_expression "*(int *)(pcVar6 + 0x14)" * (cast_expression "(int *)(pcVar6 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x14)" ( (binary_expression "pcVar6 + 0x14" identifier + number_literal) )))) = number_literal) ;)) }))) (expression_statement "*(int *)pcVar6 = iVar27;" (assignment_expression "*(int *)pcVar6 = iVar27" (pointer_expression "*(int *)pcVar6" * (cast_expression "(int *)pcVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524))(pcVar6);" (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524))(pcVar6)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca2f8) + 0x2524)" ( (binary_expression "*(int *)(pcVar22 + 0xca2f8) + 0x2524" (pointer_expression "*(int *)(pcVar22 + 0xca2f8)" * (cast_expression "(int *)(pcVar22 + 0xca2f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca2f8)" ( (binary_expression "pcVar22 + 0xca2f8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcVar6)" ( identifier ))) ;) (expression_statement "pcVar5 = (code *)0x0;" (assignment_expression "pcVar5 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) }) (else_clause "else {\n    if ((uVar20 == 0x4000) || (uVar20 == 0x800)) {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n    }\n    else {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n      if (uVar20 != 0x80000) goto LAB_000c59a0;\n    }\n    iVar4 = (*pcVar5)();\n    if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {\n      bVar1 = true;\nLAB_000c59cc:\n      uVar29 = (**(code **)(pcVar22 + 0xca564))();\n      *(undefined4 *)(*(int *)(pcVar22 + 0xca04c) + 0x230) = uVar29;\n      sqlite3_randomness(0,0);\n      goto LAB_000c59fc;\n    }\n    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);\n    bVar1 = true;\nLAB_000c5a24:\n    iVar4 = -1;\n    if (pcVar30 != (code *)0x0) goto LAB_000c5a34;\n    pcVar5 = (code *)FUN_000c5048(*(undefined4 *)(iVar8 + 8),auStack_698);\n    if (pcVar5 == (code *)0x0) {\n      iVar4 = -1;\n      pcStack_96c = (code *)auStack_698;\n      goto LAB_000c5a34;\n    }\n  }" else (compound_statement "{\n    if ((uVar20 == 0x4000) || (uVar20 == 0x800)) {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n    }\n    else {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n      if (uVar20 != 0x80000) goto LAB_000c59a0;\n    }\n    iVar4 = (*pcVar5)();\n    if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {\n      bVar1 = true;\nLAB_000c59cc:\n      uVar29 = (**(code **)(pcVar22 + 0xca564))();\n      *(undefined4 *)(*(int *)(pcVar22 + 0xca04c) + 0x230) = uVar29;\n      sqlite3_randomness(0,0);\n      goto LAB_000c59fc;\n    }\n    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);\n    bVar1 = true;\nLAB_000c5a24:\n    iVar4 = -1;\n    if (pcVar30 != (code *)0x0) goto LAB_000c5a34;\n    pcVar5 = (code *)FUN_000c5048(*(undefined4 *)(iVar8 + 8),auStack_698);\n    if (pcVar5 == (code *)0x0) {\n      iVar4 = -1;\n      pcStack_96c = (code *)auStack_698;\n      goto LAB_000c5a34;\n    }\n  }" { (if_statement "if ((uVar20 == 0x4000) || (uVar20 == 0x800)) {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n    }\n    else {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n      if (uVar20 != 0x80000) goto LAB_000c59a0;\n    }" if (parenthesized_expression "((uVar20 == 0x4000) || (uVar20 == 0x800))" ( (binary_expression "(uVar20 == 0x4000) || (uVar20 == 0x800)" (parenthesized_expression "(uVar20 == 0x4000)" ( (binary_expression "uVar20 == 0x4000" identifier == number_literal) )) || (parenthesized_expression "(uVar20 == 0x800)" ( (binary_expression "uVar20 == 0x800" identifier == number_literal) ))) )) (compound_statement "{\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n    }" { (expression_statement "pcVar5 = *(code **)(pcVar22 + 0xca564);" (assignment_expression "pcVar5 = *(code **)(pcVar22 + 0xca564)" identifier = (pointer_expression "*(code **)(pcVar22 + 0xca564)" * (cast_expression "(code **)(pcVar22 + 0xca564)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca564)" ( (binary_expression "pcVar22 + 0xca564" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n      if (uVar20 != 0x80000) goto LAB_000c59a0;\n    }" else (compound_statement "{\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n      if (uVar20 != 0x80000) goto LAB_000c59a0;\n    }" { (expression_statement "pcVar5 = *(code **)(pcVar22 + 0xca564);" (assignment_expression "pcVar5 = *(code **)(pcVar22 + 0xca564)" identifier = (pointer_expression "*(code **)(pcVar22 + 0xca564)" * (cast_expression "(code **)(pcVar22 + 0xca564)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca564)" ( (binary_expression "pcVar22 + 0xca564" identifier + number_literal) ))))) ;) (if_statement "if (uVar20 != 0x80000) goto LAB_000c59a0;" if (parenthesized_expression "(uVar20 != 0x80000)" ( (binary_expression "uVar20 != 0x80000" identifier != number_literal) )) (goto_statement "goto LAB_000c59a0;" goto statement_identifier ;)) }))) (expression_statement "iVar4 = (*pcVar5)();" (assignment_expression "iVar4 = (*pcVar5)()" identifier = (call_expression "(*pcVar5)()" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {\n      bVar1 = true;\nLAB_000c59cc:\n      uVar29 = (**(code **)(pcVar22 + 0xca564))();\n      *(undefined4 *)(*(int *)(pcVar22 + 0xca04c) + 0x230) = uVar29;\n      sqlite3_randomness(0,0);\n      goto LAB_000c59fc;\n    }" if (parenthesized_expression "(iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230))" ( (binary_expression "iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)" identifier != (pointer_expression "*(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)" * (cast_expression "(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + 0x230)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + 0x230" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n      bVar1 = true;\nLAB_000c59cc:\n      uVar29 = (**(code **)(pcVar22 + 0xca564))();\n      *(undefined4 *)(*(int *)(pcVar22 + 0xca04c) + 0x230) = uVar29;\n      sqlite3_randomness(0,0);\n      goto LAB_000c59fc;\n    }" { (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (labeled_statement "LAB_000c59cc:\n      uVar29 = (**(code **)(pcVar22 + 0xca564))();" statement_identifier : (expression_statement "uVar29 = (**(code **)(pcVar22 + 0xca564))();" (assignment_expression "uVar29 = (**(code **)(pcVar22 + 0xca564))()" identifier = (call_expression "(**(code **)(pcVar22 + 0xca564))()" (parenthesized_expression "(**(code **)(pcVar22 + 0xca564))" ( (pointer_expression "**(code **)(pcVar22 + 0xca564)" * (pointer_expression "*(code **)(pcVar22 + 0xca564)" * (cast_expression "(code **)(pcVar22 + 0xca564)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca564)" ( (binary_expression "pcVar22 + 0xca564" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;)) (expression_statement "*(undefined4 *)(*(int *)(pcVar22 + 0xca04c) + 0x230) = uVar29;" (assignment_expression "*(undefined4 *)(*(int *)(pcVar22 + 0xca04c) + 0x230) = uVar29" (pointer_expression "*(undefined4 *)(*(int *)(pcVar22 + 0xca04c) + 0x230)" * (cast_expression "(undefined4 *)(*(int *)(pcVar22 + 0xca04c) + 0x230)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + 0x230)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + 0x230" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) (expression_statement "sqlite3_randomness(0,0);" (call_expression "sqlite3_randomness(0,0)" identifier (argument_list "(0,0)" ( number_literal , number_literal ))) ;) (goto_statement "goto LAB_000c59fc;" goto statement_identifier ;) })) (expression_statement "(**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);" (call_expression "(**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca504))" ( (pointer_expression "**(code **)(pcVar22 + 0xca504)" * (pointer_expression "*(code **)(pcVar22 + 0xca504)" * (cast_expression "(code **)(pcVar22 + 0xca504)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca504)" ( (binary_expression "pcVar22 + 0xca504" identifier + number_literal) ))))) )) (argument_list "(pcVar6,0,0x58)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (labeled_statement "LAB_000c5a24:\n    iVar4 = -1;" statement_identifier : (expression_statement "iVar4 = -1;" (assignment_expression "iVar4 = -1" identifier = number_literal) ;)) (if_statement "if (pcVar30 != (code *)0x0) goto LAB_000c5a34;" if (parenthesized_expression "(pcVar30 != (code *)0x0)" ( (binary_expression "pcVar30 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c5a34;" goto statement_identifier ;)) (expression_statement "pcVar5 = (code *)FUN_000c5048(*(undefined4 *)(iVar8 + 8),auStack_698);" (assignment_expression "pcVar5 = (code *)FUN_000c5048(*(undefined4 *)(iVar8 + 8),auStack_698)" identifier = (cast_expression "(code *)FUN_000c5048(*(undefined4 *)(iVar8 + 8),auStack_698)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000c5048(*(undefined4 *)(iVar8 + 8),auStack_698)" identifier (argument_list "(*(undefined4 *)(iVar8 + 8),auStack_698)" ( (pointer_expression "*(undefined4 *)(iVar8 + 8)" * (cast_expression "(undefined4 *)(iVar8 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 8)" ( (binary_expression "iVar8 + 8" identifier + number_literal) )))) , identifier ))))) ;) (if_statement "if (pcVar5 == (code *)0x0) {\n      iVar4 = -1;\n      pcStack_96c = (code *)auStack_698;\n      goto LAB_000c5a34;\n    }" if (parenthesized_expression "(pcVar5 == (code *)0x0)" ( (binary_expression "pcVar5 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar4 = -1;\n      pcStack_96c = (code *)auStack_698;\n      goto LAB_000c5a34;\n    }" { (expression_statement "iVar4 = -1;" (assignment_expression "iVar4 = -1" identifier = number_literal) ;) (expression_statement "pcStack_96c = (code *)auStack_698;" (assignment_expression "pcStack_96c = (code *)auStack_698" identifier = (cast_expression "(code *)auStack_698" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto LAB_000c5a34;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_000c602c:\n  if (iStack_494 == **(int **)(pcVar22 + 0xca5d0)) {\n    return pcVar5;\n  }" statement_identifier : (if_statement "if (iStack_494 == **(int **)(pcVar22 + 0xca5d0)) {\n    return pcVar5;\n  }" if (parenthesized_expression "(iStack_494 == **(int **)(pcVar22 + 0xca5d0))" ( (binary_expression "iStack_494 == **(int **)(pcVar22 + 0xca5d0)" identifier == (pointer_expression "**(int **)(pcVar22 + 0xca5d0)" * (pointer_expression "*(int **)(pcVar22 + 0xca5d0)" * (cast_expression "(int **)(pcVar22 + 0xca5d0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca5d0)" ( (binary_expression "pcVar22 + 0xca5d0" identifier + number_literal) )))))) )) (compound_statement "{\n    return pcVar5;\n  }" { (return_statement "return pcVar5;" return identifier ;) }))) (expression_statement "pcVar22 = *(code **)(pcVar22 + 0xca5a4);" (assignment_expression "pcVar22 = *(code **)(pcVar22 + 0xca5a4)" identifier = (pointer_expression "*(code **)(pcVar22 + 0xca5a4)" * (cast_expression "(code **)(pcVar22 + 0xca5a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca5a4)" ( (binary_expression "pcVar22 + 0xca5a4" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = iStack_494;" (assignment_expression "iVar4 = iStack_494" identifier = identifier) ;) (expression_statement "(*pcVar22)();" (call_expression "(*pcVar22)()" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "uVar9 = *(uint *)(iVar4 + 0x98);" (assignment_expression "uVar9 = *(uint *)(iVar4 + 0x98)" identifier = (pointer_expression "*(uint *)(iVar4 + 0x98)" * (cast_expression "(uint *)(iVar4 + 0x98)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x98)" ( (binary_expression "iVar4 + 0x98" identifier + number_literal) ))))) ;) (if_statement "if (*(uint *)(iVar4 + 0x94) <= *(uint *)(iVar4 + 0x98)) {\n    uVar9 = *(uint *)(iVar4 + 0x94);\n  }" if (parenthesized_expression "(*(uint *)(iVar4 + 0x94) <= *(uint *)(iVar4 + 0x98))" ( (binary_expression "*(uint *)(iVar4 + 0x94) <= *(uint *)(iVar4 + 0x98)" (pointer_expression "*(uint *)(iVar4 + 0x94)" * (cast_expression "(uint *)(iVar4 + 0x94)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x94)" ( (binary_expression "iVar4 + 0x94" identifier + number_literal) )))) <= (pointer_expression "*(uint *)(iVar4 + 0x98)" * (cast_expression "(uint *)(iVar4 + 0x98)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x98)" ( (binary_expression "iVar4 + 0x98" identifier + number_literal) ))))) )) (compound_statement "{\n    uVar9 = *(uint *)(iVar4 + 0x94);\n  }" { (expression_statement "uVar9 = *(uint *)(iVar4 + 0x94);" (assignment_expression "uVar9 = *(uint *)(iVar4 + 0x94)" identifier = (pointer_expression "*(uint *)(iVar4 + 0x94)" * (cast_expression "(uint *)(iVar4 + 0x94)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x94)" ( (binary_expression "iVar4 + 0x94" identifier + number_literal) ))))) ;) })) (expression_statement "puVar19 = *(undefined4 **)(iVar4 + 0xd0);" (assignment_expression "puVar19 = *(undefined4 **)(iVar4 + 0xd0)" identifier = (pointer_expression "*(undefined4 **)(iVar4 + 0xd0)" * (cast_expression "(undefined4 **)(iVar4 + 0xd0)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xd0)" ( (binary_expression "iVar4 + 0xd0" identifier + number_literal) ))))) ;) (if_statement "if (0 < *(int *)(iVar4 + 0x60)) {\n    iVar8 = 0;\n    iVar27 = 0;\n    do {\n      iVar16 = *(int *)(iVar4 + 0x5c) + iVar8;\n      if (*(int *)(iVar16 + 8) == 0 && *(int *)(iVar16 + 0xc) == 0) {\n        uVar29 = *(undefined4 *)(iVar4 + 0x48);\n        *(undefined4 *)(iVar16 + 0xc) = *(undefined4 *)(iVar4 + 0x4c);\n        *(undefined4 *)(iVar16 + 8) = uVar29;\n      }\n      iVar27 = iVar27 + 1;\n      iVar8 = iVar8 + 0x30;\n    } while (iVar27 < *(int *)(iVar4 + 0x60));\n  }" if (parenthesized_expression "(0 < *(int *)(iVar4 + 0x60))" ( (binary_expression "0 < *(int *)(iVar4 + 0x60)" number_literal < (pointer_expression "*(int *)(iVar4 + 0x60)" * (cast_expression "(int *)(iVar4 + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x60)" ( (binary_expression "iVar4 + 0x60" identifier + number_literal) ))))) )) (compound_statement "{\n    iVar8 = 0;\n    iVar27 = 0;\n    do {\n      iVar16 = *(int *)(iVar4 + 0x5c) + iVar8;\n      if (*(int *)(iVar16 + 8) == 0 && *(int *)(iVar16 + 0xc) == 0) {\n        uVar29 = *(undefined4 *)(iVar4 + 0x48);\n        *(undefined4 *)(iVar16 + 0xc) = *(undefined4 *)(iVar4 + 0x4c);\n        *(undefined4 *)(iVar16 + 8) = uVar29;\n      }\n      iVar27 = iVar27 + 1;\n      iVar8 = iVar8 + 0x30;\n    } while (iVar27 < *(int *)(iVar4 + 0x60));\n  }" { (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" identifier = number_literal) ;) (do_statement "do {\n      iVar16 = *(int *)(iVar4 + 0x5c) + iVar8;\n      if (*(int *)(iVar16 + 8) == 0 && *(int *)(iVar16 + 0xc) == 0) {\n        uVar29 = *(undefined4 *)(iVar4 + 0x48);\n        *(undefined4 *)(iVar16 + 0xc) = *(undefined4 *)(iVar4 + 0x4c);\n        *(undefined4 *)(iVar16 + 8) = uVar29;\n      }\n      iVar27 = iVar27 + 1;\n      iVar8 = iVar8 + 0x30;\n    } while (iVar27 < *(int *)(iVar4 + 0x60));" do (compound_statement "{\n      iVar16 = *(int *)(iVar4 + 0x5c) + iVar8;\n      if (*(int *)(iVar16 + 8) == 0 && *(int *)(iVar16 + 0xc) == 0) {\n        uVar29 = *(undefined4 *)(iVar4 + 0x48);\n        *(undefined4 *)(iVar16 + 0xc) = *(undefined4 *)(iVar4 + 0x4c);\n        *(undefined4 *)(iVar16 + 8) = uVar29;\n      }\n      iVar27 = iVar27 + 1;\n      iVar8 = iVar8 + 0x30;\n    }" { (expression_statement "iVar16 = *(int *)(iVar4 + 0x5c) + iVar8;" (assignment_expression "iVar16 = *(int *)(iVar4 + 0x5c) + iVar8" identifier = (binary_expression "*(int *)(iVar4 + 0x5c) + iVar8" (pointer_expression "*(int *)(iVar4 + 0x5c)" * (cast_expression "(int *)(iVar4 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x5c)" ( (binary_expression "iVar4 + 0x5c" identifier + number_literal) )))) + identifier)) ;) (if_statement "if (*(int *)(iVar16 + 8) == 0 && *(int *)(iVar16 + 0xc) == 0) {\n        uVar29 = *(undefined4 *)(iVar4 + 0x48);\n        *(undefined4 *)(iVar16 + 0xc) = *(undefined4 *)(iVar4 + 0x4c);\n        *(undefined4 *)(iVar16 + 8) = uVar29;\n      }" if (parenthesized_expression "(*(int *)(iVar16 + 8) == 0 && *(int *)(iVar16 + 0xc) == 0)" ( (binary_expression "*(int *)(iVar16 + 8) == 0 && *(int *)(iVar16 + 0xc) == 0" (binary_expression "*(int *)(iVar16 + 8) == 0" (pointer_expression "*(int *)(iVar16 + 8)" * (cast_expression "(int *)(iVar16 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 8)" ( (binary_expression "iVar16 + 8" identifier + number_literal) )))) == number_literal) && (binary_expression "*(int *)(iVar16 + 0xc) == 0" (pointer_expression "*(int *)(iVar16 + 0xc)" * (cast_expression "(int *)(iVar16 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0xc)" ( (binary_expression "iVar16 + 0xc" identifier + number_literal) )))) == number_literal)) )) (compound_statement "{\n        uVar29 = *(undefined4 *)(iVar4 + 0x48);\n        *(undefined4 *)(iVar16 + 0xc) = *(undefined4 *)(iVar4 + 0x4c);\n        *(undefined4 *)(iVar16 + 8) = uVar29;\n      }" { (expression_statement "uVar29 = *(undefined4 *)(iVar4 + 0x48);" (assignment_expression "uVar29 = *(undefined4 *)(iVar4 + 0x48)" identifier = (pointer_expression "*(undefined4 *)(iVar4 + 0x48)" * (cast_expression "(undefined4 *)(iVar4 + 0x48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x48)" ( (binary_expression "iVar4 + 0x48" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar16 + 0xc) = *(undefined4 *)(iVar4 + 0x4c);" (assignment_expression "*(undefined4 *)(iVar16 + 0xc) = *(undefined4 *)(iVar4 + 0x4c)" (pointer_expression "*(undefined4 *)(iVar16 + 0xc)" * (cast_expression "(undefined4 *)(iVar16 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0xc)" ( (binary_expression "iVar16 + 0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x4c)" * (cast_expression "(undefined4 *)(iVar4 + 0x4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x4c)" ( (binary_expression "iVar4 + 0x4c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar16 + 8) = uVar29;" (assignment_expression "*(undefined4 *)(iVar16 + 8) = uVar29" (pointer_expression "*(undefined4 *)(iVar16 + 8)" * (cast_expression "(undefined4 *)(iVar16 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 8)" ( (binary_expression "iVar16 + 8" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "iVar27 = iVar27 + 1;" (assignment_expression "iVar27 = iVar27 + 1" identifier = (binary_expression "iVar27 + 1" identifier + number_literal)) ;) (expression_statement "iVar8 = iVar8 + 0x30;" (assignment_expression "iVar8 = iVar8 + 0x30" identifier = (binary_expression "iVar8 + 0x30" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar27 < *(int *)(iVar4 + 0x60))" ( (binary_expression "iVar27 < *(int *)(iVar4 + 0x60)" identifier < (pointer_expression "*(int *)(iVar4 + 0x60)" * (cast_expression "(int *)(iVar4 + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x60)" ( (binary_expression "iVar4 + 0x60" identifier + number_literal) ))))) )) ;) })) (expression_statement "uVar32 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x43ec))(iVar4);" (assignment_expression "uVar32 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x43ec))(iVar4)" identifier = (call_expression "(*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x43ec))(iVar4)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x43ec))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x43ec)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xc9688) + 0x43ec)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xc9688) + 0x43ec)" ( (binary_expression "*(int *)(pcVar22 + 0xc9688) + 0x43ec" (pointer_expression "*(int *)(pcVar22 + 0xc9688)" * (cast_expression "(int *)(pcVar22 + 0xc9688)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xc9688)" ( (binary_expression "pcVar22 + 0xc9688" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(iVar4)" ( identifier )))) ;) (expression_statement "*(undefined8 *)(iVar4 + 0x48) = uVar32;" (assignment_expression "*(undefined8 *)(iVar4 + 0x48) = uVar32" (pointer_expression "*(undefined8 *)(iVar4 + 0x48)" * (cast_expression "(undefined8 *)(iVar4 + 0x48)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x48)" ( (binary_expression "iVar4 + 0x48" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(iVar4 + 0x50) = uVar32;" (assignment_expression "*(undefined8 *)(iVar4 + 0x50) = uVar32" (pointer_expression "*(undefined8 *)(iVar4 + 0x50)" * (cast_expression "(undefined8 *)(iVar4 + 0x50)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x50)" ( (binary_expression "iVar4 + 0x50" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((*(char *)(iVar4 + 7) == '\0') && (*(char *)(iVar4 + 5) != '\x04')) {\n    uVar18 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0xaf8))(*(undefined4 *)(iVar4 + 0x3c));\n    iVar27 = *(int *)(pcVar22 + 0xc96e0);\n    if ((uVar18 & 0x200) == 0) {\n      *(undefined1 *)puVar19 = 0;\n      *(undefined1 *)((int)puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 3) = 0;\n      *(undefined1 *)(puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 5) = 0;\n      *(undefined1 *)((int)puVar19 + 6) = 0;\n      *(undefined1 *)((int)puVar19 + 7) = 0;\n      *(undefined1 *)(puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 9) = 0;\n      *(undefined1 *)((int)puVar19 + 10) = 0;\n      *(undefined1 *)((int)puVar19 + 0xb) = 0;\n      goto LAB_000c65ec;\n    }\n  }\n  else {\n    iVar27 = *(int *)(pcVar22 + 0xc96e0);\n  }" if (parenthesized_expression "((*(char *)(iVar4 + 7) == '\0') && (*(char *)(iVar4 + 5) != '\x04'))" ( (binary_expression "(*(char *)(iVar4 + 7) == '\0') && (*(char *)(iVar4 + 5) != '\x04')" (parenthesized_expression "(*(char *)(iVar4 + 7) == '\0')" ( (binary_expression "*(char *)(iVar4 + 7) == '\0'" (pointer_expression "*(char *)(iVar4 + 7)" * (cast_expression "(char *)(iVar4 + 7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 7)" ( (binary_expression "iVar4 + 7" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)(iVar4 + 5) != '\x04')" ( (binary_expression "*(char *)(iVar4 + 5) != '\x04'" (pointer_expression "*(char *)(iVar4 + 5)" * (cast_expression "(char *)(iVar4 + 5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 5)" ( (binary_expression "iVar4 + 5" identifier + number_literal) )))) != (char_literal "'\x04'" ' escape_sequence ')) ))) )) (compound_statement "{\n    uVar18 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0xaf8))(*(undefined4 *)(iVar4 + 0x3c));\n    iVar27 = *(int *)(pcVar22 + 0xc96e0);\n    if ((uVar18 & 0x200) == 0) {\n      *(undefined1 *)puVar19 = 0;\n      *(undefined1 *)((int)puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 3) = 0;\n      *(undefined1 *)(puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 5) = 0;\n      *(undefined1 *)((int)puVar19 + 6) = 0;\n      *(undefined1 *)((int)puVar19 + 7) = 0;\n      *(undefined1 *)(puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 9) = 0;\n      *(undefined1 *)((int)puVar19 + 10) = 0;\n      *(undefined1 *)((int)puVar19 + 0xb) = 0;\n      goto LAB_000c65ec;\n    }\n  }" { (expression_statement "uVar18 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0xaf8))(*(undefined4 *)(iVar4 + 0x3c));" (assignment_expression "uVar18 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0xaf8))(*(undefined4 *)(iVar4 + 0x3c))" identifier = (call_expression "(*(code *)(*(int *)(pcVar22 + 0xc9688) + 0xaf8))(*(undefined4 *)(iVar4 + 0x3c))" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xc9688) + 0xaf8))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xc9688) + 0xaf8)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xc9688) + 0xaf8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xc9688) + 0xaf8)" ( (binary_expression "*(int *)(pcVar22 + 0xc9688) + 0xaf8" (pointer_expression "*(int *)(pcVar22 + 0xc9688)" * (cast_expression "(int *)(pcVar22 + 0xc9688)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xc9688)" ( (binary_expression "pcVar22 + 0xc9688" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(*(undefined4 *)(iVar4 + 0x3c))" ( (pointer_expression "*(undefined4 *)(iVar4 + 0x3c)" * (cast_expression "(undefined4 *)(iVar4 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x3c)" ( (binary_expression "iVar4 + 0x3c" identifier + number_literal) )))) )))) ;) (expression_statement "iVar27 = *(int *)(pcVar22 + 0xc96e0);" (assignment_expression "iVar27 = *(int *)(pcVar22 + 0xc96e0)" identifier = (pointer_expression "*(int *)(pcVar22 + 0xc96e0)" * (cast_expression "(int *)(pcVar22 + 0xc96e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xc96e0)" ( (binary_expression "pcVar22 + 0xc96e0" identifier + number_literal) ))))) ;) (if_statement "if ((uVar18 & 0x200) == 0) {\n      *(undefined1 *)puVar19 = 0;\n      *(undefined1 *)((int)puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 3) = 0;\n      *(undefined1 *)(puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 5) = 0;\n      *(undefined1 *)((int)puVar19 + 6) = 0;\n      *(undefined1 *)((int)puVar19 + 7) = 0;\n      *(undefined1 *)(puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 9) = 0;\n      *(undefined1 *)((int)puVar19 + 10) = 0;\n      *(undefined1 *)((int)puVar19 + 0xb) = 0;\n      goto LAB_000c65ec;\n    }" if (parenthesized_expression "((uVar18 & 0x200) == 0)" ( (binary_expression "(uVar18 & 0x200) == 0" (parenthesized_expression "(uVar18 & 0x200)" ( (binary_expression "uVar18 & 0x200" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      *(undefined1 *)puVar19 = 0;\n      *(undefined1 *)((int)puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 3) = 0;\n      *(undefined1 *)(puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 5) = 0;\n      *(undefined1 *)((int)puVar19 + 6) = 0;\n      *(undefined1 *)((int)puVar19 + 7) = 0;\n      *(undefined1 *)(puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 9) = 0;\n      *(undefined1 *)((int)puVar19 + 10) = 0;\n      *(undefined1 *)((int)puVar19 + 0xb) = 0;\n      goto LAB_000c65ec;\n    }" { (expression_statement "*(undefined1 *)puVar19 = 0;" (assignment_expression "*(undefined1 *)puVar19 = 0" (pointer_expression "*(undefined1 *)puVar19" * (cast_expression "(undefined1 *)puVar19" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "*(undefined1 *)((int)puVar19 + 1) = 0;" (assignment_expression "*(undefined1 *)((int)puVar19 + 1) = 0" (pointer_expression "*(undefined1 *)((int)puVar19 + 1)" * (cast_expression "(undefined1 *)((int)puVar19 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + 1)" ( (binary_expression "(int)puVar19 + 1" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)puVar19 + 2) = 0;" (assignment_expression "*(undefined1 *)((int)puVar19 + 2) = 0" (pointer_expression "*(undefined1 *)((int)puVar19 + 2)" * (cast_expression "(undefined1 *)((int)puVar19 + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + 2)" ( (binary_expression "(int)puVar19 + 2" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)puVar19 + 3) = 0;" (assignment_expression "*(undefined1 *)((int)puVar19 + 3) = 0" (pointer_expression "*(undefined1 *)((int)puVar19 + 3)" * (cast_expression "(undefined1 *)((int)puVar19 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + 3)" ( (binary_expression "(int)puVar19 + 3" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar19 + 1) = 0;" (assignment_expression "*(undefined1 *)(puVar19 + 1) = 0" (pointer_expression "*(undefined1 *)(puVar19 + 1)" * (cast_expression "(undefined1 *)(puVar19 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 1)" ( (binary_expression "puVar19 + 1" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)puVar19 + 5) = 0;" (assignment_expression "*(undefined1 *)((int)puVar19 + 5) = 0" (pointer_expression "*(undefined1 *)((int)puVar19 + 5)" * (cast_expression "(undefined1 *)((int)puVar19 + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + 5)" ( (binary_expression "(int)puVar19 + 5" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)puVar19 + 6) = 0;" (assignment_expression "*(undefined1 *)((int)puVar19 + 6) = 0" (pointer_expression "*(undefined1 *)((int)puVar19 + 6)" * (cast_expression "(undefined1 *)((int)puVar19 + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + 6)" ( (binary_expression "(int)puVar19 + 6" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)puVar19 + 7) = 0;" (assignment_expression "*(undefined1 *)((int)puVar19 + 7) = 0" (pointer_expression "*(undefined1 *)((int)puVar19 + 7)" * (cast_expression "(undefined1 *)((int)puVar19 + 7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + 7)" ( (binary_expression "(int)puVar19 + 7" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar19 + 2) = 0;" (assignment_expression "*(undefined1 *)(puVar19 + 2) = 0" (pointer_expression "*(undefined1 *)(puVar19 + 2)" * (cast_expression "(undefined1 *)(puVar19 + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 2)" ( (binary_expression "puVar19 + 2" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)puVar19 + 9) = 0;" (assignment_expression "*(undefined1 *)((int)puVar19 + 9) = 0" (pointer_expression "*(undefined1 *)((int)puVar19 + 9)" * (cast_expression "(undefined1 *)((int)puVar19 + 9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + 9)" ( (binary_expression "(int)puVar19 + 9" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)puVar19 + 10) = 0;" (assignment_expression "*(undefined1 *)((int)puVar19 + 10) = 0" (pointer_expression "*(undefined1 *)((int)puVar19 + 10)" * (cast_expression "(undefined1 *)((int)puVar19 + 10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + 10)" ( (binary_expression "(int)puVar19 + 10" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)puVar19 + 0xb) = 0;" (assignment_expression "*(undefined1 *)((int)puVar19 + 0xb) = 0" (pointer_expression "*(undefined1 *)((int)puVar19 + 0xb)" * (cast_expression "(undefined1 *)((int)puVar19 + 0xb)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + 0xb)" ( (binary_expression "(int)puVar19 + 0xb" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_000c65ec;" goto statement_identifier ;) })) }) (else_clause "else {\n    iVar27 = *(int *)(pcVar22 + 0xc96e0);\n  }" else (compound_statement "{\n    iVar27 = *(int *)(pcVar22 + 0xc96e0);\n  }" { (expression_statement "iVar27 = *(int *)(pcVar22 + 0xc96e0);" (assignment_expression "iVar27 = *(int *)(pcVar22 + 0xc96e0)" identifier = (pointer_expression "*(int *)(pcVar22 + 0xc96e0)" * (cast_expression "(int *)(pcVar22 + 0xc96e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xc96e0)" ( (binary_expression "pcVar22 + 0xc96e0" identifier + number_literal) ))))) ;) }))) (expression_statement "uVar29 = *(undefined4 *)(iVar27 + -0x4394);" (assignment_expression "uVar29 = *(undefined4 *)(iVar27 + -0x4394)" identifier = (pointer_expression "*(undefined4 *)(iVar27 + -0x4394)" * (cast_expression "(undefined4 *)(iVar27 + -0x4394)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + -0x4394)" ( (binary_expression "iVar27 + -0x4394" identifier + number_literal) ))))) ;) (expression_statement "*puVar19 = *(undefined4 *)(iVar27 + -0x4398);" (assignment_expression "*puVar19 = *(undefined4 *)(iVar27 + -0x4398)" (pointer_expression "*puVar19" * identifier) = (pointer_expression "*(undefined4 *)(iVar27 + -0x4398)" * (cast_expression "(undefined4 *)(iVar27 + -0x4398)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + -0x4398)" ( (binary_expression "iVar27 + -0x4398" identifier + number_literal) ))))) ;) (expression_statement "puVar19[1] = uVar29;" (assignment_expression "puVar19[1] = uVar29" (subscript_expression "puVar19[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c))(puVar19 + 2,0xffffffff);" (call_expression "(*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c))(puVar19 + 2,0xffffffff)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xc9688) + 0x224c)" ( (binary_expression "*(int *)(pcVar22 + 0xc9688) + 0x224c" (pointer_expression "*(int *)(pcVar22 + 0xc9688)" * (cast_expression "(int *)(pcVar22 + 0xc9688)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xc9688)" ( (binary_expression "pcVar22 + 0xc9688" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar19 + 2,0xffffffff)" ( (binary_expression "puVar19 + 2" identifier + number_literal) , number_literal ))) ;) (labeled_statement "LAB_000c65ec:\n  sqlite3_randomness(4,iVar4 + 0x30);" statement_identifier : (expression_statement "sqlite3_randomness(4,iVar4 + 0x30);" (call_expression "sqlite3_randomness(4,iVar4 + 0x30)" identifier (argument_list "(4,iVar4 + 0x30)" ( number_literal , (binary_expression "iVar4 + 0x30" identifier + number_literal) ))) ;)) (expression_statement "pcVar5 = (code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c);" (assignment_expression "pcVar5 = (code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c)" identifier = (cast_expression "(code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xc9688) + 0x224c)" ( (binary_expression "*(int *)(pcVar22 + 0xc9688) + 0x224c" (pointer_expression "*(int *)(pcVar22 + 0xc9688)" * (cast_expression "(int *)(pcVar22 + 0xc9688)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xc9688)" ( (binary_expression "pcVar22 + 0xc9688" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar5)(puVar19 + 3,*(undefined4 *)(iVar4 + 0x30));" (call_expression "(*pcVar5)(puVar19 + 3,*(undefined4 *)(iVar4 + 0x30))" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "(puVar19 + 3,*(undefined4 *)(iVar4 + 0x30))" ( (binary_expression "puVar19 + 3" identifier + number_literal) , (pointer_expression "*(undefined4 *)(iVar4 + 0x30)" * (cast_expression "(undefined4 *)(iVar4 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x30)" ( (binary_expression "iVar4 + 0x30" identifier + number_literal) )))) ))) ;) (expression_statement "(*pcVar5)(puVar19 + 4,*(undefined4 *)(iVar4 + 0x1c));" (call_expression "(*pcVar5)(puVar19 + 4,*(undefined4 *)(iVar4 + 0x1c))" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "(puVar19 + 4,*(undefined4 *)(iVar4 + 0x1c))" ( (binary_expression "puVar19 + 4" identifier + number_literal) , (pointer_expression "*(undefined4 *)(iVar4 + 0x1c)" * (cast_expression "(undefined4 *)(iVar4 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1c)" ( (binary_expression "iVar4 + 0x1c" identifier + number_literal) )))) ))) ;) (expression_statement "(*pcVar5)(puVar19 + 5,*(undefined4 *)(iVar4 + 0x94));" (call_expression "(*pcVar5)(puVar19 + 5,*(undefined4 *)(iVar4 + 0x94))" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "(puVar19 + 5,*(undefined4 *)(iVar4 + 0x94))" ( (binary_expression "puVar19 + 5" identifier + number_literal) , (pointer_expression "*(undefined4 *)(iVar4 + 0x94)" * (cast_expression "(undefined4 *)(iVar4 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x94)" ( (binary_expression "iVar4 + 0x94" identifier + number_literal) )))) ))) ;) (expression_statement "(*pcVar5)(puVar19 + 6,*(undefined4 *)(iVar4 + 0x98));" (call_expression "(*pcVar5)(puVar19 + 6,*(undefined4 *)(iVar4 + 0x98))" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "(puVar19 + 6,*(undefined4 *)(iVar4 + 0x98))" ( (binary_expression "puVar19 + 6" identifier + number_literal) , (pointer_expression "*(undefined4 *)(iVar4 + 0x98)" * (cast_expression "(undefined4 *)(iVar4 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x98)" ( (binary_expression "iVar4 + 0x98" identifier + number_literal) )))) ))) ;) (expression_statement "(**(code **)(pcVar22 + 0xc9930))(puVar19 + 7,0,uVar9 - 0x1c);" (call_expression "(**(code **)(pcVar22 + 0xc9930))(puVar19 + 7,0,uVar9 - 0x1c)" (parenthesized_expression "(**(code **)(pcVar22 + 0xc9930))" ( (pointer_expression "**(code **)(pcVar22 + 0xc9930)" * (pointer_expression "*(code **)(pcVar22 + 0xc9930)" * (cast_expression "(code **)(pcVar22 + 0xc9930)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xc9930)" ( (binary_expression "pcVar22 + 0xc9930" identifier + number_literal) ))))) )) (argument_list "(puVar19 + 7,0,uVar9 - 0x1c)" ( (binary_expression "puVar19 + 7" identifier + number_literal) , number_literal , (binary_expression "uVar9 - 0x1c" identifier - number_literal) ))) ;) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (if_statement "if (*(int *)(iVar4 + 0x94) != 0) {\n    iVar27 = *(int *)(pcVar22 + 0xc9688);\n    do {\n      pcVar22 = (code *)(*(code *)(iVar27 + 0x9e0))(*(undefined4 *)(iVar4 + 0x40),puVar19,uVar9);\n      uVar20 = *(uint *)(iVar4 + 0x4c) + uVar9;\n      *(uint *)(iVar4 + 0x48) = (uint)(uVar20 < *(uint *)(iVar4 + 0x4c)) + *(int *)(iVar4 + 0x48);\n      *(uint *)(iVar4 + 0x4c) = uVar20;\n      uVar18 = uVar18 + uVar9;\n      if (pcVar22 != (code *)0x0) {\n        return pcVar22;\n      }\n    } while (uVar18 < *(uint *)(iVar4 + 0x94));\n  }" if (parenthesized_expression "(*(int *)(iVar4 + 0x94) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x94) != 0" (pointer_expression "*(int *)(iVar4 + 0x94)" * (cast_expression "(int *)(iVar4 + 0x94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x94)" ( (binary_expression "iVar4 + 0x94" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    iVar27 = *(int *)(pcVar22 + 0xc9688);\n    do {\n      pcVar22 = (code *)(*(code *)(iVar27 + 0x9e0))(*(undefined4 *)(iVar4 + 0x40),puVar19,uVar9);\n      uVar20 = *(uint *)(iVar4 + 0x4c) + uVar9;\n      *(uint *)(iVar4 + 0x48) = (uint)(uVar20 < *(uint *)(iVar4 + 0x4c)) + *(int *)(iVar4 + 0x48);\n      *(uint *)(iVar4 + 0x4c) = uVar20;\n      uVar18 = uVar18 + uVar9;\n      if (pcVar22 != (code *)0x0) {\n        return pcVar22;\n      }\n    } while (uVar18 < *(uint *)(iVar4 + 0x94));\n  }" { (expression_statement "iVar27 = *(int *)(pcVar22 + 0xc9688);" (assignment_expression "iVar27 = *(int *)(pcVar22 + 0xc9688)" identifier = (pointer_expression "*(int *)(pcVar22 + 0xc9688)" * (cast_expression "(int *)(pcVar22 + 0xc9688)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xc9688)" ( (binary_expression "pcVar22 + 0xc9688" identifier + number_literal) ))))) ;) (do_statement "do {\n      pcVar22 = (code *)(*(code *)(iVar27 + 0x9e0))(*(undefined4 *)(iVar4 + 0x40),puVar19,uVar9);\n      uVar20 = *(uint *)(iVar4 + 0x4c) + uVar9;\n      *(uint *)(iVar4 + 0x48) = (uint)(uVar20 < *(uint *)(iVar4 + 0x4c)) + *(int *)(iVar4 + 0x48);\n      *(uint *)(iVar4 + 0x4c) = uVar20;\n      uVar18 = uVar18 + uVar9;\n      if (pcVar22 != (code *)0x0) {\n        return pcVar22;\n      }\n    } while (uVar18 < *(uint *)(iVar4 + 0x94));" do (compound_statement "{\n      pcVar22 = (code *)(*(code *)(iVar27 + 0x9e0))(*(undefined4 *)(iVar4 + 0x40),puVar19,uVar9);\n      uVar20 = *(uint *)(iVar4 + 0x4c) + uVar9;\n      *(uint *)(iVar4 + 0x48) = (uint)(uVar20 < *(uint *)(iVar4 + 0x4c)) + *(int *)(iVar4 + 0x48);\n      *(uint *)(iVar4 + 0x4c) = uVar20;\n      uVar18 = uVar18 + uVar9;\n      if (pcVar22 != (code *)0x0) {\n        return pcVar22;\n      }\n    }" { (expression_statement "pcVar22 = (code *)(*(code *)(iVar27 + 0x9e0))(*(undefined4 *)(iVar4 + 0x40),puVar19,uVar9);" (assignment_expression "pcVar22 = (code *)(*(code *)(iVar27 + 0x9e0))(*(undefined4 *)(iVar4 + 0x40),puVar19,uVar9)" identifier = (cast_expression "(code *)(*(code *)(iVar27 + 0x9e0))(*(undefined4 *)(iVar4 + 0x40),puVar19,uVar9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(iVar27 + 0x9e0))(*(undefined4 *)(iVar4 + 0x40),puVar19,uVar9)" (parenthesized_expression "(*(code *)(iVar27 + 0x9e0))" ( (pointer_expression "*(code *)(iVar27 + 0x9e0)" * (cast_expression "(code *)(iVar27 + 0x9e0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x9e0)" ( (binary_expression "iVar27 + 0x9e0" identifier + number_literal) )))) )) (argument_list "(*(undefined4 *)(iVar4 + 0x40),puVar19,uVar9)" ( (pointer_expression "*(undefined4 *)(iVar4 + 0x40)" * (cast_expression "(undefined4 *)(iVar4 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x40)" ( (binary_expression "iVar4 + 0x40" identifier + number_literal) )))) , identifier , identifier ))))) ;) (expression_statement "uVar20 = *(uint *)(iVar4 + 0x4c) + uVar9;" (assignment_expression "uVar20 = *(uint *)(iVar4 + 0x4c) + uVar9" identifier = (binary_expression "*(uint *)(iVar4 + 0x4c) + uVar9" (pointer_expression "*(uint *)(iVar4 + 0x4c)" * (cast_expression "(uint *)(iVar4 + 0x4c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x4c)" ( (binary_expression "iVar4 + 0x4c" identifier + number_literal) )))) + identifier)) ;) (expression_statement "*(uint *)(iVar4 + 0x48) = (uint)(uVar20 < *(uint *)(iVar4 + 0x4c)) + *(int *)(iVar4 + 0x48);" (assignment_expression "*(uint *)(iVar4 + 0x48) = (uint)(uVar20 < *(uint *)(iVar4 + 0x4c)) + *(int *)(iVar4 + 0x48)" (pointer_expression "*(uint *)(iVar4 + 0x48)" * (cast_expression "(uint *)(iVar4 + 0x48)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x48)" ( (binary_expression "iVar4 + 0x48" identifier + number_literal) )))) = (binary_expression "(uint)(uVar20 < *(uint *)(iVar4 + 0x4c)) + *(int *)(iVar4 + 0x48)" (call_expression "(uint)(uVar20 < *(uint *)(iVar4 + 0x4c))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar20 < *(uint *)(iVar4 + 0x4c))" ( (binary_expression "uVar20 < *(uint *)(iVar4 + 0x4c)" identifier < (pointer_expression "*(uint *)(iVar4 + 0x4c)" * (cast_expression "(uint *)(iVar4 + 0x4c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x4c)" ( (binary_expression "iVar4 + 0x4c" identifier + number_literal) ))))) ))) + (pointer_expression "*(int *)(iVar4 + 0x48)" * (cast_expression "(int *)(iVar4 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x48)" ( (binary_expression "iVar4 + 0x48" identifier + number_literal) )))))) ;) (expression_statement "*(uint *)(iVar4 + 0x4c) = uVar20;" (assignment_expression "*(uint *)(iVar4 + 0x4c) = uVar20" (pointer_expression "*(uint *)(iVar4 + 0x4c)" * (cast_expression "(uint *)(iVar4 + 0x4c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x4c)" ( (binary_expression "iVar4 + 0x4c" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar18 = uVar18 + uVar9;" (assignment_expression "uVar18 = uVar18 + uVar9" identifier = (binary_expression "uVar18 + uVar9" identifier + identifier)) ;) (if_statement "if (pcVar22 != (code *)0x0) {\n        return pcVar22;\n      }" if (parenthesized_expression "(pcVar22 != (code *)0x0)" ( (binary_expression "pcVar22 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        return pcVar22;\n      }" { (return_statement "return pcVar22;" return identifier ;) })) }) while (parenthesized_expression "(uVar18 < *(uint *)(iVar4 + 0x94))" ( (binary_expression "uVar18 < *(uint *)(iVar4 + 0x94)" identifier < (pointer_expression "*(uint *)(iVar4 + 0x94)" * (cast_expression "(uint *)(iVar4 + 0x94)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x94)" ( (binary_expression "iVar4 + 0x94" identifier + number_literal) ))))) )) ;) })) (return_statement "return (code *)0x0;" return (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })))
(translation_unit "void jsonReplaceFunc(sqlite3_context *ctx,int argc,sqlite3_value **argv)\n\n{\n  bool bVar1;\n  byte bVar2;\n  int iVar3;\n  sqlite3_value **ppsVar4;\n  int iVar5;\n  sqlite3_value *psVar6;\n  JsonNode *pJVar7;\n  FuncDef *pFVar8;\n  u32 *puVar9;\n  u32 uVar10;\n  undefined4 uVar11;\n  HashElem *pHVar12;\n  HashElem *pHVar13;\n  byte *pbVar14;\n  char *pcVar15;\n  uint uVar16;\n  sqlite3_value *psVar17;\n  uint uVar18;\n  uint uVar19;\n  sqlite3_value *zPath;\n  sqlite3_value *psVar20;\n  byte *pbVar21;\n  uint uVar22;\n  sqlite3_value *unaff_s0;\n  sqlite3_value **unaff_s1;\n  sqlite3_value *unaff_s3;\n  JsonParse *unaff_s4;\n  sqlite3 **pParse;\n  undefined *unaff_s5;\n  int unaff_s6;\n  sqlite3_value *psVar23;\n  sqlite3_value **unaff_s7;\n  sqlite3_value **ppsVar24;\n  undefined *puVar25;\n  Mem *pMVar26;\n  sqlite3 *psVar27;\n  code *pcVar28;\n  byte abStackY_234 [256];\n  int iStackY_134;\n  sqlite3_value *psStackY_12c;\n  sqlite3_value *psStackY_128;\n  sqlite3_value *psStackY_124;\n  sqlite3_value *psStackY_120;\n  code *pcStackY_11c;\n  char *pcStack_f8;\n  int iStack_f4;\n  sqlite3_value *psStack_f0;\n  sqlite3_value **ppsStack_ec;\n  sqlite3_value *psStack_e8;\n  sqlite3_value *psStack_e4;\n  JsonParse *pJStack_e0;\n  code *pcStack_dc;\n  sqlite3_value *psStack_c8;\n  sqlite3_value **ppsStack_bc;\n  int iStack_b8;\n  undefined1 auStack_b4 [20];\n  u8 uStack_a0;\n  u8 uStack_9f;\n  sqlite3 *psStack_94;\n  sqlite3_value *psStack_90;\n  sqlite3_value **ppsStack_8c;\n  sqlite3_context *psStack_88;\n  sqlite3_value *psStack_84;\n  JsonParse *pJStack_80;\n  undefined *puStack_7c;\n  int iStack_78;\n  sqlite3_value **ppsStack_74;\n  JsonParse x;\n  \n  iVar3 = *(int *)PTR___stack_chk_guard_0018fecc;\n  psVar17 = (sqlite3_value *)ctx;\n  psVar6 = (sqlite3_value *)argc;\n  ppsVar4 = argv;\n  if (0 < argc) {\n    unaff_s0 = (sqlite3_value *)argc;\n    unaff_s7 = argv;\n    if ((argc & 1U) == 0) {\n      psVar6 = (sqlite3_value *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824);\n      jsonWrongNumArgs(ctx,(char *)psVar6);\n    }\n    else {\n      ppsVar4 = (sqlite3_value **)(*(code *)PTR_sqlite3_value_text_0018f97c)(*argv);\n      psVar17 = (sqlite3_value *)&x;\n      psVar6 = (sqlite3_value *)ctx;\n      iVar5 = jsonParse((JsonParse *)psVar17,ctx,(char *)ppsVar4);\n      puVar25 = PTR_sqlite3_value_text_0018f97c;\n      unaff_s6 = argc;\n      if (iVar5 == 0) {\n        unaff_s0 = (sqlite3_value *)(uint)((uint)argc < 2);\n        unaff_s1 = argv + 1;\n        if (unaff_s0 == (sqlite3_value *)0x0) {\n          unaff_s0 = (sqlite3_value *)0x1;\n          unaff_s4 = &x;\n          unaff_s3 = (sqlite3_value *)(PTR_LAB_0018fbc8 + 0x3c48);\n          do {\n            psVar6 = (sqlite3_value *)(*(code *)puVar25)(*unaff_s1);\n            ppsVar4 = (sqlite3_value **)0x0;\n            pJVar7 = jsonLookup(unaff_s4,(char *)psVar6,(int *)0x0,ctx);\n            unaff_s5 = puVar25;\n            if (x.nErr != '\0') goto LAB_000c4674;\n            if (pJVar7 != (JsonNode *)0x0) {\n              pJVar7->jnFlags = pJVar7->jnFlags | 8;\n              (pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1);\n            }\n            unaff_s0 = (sqlite3_value *)((int)&unaff_s0->u + 2);\n            unaff_s1 = unaff_s1 + 2;\n          } while (unaff_s0 < (uint)argc);\n        }\n        if (((x.aNode)->jnFlags & 8) == 0) {\n          psVar6 = (sqlite3_value *)ctx;\n          ppsVar4 = argv;\n          jsonReturnJson(x.aNode,ctx,argv);\n        }\n        else {\n          ppsVar24 = argv + ((x.aNode)->u).iAppend;\n          psVar6 = *ppsVar24;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(ctx);\n          ppsVar4 = argv;\n          argv = ppsVar24;\n        }\nLAB_000c4674:\n        psVar17 = (sqlite3_value *)&x;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = argv;\n      }\n    }\n  }\n  if (iVar3 == *(int *)PTR___stack_chk_guard_0018fecc) {\n    return;\n  }\n  puVar25 = PTR___stack_chk_fail_0018fea0;\n  (*(code *)PTR___stack_chk_fail_0018fea0)();\n  ppsStack_74 = unaff_s7;\n  iStack_78 = unaff_s6;\n  puStack_7c = unaff_s5;\n  pJStack_80 = unaff_s4;\n  psStack_84 = unaff_s3;\n  psStack_88 = ctx;\n  ppsStack_8c = unaff_s1;\n  psStack_90 = unaff_s0;\n  psStack_c8 = (sqlite3_value *)(puVar25 + 0xd3230);\n  ppsStack_bc = ppsVar4;\n  ppsVar4 = ppsStack_bc;\n  psStack_94 = (sqlite3 *)**(undefined4 **)(puVar25 + 0xcb7dc);\n  psVar23 = psVar17;\n  zPath = psVar6;\n  if (0 < (int)psVar6) {\n    unaff_s3 = (sqlite3_value *)**(undefined4 **)(*(u32 *)((int)&psVar17->u + 4) + 8);\n    unaff_s0 = psVar6;\n    if (((uint)psVar6 & 1) == 0) {\n      if (unaff_s3 == (sqlite3_value *)0x0) {\n        zPath = (sqlite3_value *)(*(int *)(puVar25 + 0xcb268) + 0x4920);\n      }\n      else {\n        zPath = (sqlite3_value *)(*(int *)(puVar25 + 0xcb26c) + 0x6e8);\n      }\n      jsonWrongNumArgs((sqlite3_context *)psVar17,(char *)zPath);\n    }\n    else {\n      pcVar15 = (char *)(**(code **)(puVar25 + 0xcb28c))(*ppsVar4);\n      psVar23 = (sqlite3_value *)auStack_b4;\n      zPath = psVar17;\n      iVar3 = jsonParse((JsonParse *)psVar23,(sqlite3_context *)psVar17,pcVar15);\n      unaff_s1 = ppsVar4;\n      if (iVar3 == 0) {\n        unaff_s0 = (sqlite3_value *)(uint)(psVar6 < (sqlite3_value *)0x2);\n        unaff_s1 = ppsVar4 + 1;\n        if (unaff_s0 == (sqlite3_value *)0x0) {\n          unaff_s0 = (sqlite3_value *)0x1;\n          psVar23 = *(sqlite3_value **)((int)&psStack_c8[-0x331].u + 4);\n          unaff_s4 = (JsonParse *)auStack_b4;\n          do {\n            zPath = (sqlite3_value *)(*(code *)psVar23)(*unaff_s1);\n            iStack_b8 = 0;\n            pJVar7 = jsonLookup(unaff_s4,(char *)zPath,&iStack_b8,(sqlite3_context *)psVar17);\n            if (uStack_a0 != '\0') {\n              (*(code *)psStack_c8[-0x32f].zMalloc)(psVar17);\n              goto LAB_000c484c;\n            }\n            if (uStack_9f != '\0') goto LAB_000c484c;\n            if ((pJVar7 != (JsonNode *)0x0) && (unaff_s3 != (sqlite3_value *)0x0 || iStack_b8 != 0))\n            {\n              pJVar7->jnFlags = pJVar7->jnFlags | 8;\n              (pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1);\n            }\n            unaff_s0 = (sqlite3_value *)((int)&unaff_s0->u + 2);\n            unaff_s1 = unaff_s1 + 2;\n          } while (unaff_s0 < psVar6);\n        }\n        if ((*(u8 *)(auStack_b4._8_4_ + 1) & 8) == 0) {\n          zPath = psVar17;\n          jsonReturnJson((JsonNode *)auStack_b4._8_4_,(sqlite3_context *)psVar17,ppsStack_bc);\n        }\n        else {\n          zPath = ppsStack_bc[((anon_union_4_5_9b08aacb_for_u *)(auStack_b4._8_4_ + 8))->iAppend];\n          (*(code *)psStack_c8[-0x32d].db)(psVar17);\n        }\nLAB_000c484c:\n        psVar23 = (sqlite3_value *)auStack_b4;\n        (*(code *)(psStack_c8[-0x321].n + 0x3c38))();\n      }\n    }\n  }\n  if (psStack_94 == (*(Vdbe **)((int)&psStack_c8[-0x30f].u + 4))->db) {\n    return;\n  }\n  pMVar26 = (Mem *)psStack_c8[-0x310].u.zPType;\n  pcVar28 = jsonEachFilter;\n  (*(code *)pMVar26)();\n  psVar6 = psStack_c8;\n  iStack_f4 = *(int *)pMVar26[0x5155].xDel;\n  psVar20 = zPath;\n  psStack_f0 = unaff_s0;\n  ppsStack_ec = unaff_s1;\n  psStack_e8 = psVar17;\n  psStack_e4 = unaff_s3;\n  pJStack_e0 = unaff_s4;\n  pcStack_dc = pcVar28;\n  (*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))();\n  if (zPath != (sqlite3_value *)0x0) {\n    iVar3 = (*pMVar26[0x5133].xDel)((Mem *)(psVar6->u).nZero);\n    if (iVar3 == 0) {\n      zPath = (sqlite3_value *)0x0;\n    }\n    else {\n      unaff_s3 = (sqlite3_value *)(*(code *)pMVar26[0x5135].szMalloc)((Mem *)(psVar6->u).nZero);\n      psVar20 = (sqlite3_value *)((int)&unaff_s3->u + 1);\n      iVar5 = (*(code *)pMVar26[0x5136].u.nZero)\n                        ((uint)(psVar20 < unaff_s3) + ((int)unaff_s3 >> 0x1f));\n      psVar23->szMalloc = iVar5;\n      if (iVar5 == 0) {\n        zPath = (sqlite3_value *)&DAT_00000007;\n      }\n      else {\n        (**(code **)((int)&pMVar26[0x5156].u + 4))(iVar5,iVar3,(char *)((int)&unaff_s3->u + 1));\n        pParse = &psVar23->db;\n        psVar20 = (sqlite3_value *)0x0;\n        unaff_s3 = (sqlite3_value *)\n                   jsonParse((JsonParse *)pParse,(sqlite3_context *)0x0,(char *)psVar23->szMalloc);\n        if (unaff_s3 == (sqlite3_value *)0x0) {\n          if (*(u8 *)((int)&psVar23->zMalloc + 1) != '\0') {\n            psVar20 = (sqlite3_value *)((int)psVar23->db << 2);\n            puVar9 = (u32 *)(*(code *)pMVar26[0x5136].u.nZero)(0);\n            *(u32 **)&psVar23[1].flags = puVar9;\n            if (puVar9 == (u32 *)0x0) {\n              *(u8 *)&psVar23[1].n = '\x01';\n              (*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))(psVar23);\n              zPath = (sqlite3_value *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            psVar20 = (sqlite3_value *)0x0;\n            (*(code *)(pMVar26[0x5142].n + 0x604))(pParse,0,0);\n          }\n          bVar1 = zPath == (sqlite3_value *)0x3;\n          zPath = (sqlite3_value *)0x0;\n          if (bVar1) {\n            pcStack_f8 = (char *)0x0;\n            pcVar15 = (char *)(*pMVar26[0x5133].xDel)(*(FuncDef **)((int)&psVar6->u + 4));\n            if (pcVar15 != (char *)0x0) {\n              psVar6 = (sqlite3_value *)\n                       (*(code *)pMVar26[0x5135].szMalloc)(*(FuncDef **)((int)&psVar6->u + 4));\n              psVar20 = (sqlite3_value *)((int)&psVar6->u + 1);\n              uVar10 = (*(code *)pMVar26[0x5136].u.nZero)\n                                 ((uint)(psVar20 < psVar6) + ((int)psVar6 >> 0x1f));\n              psVar23->uTemp = uVar10;\n              if (uVar10 == 0) {\n                zPath = (sqlite3_value *)&DAT_00000007;\n              }\n              else {\n                (**(code **)((int)&pMVar26[0x5156].u + 4))\n                          (uVar10,pcVar15,(char *)((int)&psVar6->u + 1));\n                if (*pcVar15 != '$') {\n                  pcStack_f8 = pcVar15;\nLAB_000c4cdc:\n                  (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n                  sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x463c),\n                                  pcStack_f8);\n                }\n                psVar20 = (sqlite3_value *)0x0;\n                pFVar8 = (FuncDef *)\n                         jsonLookupStep((JsonParse *)pParse,0,(char *)(psVar23->uTemp + 1),\n                                        (int *)0x0,&pcStack_f8);\n                if (pcStack_f8 != (char *)0x0) goto LAB_000c4cdc;\n                if (pFVar8 != (FuncDef *)0x0) goto LAB_000c4aac;\n              }\n            }\n          }\n          else {\n            pFVar8 = psVar23[1].u.pDef;\nLAB_000c4aac:\n            pJVar7 = (JsonNode *)(((int)pFVar8 - (int)psVar23[1].u.nZero >> 2) * -0x55555555);\n            psVar23->n = (int)pJVar7;\n            *(JsonNode **)&psVar23->flags = pJVar7;\n            bVar2 = pFVar8->nArg;\n            *(byte *)&psVar23->zMalloc = bVar2;\n            if (bVar2 < 6) {\n              psVar23->z = (char *)&pJVar7->jnFlags;\n            }\n            else {\n              ((anon_union_4_5_9b08aacb_for_u *)&pFVar8->pUserData)->zJContent = (char *)0x0;\n              pcVar15 = (char *)psVar23->n;\n              psVar23->z = pcVar15 + 1 + pFVar8->funcFlags;\n              psVar20 = (sqlite3_value *)((int)pcVar15 * 4);\n              if (*(u8 *)((int)&psVar23->zMalloc + 1) == '\0') {\n                psVar23->n = (int)(pcVar15 + 1);\n              }\n              else {\n                pJVar7 = (JsonNode *)psVar23[1].u.nZero;\n                psVar20 = (sqlite3_value *)(*(u32 **)&psVar23[1].flags)[(int)pcVar15];\n                *(u8 *)&psVar23->zMalloc = pJVar7[(int)psVar20].eType;\n                if ((pcVar15 != (char *)0x0) && ((pJVar7[(int)(pcVar15 + -1)].jnFlags & 0x40) != 0))\n                {\n                  psVar23->n = (int)(pcVar15 + -1);\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (*(u8 *)&psVar23[1].n == '\0') {\n            (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n            sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x5060));\n          }\n          zPath = (sqlite3_value *)&DAT_00000007;\n          (*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))(psVar23);\n        }\n      }\n    }\n  }\nLAB_000c49c4:\n  if (iStack_f4 == *(int *)pMVar26[0x5155].xDel) {\n    return;\n  }\n  psVar27 = pMVar26[0x5154].db;\n  pcVar28 = sqlite3_randomness;\n  iVar3 = iStack_f4;\n  (*(code *)psVar27)();\n                    /* WARNING: Load size is inaccurate */\n  iStackY_134 = *psVar27[0x658].pUpdateArg;\n  psStackY_12c = zPath;\n  psStackY_128 = psVar23;\n  psStackY_124 = psVar6;\n  psStackY_120 = unaff_s3;\n  pcStackY_11c = pcVar28;\n  iVar5 = (*(code *)psVar27[0x656].aDbStatic[1].pBt)();\n  if (iVar5 == 0) {\n    uVar11 = (*(code *)(psVar27[0x656].pDisconnect + 0x80))(5);\n    (*(code *)psVar27[0x656].pSavepoint)(uVar11);\n    pHVar12 = psVar27[0x655].aModule.first;\n    if (0 < iVar3) {\n      if (psVar20 != (sqlite3_value *)0x0) {\n        pHVar13 = psVar27[0x655].aModule.first;\n        if (*(char *)&pHVar12[0x33].data == '\0') {\n          *(undefined1 *)((int)&pHVar13[0x33].data + 2) = 0;\n          *(undefined1 *)((int)&pHVar13[0x33].data + 1) = 0;\n          iVar5 = (**(code **)((int)&psVar27[0x656].flags + 4))(0);\n          (**(code **)(iVar5 + 0x38))(iVar5,0x100,abStackY_234);\n          pHVar12 = psVar27[0x655].aModule.first;\n          iVar5 = 0;\n          do {\n            *(char *)((int)&pHVar12[0x33].data + iVar5 + 3) = (char)iVar5;\n            iVar5 = iVar5 + 1;\n          } while (iVar5 != 0x100);\n          pHVar12 = psVar27[0x655].aModule.first;\n          uVar18 = (uint)*(byte *)((int)&pHVar12[0x33].data + 2);\n          pbVar14 = (byte *)((int)&psVar27[0x655].aModule.first[0x33].data + 3);\n          pbVar21 = abStackY_234;\n          pHVar13 = psVar27[0x655].aModule.first;\n          do {\n            uVar22 = uVar18 + (uint)*pbVar14 + (uint)*pbVar21;\n            uVar18 = uVar22 & 0xff;\n            bVar2 = *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3);\n            *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3) = *pbVar14;\n            *pbVar14 = bVar2;\n            pbVar14 = pbVar14 + 1;\n            pbVar21 = pbVar21 + 1;\n          } while (pbVar14 != (byte *)((int)&pHVar12[0x43].data + 3));\n          pHVar13 = psVar27[0x655].aModule.first;\n          *(char *)((int)&pHVar13[0x33].data + 2) = (char)uVar22;\n          *(undefined1 *)&pHVar13[0x33].data = 1;\n        }\n        uVar18 = (uint)*(byte *)((int)&pHVar13[0x33].data + 2);\n        uVar22 = *(byte *)((int)&pHVar13[0x33].data + 1) + 1;\n        psVar17 = psVar20;\n        do {\n          uVar16 = (uint)((int)psVar17 + ((uVar22 & 0xff) - (int)psVar20)) & 0xff;\n          bVar2 = *(byte *)((int)&pHVar13[0x33].data + uVar16 + 3);\n          uVar19 = bVar2 + uVar18;\n          uVar18 = uVar19 & 0xff;\n          *(undefined1 *)((int)&pHVar13[0x33].data + uVar16 + 3) =\n               *(undefined1 *)((int)&pHVar13[0x33].data + uVar18 + 3);\n          *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3) = bVar2;\n          psVar6 = (sqlite3_value *)((int)&psVar17->u + 1);\n          *(char *)&psVar17->u =\n               *(char *)((int)&pHVar13[0x33].data +\n                        ((uint)bVar2 + (uint)*(byte *)((int)&pHVar13[0x33].data + uVar16 + 3) & 0xff\n                        ) + 3);\n          psVar17 = psVar6;\n        } while (psVar6 != (sqlite3_value *)((int)&psVar20->u + iVar3));\n        pHVar12 = psVar27[0x655].aModule.first;\n        *(char *)((int)&pHVar12[0x33].data + 1) = (char)uVar22 + (char)iVar3 + -1;\n        *(char *)((int)&pHVar12[0x33].data + 2) = (char)uVar19;\n        (*(code *)psVar27[0x656].aDbStatic[1].pSchema)(uVar11);\n        goto LAB_000c4e3c;\n      }\n      pHVar12 = psVar27[0x655].aModule.first;\n    }\n    *(undefined1 *)&pHVar12[0x33].data = 0;\n    (*(code *)psVar27[0x656].aDbStatic[1].pSchema)(uVar11);\n  }\nLAB_000c4e3c:\n                    /* WARNING: Load size is inaccurate */\n  if (iStackY_134 != *psVar27[0x658].pUpdateArg) {\n    (*(code *)psVar27[0x658].nVDestroy)();\n    return;\n  }\n  return;\n}\n\n" (function_definition "void jsonReplaceFunc(sqlite3_context *ctx,int argc,sqlite3_value **argv)\n\n{\n  bool bVar1;\n  byte bVar2;\n  int iVar3;\n  sqlite3_value **ppsVar4;\n  int iVar5;\n  sqlite3_value *psVar6;\n  JsonNode *pJVar7;\n  FuncDef *pFVar8;\n  u32 *puVar9;\n  u32 uVar10;\n  undefined4 uVar11;\n  HashElem *pHVar12;\n  HashElem *pHVar13;\n  byte *pbVar14;\n  char *pcVar15;\n  uint uVar16;\n  sqlite3_value *psVar17;\n  uint uVar18;\n  uint uVar19;\n  sqlite3_value *zPath;\n  sqlite3_value *psVar20;\n  byte *pbVar21;\n  uint uVar22;\n  sqlite3_value *unaff_s0;\n  sqlite3_value **unaff_s1;\n  sqlite3_value *unaff_s3;\n  JsonParse *unaff_s4;\n  sqlite3 **pParse;\n  undefined *unaff_s5;\n  int unaff_s6;\n  sqlite3_value *psVar23;\n  sqlite3_value **unaff_s7;\n  sqlite3_value **ppsVar24;\n  undefined *puVar25;\n  Mem *pMVar26;\n  sqlite3 *psVar27;\n  code *pcVar28;\n  byte abStackY_234 [256];\n  int iStackY_134;\n  sqlite3_value *psStackY_12c;\n  sqlite3_value *psStackY_128;\n  sqlite3_value *psStackY_124;\n  sqlite3_value *psStackY_120;\n  code *pcStackY_11c;\n  char *pcStack_f8;\n  int iStack_f4;\n  sqlite3_value *psStack_f0;\n  sqlite3_value **ppsStack_ec;\n  sqlite3_value *psStack_e8;\n  sqlite3_value *psStack_e4;\n  JsonParse *pJStack_e0;\n  code *pcStack_dc;\n  sqlite3_value *psStack_c8;\n  sqlite3_value **ppsStack_bc;\n  int iStack_b8;\n  undefined1 auStack_b4 [20];\n  u8 uStack_a0;\n  u8 uStack_9f;\n  sqlite3 *psStack_94;\n  sqlite3_value *psStack_90;\n  sqlite3_value **ppsStack_8c;\n  sqlite3_context *psStack_88;\n  sqlite3_value *psStack_84;\n  JsonParse *pJStack_80;\n  undefined *puStack_7c;\n  int iStack_78;\n  sqlite3_value **ppsStack_74;\n  JsonParse x;\n  \n  iVar3 = *(int *)PTR___stack_chk_guard_0018fecc;\n  psVar17 = (sqlite3_value *)ctx;\n  psVar6 = (sqlite3_value *)argc;\n  ppsVar4 = argv;\n  if (0 < argc) {\n    unaff_s0 = (sqlite3_value *)argc;\n    unaff_s7 = argv;\n    if ((argc & 1U) == 0) {\n      psVar6 = (sqlite3_value *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824);\n      jsonWrongNumArgs(ctx,(char *)psVar6);\n    }\n    else {\n      ppsVar4 = (sqlite3_value **)(*(code *)PTR_sqlite3_value_text_0018f97c)(*argv);\n      psVar17 = (sqlite3_value *)&x;\n      psVar6 = (sqlite3_value *)ctx;\n      iVar5 = jsonParse((JsonParse *)psVar17,ctx,(char *)ppsVar4);\n      puVar25 = PTR_sqlite3_value_text_0018f97c;\n      unaff_s6 = argc;\n      if (iVar5 == 0) {\n        unaff_s0 = (sqlite3_value *)(uint)((uint)argc < 2);\n        unaff_s1 = argv + 1;\n        if (unaff_s0 == (sqlite3_value *)0x0) {\n          unaff_s0 = (sqlite3_value *)0x1;\n          unaff_s4 = &x;\n          unaff_s3 = (sqlite3_value *)(PTR_LAB_0018fbc8 + 0x3c48);\n          do {\n            psVar6 = (sqlite3_value *)(*(code *)puVar25)(*unaff_s1);\n            ppsVar4 = (sqlite3_value **)0x0;\n            pJVar7 = jsonLookup(unaff_s4,(char *)psVar6,(int *)0x0,ctx);\n            unaff_s5 = puVar25;\n            if (x.nErr != '\0') goto LAB_000c4674;\n            if (pJVar7 != (JsonNode *)0x0) {\n              pJVar7->jnFlags = pJVar7->jnFlags | 8;\n              (pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1);\n            }\n            unaff_s0 = (sqlite3_value *)((int)&unaff_s0->u + 2);\n            unaff_s1 = unaff_s1 + 2;\n          } while (unaff_s0 < (uint)argc);\n        }\n        if (((x.aNode)->jnFlags & 8) == 0) {\n          psVar6 = (sqlite3_value *)ctx;\n          ppsVar4 = argv;\n          jsonReturnJson(x.aNode,ctx,argv);\n        }\n        else {\n          ppsVar24 = argv + ((x.aNode)->u).iAppend;\n          psVar6 = *ppsVar24;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(ctx);\n          ppsVar4 = argv;\n          argv = ppsVar24;\n        }\nLAB_000c4674:\n        psVar17 = (sqlite3_value *)&x;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = argv;\n      }\n    }\n  }\n  if (iVar3 == *(int *)PTR___stack_chk_guard_0018fecc) {\n    return;\n  }\n  puVar25 = PTR___stack_chk_fail_0018fea0;\n  (*(code *)PTR___stack_chk_fail_0018fea0)();\n  ppsStack_74 = unaff_s7;\n  iStack_78 = unaff_s6;\n  puStack_7c = unaff_s5;\n  pJStack_80 = unaff_s4;\n  psStack_84 = unaff_s3;\n  psStack_88 = ctx;\n  ppsStack_8c = unaff_s1;\n  psStack_90 = unaff_s0;\n  psStack_c8 = (sqlite3_value *)(puVar25 + 0xd3230);\n  ppsStack_bc = ppsVar4;\n  ppsVar4 = ppsStack_bc;\n  psStack_94 = (sqlite3 *)**(undefined4 **)(puVar25 + 0xcb7dc);\n  psVar23 = psVar17;\n  zPath = psVar6;\n  if (0 < (int)psVar6) {\n    unaff_s3 = (sqlite3_value *)**(undefined4 **)(*(u32 *)((int)&psVar17->u + 4) + 8);\n    unaff_s0 = psVar6;\n    if (((uint)psVar6 & 1) == 0) {\n      if (unaff_s3 == (sqlite3_value *)0x0) {\n        zPath = (sqlite3_value *)(*(int *)(puVar25 + 0xcb268) + 0x4920);\n      }\n      else {\n        zPath = (sqlite3_value *)(*(int *)(puVar25 + 0xcb26c) + 0x6e8);\n      }\n      jsonWrongNumArgs((sqlite3_context *)psVar17,(char *)zPath);\n    }\n    else {\n      pcVar15 = (char *)(**(code **)(puVar25 + 0xcb28c))(*ppsVar4);\n      psVar23 = (sqlite3_value *)auStack_b4;\n      zPath = psVar17;\n      iVar3 = jsonParse((JsonParse *)psVar23,(sqlite3_context *)psVar17,pcVar15);\n      unaff_s1 = ppsVar4;\n      if (iVar3 == 0) {\n        unaff_s0 = (sqlite3_value *)(uint)(psVar6 < (sqlite3_value *)0x2);\n        unaff_s1 = ppsVar4 + 1;\n        if (unaff_s0 == (sqlite3_value *)0x0) {\n          unaff_s0 = (sqlite3_value *)0x1;\n          psVar23 = *(sqlite3_value **)((int)&psStack_c8[-0x331].u + 4);\n          unaff_s4 = (JsonParse *)auStack_b4;\n          do {\n            zPath = (sqlite3_value *)(*(code *)psVar23)(*unaff_s1);\n            iStack_b8 = 0;\n            pJVar7 = jsonLookup(unaff_s4,(char *)zPath,&iStack_b8,(sqlite3_context *)psVar17);\n            if (uStack_a0 != '\0') {\n              (*(code *)psStack_c8[-0x32f].zMalloc)(psVar17);\n              goto LAB_000c484c;\n            }\n            if (uStack_9f != '\0') goto LAB_000c484c;\n            if ((pJVar7 != (JsonNode *)0x0) && (unaff_s3 != (sqlite3_value *)0x0 || iStack_b8 != 0))\n            {\n              pJVar7->jnFlags = pJVar7->jnFlags | 8;\n              (pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1);\n            }\n            unaff_s0 = (sqlite3_value *)((int)&unaff_s0->u + 2);\n            unaff_s1 = unaff_s1 + 2;\n          } while (unaff_s0 < psVar6);\n        }\n        if ((*(u8 *)(auStack_b4._8_4_ + 1) & 8) == 0) {\n          zPath = psVar17;\n          jsonReturnJson((JsonNode *)auStack_b4._8_4_,(sqlite3_context *)psVar17,ppsStack_bc);\n        }\n        else {\n          zPath = ppsStack_bc[((anon_union_4_5_9b08aacb_for_u *)(auStack_b4._8_4_ + 8))->iAppend];\n          (*(code *)psStack_c8[-0x32d].db)(psVar17);\n        }\nLAB_000c484c:\n        psVar23 = (sqlite3_value *)auStack_b4;\n        (*(code *)(psStack_c8[-0x321].n + 0x3c38))();\n      }\n    }\n  }\n  if (psStack_94 == (*(Vdbe **)((int)&psStack_c8[-0x30f].u + 4))->db) {\n    return;\n  }\n  pMVar26 = (Mem *)psStack_c8[-0x310].u.zPType;\n  pcVar28 = jsonEachFilter;\n  (*(code *)pMVar26)();\n  psVar6 = psStack_c8;\n  iStack_f4 = *(int *)pMVar26[0x5155].xDel;\n  psVar20 = zPath;\n  psStack_f0 = unaff_s0;\n  ppsStack_ec = unaff_s1;\n  psStack_e8 = psVar17;\n  psStack_e4 = unaff_s3;\n  pJStack_e0 = unaff_s4;\n  pcStack_dc = pcVar28;\n  (*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))();\n  if (zPath != (sqlite3_value *)0x0) {\n    iVar3 = (*pMVar26[0x5133].xDel)((Mem *)(psVar6->u).nZero);\n    if (iVar3 == 0) {\n      zPath = (sqlite3_value *)0x0;\n    }\n    else {\n      unaff_s3 = (sqlite3_value *)(*(code *)pMVar26[0x5135].szMalloc)((Mem *)(psVar6->u).nZero);\n      psVar20 = (sqlite3_value *)((int)&unaff_s3->u + 1);\n      iVar5 = (*(code *)pMVar26[0x5136].u.nZero)\n                        ((uint)(psVar20 < unaff_s3) + ((int)unaff_s3 >> 0x1f));\n      psVar23->szMalloc = iVar5;\n      if (iVar5 == 0) {\n        zPath = (sqlite3_value *)&DAT_00000007;\n      }\n      else {\n        (**(code **)((int)&pMVar26[0x5156].u + 4))(iVar5,iVar3,(char *)((int)&unaff_s3->u + 1));\n        pParse = &psVar23->db;\n        psVar20 = (sqlite3_value *)0x0;\n        unaff_s3 = (sqlite3_value *)\n                   jsonParse((JsonParse *)pParse,(sqlite3_context *)0x0,(char *)psVar23->szMalloc);\n        if (unaff_s3 == (sqlite3_value *)0x0) {\n          if (*(u8 *)((int)&psVar23->zMalloc + 1) != '\0') {\n            psVar20 = (sqlite3_value *)((int)psVar23->db << 2);\n            puVar9 = (u32 *)(*(code *)pMVar26[0x5136].u.nZero)(0);\n            *(u32 **)&psVar23[1].flags = puVar9;\n            if (puVar9 == (u32 *)0x0) {\n              *(u8 *)&psVar23[1].n = '\x01';\n              (*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))(psVar23);\n              zPath = (sqlite3_value *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            psVar20 = (sqlite3_value *)0x0;\n            (*(code *)(pMVar26[0x5142].n + 0x604))(pParse,0,0);\n          }\n          bVar1 = zPath == (sqlite3_value *)0x3;\n          zPath = (sqlite3_value *)0x0;\n          if (bVar1) {\n            pcStack_f8 = (char *)0x0;\n            pcVar15 = (char *)(*pMVar26[0x5133].xDel)(*(FuncDef **)((int)&psVar6->u + 4));\n            if (pcVar15 != (char *)0x0) {\n              psVar6 = (sqlite3_value *)\n                       (*(code *)pMVar26[0x5135].szMalloc)(*(FuncDef **)((int)&psVar6->u + 4));\n              psVar20 = (sqlite3_value *)((int)&psVar6->u + 1);\n              uVar10 = (*(code *)pMVar26[0x5136].u.nZero)\n                                 ((uint)(psVar20 < psVar6) + ((int)psVar6 >> 0x1f));\n              psVar23->uTemp = uVar10;\n              if (uVar10 == 0) {\n                zPath = (sqlite3_value *)&DAT_00000007;\n              }\n              else {\n                (**(code **)((int)&pMVar26[0x5156].u + 4))\n                          (uVar10,pcVar15,(char *)((int)&psVar6->u + 1));\n                if (*pcVar15 != '$') {\n                  pcStack_f8 = pcVar15;\nLAB_000c4cdc:\n                  (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n                  sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x463c),\n                                  pcStack_f8);\n                }\n                psVar20 = (sqlite3_value *)0x0;\n                pFVar8 = (FuncDef *)\n                         jsonLookupStep((JsonParse *)pParse,0,(char *)(psVar23->uTemp + 1),\n                                        (int *)0x0,&pcStack_f8);\n                if (pcStack_f8 != (char *)0x0) goto LAB_000c4cdc;\n                if (pFVar8 != (FuncDef *)0x0) goto LAB_000c4aac;\n              }\n            }\n          }\n          else {\n            pFVar8 = psVar23[1].u.pDef;\nLAB_000c4aac:\n            pJVar7 = (JsonNode *)(((int)pFVar8 - (int)psVar23[1].u.nZero >> 2) * -0x55555555);\n            psVar23->n = (int)pJVar7;\n            *(JsonNode **)&psVar23->flags = pJVar7;\n            bVar2 = pFVar8->nArg;\n            *(byte *)&psVar23->zMalloc = bVar2;\n            if (bVar2 < 6) {\n              psVar23->z = (char *)&pJVar7->jnFlags;\n            }\n            else {\n              ((anon_union_4_5_9b08aacb_for_u *)&pFVar8->pUserData)->zJContent = (char *)0x0;\n              pcVar15 = (char *)psVar23->n;\n              psVar23->z = pcVar15 + 1 + pFVar8->funcFlags;\n              psVar20 = (sqlite3_value *)((int)pcVar15 * 4);\n              if (*(u8 *)((int)&psVar23->zMalloc + 1) == '\0') {\n                psVar23->n = (int)(pcVar15 + 1);\n              }\n              else {\n                pJVar7 = (JsonNode *)psVar23[1].u.nZero;\n                psVar20 = (sqlite3_value *)(*(u32 **)&psVar23[1].flags)[(int)pcVar15];\n                *(u8 *)&psVar23->zMalloc = pJVar7[(int)psVar20].eType;\n                if ((pcVar15 != (char *)0x0) && ((pJVar7[(int)(pcVar15 + -1)].jnFlags & 0x40) != 0))\n                {\n                  psVar23->n = (int)(pcVar15 + -1);\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (*(u8 *)&psVar23[1].n == '\0') {\n            (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n            sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x5060));\n          }\n          zPath = (sqlite3_value *)&DAT_00000007;\n          (*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))(psVar23);\n        }\n      }\n    }\n  }\nLAB_000c49c4:\n  if (iStack_f4 == *(int *)pMVar26[0x5155].xDel) {\n    return;\n  }\n  psVar27 = pMVar26[0x5154].db;\n  pcVar28 = sqlite3_randomness;\n  iVar3 = iStack_f4;\n  (*(code *)psVar27)();\n                    /* WARNING: Load size is inaccurate */\n  iStackY_134 = *psVar27[0x658].pUpdateArg;\n  psStackY_12c = zPath;\n  psStackY_128 = psVar23;\n  psStackY_124 = psVar6;\n  psStackY_120 = unaff_s3;\n  pcStackY_11c = pcVar28;\n  iVar5 = (*(code *)psVar27[0x656].aDbStatic[1].pBt)();\n  if (iVar5 == 0) {\n    uVar11 = (*(code *)(psVar27[0x656].pDisconnect + 0x80))(5);\n    (*(code *)psVar27[0x656].pSavepoint)(uVar11);\n    pHVar12 = psVar27[0x655].aModule.first;\n    if (0 < iVar3) {\n      if (psVar20 != (sqlite3_value *)0x0) {\n        pHVar13 = psVar27[0x655].aModule.first;\n        if (*(char *)&pHVar12[0x33].data == '\0') {\n          *(undefined1 *)((int)&pHVar13[0x33].data + 2) = 0;\n          *(undefined1 *)((int)&pHVar13[0x33].data + 1) = 0;\n          iVar5 = (**(code **)((int)&psVar27[0x656].flags + 4))(0);\n          (**(code **)(iVar5 + 0x38))(iVar5,0x100,abStackY_234);\n          pHVar12 = psVar27[0x655].aModule.first;\n          iVar5 = 0;\n          do {\n            *(char *)((int)&pHVar12[0x33].data + iVar5 + 3) = (char)iVar5;\n            iVar5 = iVar5 + 1;\n          } while (iVar5 != 0x100);\n          pHVar12 = psVar27[0x655].aModule.first;\n          uVar18 = (uint)*(byte *)((int)&pHVar12[0x33].data + 2);\n          pbVar14 = (byte *)((int)&psVar27[0x655].aModule.first[0x33].data + 3);\n          pbVar21 = abStackY_234;\n          pHVar13 = psVar27[0x655].aModule.first;\n          do {\n            uVar22 = uVar18 + (uint)*pbVar14 + (uint)*pbVar21;\n            uVar18 = uVar22 & 0xff;\n            bVar2 = *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3);\n            *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3) = *pbVar14;\n            *pbVar14 = bVar2;\n            pbVar14 = pbVar14 + 1;\n            pbVar21 = pbVar21 + 1;\n          } while (pbVar14 != (byte *)((int)&pHVar12[0x43].data + 3));\n          pHVar13 = psVar27[0x655].aModule.first;\n          *(char *)((int)&pHVar13[0x33].data + 2) = (char)uVar22;\n          *(undefined1 *)&pHVar13[0x33].data = 1;\n        }\n        uVar18 = (uint)*(byte *)((int)&pHVar13[0x33].data + 2);\n        uVar22 = *(byte *)((int)&pHVar13[0x33].data + 1) + 1;\n        psVar17 = psVar20;\n        do {\n          uVar16 = (uint)((int)psVar17 + ((uVar22 & 0xff) - (int)psVar20)) & 0xff;\n          bVar2 = *(byte *)((int)&pHVar13[0x33].data + uVar16 + 3);\n          uVar19 = bVar2 + uVar18;\n          uVar18 = uVar19 & 0xff;\n          *(undefined1 *)((int)&pHVar13[0x33].data + uVar16 + 3) =\n               *(undefined1 *)((int)&pHVar13[0x33].data + uVar18 + 3);\n          *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3) = bVar2;\n          psVar6 = (sqlite3_value *)((int)&psVar17->u + 1);\n          *(char *)&psVar17->u =\n               *(char *)((int)&pHVar13[0x33].data +\n                        ((uint)bVar2 + (uint)*(byte *)((int)&pHVar13[0x33].data + uVar16 + 3) & 0xff\n                        ) + 3);\n          psVar17 = psVar6;\n        } while (psVar6 != (sqlite3_value *)((int)&psVar20->u + iVar3));\n        pHVar12 = psVar27[0x655].aModule.first;\n        *(char *)((int)&pHVar12[0x33].data + 1) = (char)uVar22 + (char)iVar3 + -1;\n        *(char *)((int)&pHVar12[0x33].data + 2) = (char)uVar19;\n        (*(code *)psVar27[0x656].aDbStatic[1].pSchema)(uVar11);\n        goto LAB_000c4e3c;\n      }\n      pHVar12 = psVar27[0x655].aModule.first;\n    }\n    *(undefined1 *)&pHVar12[0x33].data = 0;\n    (*(code *)psVar27[0x656].aDbStatic[1].pSchema)(uVar11);\n  }\nLAB_000c4e3c:\n                    /* WARNING: Load size is inaccurate */\n  if (iStackY_134 != *psVar27[0x658].pUpdateArg) {\n    (*(code *)psVar27[0x658].nVDestroy)();\n    return;\n  }\n  return;\n}" primitive_type (function_declarator "jsonReplaceFunc(sqlite3_context *ctx,int argc,sqlite3_value **argv)" identifier (parameter_list "(sqlite3_context *ctx,int argc,sqlite3_value **argv)" ( (parameter_declaration "sqlite3_context *ctx" type_identifier (pointer_declarator "*ctx" * identifier)) , (parameter_declaration "int argc" primitive_type identifier) , (parameter_declaration "sqlite3_value **argv" type_identifier (pointer_declarator "**argv" * (pointer_declarator "*argv" * identifier))) ))) (compound_statement "{\n  bool bVar1;\n  byte bVar2;\n  int iVar3;\n  sqlite3_value **ppsVar4;\n  int iVar5;\n  sqlite3_value *psVar6;\n  JsonNode *pJVar7;\n  FuncDef *pFVar8;\n  u32 *puVar9;\n  u32 uVar10;\n  undefined4 uVar11;\n  HashElem *pHVar12;\n  HashElem *pHVar13;\n  byte *pbVar14;\n  char *pcVar15;\n  uint uVar16;\n  sqlite3_value *psVar17;\n  uint uVar18;\n  uint uVar19;\n  sqlite3_value *zPath;\n  sqlite3_value *psVar20;\n  byte *pbVar21;\n  uint uVar22;\n  sqlite3_value *unaff_s0;\n  sqlite3_value **unaff_s1;\n  sqlite3_value *unaff_s3;\n  JsonParse *unaff_s4;\n  sqlite3 **pParse;\n  undefined *unaff_s5;\n  int unaff_s6;\n  sqlite3_value *psVar23;\n  sqlite3_value **unaff_s7;\n  sqlite3_value **ppsVar24;\n  undefined *puVar25;\n  Mem *pMVar26;\n  sqlite3 *psVar27;\n  code *pcVar28;\n  byte abStackY_234 [256];\n  int iStackY_134;\n  sqlite3_value *psStackY_12c;\n  sqlite3_value *psStackY_128;\n  sqlite3_value *psStackY_124;\n  sqlite3_value *psStackY_120;\n  code *pcStackY_11c;\n  char *pcStack_f8;\n  int iStack_f4;\n  sqlite3_value *psStack_f0;\n  sqlite3_value **ppsStack_ec;\n  sqlite3_value *psStack_e8;\n  sqlite3_value *psStack_e4;\n  JsonParse *pJStack_e0;\n  code *pcStack_dc;\n  sqlite3_value *psStack_c8;\n  sqlite3_value **ppsStack_bc;\n  int iStack_b8;\n  undefined1 auStack_b4 [20];\n  u8 uStack_a0;\n  u8 uStack_9f;\n  sqlite3 *psStack_94;\n  sqlite3_value *psStack_90;\n  sqlite3_value **ppsStack_8c;\n  sqlite3_context *psStack_88;\n  sqlite3_value *psStack_84;\n  JsonParse *pJStack_80;\n  undefined *puStack_7c;\n  int iStack_78;\n  sqlite3_value **ppsStack_74;\n  JsonParse x;\n  \n  iVar3 = *(int *)PTR___stack_chk_guard_0018fecc;\n  psVar17 = (sqlite3_value *)ctx;\n  psVar6 = (sqlite3_value *)argc;\n  ppsVar4 = argv;\n  if (0 < argc) {\n    unaff_s0 = (sqlite3_value *)argc;\n    unaff_s7 = argv;\n    if ((argc & 1U) == 0) {\n      psVar6 = (sqlite3_value *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824);\n      jsonWrongNumArgs(ctx,(char *)psVar6);\n    }\n    else {\n      ppsVar4 = (sqlite3_value **)(*(code *)PTR_sqlite3_value_text_0018f97c)(*argv);\n      psVar17 = (sqlite3_value *)&x;\n      psVar6 = (sqlite3_value *)ctx;\n      iVar5 = jsonParse((JsonParse *)psVar17,ctx,(char *)ppsVar4);\n      puVar25 = PTR_sqlite3_value_text_0018f97c;\n      unaff_s6 = argc;\n      if (iVar5 == 0) {\n        unaff_s0 = (sqlite3_value *)(uint)((uint)argc < 2);\n        unaff_s1 = argv + 1;\n        if (unaff_s0 == (sqlite3_value *)0x0) {\n          unaff_s0 = (sqlite3_value *)0x1;\n          unaff_s4 = &x;\n          unaff_s3 = (sqlite3_value *)(PTR_LAB_0018fbc8 + 0x3c48);\n          do {\n            psVar6 = (sqlite3_value *)(*(code *)puVar25)(*unaff_s1);\n            ppsVar4 = (sqlite3_value **)0x0;\n            pJVar7 = jsonLookup(unaff_s4,(char *)psVar6,(int *)0x0,ctx);\n            unaff_s5 = puVar25;\n            if (x.nErr != '\0') goto LAB_000c4674;\n            if (pJVar7 != (JsonNode *)0x0) {\n              pJVar7->jnFlags = pJVar7->jnFlags | 8;\n              (pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1);\n            }\n            unaff_s0 = (sqlite3_value *)((int)&unaff_s0->u + 2);\n            unaff_s1 = unaff_s1 + 2;\n          } while (unaff_s0 < (uint)argc);\n        }\n        if (((x.aNode)->jnFlags & 8) == 0) {\n          psVar6 = (sqlite3_value *)ctx;\n          ppsVar4 = argv;\n          jsonReturnJson(x.aNode,ctx,argv);\n        }\n        else {\n          ppsVar24 = argv + ((x.aNode)->u).iAppend;\n          psVar6 = *ppsVar24;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(ctx);\n          ppsVar4 = argv;\n          argv = ppsVar24;\n        }\nLAB_000c4674:\n        psVar17 = (sqlite3_value *)&x;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = argv;\n      }\n    }\n  }\n  if (iVar3 == *(int *)PTR___stack_chk_guard_0018fecc) {\n    return;\n  }\n  puVar25 = PTR___stack_chk_fail_0018fea0;\n  (*(code *)PTR___stack_chk_fail_0018fea0)();\n  ppsStack_74 = unaff_s7;\n  iStack_78 = unaff_s6;\n  puStack_7c = unaff_s5;\n  pJStack_80 = unaff_s4;\n  psStack_84 = unaff_s3;\n  psStack_88 = ctx;\n  ppsStack_8c = unaff_s1;\n  psStack_90 = unaff_s0;\n  psStack_c8 = (sqlite3_value *)(puVar25 + 0xd3230);\n  ppsStack_bc = ppsVar4;\n  ppsVar4 = ppsStack_bc;\n  psStack_94 = (sqlite3 *)**(undefined4 **)(puVar25 + 0xcb7dc);\n  psVar23 = psVar17;\n  zPath = psVar6;\n  if (0 < (int)psVar6) {\n    unaff_s3 = (sqlite3_value *)**(undefined4 **)(*(u32 *)((int)&psVar17->u + 4) + 8);\n    unaff_s0 = psVar6;\n    if (((uint)psVar6 & 1) == 0) {\n      if (unaff_s3 == (sqlite3_value *)0x0) {\n        zPath = (sqlite3_value *)(*(int *)(puVar25 + 0xcb268) + 0x4920);\n      }\n      else {\n        zPath = (sqlite3_value *)(*(int *)(puVar25 + 0xcb26c) + 0x6e8);\n      }\n      jsonWrongNumArgs((sqlite3_context *)psVar17,(char *)zPath);\n    }\n    else {\n      pcVar15 = (char *)(**(code **)(puVar25 + 0xcb28c))(*ppsVar4);\n      psVar23 = (sqlite3_value *)auStack_b4;\n      zPath = psVar17;\n      iVar3 = jsonParse((JsonParse *)psVar23,(sqlite3_context *)psVar17,pcVar15);\n      unaff_s1 = ppsVar4;\n      if (iVar3 == 0) {\n        unaff_s0 = (sqlite3_value *)(uint)(psVar6 < (sqlite3_value *)0x2);\n        unaff_s1 = ppsVar4 + 1;\n        if (unaff_s0 == (sqlite3_value *)0x0) {\n          unaff_s0 = (sqlite3_value *)0x1;\n          psVar23 = *(sqlite3_value **)((int)&psStack_c8[-0x331].u + 4);\n          unaff_s4 = (JsonParse *)auStack_b4;\n          do {\n            zPath = (sqlite3_value *)(*(code *)psVar23)(*unaff_s1);\n            iStack_b8 = 0;\n            pJVar7 = jsonLookup(unaff_s4,(char *)zPath,&iStack_b8,(sqlite3_context *)psVar17);\n            if (uStack_a0 != '\0') {\n              (*(code *)psStack_c8[-0x32f].zMalloc)(psVar17);\n              goto LAB_000c484c;\n            }\n            if (uStack_9f != '\0') goto LAB_000c484c;\n            if ((pJVar7 != (JsonNode *)0x0) && (unaff_s3 != (sqlite3_value *)0x0 || iStack_b8 != 0))\n            {\n              pJVar7->jnFlags = pJVar7->jnFlags | 8;\n              (pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1);\n            }\n            unaff_s0 = (sqlite3_value *)((int)&unaff_s0->u + 2);\n            unaff_s1 = unaff_s1 + 2;\n          } while (unaff_s0 < psVar6);\n        }\n        if ((*(u8 *)(auStack_b4._8_4_ + 1) & 8) == 0) {\n          zPath = psVar17;\n          jsonReturnJson((JsonNode *)auStack_b4._8_4_,(sqlite3_context *)psVar17,ppsStack_bc);\n        }\n        else {\n          zPath = ppsStack_bc[((anon_union_4_5_9b08aacb_for_u *)(auStack_b4._8_4_ + 8))->iAppend];\n          (*(code *)psStack_c8[-0x32d].db)(psVar17);\n        }\nLAB_000c484c:\n        psVar23 = (sqlite3_value *)auStack_b4;\n        (*(code *)(psStack_c8[-0x321].n + 0x3c38))();\n      }\n    }\n  }\n  if (psStack_94 == (*(Vdbe **)((int)&psStack_c8[-0x30f].u + 4))->db) {\n    return;\n  }\n  pMVar26 = (Mem *)psStack_c8[-0x310].u.zPType;\n  pcVar28 = jsonEachFilter;\n  (*(code *)pMVar26)();\n  psVar6 = psStack_c8;\n  iStack_f4 = *(int *)pMVar26[0x5155].xDel;\n  psVar20 = zPath;\n  psStack_f0 = unaff_s0;\n  ppsStack_ec = unaff_s1;\n  psStack_e8 = psVar17;\n  psStack_e4 = unaff_s3;\n  pJStack_e0 = unaff_s4;\n  pcStack_dc = pcVar28;\n  (*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))();\n  if (zPath != (sqlite3_value *)0x0) {\n    iVar3 = (*pMVar26[0x5133].xDel)((Mem *)(psVar6->u).nZero);\n    if (iVar3 == 0) {\n      zPath = (sqlite3_value *)0x0;\n    }\n    else {\n      unaff_s3 = (sqlite3_value *)(*(code *)pMVar26[0x5135].szMalloc)((Mem *)(psVar6->u).nZero);\n      psVar20 = (sqlite3_value *)((int)&unaff_s3->u + 1);\n      iVar5 = (*(code *)pMVar26[0x5136].u.nZero)\n                        ((uint)(psVar20 < unaff_s3) + ((int)unaff_s3 >> 0x1f));\n      psVar23->szMalloc = iVar5;\n      if (iVar5 == 0) {\n        zPath = (sqlite3_value *)&DAT_00000007;\n      }\n      else {\n        (**(code **)((int)&pMVar26[0x5156].u + 4))(iVar5,iVar3,(char *)((int)&unaff_s3->u + 1));\n        pParse = &psVar23->db;\n        psVar20 = (sqlite3_value *)0x0;\n        unaff_s3 = (sqlite3_value *)\n                   jsonParse((JsonParse *)pParse,(sqlite3_context *)0x0,(char *)psVar23->szMalloc);\n        if (unaff_s3 == (sqlite3_value *)0x0) {\n          if (*(u8 *)((int)&psVar23->zMalloc + 1) != '\0') {\n            psVar20 = (sqlite3_value *)((int)psVar23->db << 2);\n            puVar9 = (u32 *)(*(code *)pMVar26[0x5136].u.nZero)(0);\n            *(u32 **)&psVar23[1].flags = puVar9;\n            if (puVar9 == (u32 *)0x0) {\n              *(u8 *)&psVar23[1].n = '\x01';\n              (*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))(psVar23);\n              zPath = (sqlite3_value *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            psVar20 = (sqlite3_value *)0x0;\n            (*(code *)(pMVar26[0x5142].n + 0x604))(pParse,0,0);\n          }\n          bVar1 = zPath == (sqlite3_value *)0x3;\n          zPath = (sqlite3_value *)0x0;\n          if (bVar1) {\n            pcStack_f8 = (char *)0x0;\n            pcVar15 = (char *)(*pMVar26[0x5133].xDel)(*(FuncDef **)((int)&psVar6->u + 4));\n            if (pcVar15 != (char *)0x0) {\n              psVar6 = (sqlite3_value *)\n                       (*(code *)pMVar26[0x5135].szMalloc)(*(FuncDef **)((int)&psVar6->u + 4));\n              psVar20 = (sqlite3_value *)((int)&psVar6->u + 1);\n              uVar10 = (*(code *)pMVar26[0x5136].u.nZero)\n                                 ((uint)(psVar20 < psVar6) + ((int)psVar6 >> 0x1f));\n              psVar23->uTemp = uVar10;\n              if (uVar10 == 0) {\n                zPath = (sqlite3_value *)&DAT_00000007;\n              }\n              else {\n                (**(code **)((int)&pMVar26[0x5156].u + 4))\n                          (uVar10,pcVar15,(char *)((int)&psVar6->u + 1));\n                if (*pcVar15 != '$') {\n                  pcStack_f8 = pcVar15;\nLAB_000c4cdc:\n                  (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n                  sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x463c),\n                                  pcStack_f8);\n                }\n                psVar20 = (sqlite3_value *)0x0;\n                pFVar8 = (FuncDef *)\n                         jsonLookupStep((JsonParse *)pParse,0,(char *)(psVar23->uTemp + 1),\n                                        (int *)0x0,&pcStack_f8);\n                if (pcStack_f8 != (char *)0x0) goto LAB_000c4cdc;\n                if (pFVar8 != (FuncDef *)0x0) goto LAB_000c4aac;\n              }\n            }\n          }\n          else {\n            pFVar8 = psVar23[1].u.pDef;\nLAB_000c4aac:\n            pJVar7 = (JsonNode *)(((int)pFVar8 - (int)psVar23[1].u.nZero >> 2) * -0x55555555);\n            psVar23->n = (int)pJVar7;\n            *(JsonNode **)&psVar23->flags = pJVar7;\n            bVar2 = pFVar8->nArg;\n            *(byte *)&psVar23->zMalloc = bVar2;\n            if (bVar2 < 6) {\n              psVar23->z = (char *)&pJVar7->jnFlags;\n            }\n            else {\n              ((anon_union_4_5_9b08aacb_for_u *)&pFVar8->pUserData)->zJContent = (char *)0x0;\n              pcVar15 = (char *)psVar23->n;\n              psVar23->z = pcVar15 + 1 + pFVar8->funcFlags;\n              psVar20 = (sqlite3_value *)((int)pcVar15 * 4);\n              if (*(u8 *)((int)&psVar23->zMalloc + 1) == '\0') {\n                psVar23->n = (int)(pcVar15 + 1);\n              }\n              else {\n                pJVar7 = (JsonNode *)psVar23[1].u.nZero;\n                psVar20 = (sqlite3_value *)(*(u32 **)&psVar23[1].flags)[(int)pcVar15];\n                *(u8 *)&psVar23->zMalloc = pJVar7[(int)psVar20].eType;\n                if ((pcVar15 != (char *)0x0) && ((pJVar7[(int)(pcVar15 + -1)].jnFlags & 0x40) != 0))\n                {\n                  psVar23->n = (int)(pcVar15 + -1);\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (*(u8 *)&psVar23[1].n == '\0') {\n            (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n            sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x5060));\n          }\n          zPath = (sqlite3_value *)&DAT_00000007;\n          (*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))(psVar23);\n        }\n      }\n    }\n  }\nLAB_000c49c4:\n  if (iStack_f4 == *(int *)pMVar26[0x5155].xDel) {\n    return;\n  }\n  psVar27 = pMVar26[0x5154].db;\n  pcVar28 = sqlite3_randomness;\n  iVar3 = iStack_f4;\n  (*(code *)psVar27)();\n                    /* WARNING: Load size is inaccurate */\n  iStackY_134 = *psVar27[0x658].pUpdateArg;\n  psStackY_12c = zPath;\n  psStackY_128 = psVar23;\n  psStackY_124 = psVar6;\n  psStackY_120 = unaff_s3;\n  pcStackY_11c = pcVar28;\n  iVar5 = (*(code *)psVar27[0x656].aDbStatic[1].pBt)();\n  if (iVar5 == 0) {\n    uVar11 = (*(code *)(psVar27[0x656].pDisconnect + 0x80))(5);\n    (*(code *)psVar27[0x656].pSavepoint)(uVar11);\n    pHVar12 = psVar27[0x655].aModule.first;\n    if (0 < iVar3) {\n      if (psVar20 != (sqlite3_value *)0x0) {\n        pHVar13 = psVar27[0x655].aModule.first;\n        if (*(char *)&pHVar12[0x33].data == '\0') {\n          *(undefined1 *)((int)&pHVar13[0x33].data + 2) = 0;\n          *(undefined1 *)((int)&pHVar13[0x33].data + 1) = 0;\n          iVar5 = (**(code **)((int)&psVar27[0x656].flags + 4))(0);\n          (**(code **)(iVar5 + 0x38))(iVar5,0x100,abStackY_234);\n          pHVar12 = psVar27[0x655].aModule.first;\n          iVar5 = 0;\n          do {\n            *(char *)((int)&pHVar12[0x33].data + iVar5 + 3) = (char)iVar5;\n            iVar5 = iVar5 + 1;\n          } while (iVar5 != 0x100);\n          pHVar12 = psVar27[0x655].aModule.first;\n          uVar18 = (uint)*(byte *)((int)&pHVar12[0x33].data + 2);\n          pbVar14 = (byte *)((int)&psVar27[0x655].aModule.first[0x33].data + 3);\n          pbVar21 = abStackY_234;\n          pHVar13 = psVar27[0x655].aModule.first;\n          do {\n            uVar22 = uVar18 + (uint)*pbVar14 + (uint)*pbVar21;\n            uVar18 = uVar22 & 0xff;\n            bVar2 = *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3);\n            *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3) = *pbVar14;\n            *pbVar14 = bVar2;\n            pbVar14 = pbVar14 + 1;\n            pbVar21 = pbVar21 + 1;\n          } while (pbVar14 != (byte *)((int)&pHVar12[0x43].data + 3));\n          pHVar13 = psVar27[0x655].aModule.first;\n          *(char *)((int)&pHVar13[0x33].data + 2) = (char)uVar22;\n          *(undefined1 *)&pHVar13[0x33].data = 1;\n        }\n        uVar18 = (uint)*(byte *)((int)&pHVar13[0x33].data + 2);\n        uVar22 = *(byte *)((int)&pHVar13[0x33].data + 1) + 1;\n        psVar17 = psVar20;\n        do {\n          uVar16 = (uint)((int)psVar17 + ((uVar22 & 0xff) - (int)psVar20)) & 0xff;\n          bVar2 = *(byte *)((int)&pHVar13[0x33].data + uVar16 + 3);\n          uVar19 = bVar2 + uVar18;\n          uVar18 = uVar19 & 0xff;\n          *(undefined1 *)((int)&pHVar13[0x33].data + uVar16 + 3) =\n               *(undefined1 *)((int)&pHVar13[0x33].data + uVar18 + 3);\n          *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3) = bVar2;\n          psVar6 = (sqlite3_value *)((int)&psVar17->u + 1);\n          *(char *)&psVar17->u =\n               *(char *)((int)&pHVar13[0x33].data +\n                        ((uint)bVar2 + (uint)*(byte *)((int)&pHVar13[0x33].data + uVar16 + 3) & 0xff\n                        ) + 3);\n          psVar17 = psVar6;\n        } while (psVar6 != (sqlite3_value *)((int)&psVar20->u + iVar3));\n        pHVar12 = psVar27[0x655].aModule.first;\n        *(char *)((int)&pHVar12[0x33].data + 1) = (char)uVar22 + (char)iVar3 + -1;\n        *(char *)((int)&pHVar12[0x33].data + 2) = (char)uVar19;\n        (*(code *)psVar27[0x656].aDbStatic[1].pSchema)(uVar11);\n        goto LAB_000c4e3c;\n      }\n      pHVar12 = psVar27[0x655].aModule.first;\n    }\n    *(undefined1 *)&pHVar12[0x33].data = 0;\n    (*(code *)psVar27[0x656].aDbStatic[1].pSchema)(uVar11);\n  }\nLAB_000c4e3c:\n                    /* WARNING: Load size is inaccurate */\n  if (iStackY_134 != *psVar27[0x658].pUpdateArg) {\n    (*(code *)psVar27[0x658].nVDestroy)();\n    return;\n  }\n  return;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "sqlite3_value **ppsVar4;" type_identifier (pointer_declarator "**ppsVar4" * (pointer_declarator "*ppsVar4" * identifier)) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "sqlite3_value *psVar6;" type_identifier (pointer_declarator "*psVar6" * identifier) ;) (declaration "JsonNode *pJVar7;" type_identifier (pointer_declarator "*pJVar7" * identifier) ;) (declaration "FuncDef *pFVar8;" type_identifier (pointer_declarator "*pFVar8" * identifier) ;) (declaration "u32 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "u32 uVar10;" type_identifier identifier ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "HashElem *pHVar12;" type_identifier (pointer_declarator "*pHVar12" * identifier) ;) (declaration "HashElem *pHVar13;" type_identifier (pointer_declarator "*pHVar13" * identifier) ;) (declaration "byte *pbVar14;" type_identifier (pointer_declarator "*pbVar14" * identifier) ;) (declaration "char *pcVar15;" primitive_type (pointer_declarator "*pcVar15" * identifier) ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "sqlite3_value *psVar17;" type_identifier (pointer_declarator "*psVar17" * identifier) ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "sqlite3_value *zPath;" type_identifier (pointer_declarator "*zPath" * identifier) ;) (declaration "sqlite3_value *psVar20;" type_identifier (pointer_declarator "*psVar20" * identifier) ;) (declaration "byte *pbVar21;" type_identifier (pointer_declarator "*pbVar21" * identifier) ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "sqlite3_value *unaff_s0;" type_identifier (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "sqlite3_value **unaff_s1;" type_identifier (pointer_declarator "**unaff_s1" * (pointer_declarator "*unaff_s1" * identifier)) ;) (declaration "sqlite3_value *unaff_s3;" type_identifier (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "JsonParse *unaff_s4;" type_identifier (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "sqlite3 **pParse;" type_identifier (pointer_declarator "**pParse" * (pointer_declarator "*pParse" * identifier)) ;) (declaration "undefined *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "int unaff_s6;" primitive_type identifier ;) (declaration "sqlite3_value *psVar23;" type_identifier (pointer_declarator "*psVar23" * identifier) ;) (declaration "sqlite3_value **unaff_s7;" type_identifier (pointer_declarator "**unaff_s7" * (pointer_declarator "*unaff_s7" * identifier)) ;) (declaration "sqlite3_value **ppsVar24;" type_identifier (pointer_declarator "**ppsVar24" * (pointer_declarator "*ppsVar24" * identifier)) ;) (declaration "undefined *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "Mem *pMVar26;" type_identifier (pointer_declarator "*pMVar26" * identifier) ;) (declaration "sqlite3 *psVar27;" type_identifier (pointer_declarator "*psVar27" * identifier) ;) (declaration "code *pcVar28;" type_identifier (pointer_declarator "*pcVar28" * identifier) ;) (declaration "byte abStackY_234 [256];" type_identifier (array_declarator "abStackY_234 [256]" identifier [ number_literal ]) ;) (declaration "int iStackY_134;" primitive_type identifier ;) (declaration "sqlite3_value *psStackY_12c;" type_identifier (pointer_declarator "*psStackY_12c" * identifier) ;) (declaration "sqlite3_value *psStackY_128;" type_identifier (pointer_declarator "*psStackY_128" * identifier) ;) (declaration "sqlite3_value *psStackY_124;" type_identifier (pointer_declarator "*psStackY_124" * identifier) ;) (declaration "sqlite3_value *psStackY_120;" type_identifier (pointer_declarator "*psStackY_120" * identifier) ;) (declaration "code *pcStackY_11c;" type_identifier (pointer_declarator "*pcStackY_11c" * identifier) ;) (declaration "char *pcStack_f8;" primitive_type (pointer_declarator "*pcStack_f8" * identifier) ;) (declaration "int iStack_f4;" primitive_type identifier ;) (declaration "sqlite3_value *psStack_f0;" type_identifier (pointer_declarator "*psStack_f0" * identifier) ;) (declaration "sqlite3_value **ppsStack_ec;" type_identifier (pointer_declarator "**ppsStack_ec" * (pointer_declarator "*ppsStack_ec" * identifier)) ;) (declaration "sqlite3_value *psStack_e8;" type_identifier (pointer_declarator "*psStack_e8" * identifier) ;) (declaration "sqlite3_value *psStack_e4;" type_identifier (pointer_declarator "*psStack_e4" * identifier) ;) (declaration "JsonParse *pJStack_e0;" type_identifier (pointer_declarator "*pJStack_e0" * identifier) ;) (declaration "code *pcStack_dc;" type_identifier (pointer_declarator "*pcStack_dc" * identifier) ;) (declaration "sqlite3_value *psStack_c8;" type_identifier (pointer_declarator "*psStack_c8" * identifier) ;) (declaration "sqlite3_value **ppsStack_bc;" type_identifier (pointer_declarator "**ppsStack_bc" * (pointer_declarator "*ppsStack_bc" * identifier)) ;) (declaration "int iStack_b8;" primitive_type identifier ;) (declaration "undefined1 auStack_b4 [20];" type_identifier (array_declarator "auStack_b4 [20]" identifier [ number_literal ]) ;) (declaration "u8 uStack_a0;" type_identifier identifier ;) (declaration "u8 uStack_9f;" type_identifier identifier ;) (declaration "sqlite3 *psStack_94;" type_identifier (pointer_declarator "*psStack_94" * identifier) ;) (declaration "sqlite3_value *psStack_90;" type_identifier (pointer_declarator "*psStack_90" * identifier) ;) (declaration "sqlite3_value **ppsStack_8c;" type_identifier (pointer_declarator "**ppsStack_8c" * (pointer_declarator "*ppsStack_8c" * identifier)) ;) (declaration "sqlite3_context *psStack_88;" type_identifier (pointer_declarator "*psStack_88" * identifier) ;) (declaration "sqlite3_value *psStack_84;" type_identifier (pointer_declarator "*psStack_84" * identifier) ;) (declaration "JsonParse *pJStack_80;" type_identifier (pointer_declarator "*pJStack_80" * identifier) ;) (declaration "undefined *puStack_7c;" type_identifier (pointer_declarator "*puStack_7c" * identifier) ;) (declaration "int iStack_78;" primitive_type identifier ;) (declaration "sqlite3_value **ppsStack_74;" type_identifier (pointer_declarator "**ppsStack_74" * (pointer_declarator "*ppsStack_74" * identifier)) ;) (declaration "JsonParse x;" type_identifier identifier ;) (expression_statement "iVar3 = *(int *)PTR___stack_chk_guard_0018fecc;" (assignment_expression "iVar3 = *(int *)PTR___stack_chk_guard_0018fecc" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0018fecc" * (cast_expression "(int *)PTR___stack_chk_guard_0018fecc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "psVar17 = (sqlite3_value *)ctx;" (assignment_expression "psVar17 = (sqlite3_value *)ctx" identifier = (cast_expression "(sqlite3_value *)ctx" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psVar6 = (sqlite3_value *)argc;" (assignment_expression "psVar6 = (sqlite3_value *)argc" identifier = (cast_expression "(sqlite3_value *)argc" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppsVar4 = argv;" (assignment_expression "ppsVar4 = argv" identifier = identifier) ;) (if_statement "if (0 < argc) {\n    unaff_s0 = (sqlite3_value *)argc;\n    unaff_s7 = argv;\n    if ((argc & 1U) == 0) {\n      psVar6 = (sqlite3_value *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824);\n      jsonWrongNumArgs(ctx,(char *)psVar6);\n    }\n    else {\n      ppsVar4 = (sqlite3_value **)(*(code *)PTR_sqlite3_value_text_0018f97c)(*argv);\n      psVar17 = (sqlite3_value *)&x;\n      psVar6 = (sqlite3_value *)ctx;\n      iVar5 = jsonParse((JsonParse *)psVar17,ctx,(char *)ppsVar4);\n      puVar25 = PTR_sqlite3_value_text_0018f97c;\n      unaff_s6 = argc;\n      if (iVar5 == 0) {\n        unaff_s0 = (sqlite3_value *)(uint)((uint)argc < 2);\n        unaff_s1 = argv + 1;\n        if (unaff_s0 == (sqlite3_value *)0x0) {\n          unaff_s0 = (sqlite3_value *)0x1;\n          unaff_s4 = &x;\n          unaff_s3 = (sqlite3_value *)(PTR_LAB_0018fbc8 + 0x3c48);\n          do {\n            psVar6 = (sqlite3_value *)(*(code *)puVar25)(*unaff_s1);\n            ppsVar4 = (sqlite3_value **)0x0;\n            pJVar7 = jsonLookup(unaff_s4,(char *)psVar6,(int *)0x0,ctx);\n            unaff_s5 = puVar25;\n            if (x.nErr != '\0') goto LAB_000c4674;\n            if (pJVar7 != (JsonNode *)0x0) {\n              pJVar7->jnFlags = pJVar7->jnFlags | 8;\n              (pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1);\n            }\n            unaff_s0 = (sqlite3_value *)((int)&unaff_s0->u + 2);\n            unaff_s1 = unaff_s1 + 2;\n          } while (unaff_s0 < (uint)argc);\n        }\n        if (((x.aNode)->jnFlags & 8) == 0) {\n          psVar6 = (sqlite3_value *)ctx;\n          ppsVar4 = argv;\n          jsonReturnJson(x.aNode,ctx,argv);\n        }\n        else {\n          ppsVar24 = argv + ((x.aNode)->u).iAppend;\n          psVar6 = *ppsVar24;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(ctx);\n          ppsVar4 = argv;\n          argv = ppsVar24;\n        }\nLAB_000c4674:\n        psVar17 = (sqlite3_value *)&x;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = argv;\n      }\n    }\n  }" if (parenthesized_expression "(0 < argc)" ( (binary_expression "0 < argc" number_literal < identifier) )) (compound_statement "{\n    unaff_s0 = (sqlite3_value *)argc;\n    unaff_s7 = argv;\n    if ((argc & 1U) == 0) {\n      psVar6 = (sqlite3_value *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824);\n      jsonWrongNumArgs(ctx,(char *)psVar6);\n    }\n    else {\n      ppsVar4 = (sqlite3_value **)(*(code *)PTR_sqlite3_value_text_0018f97c)(*argv);\n      psVar17 = (sqlite3_value *)&x;\n      psVar6 = (sqlite3_value *)ctx;\n      iVar5 = jsonParse((JsonParse *)psVar17,ctx,(char *)ppsVar4);\n      puVar25 = PTR_sqlite3_value_text_0018f97c;\n      unaff_s6 = argc;\n      if (iVar5 == 0) {\n        unaff_s0 = (sqlite3_value *)(uint)((uint)argc < 2);\n        unaff_s1 = argv + 1;\n        if (unaff_s0 == (sqlite3_value *)0x0) {\n          unaff_s0 = (sqlite3_value *)0x1;\n          unaff_s4 = &x;\n          unaff_s3 = (sqlite3_value *)(PTR_LAB_0018fbc8 + 0x3c48);\n          do {\n            psVar6 = (sqlite3_value *)(*(code *)puVar25)(*unaff_s1);\n            ppsVar4 = (sqlite3_value **)0x0;\n            pJVar7 = jsonLookup(unaff_s4,(char *)psVar6,(int *)0x0,ctx);\n            unaff_s5 = puVar25;\n            if (x.nErr != '\0') goto LAB_000c4674;\n            if (pJVar7 != (JsonNode *)0x0) {\n              pJVar7->jnFlags = pJVar7->jnFlags | 8;\n              (pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1);\n            }\n            unaff_s0 = (sqlite3_value *)((int)&unaff_s0->u + 2);\n            unaff_s1 = unaff_s1 + 2;\n          } while (unaff_s0 < (uint)argc);\n        }\n        if (((x.aNode)->jnFlags & 8) == 0) {\n          psVar6 = (sqlite3_value *)ctx;\n          ppsVar4 = argv;\n          jsonReturnJson(x.aNode,ctx,argv);\n        }\n        else {\n          ppsVar24 = argv + ((x.aNode)->u).iAppend;\n          psVar6 = *ppsVar24;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(ctx);\n          ppsVar4 = argv;\n          argv = ppsVar24;\n        }\nLAB_000c4674:\n        psVar17 = (sqlite3_value *)&x;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = argv;\n      }\n    }\n  }" { (expression_statement "unaff_s0 = (sqlite3_value *)argc;" (assignment_expression "unaff_s0 = (sqlite3_value *)argc" identifier = (cast_expression "(sqlite3_value *)argc" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "unaff_s7 = argv;" (assignment_expression "unaff_s7 = argv" identifier = identifier) ;) (if_statement "if ((argc & 1U) == 0) {\n      psVar6 = (sqlite3_value *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824);\n      jsonWrongNumArgs(ctx,(char *)psVar6);\n    }\n    else {\n      ppsVar4 = (sqlite3_value **)(*(code *)PTR_sqlite3_value_text_0018f97c)(*argv);\n      psVar17 = (sqlite3_value *)&x;\n      psVar6 = (sqlite3_value *)ctx;\n      iVar5 = jsonParse((JsonParse *)psVar17,ctx,(char *)ppsVar4);\n      puVar25 = PTR_sqlite3_value_text_0018f97c;\n      unaff_s6 = argc;\n      if (iVar5 == 0) {\n        unaff_s0 = (sqlite3_value *)(uint)((uint)argc < 2);\n        unaff_s1 = argv + 1;\n        if (unaff_s0 == (sqlite3_value *)0x0) {\n          unaff_s0 = (sqlite3_value *)0x1;\n          unaff_s4 = &x;\n          unaff_s3 = (sqlite3_value *)(PTR_LAB_0018fbc8 + 0x3c48);\n          do {\n            psVar6 = (sqlite3_value *)(*(code *)puVar25)(*unaff_s1);\n            ppsVar4 = (sqlite3_value **)0x0;\n            pJVar7 = jsonLookup(unaff_s4,(char *)psVar6,(int *)0x0,ctx);\n            unaff_s5 = puVar25;\n            if (x.nErr != '\0') goto LAB_000c4674;\n            if (pJVar7 != (JsonNode *)0x0) {\n              pJVar7->jnFlags = pJVar7->jnFlags | 8;\n              (pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1);\n            }\n            unaff_s0 = (sqlite3_value *)((int)&unaff_s0->u + 2);\n            unaff_s1 = unaff_s1 + 2;\n          } while (unaff_s0 < (uint)argc);\n        }\n        if (((x.aNode)->jnFlags & 8) == 0) {\n          psVar6 = (sqlite3_value *)ctx;\n          ppsVar4 = argv;\n          jsonReturnJson(x.aNode,ctx,argv);\n        }\n        else {\n          ppsVar24 = argv + ((x.aNode)->u).iAppend;\n          psVar6 = *ppsVar24;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(ctx);\n          ppsVar4 = argv;\n          argv = ppsVar24;\n        }\nLAB_000c4674:\n        psVar17 = (sqlite3_value *)&x;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = argv;\n      }\n    }" if (parenthesized_expression "((argc & 1U) == 0)" ( (binary_expression "(argc & 1U) == 0" (parenthesized_expression "(argc & 1U)" ( (binary_expression "argc & 1U" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      psVar6 = (sqlite3_value *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824);\n      jsonWrongNumArgs(ctx,(char *)psVar6);\n    }" { (expression_statement "psVar6 = (sqlite3_value *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824);" (assignment_expression "psVar6 = (sqlite3_value *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824)" identifier = (cast_expression "(sqlite3_value *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824)" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824)" ( (binary_expression "PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824" identifier + number_literal) )))) ;) (expression_statement "jsonWrongNumArgs(ctx,(char *)psVar6);" (call_expression "jsonWrongNumArgs(ctx,(char *)psVar6)" identifier (argument_list "(ctx,(char *)psVar6)" ( identifier , (cast_expression "(char *)psVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) }) (else_clause "else {\n      ppsVar4 = (sqlite3_value **)(*(code *)PTR_sqlite3_value_text_0018f97c)(*argv);\n      psVar17 = (sqlite3_value *)&x;\n      psVar6 = (sqlite3_value *)ctx;\n      iVar5 = jsonParse((JsonParse *)psVar17,ctx,(char *)ppsVar4);\n      puVar25 = PTR_sqlite3_value_text_0018f97c;\n      unaff_s6 = argc;\n      if (iVar5 == 0) {\n        unaff_s0 = (sqlite3_value *)(uint)((uint)argc < 2);\n        unaff_s1 = argv + 1;\n        if (unaff_s0 == (sqlite3_value *)0x0) {\n          unaff_s0 = (sqlite3_value *)0x1;\n          unaff_s4 = &x;\n          unaff_s3 = (sqlite3_value *)(PTR_LAB_0018fbc8 + 0x3c48);\n          do {\n            psVar6 = (sqlite3_value *)(*(code *)puVar25)(*unaff_s1);\n            ppsVar4 = (sqlite3_value **)0x0;\n            pJVar7 = jsonLookup(unaff_s4,(char *)psVar6,(int *)0x0,ctx);\n            unaff_s5 = puVar25;\n            if (x.nErr != '\0') goto LAB_000c4674;\n            if (pJVar7 != (JsonNode *)0x0) {\n              pJVar7->jnFlags = pJVar7->jnFlags | 8;\n              (pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1);\n            }\n            unaff_s0 = (sqlite3_value *)((int)&unaff_s0->u + 2);\n            unaff_s1 = unaff_s1 + 2;\n          } while (unaff_s0 < (uint)argc);\n        }\n        if (((x.aNode)->jnFlags & 8) == 0) {\n          psVar6 = (sqlite3_value *)ctx;\n          ppsVar4 = argv;\n          jsonReturnJson(x.aNode,ctx,argv);\n        }\n        else {\n          ppsVar24 = argv + ((x.aNode)->u).iAppend;\n          psVar6 = *ppsVar24;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(ctx);\n          ppsVar4 = argv;\n          argv = ppsVar24;\n        }\nLAB_000c4674:\n        psVar17 = (sqlite3_value *)&x;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = argv;\n      }\n    }" else (compound_statement "{\n      ppsVar4 = (sqlite3_value **)(*(code *)PTR_sqlite3_value_text_0018f97c)(*argv);\n      psVar17 = (sqlite3_value *)&x;\n      psVar6 = (sqlite3_value *)ctx;\n      iVar5 = jsonParse((JsonParse *)psVar17,ctx,(char *)ppsVar4);\n      puVar25 = PTR_sqlite3_value_text_0018f97c;\n      unaff_s6 = argc;\n      if (iVar5 == 0) {\n        unaff_s0 = (sqlite3_value *)(uint)((uint)argc < 2);\n        unaff_s1 = argv + 1;\n        if (unaff_s0 == (sqlite3_value *)0x0) {\n          unaff_s0 = (sqlite3_value *)0x1;\n          unaff_s4 = &x;\n          unaff_s3 = (sqlite3_value *)(PTR_LAB_0018fbc8 + 0x3c48);\n          do {\n            psVar6 = (sqlite3_value *)(*(code *)puVar25)(*unaff_s1);\n            ppsVar4 = (sqlite3_value **)0x0;\n            pJVar7 = jsonLookup(unaff_s4,(char *)psVar6,(int *)0x0,ctx);\n            unaff_s5 = puVar25;\n            if (x.nErr != '\0') goto LAB_000c4674;\n            if (pJVar7 != (JsonNode *)0x0) {\n              pJVar7->jnFlags = pJVar7->jnFlags | 8;\n              (pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1);\n            }\n            unaff_s0 = (sqlite3_value *)((int)&unaff_s0->u + 2);\n            unaff_s1 = unaff_s1 + 2;\n          } while (unaff_s0 < (uint)argc);\n        }\n        if (((x.aNode)->jnFlags & 8) == 0) {\n          psVar6 = (sqlite3_value *)ctx;\n          ppsVar4 = argv;\n          jsonReturnJson(x.aNode,ctx,argv);\n        }\n        else {\n          ppsVar24 = argv + ((x.aNode)->u).iAppend;\n          psVar6 = *ppsVar24;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(ctx);\n          ppsVar4 = argv;\n          argv = ppsVar24;\n        }\nLAB_000c4674:\n        psVar17 = (sqlite3_value *)&x;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = argv;\n      }\n    }" { (expression_statement "ppsVar4 = (sqlite3_value **)(*(code *)PTR_sqlite3_value_text_0018f97c)(*argv);" (assignment_expression "ppsVar4 = (sqlite3_value **)(*(code *)PTR_sqlite3_value_text_0018f97c)(*argv)" identifier = (cast_expression "(sqlite3_value **)(*(code *)PTR_sqlite3_value_text_0018f97c)(*argv)" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*(code *)PTR_sqlite3_value_text_0018f97c)(*argv)" (parenthesized_expression "(*(code *)PTR_sqlite3_value_text_0018f97c)" ( (pointer_expression "*(code *)PTR_sqlite3_value_text_0018f97c" * (cast_expression "(code *)PTR_sqlite3_value_text_0018f97c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*argv)" ( (pointer_expression "*argv" * identifier) ))))) ;) (expression_statement "psVar17 = (sqlite3_value *)&x;" (assignment_expression "psVar17 = (sqlite3_value *)&x" identifier = (cast_expression "(sqlite3_value *)&x" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&x" & identifier))) ;) (expression_statement "psVar6 = (sqlite3_value *)ctx;" (assignment_expression "psVar6 = (sqlite3_value *)ctx" identifier = (cast_expression "(sqlite3_value *)ctx" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar5 = jsonParse((JsonParse *)psVar17,ctx,(char *)ppsVar4);" (assignment_expression "iVar5 = jsonParse((JsonParse *)psVar17,ctx,(char *)ppsVar4)" identifier = (call_expression "jsonParse((JsonParse *)psVar17,ctx,(char *)ppsVar4)" identifier (argument_list "((JsonParse *)psVar17,ctx,(char *)ppsVar4)" ( (cast_expression "(JsonParse *)psVar17" ( (type_descriptor "JsonParse *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (cast_expression "(char *)ppsVar4" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "puVar25 = PTR_sqlite3_value_text_0018f97c;" (assignment_expression "puVar25 = PTR_sqlite3_value_text_0018f97c" identifier = identifier) ;) (expression_statement "unaff_s6 = argc;" (assignment_expression "unaff_s6 = argc" identifier = identifier) ;) (if_statement "if (iVar5 == 0) {\n        unaff_s0 = (sqlite3_value *)(uint)((uint)argc < 2);\n        unaff_s1 = argv + 1;\n        if (unaff_s0 == (sqlite3_value *)0x0) {\n          unaff_s0 = (sqlite3_value *)0x1;\n          unaff_s4 = &x;\n          unaff_s3 = (sqlite3_value *)(PTR_LAB_0018fbc8 + 0x3c48);\n          do {\n            psVar6 = (sqlite3_value *)(*(code *)puVar25)(*unaff_s1);\n            ppsVar4 = (sqlite3_value **)0x0;\n            pJVar7 = jsonLookup(unaff_s4,(char *)psVar6,(int *)0x0,ctx);\n            unaff_s5 = puVar25;\n            if (x.nErr != '\0') goto LAB_000c4674;\n            if (pJVar7 != (JsonNode *)0x0) {\n              pJVar7->jnFlags = pJVar7->jnFlags | 8;\n              (pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1);\n            }\n            unaff_s0 = (sqlite3_value *)((int)&unaff_s0->u + 2);\n            unaff_s1 = unaff_s1 + 2;\n          } while (unaff_s0 < (uint)argc);\n        }\n        if (((x.aNode)->jnFlags & 8) == 0) {\n          psVar6 = (sqlite3_value *)ctx;\n          ppsVar4 = argv;\n          jsonReturnJson(x.aNode,ctx,argv);\n        }\n        else {\n          ppsVar24 = argv + ((x.aNode)->u).iAppend;\n          psVar6 = *ppsVar24;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(ctx);\n          ppsVar4 = argv;\n          argv = ppsVar24;\n        }\nLAB_000c4674:\n        psVar17 = (sqlite3_value *)&x;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = argv;\n      }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n        unaff_s0 = (sqlite3_value *)(uint)((uint)argc < 2);\n        unaff_s1 = argv + 1;\n        if (unaff_s0 == (sqlite3_value *)0x0) {\n          unaff_s0 = (sqlite3_value *)0x1;\n          unaff_s4 = &x;\n          unaff_s3 = (sqlite3_value *)(PTR_LAB_0018fbc8 + 0x3c48);\n          do {\n            psVar6 = (sqlite3_value *)(*(code *)puVar25)(*unaff_s1);\n            ppsVar4 = (sqlite3_value **)0x0;\n            pJVar7 = jsonLookup(unaff_s4,(char *)psVar6,(int *)0x0,ctx);\n            unaff_s5 = puVar25;\n            if (x.nErr != '\0') goto LAB_000c4674;\n            if (pJVar7 != (JsonNode *)0x0) {\n              pJVar7->jnFlags = pJVar7->jnFlags | 8;\n              (pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1);\n            }\n            unaff_s0 = (sqlite3_value *)((int)&unaff_s0->u + 2);\n            unaff_s1 = unaff_s1 + 2;\n          } while (unaff_s0 < (uint)argc);\n        }\n        if (((x.aNode)->jnFlags & 8) == 0) {\n          psVar6 = (sqlite3_value *)ctx;\n          ppsVar4 = argv;\n          jsonReturnJson(x.aNode,ctx,argv);\n        }\n        else {\n          ppsVar24 = argv + ((x.aNode)->u).iAppend;\n          psVar6 = *ppsVar24;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(ctx);\n          ppsVar4 = argv;\n          argv = ppsVar24;\n        }\nLAB_000c4674:\n        psVar17 = (sqlite3_value *)&x;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = argv;\n      }" { (expression_statement "unaff_s0 = (sqlite3_value *)(uint)((uint)argc < 2);" (assignment_expression "unaff_s0 = (sqlite3_value *)(uint)((uint)argc < 2)" identifier = (cast_expression "(sqlite3_value *)(uint)((uint)argc < 2)" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)((uint)argc < 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)argc < 2)" ( (binary_expression "(uint)argc < 2" (cast_expression "(uint)argc" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))))) ;) (expression_statement "unaff_s1 = argv + 1;" (assignment_expression "unaff_s1 = argv + 1" identifier = (binary_expression "argv + 1" identifier + number_literal)) ;) (if_statement "if (unaff_s0 == (sqlite3_value *)0x0) {\n          unaff_s0 = (sqlite3_value *)0x1;\n          unaff_s4 = &x;\n          unaff_s3 = (sqlite3_value *)(PTR_LAB_0018fbc8 + 0x3c48);\n          do {\n            psVar6 = (sqlite3_value *)(*(code *)puVar25)(*unaff_s1);\n            ppsVar4 = (sqlite3_value **)0x0;\n            pJVar7 = jsonLookup(unaff_s4,(char *)psVar6,(int *)0x0,ctx);\n            unaff_s5 = puVar25;\n            if (x.nErr != '\0') goto LAB_000c4674;\n            if (pJVar7 != (JsonNode *)0x0) {\n              pJVar7->jnFlags = pJVar7->jnFlags | 8;\n              (pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1);\n            }\n            unaff_s0 = (sqlite3_value *)((int)&unaff_s0->u + 2);\n            unaff_s1 = unaff_s1 + 2;\n          } while (unaff_s0 < (uint)argc);\n        }" if (parenthesized_expression "(unaff_s0 == (sqlite3_value *)0x0)" ( (binary_expression "unaff_s0 == (sqlite3_value *)0x0" identifier == (cast_expression "(sqlite3_value *)0x0" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          unaff_s0 = (sqlite3_value *)0x1;\n          unaff_s4 = &x;\n          unaff_s3 = (sqlite3_value *)(PTR_LAB_0018fbc8 + 0x3c48);\n          do {\n            psVar6 = (sqlite3_value *)(*(code *)puVar25)(*unaff_s1);\n            ppsVar4 = (sqlite3_value **)0x0;\n            pJVar7 = jsonLookup(unaff_s4,(char *)psVar6,(int *)0x0,ctx);\n            unaff_s5 = puVar25;\n            if (x.nErr != '\0') goto LAB_000c4674;\n            if (pJVar7 != (JsonNode *)0x0) {\n              pJVar7->jnFlags = pJVar7->jnFlags | 8;\n              (pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1);\n            }\n            unaff_s0 = (sqlite3_value *)((int)&unaff_s0->u + 2);\n            unaff_s1 = unaff_s1 + 2;\n          } while (unaff_s0 < (uint)argc);\n        }" { (expression_statement "unaff_s0 = (sqlite3_value *)0x1;" (assignment_expression "unaff_s0 = (sqlite3_value *)0x1" identifier = (cast_expression "(sqlite3_value *)0x1" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s4 = &x;" (assignment_expression "unaff_s4 = &x" identifier = (pointer_expression "&x" & identifier)) ;) (expression_statement "unaff_s3 = (sqlite3_value *)(PTR_LAB_0018fbc8 + 0x3c48);" (assignment_expression "unaff_s3 = (sqlite3_value *)(PTR_LAB_0018fbc8 + 0x3c48)" identifier = (cast_expression "(sqlite3_value *)(PTR_LAB_0018fbc8 + 0x3c48)" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0018fbc8 + 0x3c48)" ( (binary_expression "PTR_LAB_0018fbc8 + 0x3c48" identifier + number_literal) )))) ;) (do_statement "do {\n            psVar6 = (sqlite3_value *)(*(code *)puVar25)(*unaff_s1);\n            ppsVar4 = (sqlite3_value **)0x0;\n            pJVar7 = jsonLookup(unaff_s4,(char *)psVar6,(int *)0x0,ctx);\n            unaff_s5 = puVar25;\n            if (x.nErr != '\0') goto LAB_000c4674;\n            if (pJVar7 != (JsonNode *)0x0) {\n              pJVar7->jnFlags = pJVar7->jnFlags | 8;\n              (pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1);\n            }\n            unaff_s0 = (sqlite3_value *)((int)&unaff_s0->u + 2);\n            unaff_s1 = unaff_s1 + 2;\n          } while (unaff_s0 < (uint)argc);" do (compound_statement "{\n            psVar6 = (sqlite3_value *)(*(code *)puVar25)(*unaff_s1);\n            ppsVar4 = (sqlite3_value **)0x0;\n            pJVar7 = jsonLookup(unaff_s4,(char *)psVar6,(int *)0x0,ctx);\n            unaff_s5 = puVar25;\n            if (x.nErr != '\0') goto LAB_000c4674;\n            if (pJVar7 != (JsonNode *)0x0) {\n              pJVar7->jnFlags = pJVar7->jnFlags | 8;\n              (pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1);\n            }\n            unaff_s0 = (sqlite3_value *)((int)&unaff_s0->u + 2);\n            unaff_s1 = unaff_s1 + 2;\n          }" { (expression_statement "psVar6 = (sqlite3_value *)(*(code *)puVar25)(*unaff_s1);" (assignment_expression "psVar6 = (sqlite3_value *)(*(code *)puVar25)(*unaff_s1)" identifier = (cast_expression "(sqlite3_value *)(*(code *)puVar25)(*unaff_s1)" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar25)(*unaff_s1)" (parenthesized_expression "(*(code *)puVar25)" ( (pointer_expression "*(code *)puVar25" * (cast_expression "(code *)puVar25" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*unaff_s1)" ( (pointer_expression "*unaff_s1" * identifier) ))))) ;) (expression_statement "ppsVar4 = (sqlite3_value **)0x0;" (assignment_expression "ppsVar4 = (sqlite3_value **)0x0" identifier = (cast_expression "(sqlite3_value **)0x0" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "pJVar7 = jsonLookup(unaff_s4,(char *)psVar6,(int *)0x0,ctx);" (assignment_expression "pJVar7 = jsonLookup(unaff_s4,(char *)psVar6,(int *)0x0,ctx)" identifier = (call_expression "jsonLookup(unaff_s4,(char *)psVar6,(int *)0x0,ctx)" identifier (argument_list "(unaff_s4,(char *)psVar6,(int *)0x0,ctx)" ( identifier , (cast_expression "(char *)psVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier )))) ;) (expression_statement "unaff_s5 = puVar25;" (assignment_expression "unaff_s5 = puVar25" identifier = identifier) ;) (if_statement "if (x.nErr != '\0') goto LAB_000c4674;" if (parenthesized_expression "(x.nErr != '\0')" ( (binary_expression "x.nErr != '\0'" (field_expression "x.nErr" identifier . field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000c4674;" goto statement_identifier ;)) (if_statement "if (pJVar7 != (JsonNode *)0x0) {\n              pJVar7->jnFlags = pJVar7->jnFlags | 8;\n              (pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1);\n            }" if (parenthesized_expression "(pJVar7 != (JsonNode *)0x0)" ( (binary_expression "pJVar7 != (JsonNode *)0x0" identifier != (cast_expression "(JsonNode *)0x0" ( (type_descriptor "JsonNode *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              pJVar7->jnFlags = pJVar7->jnFlags | 8;\n              (pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1);\n            }" { (expression_statement "pJVar7->jnFlags = pJVar7->jnFlags | 8;" (assignment_expression "pJVar7->jnFlags = pJVar7->jnFlags | 8" (field_expression "pJVar7->jnFlags" identifier -> field_identifier) = (binary_expression "pJVar7->jnFlags | 8" (field_expression "pJVar7->jnFlags" identifier -> field_identifier) | number_literal)) ;) (expression_statement "(pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1);" (assignment_expression "(pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1)" (field_expression "(pJVar7->u).zJContent" (parenthesized_expression "(pJVar7->u)" ( (field_expression "pJVar7->u" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(char *)((int)&unaff_s0->u + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&unaff_s0->u + 1)" ( (binary_expression "(int)&unaff_s0->u + 1" (cast_expression "(int)&unaff_s0->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_s0->u" & (field_expression "unaff_s0->u" identifier -> field_identifier))) + number_literal) )))) ;) })) (expression_statement "unaff_s0 = (sqlite3_value *)((int)&unaff_s0->u + 2);" (assignment_expression "unaff_s0 = (sqlite3_value *)((int)&unaff_s0->u + 2)" identifier = (cast_expression "(sqlite3_value *)((int)&unaff_s0->u + 2)" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&unaff_s0->u + 2)" ( (binary_expression "(int)&unaff_s0->u + 2" (cast_expression "(int)&unaff_s0->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_s0->u" & (field_expression "unaff_s0->u" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "unaff_s1 = unaff_s1 + 2;" (assignment_expression "unaff_s1 = unaff_s1 + 2" identifier = (binary_expression "unaff_s1 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(unaff_s0 < (uint)argc)" ( (binary_expression "unaff_s0 < (uint)argc" identifier < (cast_expression "(uint)argc" ( (type_descriptor "uint" type_identifier) ) identifier)) )) ;) })) (if_statement "if (((x.aNode)->jnFlags & 8) == 0) {\n          psVar6 = (sqlite3_value *)ctx;\n          ppsVar4 = argv;\n          jsonReturnJson(x.aNode,ctx,argv);\n        }\n        else {\n          ppsVar24 = argv + ((x.aNode)->u).iAppend;\n          psVar6 = *ppsVar24;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(ctx);\n          ppsVar4 = argv;\n          argv = ppsVar24;\n        }" if (parenthesized_expression "(((x.aNode)->jnFlags & 8) == 0)" ( (binary_expression "((x.aNode)->jnFlags & 8) == 0" (parenthesized_expression "((x.aNode)->jnFlags & 8)" ( (binary_expression "(x.aNode)->jnFlags & 8" (field_expression "(x.aNode)->jnFlags" (parenthesized_expression "(x.aNode)" ( (field_expression "x.aNode" identifier . field_identifier) )) -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n          psVar6 = (sqlite3_value *)ctx;\n          ppsVar4 = argv;\n          jsonReturnJson(x.aNode,ctx,argv);\n        }" { (expression_statement "psVar6 = (sqlite3_value *)ctx;" (assignment_expression "psVar6 = (sqlite3_value *)ctx" identifier = (cast_expression "(sqlite3_value *)ctx" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppsVar4 = argv;" (assignment_expression "ppsVar4 = argv" identifier = identifier) ;) (expression_statement "jsonReturnJson(x.aNode,ctx,argv);" (call_expression "jsonReturnJson(x.aNode,ctx,argv)" identifier (argument_list "(x.aNode,ctx,argv)" ( (field_expression "x.aNode" identifier . field_identifier) , identifier , identifier ))) ;) }) (else_clause "else {\n          ppsVar24 = argv + ((x.aNode)->u).iAppend;\n          psVar6 = *ppsVar24;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(ctx);\n          ppsVar4 = argv;\n          argv = ppsVar24;\n        }" else (compound_statement "{\n          ppsVar24 = argv + ((x.aNode)->u).iAppend;\n          psVar6 = *ppsVar24;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(ctx);\n          ppsVar4 = argv;\n          argv = ppsVar24;\n        }" { (expression_statement "ppsVar24 = argv + ((x.aNode)->u).iAppend;" (assignment_expression "ppsVar24 = argv + ((x.aNode)->u).iAppend" identifier = (binary_expression "argv + ((x.aNode)->u).iAppend" identifier + (field_expression "((x.aNode)->u).iAppend" (parenthesized_expression "((x.aNode)->u)" ( (field_expression "(x.aNode)->u" (parenthesized_expression "(x.aNode)" ( (field_expression "x.aNode" identifier . field_identifier) )) -> field_identifier) )) . field_identifier))) ;) (expression_statement "psVar6 = *ppsVar24;" (assignment_expression "psVar6 = *ppsVar24" identifier = (pointer_expression "*ppsVar24" * identifier)) ;) (expression_statement "(*(code *)PTR_sqlite3_result_value_0018fa38)(ctx);" (call_expression "(*(code *)PTR_sqlite3_result_value_0018fa38)(ctx)" (parenthesized_expression "(*(code *)PTR_sqlite3_result_value_0018fa38)" ( (pointer_expression "*(code *)PTR_sqlite3_result_value_0018fa38" * (cast_expression "(code *)PTR_sqlite3_result_value_0018fa38" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(ctx)" ( identifier ))) ;) (expression_statement "ppsVar4 = argv;" (assignment_expression "ppsVar4 = argv" identifier = identifier) ;) (expression_statement "argv = ppsVar24;" (assignment_expression "argv = ppsVar24" identifier = identifier) ;) }))) (labeled_statement "LAB_000c4674:\n        psVar17 = (sqlite3_value *)&x;" statement_identifier : (expression_statement "psVar17 = (sqlite3_value *)&x;" (assignment_expression "psVar17 = (sqlite3_value *)&x" identifier = (cast_expression "(sqlite3_value *)&x" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&x" & identifier))) ;)) (expression_statement "(*(code *)(PTR_LAB_0018fc04 + 0x3c38))();" (call_expression "(*(code *)(PTR_LAB_0018fc04 + 0x3c38))()" (parenthesized_expression "(*(code *)(PTR_LAB_0018fc04 + 0x3c38))" ( (pointer_expression "*(code *)(PTR_LAB_0018fc04 + 0x3c38)" * (cast_expression "(code *)(PTR_LAB_0018fc04 + 0x3c38)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0018fc04 + 0x3c38)" ( (binary_expression "PTR_LAB_0018fc04 + 0x3c38" identifier + number_literal) )))) )) (argument_list "()" ( ))) ;) (expression_statement "unaff_s7 = argv;" (assignment_expression "unaff_s7 = argv" identifier = identifier) ;) })) }))) })) (if_statement "if (iVar3 == *(int *)PTR___stack_chk_guard_0018fecc) {\n    return;\n  }" if (parenthesized_expression "(iVar3 == *(int *)PTR___stack_chk_guard_0018fecc)" ( (binary_expression "iVar3 == *(int *)PTR___stack_chk_guard_0018fecc" identifier == (pointer_expression "*(int *)PTR___stack_chk_guard_0018fecc" * (cast_expression "(int *)PTR___stack_chk_guard_0018fecc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "puVar25 = PTR___stack_chk_fail_0018fea0;" (assignment_expression "puVar25 = PTR___stack_chk_fail_0018fea0" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0018fea0)();" (call_expression "(*(code *)PTR___stack_chk_fail_0018fea0)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0018fea0)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0018fea0" * (cast_expression "(code *)PTR___stack_chk_fail_0018fea0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "ppsStack_74 = unaff_s7;" (assignment_expression "ppsStack_74 = unaff_s7" identifier = identifier) ;) (expression_statement "iStack_78 = unaff_s6;" (assignment_expression "iStack_78 = unaff_s6" identifier = identifier) ;) (expression_statement "puStack_7c = unaff_s5;" (assignment_expression "puStack_7c = unaff_s5" identifier = identifier) ;) (expression_statement "pJStack_80 = unaff_s4;" (assignment_expression "pJStack_80 = unaff_s4" identifier = identifier) ;) (expression_statement "psStack_84 = unaff_s3;" (assignment_expression "psStack_84 = unaff_s3" identifier = identifier) ;) (expression_statement "psStack_88 = ctx;" (assignment_expression "psStack_88 = ctx" identifier = identifier) ;) (expression_statement "ppsStack_8c = unaff_s1;" (assignment_expression "ppsStack_8c = unaff_s1" identifier = identifier) ;) (expression_statement "psStack_90 = unaff_s0;" (assignment_expression "psStack_90 = unaff_s0" identifier = identifier) ;) (expression_statement "psStack_c8 = (sqlite3_value *)(puVar25 + 0xd3230);" (assignment_expression "psStack_c8 = (sqlite3_value *)(puVar25 + 0xd3230)" identifier = (cast_expression "(sqlite3_value *)(puVar25 + 0xd3230)" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0xd3230)" ( (binary_expression "puVar25 + 0xd3230" identifier + number_literal) )))) ;) (expression_statement "ppsStack_bc = ppsVar4;" (assignment_expression "ppsStack_bc = ppsVar4" identifier = identifier) ;) (expression_statement "ppsVar4 = ppsStack_bc;" (assignment_expression "ppsVar4 = ppsStack_bc" identifier = identifier) ;) (expression_statement "psStack_94 = (sqlite3 *)**(undefined4 **)(puVar25 + 0xcb7dc);" (assignment_expression "psStack_94 = (sqlite3 *)**(undefined4 **)(puVar25 + 0xcb7dc)" identifier = (cast_expression "(sqlite3 *)**(undefined4 **)(puVar25 + 0xcb7dc)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puVar25 + 0xcb7dc)" * (pointer_expression "*(undefined4 **)(puVar25 + 0xcb7dc)" * (cast_expression "(undefined4 **)(puVar25 + 0xcb7dc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0xcb7dc)" ( (binary_expression "puVar25 + 0xcb7dc" identifier + number_literal) ))))))) ;) (expression_statement "psVar23 = psVar17;" (assignment_expression "psVar23 = psVar17" identifier = identifier) ;) (expression_statement "zPath = psVar6;" (assignment_expression "zPath = psVar6" identifier = identifier) ;) (if_statement "if (0 < (int)psVar6) {\n    unaff_s3 = (sqlite3_value *)**(undefined4 **)(*(u32 *)((int)&psVar17->u + 4) + 8);\n    unaff_s0 = psVar6;\n    if (((uint)psVar6 & 1) == 0) {\n      if (unaff_s3 == (sqlite3_value *)0x0) {\n        zPath = (sqlite3_value *)(*(int *)(puVar25 + 0xcb268) + 0x4920);\n      }\n      else {\n        zPath = (sqlite3_value *)(*(int *)(puVar25 + 0xcb26c) + 0x6e8);\n      }\n      jsonWrongNumArgs((sqlite3_context *)psVar17,(char *)zPath);\n    }\n    else {\n      pcVar15 = (char *)(**(code **)(puVar25 + 0xcb28c))(*ppsVar4);\n      psVar23 = (sqlite3_value *)auStack_b4;\n      zPath = psVar17;\n      iVar3 = jsonParse((JsonParse *)psVar23,(sqlite3_context *)psVar17,pcVar15);\n      unaff_s1 = ppsVar4;\n      if (iVar3 == 0) {\n        unaff_s0 = (sqlite3_value *)(uint)(psVar6 < (sqlite3_value *)0x2);\n        unaff_s1 = ppsVar4 + 1;\n        if (unaff_s0 == (sqlite3_value *)0x0) {\n          unaff_s0 = (sqlite3_value *)0x1;\n          psVar23 = *(sqlite3_value **)((int)&psStack_c8[-0x331].u + 4);\n          unaff_s4 = (JsonParse *)auStack_b4;\n          do {\n            zPath = (sqlite3_value *)(*(code *)psVar23)(*unaff_s1);\n            iStack_b8 = 0;\n            pJVar7 = jsonLookup(unaff_s4,(char *)zPath,&iStack_b8,(sqlite3_context *)psVar17);\n            if (uStack_a0 != '\0') {\n              (*(code *)psStack_c8[-0x32f].zMalloc)(psVar17);\n              goto LAB_000c484c;\n            }\n            if (uStack_9f != '\0') goto LAB_000c484c;\n            if ((pJVar7 != (JsonNode *)0x0) && (unaff_s3 != (sqlite3_value *)0x0 || iStack_b8 != 0))\n            {\n              pJVar7->jnFlags = pJVar7->jnFlags | 8;\n              (pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1);\n            }\n            unaff_s0 = (sqlite3_value *)((int)&unaff_s0->u + 2);\n            unaff_s1 = unaff_s1 + 2;\n          } while (unaff_s0 < psVar6);\n        }\n        if ((*(u8 *)(auStack_b4._8_4_ + 1) & 8) == 0) {\n          zPath = psVar17;\n          jsonReturnJson((JsonNode *)auStack_b4._8_4_,(sqlite3_context *)psVar17,ppsStack_bc);\n        }\n        else {\n          zPath = ppsStack_bc[((anon_union_4_5_9b08aacb_for_u *)(auStack_b4._8_4_ + 8))->iAppend];\n          (*(code *)psStack_c8[-0x32d].db)(psVar17);\n        }\nLAB_000c484c:\n        psVar23 = (sqlite3_value *)auStack_b4;\n        (*(code *)(psStack_c8[-0x321].n + 0x3c38))();\n      }\n    }\n  }" if (parenthesized_expression "(0 < (int)psVar6)" ( (binary_expression "0 < (int)psVar6" number_literal < (cast_expression "(int)psVar6" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    unaff_s3 = (sqlite3_value *)**(undefined4 **)(*(u32 *)((int)&psVar17->u + 4) + 8);\n    unaff_s0 = psVar6;\n    if (((uint)psVar6 & 1) == 0) {\n      if (unaff_s3 == (sqlite3_value *)0x0) {\n        zPath = (sqlite3_value *)(*(int *)(puVar25 + 0xcb268) + 0x4920);\n      }\n      else {\n        zPath = (sqlite3_value *)(*(int *)(puVar25 + 0xcb26c) + 0x6e8);\n      }\n      jsonWrongNumArgs((sqlite3_context *)psVar17,(char *)zPath);\n    }\n    else {\n      pcVar15 = (char *)(**(code **)(puVar25 + 0xcb28c))(*ppsVar4);\n      psVar23 = (sqlite3_value *)auStack_b4;\n      zPath = psVar17;\n      iVar3 = jsonParse((JsonParse *)psVar23,(sqlite3_context *)psVar17,pcVar15);\n      unaff_s1 = ppsVar4;\n      if (iVar3 == 0) {\n        unaff_s0 = (sqlite3_value *)(uint)(psVar6 < (sqlite3_value *)0x2);\n        unaff_s1 = ppsVar4 + 1;\n        if (unaff_s0 == (sqlite3_value *)0x0) {\n          unaff_s0 = (sqlite3_value *)0x1;\n          psVar23 = *(sqlite3_value **)((int)&psStack_c8[-0x331].u + 4);\n          unaff_s4 = (JsonParse *)auStack_b4;\n          do {\n            zPath = (sqlite3_value *)(*(code *)psVar23)(*unaff_s1);\n            iStack_b8 = 0;\n            pJVar7 = jsonLookup(unaff_s4,(char *)zPath,&iStack_b8,(sqlite3_context *)psVar17);\n            if (uStack_a0 != '\0') {\n              (*(code *)psStack_c8[-0x32f].zMalloc)(psVar17);\n              goto LAB_000c484c;\n            }\n            if (uStack_9f != '\0') goto LAB_000c484c;\n            if ((pJVar7 != (JsonNode *)0x0) && (unaff_s3 != (sqlite3_value *)0x0 || iStack_b8 != 0))\n            {\n              pJVar7->jnFlags = pJVar7->jnFlags | 8;\n              (pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1);\n            }\n            unaff_s0 = (sqlite3_value *)((int)&unaff_s0->u + 2);\n            unaff_s1 = unaff_s1 + 2;\n          } while (unaff_s0 < psVar6);\n        }\n        if ((*(u8 *)(auStack_b4._8_4_ + 1) & 8) == 0) {\n          zPath = psVar17;\n          jsonReturnJson((JsonNode *)auStack_b4._8_4_,(sqlite3_context *)psVar17,ppsStack_bc);\n        }\n        else {\n          zPath = ppsStack_bc[((anon_union_4_5_9b08aacb_for_u *)(auStack_b4._8_4_ + 8))->iAppend];\n          (*(code *)psStack_c8[-0x32d].db)(psVar17);\n        }\nLAB_000c484c:\n        psVar23 = (sqlite3_value *)auStack_b4;\n        (*(code *)(psStack_c8[-0x321].n + 0x3c38))();\n      }\n    }\n  }" { (expression_statement "unaff_s3 = (sqlite3_value *)**(undefined4 **)(*(u32 *)((int)&psVar17->u + 4) + 8);" (assignment_expression "unaff_s3 = (sqlite3_value *)**(undefined4 **)(*(u32 *)((int)&psVar17->u + 4) + 8)" identifier = (cast_expression "(sqlite3_value *)**(undefined4 **)(*(u32 *)((int)&psVar17->u + 4) + 8)" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(*(u32 *)((int)&psVar17->u + 4) + 8)" * (pointer_expression "*(undefined4 **)(*(u32 *)((int)&psVar17->u + 4) + 8)" * (cast_expression "(undefined4 **)(*(u32 *)((int)&psVar17->u + 4) + 8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(u32 *)((int)&psVar17->u + 4) + 8)" ( (binary_expression "*(u32 *)((int)&psVar17->u + 4) + 8" (pointer_expression "*(u32 *)((int)&psVar17->u + 4)" * (cast_expression "(u32 *)((int)&psVar17->u + 4)" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar17->u + 4)" ( (binary_expression "(int)&psVar17->u + 4" (cast_expression "(int)&psVar17->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar17->u" & (field_expression "psVar17->u" identifier -> field_identifier))) + number_literal) )))) + number_literal) ))))))) ;) (expression_statement "unaff_s0 = psVar6;" (assignment_expression "unaff_s0 = psVar6" identifier = identifier) ;) (if_statement "if (((uint)psVar6 & 1) == 0) {\n      if (unaff_s3 == (sqlite3_value *)0x0) {\n        zPath = (sqlite3_value *)(*(int *)(puVar25 + 0xcb268) + 0x4920);\n      }\n      else {\n        zPath = (sqlite3_value *)(*(int *)(puVar25 + 0xcb26c) + 0x6e8);\n      }\n      jsonWrongNumArgs((sqlite3_context *)psVar17,(char *)zPath);\n    }\n    else {\n      pcVar15 = (char *)(**(code **)(puVar25 + 0xcb28c))(*ppsVar4);\n      psVar23 = (sqlite3_value *)auStack_b4;\n      zPath = psVar17;\n      iVar3 = jsonParse((JsonParse *)psVar23,(sqlite3_context *)psVar17,pcVar15);\n      unaff_s1 = ppsVar4;\n      if (iVar3 == 0) {\n        unaff_s0 = (sqlite3_value *)(uint)(psVar6 < (sqlite3_value *)0x2);\n        unaff_s1 = ppsVar4 + 1;\n        if (unaff_s0 == (sqlite3_value *)0x0) {\n          unaff_s0 = (sqlite3_value *)0x1;\n          psVar23 = *(sqlite3_value **)((int)&psStack_c8[-0x331].u + 4);\n          unaff_s4 = (JsonParse *)auStack_b4;\n          do {\n            zPath = (sqlite3_value *)(*(code *)psVar23)(*unaff_s1);\n            iStack_b8 = 0;\n            pJVar7 = jsonLookup(unaff_s4,(char *)zPath,&iStack_b8,(sqlite3_context *)psVar17);\n            if (uStack_a0 != '\0') {\n              (*(code *)psStack_c8[-0x32f].zMalloc)(psVar17);\n              goto LAB_000c484c;\n            }\n            if (uStack_9f != '\0') goto LAB_000c484c;\n            if ((pJVar7 != (JsonNode *)0x0) && (unaff_s3 != (sqlite3_value *)0x0 || iStack_b8 != 0))\n            {\n              pJVar7->jnFlags = pJVar7->jnFlags | 8;\n              (pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1);\n            }\n            unaff_s0 = (sqlite3_value *)((int)&unaff_s0->u + 2);\n            unaff_s1 = unaff_s1 + 2;\n          } while (unaff_s0 < psVar6);\n        }\n        if ((*(u8 *)(auStack_b4._8_4_ + 1) & 8) == 0) {\n          zPath = psVar17;\n          jsonReturnJson((JsonNode *)auStack_b4._8_4_,(sqlite3_context *)psVar17,ppsStack_bc);\n        }\n        else {\n          zPath = ppsStack_bc[((anon_union_4_5_9b08aacb_for_u *)(auStack_b4._8_4_ + 8))->iAppend];\n          (*(code *)psStack_c8[-0x32d].db)(psVar17);\n        }\nLAB_000c484c:\n        psVar23 = (sqlite3_value *)auStack_b4;\n        (*(code *)(psStack_c8[-0x321].n + 0x3c38))();\n      }\n    }" if (parenthesized_expression "(((uint)psVar6 & 1) == 0)" ( (binary_expression "((uint)psVar6 & 1) == 0" (parenthesized_expression "((uint)psVar6 & 1)" ( (binary_expression "(uint)psVar6 & 1" (cast_expression "(uint)psVar6" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      if (unaff_s3 == (sqlite3_value *)0x0) {\n        zPath = (sqlite3_value *)(*(int *)(puVar25 + 0xcb268) + 0x4920);\n      }\n      else {\n        zPath = (sqlite3_value *)(*(int *)(puVar25 + 0xcb26c) + 0x6e8);\n      }\n      jsonWrongNumArgs((sqlite3_context *)psVar17,(char *)zPath);\n    }" { (if_statement "if (unaff_s3 == (sqlite3_value *)0x0) {\n        zPath = (sqlite3_value *)(*(int *)(puVar25 + 0xcb268) + 0x4920);\n      }\n      else {\n        zPath = (sqlite3_value *)(*(int *)(puVar25 + 0xcb26c) + 0x6e8);\n      }" if (parenthesized_expression "(unaff_s3 == (sqlite3_value *)0x0)" ( (binary_expression "unaff_s3 == (sqlite3_value *)0x0" identifier == (cast_expression "(sqlite3_value *)0x0" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        zPath = (sqlite3_value *)(*(int *)(puVar25 + 0xcb268) + 0x4920);\n      }" { (expression_statement "zPath = (sqlite3_value *)(*(int *)(puVar25 + 0xcb268) + 0x4920);" (assignment_expression "zPath = (sqlite3_value *)(*(int *)(puVar25 + 0xcb268) + 0x4920)" identifier = (cast_expression "(sqlite3_value *)(*(int *)(puVar25 + 0xcb268) + 0x4920)" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar25 + 0xcb268) + 0x4920)" ( (binary_expression "*(int *)(puVar25 + 0xcb268) + 0x4920" (pointer_expression "*(int *)(puVar25 + 0xcb268)" * (cast_expression "(int *)(puVar25 + 0xcb268)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0xcb268)" ( (binary_expression "puVar25 + 0xcb268" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else {\n        zPath = (sqlite3_value *)(*(int *)(puVar25 + 0xcb26c) + 0x6e8);\n      }" else (compound_statement "{\n        zPath = (sqlite3_value *)(*(int *)(puVar25 + 0xcb26c) + 0x6e8);\n      }" { (expression_statement "zPath = (sqlite3_value *)(*(int *)(puVar25 + 0xcb26c) + 0x6e8);" (assignment_expression "zPath = (sqlite3_value *)(*(int *)(puVar25 + 0xcb26c) + 0x6e8)" identifier = (cast_expression "(sqlite3_value *)(*(int *)(puVar25 + 0xcb26c) + 0x6e8)" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar25 + 0xcb26c) + 0x6e8)" ( (binary_expression "*(int *)(puVar25 + 0xcb26c) + 0x6e8" (pointer_expression "*(int *)(puVar25 + 0xcb26c)" * (cast_expression "(int *)(puVar25 + 0xcb26c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0xcb26c)" ( (binary_expression "puVar25 + 0xcb26c" identifier + number_literal) )))) + number_literal) )))) ;) }))) (expression_statement "jsonWrongNumArgs((sqlite3_context *)psVar17,(char *)zPath);" (call_expression "jsonWrongNumArgs((sqlite3_context *)psVar17,(char *)zPath)" identifier (argument_list "((sqlite3_context *)psVar17,(char *)zPath)" ( (cast_expression "(sqlite3_context *)psVar17" ( (type_descriptor "sqlite3_context *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char *)zPath" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) }) (else_clause "else {\n      pcVar15 = (char *)(**(code **)(puVar25 + 0xcb28c))(*ppsVar4);\n      psVar23 = (sqlite3_value *)auStack_b4;\n      zPath = psVar17;\n      iVar3 = jsonParse((JsonParse *)psVar23,(sqlite3_context *)psVar17,pcVar15);\n      unaff_s1 = ppsVar4;\n      if (iVar3 == 0) {\n        unaff_s0 = (sqlite3_value *)(uint)(psVar6 < (sqlite3_value *)0x2);\n        unaff_s1 = ppsVar4 + 1;\n        if (unaff_s0 == (sqlite3_value *)0x0) {\n          unaff_s0 = (sqlite3_value *)0x1;\n          psVar23 = *(sqlite3_value **)((int)&psStack_c8[-0x331].u + 4);\n          unaff_s4 = (JsonParse *)auStack_b4;\n          do {\n            zPath = (sqlite3_value *)(*(code *)psVar23)(*unaff_s1);\n            iStack_b8 = 0;\n            pJVar7 = jsonLookup(unaff_s4,(char *)zPath,&iStack_b8,(sqlite3_context *)psVar17);\n            if (uStack_a0 != '\0') {\n              (*(code *)psStack_c8[-0x32f].zMalloc)(psVar17);\n              goto LAB_000c484c;\n            }\n            if (uStack_9f != '\0') goto LAB_000c484c;\n            if ((pJVar7 != (JsonNode *)0x0) && (unaff_s3 != (sqlite3_value *)0x0 || iStack_b8 != 0))\n            {\n              pJVar7->jnFlags = pJVar7->jnFlags | 8;\n              (pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1);\n            }\n            unaff_s0 = (sqlite3_value *)((int)&unaff_s0->u + 2);\n            unaff_s1 = unaff_s1 + 2;\n          } while (unaff_s0 < psVar6);\n        }\n        if ((*(u8 *)(auStack_b4._8_4_ + 1) & 8) == 0) {\n          zPath = psVar17;\n          jsonReturnJson((JsonNode *)auStack_b4._8_4_,(sqlite3_context *)psVar17,ppsStack_bc);\n        }\n        else {\n          zPath = ppsStack_bc[((anon_union_4_5_9b08aacb_for_u *)(auStack_b4._8_4_ + 8))->iAppend];\n          (*(code *)psStack_c8[-0x32d].db)(psVar17);\n        }\nLAB_000c484c:\n        psVar23 = (sqlite3_value *)auStack_b4;\n        (*(code *)(psStack_c8[-0x321].n + 0x3c38))();\n      }\n    }" else (compound_statement "{\n      pcVar15 = (char *)(**(code **)(puVar25 + 0xcb28c))(*ppsVar4);\n      psVar23 = (sqlite3_value *)auStack_b4;\n      zPath = psVar17;\n      iVar3 = jsonParse((JsonParse *)psVar23,(sqlite3_context *)psVar17,pcVar15);\n      unaff_s1 = ppsVar4;\n      if (iVar3 == 0) {\n        unaff_s0 = (sqlite3_value *)(uint)(psVar6 < (sqlite3_value *)0x2);\n        unaff_s1 = ppsVar4 + 1;\n        if (unaff_s0 == (sqlite3_value *)0x0) {\n          unaff_s0 = (sqlite3_value *)0x1;\n          psVar23 = *(sqlite3_value **)((int)&psStack_c8[-0x331].u + 4);\n          unaff_s4 = (JsonParse *)auStack_b4;\n          do {\n            zPath = (sqlite3_value *)(*(code *)psVar23)(*unaff_s1);\n            iStack_b8 = 0;\n            pJVar7 = jsonLookup(unaff_s4,(char *)zPath,&iStack_b8,(sqlite3_context *)psVar17);\n            if (uStack_a0 != '\0') {\n              (*(code *)psStack_c8[-0x32f].zMalloc)(psVar17);\n              goto LAB_000c484c;\n            }\n            if (uStack_9f != '\0') goto LAB_000c484c;\n            if ((pJVar7 != (JsonNode *)0x0) && (unaff_s3 != (sqlite3_value *)0x0 || iStack_b8 != 0))\n            {\n              pJVar7->jnFlags = pJVar7->jnFlags | 8;\n              (pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1);\n            }\n            unaff_s0 = (sqlite3_value *)((int)&unaff_s0->u + 2);\n            unaff_s1 = unaff_s1 + 2;\n          } while (unaff_s0 < psVar6);\n        }\n        if ((*(u8 *)(auStack_b4._8_4_ + 1) & 8) == 0) {\n          zPath = psVar17;\n          jsonReturnJson((JsonNode *)auStack_b4._8_4_,(sqlite3_context *)psVar17,ppsStack_bc);\n        }\n        else {\n          zPath = ppsStack_bc[((anon_union_4_5_9b08aacb_for_u *)(auStack_b4._8_4_ + 8))->iAppend];\n          (*(code *)psStack_c8[-0x32d].db)(psVar17);\n        }\nLAB_000c484c:\n        psVar23 = (sqlite3_value *)auStack_b4;\n        (*(code *)(psStack_c8[-0x321].n + 0x3c38))();\n      }\n    }" { (expression_statement "pcVar15 = (char *)(**(code **)(puVar25 + 0xcb28c))(*ppsVar4);" (assignment_expression "pcVar15 = (char *)(**(code **)(puVar25 + 0xcb28c))(*ppsVar4)" identifier = (cast_expression "(char *)(**(code **)(puVar25 + 0xcb28c))(*ppsVar4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar25 + 0xcb28c))(*ppsVar4)" (parenthesized_expression "(**(code **)(puVar25 + 0xcb28c))" ( (pointer_expression "**(code **)(puVar25 + 0xcb28c)" * (pointer_expression "*(code **)(puVar25 + 0xcb28c)" * (cast_expression "(code **)(puVar25 + 0xcb28c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0xcb28c)" ( (binary_expression "puVar25 + 0xcb28c" identifier + number_literal) ))))) )) (argument_list "(*ppsVar4)" ( (pointer_expression "*ppsVar4" * identifier) ))))) ;) (expression_statement "psVar23 = (sqlite3_value *)auStack_b4;" (assignment_expression "psVar23 = (sqlite3_value *)auStack_b4" identifier = (cast_expression "(sqlite3_value *)auStack_b4" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "zPath = psVar17;" (assignment_expression "zPath = psVar17" identifier = identifier) ;) (expression_statement "iVar3 = jsonParse((JsonParse *)psVar23,(sqlite3_context *)psVar17,pcVar15);" (assignment_expression "iVar3 = jsonParse((JsonParse *)psVar23,(sqlite3_context *)psVar17,pcVar15)" identifier = (call_expression "jsonParse((JsonParse *)psVar23,(sqlite3_context *)psVar17,pcVar15)" identifier (argument_list "((JsonParse *)psVar23,(sqlite3_context *)psVar17,pcVar15)" ( (cast_expression "(JsonParse *)psVar23" ( (type_descriptor "JsonParse *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(sqlite3_context *)psVar17" ( (type_descriptor "sqlite3_context *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (expression_statement "unaff_s1 = ppsVar4;" (assignment_expression "unaff_s1 = ppsVar4" identifier = identifier) ;) (if_statement "if (iVar3 == 0) {\n        unaff_s0 = (sqlite3_value *)(uint)(psVar6 < (sqlite3_value *)0x2);\n        unaff_s1 = ppsVar4 + 1;\n        if (unaff_s0 == (sqlite3_value *)0x0) {\n          unaff_s0 = (sqlite3_value *)0x1;\n          psVar23 = *(sqlite3_value **)((int)&psStack_c8[-0x331].u + 4);\n          unaff_s4 = (JsonParse *)auStack_b4;\n          do {\n            zPath = (sqlite3_value *)(*(code *)psVar23)(*unaff_s1);\n            iStack_b8 = 0;\n            pJVar7 = jsonLookup(unaff_s4,(char *)zPath,&iStack_b8,(sqlite3_context *)psVar17);\n            if (uStack_a0 != '\0') {\n              (*(code *)psStack_c8[-0x32f].zMalloc)(psVar17);\n              goto LAB_000c484c;\n            }\n            if (uStack_9f != '\0') goto LAB_000c484c;\n            if ((pJVar7 != (JsonNode *)0x0) && (unaff_s3 != (sqlite3_value *)0x0 || iStack_b8 != 0))\n            {\n              pJVar7->jnFlags = pJVar7->jnFlags | 8;\n              (pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1);\n            }\n            unaff_s0 = (sqlite3_value *)((int)&unaff_s0->u + 2);\n            unaff_s1 = unaff_s1 + 2;\n          } while (unaff_s0 < psVar6);\n        }\n        if ((*(u8 *)(auStack_b4._8_4_ + 1) & 8) == 0) {\n          zPath = psVar17;\n          jsonReturnJson((JsonNode *)auStack_b4._8_4_,(sqlite3_context *)psVar17,ppsStack_bc);\n        }\n        else {\n          zPath = ppsStack_bc[((anon_union_4_5_9b08aacb_for_u *)(auStack_b4._8_4_ + 8))->iAppend];\n          (*(code *)psStack_c8[-0x32d].db)(psVar17);\n        }\nLAB_000c484c:\n        psVar23 = (sqlite3_value *)auStack_b4;\n        (*(code *)(psStack_c8[-0x321].n + 0x3c38))();\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        unaff_s0 = (sqlite3_value *)(uint)(psVar6 < (sqlite3_value *)0x2);\n        unaff_s1 = ppsVar4 + 1;\n        if (unaff_s0 == (sqlite3_value *)0x0) {\n          unaff_s0 = (sqlite3_value *)0x1;\n          psVar23 = *(sqlite3_value **)((int)&psStack_c8[-0x331].u + 4);\n          unaff_s4 = (JsonParse *)auStack_b4;\n          do {\n            zPath = (sqlite3_value *)(*(code *)psVar23)(*unaff_s1);\n            iStack_b8 = 0;\n            pJVar7 = jsonLookup(unaff_s4,(char *)zPath,&iStack_b8,(sqlite3_context *)psVar17);\n            if (uStack_a0 != '\0') {\n              (*(code *)psStack_c8[-0x32f].zMalloc)(psVar17);\n              goto LAB_000c484c;\n            }\n            if (uStack_9f != '\0') goto LAB_000c484c;\n            if ((pJVar7 != (JsonNode *)0x0) && (unaff_s3 != (sqlite3_value *)0x0 || iStack_b8 != 0))\n            {\n              pJVar7->jnFlags = pJVar7->jnFlags | 8;\n              (pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1);\n            }\n            unaff_s0 = (sqlite3_value *)((int)&unaff_s0->u + 2);\n            unaff_s1 = unaff_s1 + 2;\n          } while (unaff_s0 < psVar6);\n        }\n        if ((*(u8 *)(auStack_b4._8_4_ + 1) & 8) == 0) {\n          zPath = psVar17;\n          jsonReturnJson((JsonNode *)auStack_b4._8_4_,(sqlite3_context *)psVar17,ppsStack_bc);\n        }\n        else {\n          zPath = ppsStack_bc[((anon_union_4_5_9b08aacb_for_u *)(auStack_b4._8_4_ + 8))->iAppend];\n          (*(code *)psStack_c8[-0x32d].db)(psVar17);\n        }\nLAB_000c484c:\n        psVar23 = (sqlite3_value *)auStack_b4;\n        (*(code *)(psStack_c8[-0x321].n + 0x3c38))();\n      }" { (expression_statement "unaff_s0 = (sqlite3_value *)(uint)(psVar6 < (sqlite3_value *)0x2);" (assignment_expression "unaff_s0 = (sqlite3_value *)(uint)(psVar6 < (sqlite3_value *)0x2)" identifier = (cast_expression "(sqlite3_value *)(uint)(psVar6 < (sqlite3_value *)0x2)" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(psVar6 < (sqlite3_value *)0x2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(psVar6 < (sqlite3_value *)0x2)" ( (binary_expression "psVar6 < (sqlite3_value *)0x2" identifier < (cast_expression "(sqlite3_value *)0x2" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))))) ;) (expression_statement "unaff_s1 = ppsVar4 + 1;" (assignment_expression "unaff_s1 = ppsVar4 + 1" identifier = (binary_expression "ppsVar4 + 1" identifier + number_literal)) ;) (if_statement "if (unaff_s0 == (sqlite3_value *)0x0) {\n          unaff_s0 = (sqlite3_value *)0x1;\n          psVar23 = *(sqlite3_value **)((int)&psStack_c8[-0x331].u + 4);\n          unaff_s4 = (JsonParse *)auStack_b4;\n          do {\n            zPath = (sqlite3_value *)(*(code *)psVar23)(*unaff_s1);\n            iStack_b8 = 0;\n            pJVar7 = jsonLookup(unaff_s4,(char *)zPath,&iStack_b8,(sqlite3_context *)psVar17);\n            if (uStack_a0 != '\0') {\n              (*(code *)psStack_c8[-0x32f].zMalloc)(psVar17);\n              goto LAB_000c484c;\n            }\n            if (uStack_9f != '\0') goto LAB_000c484c;\n            if ((pJVar7 != (JsonNode *)0x0) && (unaff_s3 != (sqlite3_value *)0x0 || iStack_b8 != 0))\n            {\n              pJVar7->jnFlags = pJVar7->jnFlags | 8;\n              (pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1);\n            }\n            unaff_s0 = (sqlite3_value *)((int)&unaff_s0->u + 2);\n            unaff_s1 = unaff_s1 + 2;\n          } while (unaff_s0 < psVar6);\n        }" if (parenthesized_expression "(unaff_s0 == (sqlite3_value *)0x0)" ( (binary_expression "unaff_s0 == (sqlite3_value *)0x0" identifier == (cast_expression "(sqlite3_value *)0x0" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          unaff_s0 = (sqlite3_value *)0x1;\n          psVar23 = *(sqlite3_value **)((int)&psStack_c8[-0x331].u + 4);\n          unaff_s4 = (JsonParse *)auStack_b4;\n          do {\n            zPath = (sqlite3_value *)(*(code *)psVar23)(*unaff_s1);\n            iStack_b8 = 0;\n            pJVar7 = jsonLookup(unaff_s4,(char *)zPath,&iStack_b8,(sqlite3_context *)psVar17);\n            if (uStack_a0 != '\0') {\n              (*(code *)psStack_c8[-0x32f].zMalloc)(psVar17);\n              goto LAB_000c484c;\n            }\n            if (uStack_9f != '\0') goto LAB_000c484c;\n            if ((pJVar7 != (JsonNode *)0x0) && (unaff_s3 != (sqlite3_value *)0x0 || iStack_b8 != 0))\n            {\n              pJVar7->jnFlags = pJVar7->jnFlags | 8;\n              (pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1);\n            }\n            unaff_s0 = (sqlite3_value *)((int)&unaff_s0->u + 2);\n            unaff_s1 = unaff_s1 + 2;\n          } while (unaff_s0 < psVar6);\n        }" { (expression_statement "unaff_s0 = (sqlite3_value *)0x1;" (assignment_expression "unaff_s0 = (sqlite3_value *)0x1" identifier = (cast_expression "(sqlite3_value *)0x1" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar23 = *(sqlite3_value **)((int)&psStack_c8[-0x331].u + 4);" (assignment_expression "psVar23 = *(sqlite3_value **)((int)&psStack_c8[-0x331].u + 4)" identifier = (pointer_expression "*(sqlite3_value **)((int)&psStack_c8[-0x331].u + 4)" * (cast_expression "(sqlite3_value **)((int)&psStack_c8[-0x331].u + 4)" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&psStack_c8[-0x331].u + 4)" ( (binary_expression "(int)&psStack_c8[-0x331].u + 4" (cast_expression "(int)&psStack_c8[-0x331].u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psStack_c8[-0x331].u" & (field_expression "psStack_c8[-0x331].u" (subscript_expression "psStack_c8[-0x331]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))))) ;) (expression_statement "unaff_s4 = (JsonParse *)auStack_b4;" (assignment_expression "unaff_s4 = (JsonParse *)auStack_b4" identifier = (cast_expression "(JsonParse *)auStack_b4" ( (type_descriptor "JsonParse *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n            zPath = (sqlite3_value *)(*(code *)psVar23)(*unaff_s1);\n            iStack_b8 = 0;\n            pJVar7 = jsonLookup(unaff_s4,(char *)zPath,&iStack_b8,(sqlite3_context *)psVar17);\n            if (uStack_a0 != '\0') {\n              (*(code *)psStack_c8[-0x32f].zMalloc)(psVar17);\n              goto LAB_000c484c;\n            }\n            if (uStack_9f != '\0') goto LAB_000c484c;\n            if ((pJVar7 != (JsonNode *)0x0) && (unaff_s3 != (sqlite3_value *)0x0 || iStack_b8 != 0))\n            {\n              pJVar7->jnFlags = pJVar7->jnFlags | 8;\n              (pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1);\n            }\n            unaff_s0 = (sqlite3_value *)((int)&unaff_s0->u + 2);\n            unaff_s1 = unaff_s1 + 2;\n          } while (unaff_s0 < psVar6);" do (compound_statement "{\n            zPath = (sqlite3_value *)(*(code *)psVar23)(*unaff_s1);\n            iStack_b8 = 0;\n            pJVar7 = jsonLookup(unaff_s4,(char *)zPath,&iStack_b8,(sqlite3_context *)psVar17);\n            if (uStack_a0 != '\0') {\n              (*(code *)psStack_c8[-0x32f].zMalloc)(psVar17);\n              goto LAB_000c484c;\n            }\n            if (uStack_9f != '\0') goto LAB_000c484c;\n            if ((pJVar7 != (JsonNode *)0x0) && (unaff_s3 != (sqlite3_value *)0x0 || iStack_b8 != 0))\n            {\n              pJVar7->jnFlags = pJVar7->jnFlags | 8;\n              (pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1);\n            }\n            unaff_s0 = (sqlite3_value *)((int)&unaff_s0->u + 2);\n            unaff_s1 = unaff_s1 + 2;\n          }" { (expression_statement "zPath = (sqlite3_value *)(*(code *)psVar23)(*unaff_s1);" (assignment_expression "zPath = (sqlite3_value *)(*(code *)psVar23)(*unaff_s1)" identifier = (cast_expression "(sqlite3_value *)(*(code *)psVar23)(*unaff_s1)" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)psVar23)(*unaff_s1)" (parenthesized_expression "(*(code *)psVar23)" ( (pointer_expression "*(code *)psVar23" * (cast_expression "(code *)psVar23" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*unaff_s1)" ( (pointer_expression "*unaff_s1" * identifier) ))))) ;) (expression_statement "iStack_b8 = 0;" (assignment_expression "iStack_b8 = 0" identifier = number_literal) ;) (expression_statement "pJVar7 = jsonLookup(unaff_s4,(char *)zPath,&iStack_b8,(sqlite3_context *)psVar17);" (assignment_expression "pJVar7 = jsonLookup(unaff_s4,(char *)zPath,&iStack_b8,(sqlite3_context *)psVar17)" identifier = (call_expression "jsonLookup(unaff_s4,(char *)zPath,&iStack_b8,(sqlite3_context *)psVar17)" identifier (argument_list "(unaff_s4,(char *)zPath,&iStack_b8,(sqlite3_context *)psVar17)" ( identifier , (cast_expression "(char *)zPath" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "&iStack_b8" & identifier) , (cast_expression "(sqlite3_context *)psVar17" ( (type_descriptor "sqlite3_context *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (uStack_a0 != '\0') {\n              (*(code *)psStack_c8[-0x32f].zMalloc)(psVar17);\n              goto LAB_000c484c;\n            }" if (parenthesized_expression "(uStack_a0 != '\0')" ( (binary_expression "uStack_a0 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              (*(code *)psStack_c8[-0x32f].zMalloc)(psVar17);\n              goto LAB_000c484c;\n            }" { (expression_statement "(*(code *)psStack_c8[-0x32f].zMalloc)(psVar17);" (call_expression "(*(code *)psStack_c8[-0x32f].zMalloc)(psVar17)" (parenthesized_expression "(*(code *)psStack_c8[-0x32f].zMalloc)" ( (pointer_expression "*(code *)psStack_c8[-0x32f].zMalloc" * (cast_expression "(code *)psStack_c8[-0x32f].zMalloc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psStack_c8[-0x32f].zMalloc" (subscript_expression "psStack_c8[-0x32f]" identifier [ number_literal ]) . field_identifier))) )) (argument_list "(psVar17)" ( identifier ))) ;) (goto_statement "goto LAB_000c484c;" goto statement_identifier ;) })) (if_statement "if (uStack_9f != '\0') goto LAB_000c484c;" if (parenthesized_expression "(uStack_9f != '\0')" ( (binary_expression "uStack_9f != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000c484c;" goto statement_identifier ;)) (if_statement "if ((pJVar7 != (JsonNode *)0x0) && (unaff_s3 != (sqlite3_value *)0x0 || iStack_b8 != 0))\n            {\n              pJVar7->jnFlags = pJVar7->jnFlags | 8;\n              (pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1);\n            }" if (parenthesized_expression "((pJVar7 != (JsonNode *)0x0) && (unaff_s3 != (sqlite3_value *)0x0 || iStack_b8 != 0))" ( (binary_expression "(pJVar7 != (JsonNode *)0x0) && (unaff_s3 != (sqlite3_value *)0x0 || iStack_b8 != 0)" (parenthesized_expression "(pJVar7 != (JsonNode *)0x0)" ( (binary_expression "pJVar7 != (JsonNode *)0x0" identifier != (cast_expression "(JsonNode *)0x0" ( (type_descriptor "JsonNode *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(unaff_s3 != (sqlite3_value *)0x0 || iStack_b8 != 0)" ( (binary_expression "unaff_s3 != (sqlite3_value *)0x0 || iStack_b8 != 0" (binary_expression "unaff_s3 != (sqlite3_value *)0x0" identifier != (cast_expression "(sqlite3_value *)0x0" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (binary_expression "iStack_b8 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n              pJVar7->jnFlags = pJVar7->jnFlags | 8;\n              (pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1);\n            }" { (expression_statement "pJVar7->jnFlags = pJVar7->jnFlags | 8;" (assignment_expression "pJVar7->jnFlags = pJVar7->jnFlags | 8" (field_expression "pJVar7->jnFlags" identifier -> field_identifier) = (binary_expression "pJVar7->jnFlags | 8" (field_expression "pJVar7->jnFlags" identifier -> field_identifier) | number_literal)) ;) (expression_statement "(pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1);" (assignment_expression "(pJVar7->u).zJContent = (char *)((int)&unaff_s0->u + 1)" (field_expression "(pJVar7->u).zJContent" (parenthesized_expression "(pJVar7->u)" ( (field_expression "pJVar7->u" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(char *)((int)&unaff_s0->u + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&unaff_s0->u + 1)" ( (binary_expression "(int)&unaff_s0->u + 1" (cast_expression "(int)&unaff_s0->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_s0->u" & (field_expression "unaff_s0->u" identifier -> field_identifier))) + number_literal) )))) ;) })) (expression_statement "unaff_s0 = (sqlite3_value *)((int)&unaff_s0->u + 2);" (assignment_expression "unaff_s0 = (sqlite3_value *)((int)&unaff_s0->u + 2)" identifier = (cast_expression "(sqlite3_value *)((int)&unaff_s0->u + 2)" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&unaff_s0->u + 2)" ( (binary_expression "(int)&unaff_s0->u + 2" (cast_expression "(int)&unaff_s0->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_s0->u" & (field_expression "unaff_s0->u" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "unaff_s1 = unaff_s1 + 2;" (assignment_expression "unaff_s1 = unaff_s1 + 2" identifier = (binary_expression "unaff_s1 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(unaff_s0 < psVar6)" ( (binary_expression "unaff_s0 < psVar6" identifier < identifier) )) ;) })) (if_statement "if ((*(u8 *)(auStack_b4._8_4_ + 1) & 8) == 0) {\n          zPath = psVar17;\n          jsonReturnJson((JsonNode *)auStack_b4._8_4_,(sqlite3_context *)psVar17,ppsStack_bc);\n        }\n        else {\n          zPath = ppsStack_bc[((anon_union_4_5_9b08aacb_for_u *)(auStack_b4._8_4_ + 8))->iAppend];\n          (*(code *)psStack_c8[-0x32d].db)(psVar17);\n        }" if (parenthesized_expression "((*(u8 *)(auStack_b4._8_4_ + 1) & 8) == 0)" ( (binary_expression "(*(u8 *)(auStack_b4._8_4_ + 1) & 8) == 0" (parenthesized_expression "(*(u8 *)(auStack_b4._8_4_ + 1) & 8)" ( (binary_expression "*(u8 *)(auStack_b4._8_4_ + 1) & 8" (pointer_expression "*(u8 *)(auStack_b4._8_4_ + 1)" * (cast_expression "(u8 *)(auStack_b4._8_4_ + 1)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_b4._8_4_ + 1)" ( (binary_expression "auStack_b4._8_4_ + 1" (field_expression "auStack_b4._8_4_" identifier . field_identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          zPath = psVar17;\n          jsonReturnJson((JsonNode *)auStack_b4._8_4_,(sqlite3_context *)psVar17,ppsStack_bc);\n        }" { (expression_statement "zPath = psVar17;" (assignment_expression "zPath = psVar17" identifier = identifier) ;) (expression_statement "jsonReturnJson((JsonNode *)auStack_b4._8_4_,(sqlite3_context *)psVar17,ppsStack_bc);" (call_expression "jsonReturnJson((JsonNode *)auStack_b4._8_4_,(sqlite3_context *)psVar17,ppsStack_bc)" identifier (argument_list "((JsonNode *)auStack_b4._8_4_,(sqlite3_context *)psVar17,ppsStack_bc)" ( (cast_expression "(JsonNode *)auStack_b4._8_4_" ( (type_descriptor "JsonNode *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_b4._8_4_" identifier . field_identifier)) , (cast_expression "(sqlite3_context *)psVar17" ( (type_descriptor "sqlite3_context *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) }) (else_clause "else {\n          zPath = ppsStack_bc[((anon_union_4_5_9b08aacb_for_u *)(auStack_b4._8_4_ + 8))->iAppend];\n          (*(code *)psStack_c8[-0x32d].db)(psVar17);\n        }" else (compound_statement "{\n          zPath = ppsStack_bc[((anon_union_4_5_9b08aacb_for_u *)(auStack_b4._8_4_ + 8))->iAppend];\n          (*(code *)psStack_c8[-0x32d].db)(psVar17);\n        }" { (expression_statement "zPath = ppsStack_bc[((anon_union_4_5_9b08aacb_for_u *)(auStack_b4._8_4_ + 8))->iAppend];" (assignment_expression "zPath = ppsStack_bc[((anon_union_4_5_9b08aacb_for_u *)(auStack_b4._8_4_ + 8))->iAppend]" identifier = (subscript_expression "ppsStack_bc[((anon_union_4_5_9b08aacb_for_u *)(auStack_b4._8_4_ + 8))->iAppend]" identifier [ (field_expression "((anon_union_4_5_9b08aacb_for_u *)(auStack_b4._8_4_ + 8))->iAppend" (parenthesized_expression "((anon_union_4_5_9b08aacb_for_u *)(auStack_b4._8_4_ + 8))" ( (cast_expression "(anon_union_4_5_9b08aacb_for_u *)(auStack_b4._8_4_ + 8)" ( (type_descriptor "anon_union_4_5_9b08aacb_for_u *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_b4._8_4_ + 8)" ( (binary_expression "auStack_b4._8_4_ + 8" (field_expression "auStack_b4._8_4_" identifier . field_identifier) + number_literal) ))) )) -> field_identifier) ])) ;) (expression_statement "(*(code *)psStack_c8[-0x32d].db)(psVar17);" (call_expression "(*(code *)psStack_c8[-0x32d].db)(psVar17)" (parenthesized_expression "(*(code *)psStack_c8[-0x32d].db)" ( (pointer_expression "*(code *)psStack_c8[-0x32d].db" * (cast_expression "(code *)psStack_c8[-0x32d].db" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psStack_c8[-0x32d].db" (subscript_expression "psStack_c8[-0x32d]" identifier [ number_literal ]) . field_identifier))) )) (argument_list "(psVar17)" ( identifier ))) ;) }))) (labeled_statement "LAB_000c484c:\n        psVar23 = (sqlite3_value *)auStack_b4;" statement_identifier : (expression_statement "psVar23 = (sqlite3_value *)auStack_b4;" (assignment_expression "psVar23 = (sqlite3_value *)auStack_b4" identifier = (cast_expression "(sqlite3_value *)auStack_b4" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "(*(code *)(psStack_c8[-0x321].n + 0x3c38))();" (call_expression "(*(code *)(psStack_c8[-0x321].n + 0x3c38))()" (parenthesized_expression "(*(code *)(psStack_c8[-0x321].n + 0x3c38))" ( (pointer_expression "*(code *)(psStack_c8[-0x321].n + 0x3c38)" * (cast_expression "(code *)(psStack_c8[-0x321].n + 0x3c38)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psStack_c8[-0x321].n + 0x3c38)" ( (binary_expression "psStack_c8[-0x321].n + 0x3c38" (field_expression "psStack_c8[-0x321].n" (subscript_expression "psStack_c8[-0x321]" identifier [ number_literal ]) . field_identifier) + number_literal) )))) )) (argument_list "()" ( ))) ;) })) }))) })) (if_statement "if (psStack_94 == (*(Vdbe **)((int)&psStack_c8[-0x30f].u + 4))->db) {\n    return;\n  }" if (parenthesized_expression "(psStack_94 == (*(Vdbe **)((int)&psStack_c8[-0x30f].u + 4))->db)" ( (binary_expression "psStack_94 == (*(Vdbe **)((int)&psStack_c8[-0x30f].u + 4))->db" identifier == (field_expression "(*(Vdbe **)((int)&psStack_c8[-0x30f].u + 4))->db" (parenthesized_expression "(*(Vdbe **)((int)&psStack_c8[-0x30f].u + 4))" ( (pointer_expression "*(Vdbe **)((int)&psStack_c8[-0x30f].u + 4)" * (cast_expression "(Vdbe **)((int)&psStack_c8[-0x30f].u + 4)" ( (type_descriptor "Vdbe **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&psStack_c8[-0x30f].u + 4)" ( (binary_expression "(int)&psStack_c8[-0x30f].u + 4" (cast_expression "(int)&psStack_c8[-0x30f].u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psStack_c8[-0x30f].u" & (field_expression "psStack_c8[-0x30f].u" (subscript_expression "psStack_c8[-0x30f]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) )) -> field_identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pMVar26 = (Mem *)psStack_c8[-0x310].u.zPType;" (assignment_expression "pMVar26 = (Mem *)psStack_c8[-0x310].u.zPType" identifier = (cast_expression "(Mem *)psStack_c8[-0x310].u.zPType" ( (type_descriptor "Mem *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psStack_c8[-0x310].u.zPType" (field_expression "psStack_c8[-0x310].u" (subscript_expression "psStack_c8[-0x310]" identifier [ number_literal ]) . field_identifier) . field_identifier))) ;) (expression_statement "pcVar28 = jsonEachFilter;" (assignment_expression "pcVar28 = jsonEachFilter" identifier = identifier) ;) (expression_statement "(*(code *)pMVar26)();" (call_expression "(*(code *)pMVar26)()" (parenthesized_expression "(*(code *)pMVar26)" ( (pointer_expression "*(code *)pMVar26" * (cast_expression "(code *)pMVar26" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "psVar6 = psStack_c8;" (assignment_expression "psVar6 = psStack_c8" identifier = identifier) ;) (expression_statement "iStack_f4 = *(int *)pMVar26[0x5155].xDel;" (assignment_expression "iStack_f4 = *(int *)pMVar26[0x5155].xDel" identifier = (pointer_expression "*(int *)pMVar26[0x5155].xDel" * (cast_expression "(int *)pMVar26[0x5155].xDel" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "pMVar26[0x5155].xDel" (subscript_expression "pMVar26[0x5155]" identifier [ number_literal ]) . field_identifier)))) ;) (expression_statement "psVar20 = zPath;" (assignment_expression "psVar20 = zPath" identifier = identifier) ;) (expression_statement "psStack_f0 = unaff_s0;" (assignment_expression "psStack_f0 = unaff_s0" identifier = identifier) ;) (expression_statement "ppsStack_ec = unaff_s1;" (assignment_expression "ppsStack_ec = unaff_s1" identifier = identifier) ;) (expression_statement "psStack_e8 = psVar17;" (assignment_expression "psStack_e8 = psVar17" identifier = identifier) ;) (expression_statement "psStack_e4 = unaff_s3;" (assignment_expression "psStack_e4 = unaff_s3" identifier = identifier) ;) (expression_statement "pJStack_e0 = unaff_s4;" (assignment_expression "pJStack_e0 = unaff_s4" identifier = identifier) ;) (expression_statement "pcStack_dc = pcVar28;" (assignment_expression "pcStack_dc = pcVar28" identifier = identifier) ;) (expression_statement "(*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))();" (call_expression "(*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))()" (parenthesized_expression "(*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))" ( (pointer_expression "*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c)" * (cast_expression "(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c)" ( (binary_expression "*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c" (pointer_expression "*(int *)((int)&pMVar26[0x5144].u + 4)" * (cast_expression "(int *)((int)&pMVar26[0x5144].u + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pMVar26[0x5144].u + 4)" ( (binary_expression "(int)&pMVar26[0x5144].u + 4" (cast_expression "(int)&pMVar26[0x5144].u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pMVar26[0x5144].u" & (field_expression "pMVar26[0x5144].u" (subscript_expression "pMVar26[0x5144]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (if_statement "if (zPath != (sqlite3_value *)0x0) {\n    iVar3 = (*pMVar26[0x5133].xDel)((Mem *)(psVar6->u).nZero);\n    if (iVar3 == 0) {\n      zPath = (sqlite3_value *)0x0;\n    }\n    else {\n      unaff_s3 = (sqlite3_value *)(*(code *)pMVar26[0x5135].szMalloc)((Mem *)(psVar6->u).nZero);\n      psVar20 = (sqlite3_value *)((int)&unaff_s3->u + 1);\n      iVar5 = (*(code *)pMVar26[0x5136].u.nZero)\n                        ((uint)(psVar20 < unaff_s3) + ((int)unaff_s3 >> 0x1f));\n      psVar23->szMalloc = iVar5;\n      if (iVar5 == 0) {\n        zPath = (sqlite3_value *)&DAT_00000007;\n      }\n      else {\n        (**(code **)((int)&pMVar26[0x5156].u + 4))(iVar5,iVar3,(char *)((int)&unaff_s3->u + 1));\n        pParse = &psVar23->db;\n        psVar20 = (sqlite3_value *)0x0;\n        unaff_s3 = (sqlite3_value *)\n                   jsonParse((JsonParse *)pParse,(sqlite3_context *)0x0,(char *)psVar23->szMalloc);\n        if (unaff_s3 == (sqlite3_value *)0x0) {\n          if (*(u8 *)((int)&psVar23->zMalloc + 1) != '\0') {\n            psVar20 = (sqlite3_value *)((int)psVar23->db << 2);\n            puVar9 = (u32 *)(*(code *)pMVar26[0x5136].u.nZero)(0);\n            *(u32 **)&psVar23[1].flags = puVar9;\n            if (puVar9 == (u32 *)0x0) {\n              *(u8 *)&psVar23[1].n = '\x01';\n              (*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))(psVar23);\n              zPath = (sqlite3_value *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            psVar20 = (sqlite3_value *)0x0;\n            (*(code *)(pMVar26[0x5142].n + 0x604))(pParse,0,0);\n          }\n          bVar1 = zPath == (sqlite3_value *)0x3;\n          zPath = (sqlite3_value *)0x0;\n          if (bVar1) {\n            pcStack_f8 = (char *)0x0;\n            pcVar15 = (char *)(*pMVar26[0x5133].xDel)(*(FuncDef **)((int)&psVar6->u + 4));\n            if (pcVar15 != (char *)0x0) {\n              psVar6 = (sqlite3_value *)\n                       (*(code *)pMVar26[0x5135].szMalloc)(*(FuncDef **)((int)&psVar6->u + 4));\n              psVar20 = (sqlite3_value *)((int)&psVar6->u + 1);\n              uVar10 = (*(code *)pMVar26[0x5136].u.nZero)\n                                 ((uint)(psVar20 < psVar6) + ((int)psVar6 >> 0x1f));\n              psVar23->uTemp = uVar10;\n              if (uVar10 == 0) {\n                zPath = (sqlite3_value *)&DAT_00000007;\n              }\n              else {\n                (**(code **)((int)&pMVar26[0x5156].u + 4))\n                          (uVar10,pcVar15,(char *)((int)&psVar6->u + 1));\n                if (*pcVar15 != '$') {\n                  pcStack_f8 = pcVar15;\nLAB_000c4cdc:\n                  (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n                  sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x463c),\n                                  pcStack_f8);\n                }\n                psVar20 = (sqlite3_value *)0x0;\n                pFVar8 = (FuncDef *)\n                         jsonLookupStep((JsonParse *)pParse,0,(char *)(psVar23->uTemp + 1),\n                                        (int *)0x0,&pcStack_f8);\n                if (pcStack_f8 != (char *)0x0) goto LAB_000c4cdc;\n                if (pFVar8 != (FuncDef *)0x0) goto LAB_000c4aac;\n              }\n            }\n          }\n          else {\n            pFVar8 = psVar23[1].u.pDef;\nLAB_000c4aac:\n            pJVar7 = (JsonNode *)(((int)pFVar8 - (int)psVar23[1].u.nZero >> 2) * -0x55555555);\n            psVar23->n = (int)pJVar7;\n            *(JsonNode **)&psVar23->flags = pJVar7;\n            bVar2 = pFVar8->nArg;\n            *(byte *)&psVar23->zMalloc = bVar2;\n            if (bVar2 < 6) {\n              psVar23->z = (char *)&pJVar7->jnFlags;\n            }\n            else {\n              ((anon_union_4_5_9b08aacb_for_u *)&pFVar8->pUserData)->zJContent = (char *)0x0;\n              pcVar15 = (char *)psVar23->n;\n              psVar23->z = pcVar15 + 1 + pFVar8->funcFlags;\n              psVar20 = (sqlite3_value *)((int)pcVar15 * 4);\n              if (*(u8 *)((int)&psVar23->zMalloc + 1) == '\0') {\n                psVar23->n = (int)(pcVar15 + 1);\n              }\n              else {\n                pJVar7 = (JsonNode *)psVar23[1].u.nZero;\n                psVar20 = (sqlite3_value *)(*(u32 **)&psVar23[1].flags)[(int)pcVar15];\n                *(u8 *)&psVar23->zMalloc = pJVar7[(int)psVar20].eType;\n                if ((pcVar15 != (char *)0x0) && ((pJVar7[(int)(pcVar15 + -1)].jnFlags & 0x40) != 0))\n                {\n                  psVar23->n = (int)(pcVar15 + -1);\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (*(u8 *)&psVar23[1].n == '\0') {\n            (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n            sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x5060));\n          }\n          zPath = (sqlite3_value *)&DAT_00000007;\n          (*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))(psVar23);\n        }\n      }\n    }\n  }" if (parenthesized_expression "(zPath != (sqlite3_value *)0x0)" ( (binary_expression "zPath != (sqlite3_value *)0x0" identifier != (cast_expression "(sqlite3_value *)0x0" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar3 = (*pMVar26[0x5133].xDel)((Mem *)(psVar6->u).nZero);\n    if (iVar3 == 0) {\n      zPath = (sqlite3_value *)0x0;\n    }\n    else {\n      unaff_s3 = (sqlite3_value *)(*(code *)pMVar26[0x5135].szMalloc)((Mem *)(psVar6->u).nZero);\n      psVar20 = (sqlite3_value *)((int)&unaff_s3->u + 1);\n      iVar5 = (*(code *)pMVar26[0x5136].u.nZero)\n                        ((uint)(psVar20 < unaff_s3) + ((int)unaff_s3 >> 0x1f));\n      psVar23->szMalloc = iVar5;\n      if (iVar5 == 0) {\n        zPath = (sqlite3_value *)&DAT_00000007;\n      }\n      else {\n        (**(code **)((int)&pMVar26[0x5156].u + 4))(iVar5,iVar3,(char *)((int)&unaff_s3->u + 1));\n        pParse = &psVar23->db;\n        psVar20 = (sqlite3_value *)0x0;\n        unaff_s3 = (sqlite3_value *)\n                   jsonParse((JsonParse *)pParse,(sqlite3_context *)0x0,(char *)psVar23->szMalloc);\n        if (unaff_s3 == (sqlite3_value *)0x0) {\n          if (*(u8 *)((int)&psVar23->zMalloc + 1) != '\0') {\n            psVar20 = (sqlite3_value *)((int)psVar23->db << 2);\n            puVar9 = (u32 *)(*(code *)pMVar26[0x5136].u.nZero)(0);\n            *(u32 **)&psVar23[1].flags = puVar9;\n            if (puVar9 == (u32 *)0x0) {\n              *(u8 *)&psVar23[1].n = '\x01';\n              (*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))(psVar23);\n              zPath = (sqlite3_value *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            psVar20 = (sqlite3_value *)0x0;\n            (*(code *)(pMVar26[0x5142].n + 0x604))(pParse,0,0);\n          }\n          bVar1 = zPath == (sqlite3_value *)0x3;\n          zPath = (sqlite3_value *)0x0;\n          if (bVar1) {\n            pcStack_f8 = (char *)0x0;\n            pcVar15 = (char *)(*pMVar26[0x5133].xDel)(*(FuncDef **)((int)&psVar6->u + 4));\n            if (pcVar15 != (char *)0x0) {\n              psVar6 = (sqlite3_value *)\n                       (*(code *)pMVar26[0x5135].szMalloc)(*(FuncDef **)((int)&psVar6->u + 4));\n              psVar20 = (sqlite3_value *)((int)&psVar6->u + 1);\n              uVar10 = (*(code *)pMVar26[0x5136].u.nZero)\n                                 ((uint)(psVar20 < psVar6) + ((int)psVar6 >> 0x1f));\n              psVar23->uTemp = uVar10;\n              if (uVar10 == 0) {\n                zPath = (sqlite3_value *)&DAT_00000007;\n              }\n              else {\n                (**(code **)((int)&pMVar26[0x5156].u + 4))\n                          (uVar10,pcVar15,(char *)((int)&psVar6->u + 1));\n                if (*pcVar15 != '$') {\n                  pcStack_f8 = pcVar15;\nLAB_000c4cdc:\n                  (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n                  sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x463c),\n                                  pcStack_f8);\n                }\n                psVar20 = (sqlite3_value *)0x0;\n                pFVar8 = (FuncDef *)\n                         jsonLookupStep((JsonParse *)pParse,0,(char *)(psVar23->uTemp + 1),\n                                        (int *)0x0,&pcStack_f8);\n                if (pcStack_f8 != (char *)0x0) goto LAB_000c4cdc;\n                if (pFVar8 != (FuncDef *)0x0) goto LAB_000c4aac;\n              }\n            }\n          }\n          else {\n            pFVar8 = psVar23[1].u.pDef;\nLAB_000c4aac:\n            pJVar7 = (JsonNode *)(((int)pFVar8 - (int)psVar23[1].u.nZero >> 2) * -0x55555555);\n            psVar23->n = (int)pJVar7;\n            *(JsonNode **)&psVar23->flags = pJVar7;\n            bVar2 = pFVar8->nArg;\n            *(byte *)&psVar23->zMalloc = bVar2;\n            if (bVar2 < 6) {\n              psVar23->z = (char *)&pJVar7->jnFlags;\n            }\n            else {\n              ((anon_union_4_5_9b08aacb_for_u *)&pFVar8->pUserData)->zJContent = (char *)0x0;\n              pcVar15 = (char *)psVar23->n;\n              psVar23->z = pcVar15 + 1 + pFVar8->funcFlags;\n              psVar20 = (sqlite3_value *)((int)pcVar15 * 4);\n              if (*(u8 *)((int)&psVar23->zMalloc + 1) == '\0') {\n                psVar23->n = (int)(pcVar15 + 1);\n              }\n              else {\n                pJVar7 = (JsonNode *)psVar23[1].u.nZero;\n                psVar20 = (sqlite3_value *)(*(u32 **)&psVar23[1].flags)[(int)pcVar15];\n                *(u8 *)&psVar23->zMalloc = pJVar7[(int)psVar20].eType;\n                if ((pcVar15 != (char *)0x0) && ((pJVar7[(int)(pcVar15 + -1)].jnFlags & 0x40) != 0))\n                {\n                  psVar23->n = (int)(pcVar15 + -1);\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (*(u8 *)&psVar23[1].n == '\0') {\n            (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n            sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x5060));\n          }\n          zPath = (sqlite3_value *)&DAT_00000007;\n          (*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))(psVar23);\n        }\n      }\n    }\n  }" { (expression_statement "iVar3 = (*pMVar26[0x5133].xDel)((Mem *)(psVar6->u).nZero);" (assignment_expression "iVar3 = (*pMVar26[0x5133].xDel)((Mem *)(psVar6->u).nZero)" identifier = (call_expression "(*pMVar26[0x5133].xDel)((Mem *)(psVar6->u).nZero)" (parenthesized_expression "(*pMVar26[0x5133].xDel)" ( (pointer_expression "*pMVar26[0x5133].xDel" * (field_expression "pMVar26[0x5133].xDel" (subscript_expression "pMVar26[0x5133]" identifier [ number_literal ]) . field_identifier)) )) (argument_list "((Mem *)(psVar6->u).nZero)" ( (cast_expression "(Mem *)(psVar6->u).nZero" ( (type_descriptor "Mem *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(psVar6->u).nZero" (parenthesized_expression "(psVar6->u)" ( (field_expression "psVar6->u" identifier -> field_identifier) )) . field_identifier)) )))) ;) (if_statement "if (iVar3 == 0) {\n      zPath = (sqlite3_value *)0x0;\n    }\n    else {\n      unaff_s3 = (sqlite3_value *)(*(code *)pMVar26[0x5135].szMalloc)((Mem *)(psVar6->u).nZero);\n      psVar20 = (sqlite3_value *)((int)&unaff_s3->u + 1);\n      iVar5 = (*(code *)pMVar26[0x5136].u.nZero)\n                        ((uint)(psVar20 < unaff_s3) + ((int)unaff_s3 >> 0x1f));\n      psVar23->szMalloc = iVar5;\n      if (iVar5 == 0) {\n        zPath = (sqlite3_value *)&DAT_00000007;\n      }\n      else {\n        (**(code **)((int)&pMVar26[0x5156].u + 4))(iVar5,iVar3,(char *)((int)&unaff_s3->u + 1));\n        pParse = &psVar23->db;\n        psVar20 = (sqlite3_value *)0x0;\n        unaff_s3 = (sqlite3_value *)\n                   jsonParse((JsonParse *)pParse,(sqlite3_context *)0x0,(char *)psVar23->szMalloc);\n        if (unaff_s3 == (sqlite3_value *)0x0) {\n          if (*(u8 *)((int)&psVar23->zMalloc + 1) != '\0') {\n            psVar20 = (sqlite3_value *)((int)psVar23->db << 2);\n            puVar9 = (u32 *)(*(code *)pMVar26[0x5136].u.nZero)(0);\n            *(u32 **)&psVar23[1].flags = puVar9;\n            if (puVar9 == (u32 *)0x0) {\n              *(u8 *)&psVar23[1].n = '\x01';\n              (*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))(psVar23);\n              zPath = (sqlite3_value *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            psVar20 = (sqlite3_value *)0x0;\n            (*(code *)(pMVar26[0x5142].n + 0x604))(pParse,0,0);\n          }\n          bVar1 = zPath == (sqlite3_value *)0x3;\n          zPath = (sqlite3_value *)0x0;\n          if (bVar1) {\n            pcStack_f8 = (char *)0x0;\n            pcVar15 = (char *)(*pMVar26[0x5133].xDel)(*(FuncDef **)((int)&psVar6->u + 4));\n            if (pcVar15 != (char *)0x0) {\n              psVar6 = (sqlite3_value *)\n                       (*(code *)pMVar26[0x5135].szMalloc)(*(FuncDef **)((int)&psVar6->u + 4));\n              psVar20 = (sqlite3_value *)((int)&psVar6->u + 1);\n              uVar10 = (*(code *)pMVar26[0x5136].u.nZero)\n                                 ((uint)(psVar20 < psVar6) + ((int)psVar6 >> 0x1f));\n              psVar23->uTemp = uVar10;\n              if (uVar10 == 0) {\n                zPath = (sqlite3_value *)&DAT_00000007;\n              }\n              else {\n                (**(code **)((int)&pMVar26[0x5156].u + 4))\n                          (uVar10,pcVar15,(char *)((int)&psVar6->u + 1));\n                if (*pcVar15 != '$') {\n                  pcStack_f8 = pcVar15;\nLAB_000c4cdc:\n                  (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n                  sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x463c),\n                                  pcStack_f8);\n                }\n                psVar20 = (sqlite3_value *)0x0;\n                pFVar8 = (FuncDef *)\n                         jsonLookupStep((JsonParse *)pParse,0,(char *)(psVar23->uTemp + 1),\n                                        (int *)0x0,&pcStack_f8);\n                if (pcStack_f8 != (char *)0x0) goto LAB_000c4cdc;\n                if (pFVar8 != (FuncDef *)0x0) goto LAB_000c4aac;\n              }\n            }\n          }\n          else {\n            pFVar8 = psVar23[1].u.pDef;\nLAB_000c4aac:\n            pJVar7 = (JsonNode *)(((int)pFVar8 - (int)psVar23[1].u.nZero >> 2) * -0x55555555);\n            psVar23->n = (int)pJVar7;\n            *(JsonNode **)&psVar23->flags = pJVar7;\n            bVar2 = pFVar8->nArg;\n            *(byte *)&psVar23->zMalloc = bVar2;\n            if (bVar2 < 6) {\n              psVar23->z = (char *)&pJVar7->jnFlags;\n            }\n            else {\n              ((anon_union_4_5_9b08aacb_for_u *)&pFVar8->pUserData)->zJContent = (char *)0x0;\n              pcVar15 = (char *)psVar23->n;\n              psVar23->z = pcVar15 + 1 + pFVar8->funcFlags;\n              psVar20 = (sqlite3_value *)((int)pcVar15 * 4);\n              if (*(u8 *)((int)&psVar23->zMalloc + 1) == '\0') {\n                psVar23->n = (int)(pcVar15 + 1);\n              }\n              else {\n                pJVar7 = (JsonNode *)psVar23[1].u.nZero;\n                psVar20 = (sqlite3_value *)(*(u32 **)&psVar23[1].flags)[(int)pcVar15];\n                *(u8 *)&psVar23->zMalloc = pJVar7[(int)psVar20].eType;\n                if ((pcVar15 != (char *)0x0) && ((pJVar7[(int)(pcVar15 + -1)].jnFlags & 0x40) != 0))\n                {\n                  psVar23->n = (int)(pcVar15 + -1);\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (*(u8 *)&psVar23[1].n == '\0') {\n            (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n            sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x5060));\n          }\n          zPath = (sqlite3_value *)&DAT_00000007;\n          (*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))(psVar23);\n        }\n      }\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      zPath = (sqlite3_value *)0x0;\n    }" { (expression_statement "zPath = (sqlite3_value *)0x0;" (assignment_expression "zPath = (sqlite3_value *)0x0" identifier = (cast_expression "(sqlite3_value *)0x0" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      unaff_s3 = (sqlite3_value *)(*(code *)pMVar26[0x5135].szMalloc)((Mem *)(psVar6->u).nZero);\n      psVar20 = (sqlite3_value *)((int)&unaff_s3->u + 1);\n      iVar5 = (*(code *)pMVar26[0x5136].u.nZero)\n                        ((uint)(psVar20 < unaff_s3) + ((int)unaff_s3 >> 0x1f));\n      psVar23->szMalloc = iVar5;\n      if (iVar5 == 0) {\n        zPath = (sqlite3_value *)&DAT_00000007;\n      }\n      else {\n        (**(code **)((int)&pMVar26[0x5156].u + 4))(iVar5,iVar3,(char *)((int)&unaff_s3->u + 1));\n        pParse = &psVar23->db;\n        psVar20 = (sqlite3_value *)0x0;\n        unaff_s3 = (sqlite3_value *)\n                   jsonParse((JsonParse *)pParse,(sqlite3_context *)0x0,(char *)psVar23->szMalloc);\n        if (unaff_s3 == (sqlite3_value *)0x0) {\n          if (*(u8 *)((int)&psVar23->zMalloc + 1) != '\0') {\n            psVar20 = (sqlite3_value *)((int)psVar23->db << 2);\n            puVar9 = (u32 *)(*(code *)pMVar26[0x5136].u.nZero)(0);\n            *(u32 **)&psVar23[1].flags = puVar9;\n            if (puVar9 == (u32 *)0x0) {\n              *(u8 *)&psVar23[1].n = '\x01';\n              (*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))(psVar23);\n              zPath = (sqlite3_value *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            psVar20 = (sqlite3_value *)0x0;\n            (*(code *)(pMVar26[0x5142].n + 0x604))(pParse,0,0);\n          }\n          bVar1 = zPath == (sqlite3_value *)0x3;\n          zPath = (sqlite3_value *)0x0;\n          if (bVar1) {\n            pcStack_f8 = (char *)0x0;\n            pcVar15 = (char *)(*pMVar26[0x5133].xDel)(*(FuncDef **)((int)&psVar6->u + 4));\n            if (pcVar15 != (char *)0x0) {\n              psVar6 = (sqlite3_value *)\n                       (*(code *)pMVar26[0x5135].szMalloc)(*(FuncDef **)((int)&psVar6->u + 4));\n              psVar20 = (sqlite3_value *)((int)&psVar6->u + 1);\n              uVar10 = (*(code *)pMVar26[0x5136].u.nZero)\n                                 ((uint)(psVar20 < psVar6) + ((int)psVar6 >> 0x1f));\n              psVar23->uTemp = uVar10;\n              if (uVar10 == 0) {\n                zPath = (sqlite3_value *)&DAT_00000007;\n              }\n              else {\n                (**(code **)((int)&pMVar26[0x5156].u + 4))\n                          (uVar10,pcVar15,(char *)((int)&psVar6->u + 1));\n                if (*pcVar15 != '$') {\n                  pcStack_f8 = pcVar15;\nLAB_000c4cdc:\n                  (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n                  sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x463c),\n                                  pcStack_f8);\n                }\n                psVar20 = (sqlite3_value *)0x0;\n                pFVar8 = (FuncDef *)\n                         jsonLookupStep((JsonParse *)pParse,0,(char *)(psVar23->uTemp + 1),\n                                        (int *)0x0,&pcStack_f8);\n                if (pcStack_f8 != (char *)0x0) goto LAB_000c4cdc;\n                if (pFVar8 != (FuncDef *)0x0) goto LAB_000c4aac;\n              }\n            }\n          }\n          else {\n            pFVar8 = psVar23[1].u.pDef;\nLAB_000c4aac:\n            pJVar7 = (JsonNode *)(((int)pFVar8 - (int)psVar23[1].u.nZero >> 2) * -0x55555555);\n            psVar23->n = (int)pJVar7;\n            *(JsonNode **)&psVar23->flags = pJVar7;\n            bVar2 = pFVar8->nArg;\n            *(byte *)&psVar23->zMalloc = bVar2;\n            if (bVar2 < 6) {\n              psVar23->z = (char *)&pJVar7->jnFlags;\n            }\n            else {\n              ((anon_union_4_5_9b08aacb_for_u *)&pFVar8->pUserData)->zJContent = (char *)0x0;\n              pcVar15 = (char *)psVar23->n;\n              psVar23->z = pcVar15 + 1 + pFVar8->funcFlags;\n              psVar20 = (sqlite3_value *)((int)pcVar15 * 4);\n              if (*(u8 *)((int)&psVar23->zMalloc + 1) == '\0') {\n                psVar23->n = (int)(pcVar15 + 1);\n              }\n              else {\n                pJVar7 = (JsonNode *)psVar23[1].u.nZero;\n                psVar20 = (sqlite3_value *)(*(u32 **)&psVar23[1].flags)[(int)pcVar15];\n                *(u8 *)&psVar23->zMalloc = pJVar7[(int)psVar20].eType;\n                if ((pcVar15 != (char *)0x0) && ((pJVar7[(int)(pcVar15 + -1)].jnFlags & 0x40) != 0))\n                {\n                  psVar23->n = (int)(pcVar15 + -1);\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (*(u8 *)&psVar23[1].n == '\0') {\n            (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n            sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x5060));\n          }\n          zPath = (sqlite3_value *)&DAT_00000007;\n          (*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))(psVar23);\n        }\n      }\n    }" else (compound_statement "{\n      unaff_s3 = (sqlite3_value *)(*(code *)pMVar26[0x5135].szMalloc)((Mem *)(psVar6->u).nZero);\n      psVar20 = (sqlite3_value *)((int)&unaff_s3->u + 1);\n      iVar5 = (*(code *)pMVar26[0x5136].u.nZero)\n                        ((uint)(psVar20 < unaff_s3) + ((int)unaff_s3 >> 0x1f));\n      psVar23->szMalloc = iVar5;\n      if (iVar5 == 0) {\n        zPath = (sqlite3_value *)&DAT_00000007;\n      }\n      else {\n        (**(code **)((int)&pMVar26[0x5156].u + 4))(iVar5,iVar3,(char *)((int)&unaff_s3->u + 1));\n        pParse = &psVar23->db;\n        psVar20 = (sqlite3_value *)0x0;\n        unaff_s3 = (sqlite3_value *)\n                   jsonParse((JsonParse *)pParse,(sqlite3_context *)0x0,(char *)psVar23->szMalloc);\n        if (unaff_s3 == (sqlite3_value *)0x0) {\n          if (*(u8 *)((int)&psVar23->zMalloc + 1) != '\0') {\n            psVar20 = (sqlite3_value *)((int)psVar23->db << 2);\n            puVar9 = (u32 *)(*(code *)pMVar26[0x5136].u.nZero)(0);\n            *(u32 **)&psVar23[1].flags = puVar9;\n            if (puVar9 == (u32 *)0x0) {\n              *(u8 *)&psVar23[1].n = '\x01';\n              (*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))(psVar23);\n              zPath = (sqlite3_value *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            psVar20 = (sqlite3_value *)0x0;\n            (*(code *)(pMVar26[0x5142].n + 0x604))(pParse,0,0);\n          }\n          bVar1 = zPath == (sqlite3_value *)0x3;\n          zPath = (sqlite3_value *)0x0;\n          if (bVar1) {\n            pcStack_f8 = (char *)0x0;\n            pcVar15 = (char *)(*pMVar26[0x5133].xDel)(*(FuncDef **)((int)&psVar6->u + 4));\n            if (pcVar15 != (char *)0x0) {\n              psVar6 = (sqlite3_value *)\n                       (*(code *)pMVar26[0x5135].szMalloc)(*(FuncDef **)((int)&psVar6->u + 4));\n              psVar20 = (sqlite3_value *)((int)&psVar6->u + 1);\n              uVar10 = (*(code *)pMVar26[0x5136].u.nZero)\n                                 ((uint)(psVar20 < psVar6) + ((int)psVar6 >> 0x1f));\n              psVar23->uTemp = uVar10;\n              if (uVar10 == 0) {\n                zPath = (sqlite3_value *)&DAT_00000007;\n              }\n              else {\n                (**(code **)((int)&pMVar26[0x5156].u + 4))\n                          (uVar10,pcVar15,(char *)((int)&psVar6->u + 1));\n                if (*pcVar15 != '$') {\n                  pcStack_f8 = pcVar15;\nLAB_000c4cdc:\n                  (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n                  sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x463c),\n                                  pcStack_f8);\n                }\n                psVar20 = (sqlite3_value *)0x0;\n                pFVar8 = (FuncDef *)\n                         jsonLookupStep((JsonParse *)pParse,0,(char *)(psVar23->uTemp + 1),\n                                        (int *)0x0,&pcStack_f8);\n                if (pcStack_f8 != (char *)0x0) goto LAB_000c4cdc;\n                if (pFVar8 != (FuncDef *)0x0) goto LAB_000c4aac;\n              }\n            }\n          }\n          else {\n            pFVar8 = psVar23[1].u.pDef;\nLAB_000c4aac:\n            pJVar7 = (JsonNode *)(((int)pFVar8 - (int)psVar23[1].u.nZero >> 2) * -0x55555555);\n            psVar23->n = (int)pJVar7;\n            *(JsonNode **)&psVar23->flags = pJVar7;\n            bVar2 = pFVar8->nArg;\n            *(byte *)&psVar23->zMalloc = bVar2;\n            if (bVar2 < 6) {\n              psVar23->z = (char *)&pJVar7->jnFlags;\n            }\n            else {\n              ((anon_union_4_5_9b08aacb_for_u *)&pFVar8->pUserData)->zJContent = (char *)0x0;\n              pcVar15 = (char *)psVar23->n;\n              psVar23->z = pcVar15 + 1 + pFVar8->funcFlags;\n              psVar20 = (sqlite3_value *)((int)pcVar15 * 4);\n              if (*(u8 *)((int)&psVar23->zMalloc + 1) == '\0') {\n                psVar23->n = (int)(pcVar15 + 1);\n              }\n              else {\n                pJVar7 = (JsonNode *)psVar23[1].u.nZero;\n                psVar20 = (sqlite3_value *)(*(u32 **)&psVar23[1].flags)[(int)pcVar15];\n                *(u8 *)&psVar23->zMalloc = pJVar7[(int)psVar20].eType;\n                if ((pcVar15 != (char *)0x0) && ((pJVar7[(int)(pcVar15 + -1)].jnFlags & 0x40) != 0))\n                {\n                  psVar23->n = (int)(pcVar15 + -1);\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (*(u8 *)&psVar23[1].n == '\0') {\n            (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n            sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x5060));\n          }\n          zPath = (sqlite3_value *)&DAT_00000007;\n          (*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))(psVar23);\n        }\n      }\n    }" { (expression_statement "unaff_s3 = (sqlite3_value *)(*(code *)pMVar26[0x5135].szMalloc)((Mem *)(psVar6->u).nZero);" (assignment_expression "unaff_s3 = (sqlite3_value *)(*(code *)pMVar26[0x5135].szMalloc)((Mem *)(psVar6->u).nZero)" identifier = (cast_expression "(sqlite3_value *)(*(code *)pMVar26[0x5135].szMalloc)((Mem *)(psVar6->u).nZero)" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)pMVar26[0x5135].szMalloc)((Mem *)(psVar6->u).nZero)" (parenthesized_expression "(*(code *)pMVar26[0x5135].szMalloc)" ( (pointer_expression "*(code *)pMVar26[0x5135].szMalloc" * (cast_expression "(code *)pMVar26[0x5135].szMalloc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pMVar26[0x5135].szMalloc" (subscript_expression "pMVar26[0x5135]" identifier [ number_literal ]) . field_identifier))) )) (argument_list "((Mem *)(psVar6->u).nZero)" ( (cast_expression "(Mem *)(psVar6->u).nZero" ( (type_descriptor "Mem *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(psVar6->u).nZero" (parenthesized_expression "(psVar6->u)" ( (field_expression "psVar6->u" identifier -> field_identifier) )) . field_identifier)) ))))) ;) (expression_statement "psVar20 = (sqlite3_value *)((int)&unaff_s3->u + 1);" (assignment_expression "psVar20 = (sqlite3_value *)((int)&unaff_s3->u + 1)" identifier = (cast_expression "(sqlite3_value *)((int)&unaff_s3->u + 1)" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&unaff_s3->u + 1)" ( (binary_expression "(int)&unaff_s3->u + 1" (cast_expression "(int)&unaff_s3->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_s3->u" & (field_expression "unaff_s3->u" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "iVar5 = (*(code *)pMVar26[0x5136].u.nZero)\n                        ((uint)(psVar20 < unaff_s3) + ((int)unaff_s3 >> 0x1f));" (assignment_expression "iVar5 = (*(code *)pMVar26[0x5136].u.nZero)\n                        ((uint)(psVar20 < unaff_s3) + ((int)unaff_s3 >> 0x1f))" identifier = (call_expression "(*(code *)pMVar26[0x5136].u.nZero)\n                        ((uint)(psVar20 < unaff_s3) + ((int)unaff_s3 >> 0x1f))" (parenthesized_expression "(*(code *)pMVar26[0x5136].u.nZero)" ( (pointer_expression "*(code *)pMVar26[0x5136].u.nZero" * (cast_expression "(code *)pMVar26[0x5136].u.nZero" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pMVar26[0x5136].u.nZero" (field_expression "pMVar26[0x5136].u" (subscript_expression "pMVar26[0x5136]" identifier [ number_literal ]) . field_identifier) . field_identifier))) )) (argument_list "((uint)(psVar20 < unaff_s3) + ((int)unaff_s3 >> 0x1f))" ( (binary_expression "(uint)(psVar20 < unaff_s3) + ((int)unaff_s3 >> 0x1f)" (call_expression "(uint)(psVar20 < unaff_s3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(psVar20 < unaff_s3)" ( (binary_expression "psVar20 < unaff_s3" identifier < identifier) ))) + (parenthesized_expression "((int)unaff_s3 >> 0x1f)" ( (binary_expression "(int)unaff_s3 >> 0x1f" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )))) ;) (expression_statement "psVar23->szMalloc = iVar5;" (assignment_expression "psVar23->szMalloc = iVar5" (field_expression "psVar23->szMalloc" identifier -> field_identifier) = identifier) ;) (if_statement "if (iVar5 == 0) {\n        zPath = (sqlite3_value *)&DAT_00000007;\n      }\n      else {\n        (**(code **)((int)&pMVar26[0x5156].u + 4))(iVar5,iVar3,(char *)((int)&unaff_s3->u + 1));\n        pParse = &psVar23->db;\n        psVar20 = (sqlite3_value *)0x0;\n        unaff_s3 = (sqlite3_value *)\n                   jsonParse((JsonParse *)pParse,(sqlite3_context *)0x0,(char *)psVar23->szMalloc);\n        if (unaff_s3 == (sqlite3_value *)0x0) {\n          if (*(u8 *)((int)&psVar23->zMalloc + 1) != '\0') {\n            psVar20 = (sqlite3_value *)((int)psVar23->db << 2);\n            puVar9 = (u32 *)(*(code *)pMVar26[0x5136].u.nZero)(0);\n            *(u32 **)&psVar23[1].flags = puVar9;\n            if (puVar9 == (u32 *)0x0) {\n              *(u8 *)&psVar23[1].n = '\x01';\n              (*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))(psVar23);\n              zPath = (sqlite3_value *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            psVar20 = (sqlite3_value *)0x0;\n            (*(code *)(pMVar26[0x5142].n + 0x604))(pParse,0,0);\n          }\n          bVar1 = zPath == (sqlite3_value *)0x3;\n          zPath = (sqlite3_value *)0x0;\n          if (bVar1) {\n            pcStack_f8 = (char *)0x0;\n            pcVar15 = (char *)(*pMVar26[0x5133].xDel)(*(FuncDef **)((int)&psVar6->u + 4));\n            if (pcVar15 != (char *)0x0) {\n              psVar6 = (sqlite3_value *)\n                       (*(code *)pMVar26[0x5135].szMalloc)(*(FuncDef **)((int)&psVar6->u + 4));\n              psVar20 = (sqlite3_value *)((int)&psVar6->u + 1);\n              uVar10 = (*(code *)pMVar26[0x5136].u.nZero)\n                                 ((uint)(psVar20 < psVar6) + ((int)psVar6 >> 0x1f));\n              psVar23->uTemp = uVar10;\n              if (uVar10 == 0) {\n                zPath = (sqlite3_value *)&DAT_00000007;\n              }\n              else {\n                (**(code **)((int)&pMVar26[0x5156].u + 4))\n                          (uVar10,pcVar15,(char *)((int)&psVar6->u + 1));\n                if (*pcVar15 != '$') {\n                  pcStack_f8 = pcVar15;\nLAB_000c4cdc:\n                  (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n                  sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x463c),\n                                  pcStack_f8);\n                }\n                psVar20 = (sqlite3_value *)0x0;\n                pFVar8 = (FuncDef *)\n                         jsonLookupStep((JsonParse *)pParse,0,(char *)(psVar23->uTemp + 1),\n                                        (int *)0x0,&pcStack_f8);\n                if (pcStack_f8 != (char *)0x0) goto LAB_000c4cdc;\n                if (pFVar8 != (FuncDef *)0x0) goto LAB_000c4aac;\n              }\n            }\n          }\n          else {\n            pFVar8 = psVar23[1].u.pDef;\nLAB_000c4aac:\n            pJVar7 = (JsonNode *)(((int)pFVar8 - (int)psVar23[1].u.nZero >> 2) * -0x55555555);\n            psVar23->n = (int)pJVar7;\n            *(JsonNode **)&psVar23->flags = pJVar7;\n            bVar2 = pFVar8->nArg;\n            *(byte *)&psVar23->zMalloc = bVar2;\n            if (bVar2 < 6) {\n              psVar23->z = (char *)&pJVar7->jnFlags;\n            }\n            else {\n              ((anon_union_4_5_9b08aacb_for_u *)&pFVar8->pUserData)->zJContent = (char *)0x0;\n              pcVar15 = (char *)psVar23->n;\n              psVar23->z = pcVar15 + 1 + pFVar8->funcFlags;\n              psVar20 = (sqlite3_value *)((int)pcVar15 * 4);\n              if (*(u8 *)((int)&psVar23->zMalloc + 1) == '\0') {\n                psVar23->n = (int)(pcVar15 + 1);\n              }\n              else {\n                pJVar7 = (JsonNode *)psVar23[1].u.nZero;\n                psVar20 = (sqlite3_value *)(*(u32 **)&psVar23[1].flags)[(int)pcVar15];\n                *(u8 *)&psVar23->zMalloc = pJVar7[(int)psVar20].eType;\n                if ((pcVar15 != (char *)0x0) && ((pJVar7[(int)(pcVar15 + -1)].jnFlags & 0x40) != 0))\n                {\n                  psVar23->n = (int)(pcVar15 + -1);\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (*(u8 *)&psVar23[1].n == '\0') {\n            (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n            sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x5060));\n          }\n          zPath = (sqlite3_value *)&DAT_00000007;\n          (*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))(psVar23);\n        }\n      }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n        zPath = (sqlite3_value *)&DAT_00000007;\n      }" { (expression_statement "zPath = (sqlite3_value *)&DAT_00000007;" (assignment_expression "zPath = (sqlite3_value *)&DAT_00000007" identifier = (cast_expression "(sqlite3_value *)&DAT_00000007" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) }) (else_clause "else {\n        (**(code **)((int)&pMVar26[0x5156].u + 4))(iVar5,iVar3,(char *)((int)&unaff_s3->u + 1));\n        pParse = &psVar23->db;\n        psVar20 = (sqlite3_value *)0x0;\n        unaff_s3 = (sqlite3_value *)\n                   jsonParse((JsonParse *)pParse,(sqlite3_context *)0x0,(char *)psVar23->szMalloc);\n        if (unaff_s3 == (sqlite3_value *)0x0) {\n          if (*(u8 *)((int)&psVar23->zMalloc + 1) != '\0') {\n            psVar20 = (sqlite3_value *)((int)psVar23->db << 2);\n            puVar9 = (u32 *)(*(code *)pMVar26[0x5136].u.nZero)(0);\n            *(u32 **)&psVar23[1].flags = puVar9;\n            if (puVar9 == (u32 *)0x0) {\n              *(u8 *)&psVar23[1].n = '\x01';\n              (*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))(psVar23);\n              zPath = (sqlite3_value *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            psVar20 = (sqlite3_value *)0x0;\n            (*(code *)(pMVar26[0x5142].n + 0x604))(pParse,0,0);\n          }\n          bVar1 = zPath == (sqlite3_value *)0x3;\n          zPath = (sqlite3_value *)0x0;\n          if (bVar1) {\n            pcStack_f8 = (char *)0x0;\n            pcVar15 = (char *)(*pMVar26[0x5133].xDel)(*(FuncDef **)((int)&psVar6->u + 4));\n            if (pcVar15 != (char *)0x0) {\n              psVar6 = (sqlite3_value *)\n                       (*(code *)pMVar26[0x5135].szMalloc)(*(FuncDef **)((int)&psVar6->u + 4));\n              psVar20 = (sqlite3_value *)((int)&psVar6->u + 1);\n              uVar10 = (*(code *)pMVar26[0x5136].u.nZero)\n                                 ((uint)(psVar20 < psVar6) + ((int)psVar6 >> 0x1f));\n              psVar23->uTemp = uVar10;\n              if (uVar10 == 0) {\n                zPath = (sqlite3_value *)&DAT_00000007;\n              }\n              else {\n                (**(code **)((int)&pMVar26[0x5156].u + 4))\n                          (uVar10,pcVar15,(char *)((int)&psVar6->u + 1));\n                if (*pcVar15 != '$') {\n                  pcStack_f8 = pcVar15;\nLAB_000c4cdc:\n                  (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n                  sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x463c),\n                                  pcStack_f8);\n                }\n                psVar20 = (sqlite3_value *)0x0;\n                pFVar8 = (FuncDef *)\n                         jsonLookupStep((JsonParse *)pParse,0,(char *)(psVar23->uTemp + 1),\n                                        (int *)0x0,&pcStack_f8);\n                if (pcStack_f8 != (char *)0x0) goto LAB_000c4cdc;\n                if (pFVar8 != (FuncDef *)0x0) goto LAB_000c4aac;\n              }\n            }\n          }\n          else {\n            pFVar8 = psVar23[1].u.pDef;\nLAB_000c4aac:\n            pJVar7 = (JsonNode *)(((int)pFVar8 - (int)psVar23[1].u.nZero >> 2) * -0x55555555);\n            psVar23->n = (int)pJVar7;\n            *(JsonNode **)&psVar23->flags = pJVar7;\n            bVar2 = pFVar8->nArg;\n            *(byte *)&psVar23->zMalloc = bVar2;\n            if (bVar2 < 6) {\n              psVar23->z = (char *)&pJVar7->jnFlags;\n            }\n            else {\n              ((anon_union_4_5_9b08aacb_for_u *)&pFVar8->pUserData)->zJContent = (char *)0x0;\n              pcVar15 = (char *)psVar23->n;\n              psVar23->z = pcVar15 + 1 + pFVar8->funcFlags;\n              psVar20 = (sqlite3_value *)((int)pcVar15 * 4);\n              if (*(u8 *)((int)&psVar23->zMalloc + 1) == '\0') {\n                psVar23->n = (int)(pcVar15 + 1);\n              }\n              else {\n                pJVar7 = (JsonNode *)psVar23[1].u.nZero;\n                psVar20 = (sqlite3_value *)(*(u32 **)&psVar23[1].flags)[(int)pcVar15];\n                *(u8 *)&psVar23->zMalloc = pJVar7[(int)psVar20].eType;\n                if ((pcVar15 != (char *)0x0) && ((pJVar7[(int)(pcVar15 + -1)].jnFlags & 0x40) != 0))\n                {\n                  psVar23->n = (int)(pcVar15 + -1);\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (*(u8 *)&psVar23[1].n == '\0') {\n            (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n            sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x5060));\n          }\n          zPath = (sqlite3_value *)&DAT_00000007;\n          (*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))(psVar23);\n        }\n      }" else (compound_statement "{\n        (**(code **)((int)&pMVar26[0x5156].u + 4))(iVar5,iVar3,(char *)((int)&unaff_s3->u + 1));\n        pParse = &psVar23->db;\n        psVar20 = (sqlite3_value *)0x0;\n        unaff_s3 = (sqlite3_value *)\n                   jsonParse((JsonParse *)pParse,(sqlite3_context *)0x0,(char *)psVar23->szMalloc);\n        if (unaff_s3 == (sqlite3_value *)0x0) {\n          if (*(u8 *)((int)&psVar23->zMalloc + 1) != '\0') {\n            psVar20 = (sqlite3_value *)((int)psVar23->db << 2);\n            puVar9 = (u32 *)(*(code *)pMVar26[0x5136].u.nZero)(0);\n            *(u32 **)&psVar23[1].flags = puVar9;\n            if (puVar9 == (u32 *)0x0) {\n              *(u8 *)&psVar23[1].n = '\x01';\n              (*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))(psVar23);\n              zPath = (sqlite3_value *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            psVar20 = (sqlite3_value *)0x0;\n            (*(code *)(pMVar26[0x5142].n + 0x604))(pParse,0,0);\n          }\n          bVar1 = zPath == (sqlite3_value *)0x3;\n          zPath = (sqlite3_value *)0x0;\n          if (bVar1) {\n            pcStack_f8 = (char *)0x0;\n            pcVar15 = (char *)(*pMVar26[0x5133].xDel)(*(FuncDef **)((int)&psVar6->u + 4));\n            if (pcVar15 != (char *)0x0) {\n              psVar6 = (sqlite3_value *)\n                       (*(code *)pMVar26[0x5135].szMalloc)(*(FuncDef **)((int)&psVar6->u + 4));\n              psVar20 = (sqlite3_value *)((int)&psVar6->u + 1);\n              uVar10 = (*(code *)pMVar26[0x5136].u.nZero)\n                                 ((uint)(psVar20 < psVar6) + ((int)psVar6 >> 0x1f));\n              psVar23->uTemp = uVar10;\n              if (uVar10 == 0) {\n                zPath = (sqlite3_value *)&DAT_00000007;\n              }\n              else {\n                (**(code **)((int)&pMVar26[0x5156].u + 4))\n                          (uVar10,pcVar15,(char *)((int)&psVar6->u + 1));\n                if (*pcVar15 != '$') {\n                  pcStack_f8 = pcVar15;\nLAB_000c4cdc:\n                  (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n                  sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x463c),\n                                  pcStack_f8);\n                }\n                psVar20 = (sqlite3_value *)0x0;\n                pFVar8 = (FuncDef *)\n                         jsonLookupStep((JsonParse *)pParse,0,(char *)(psVar23->uTemp + 1),\n                                        (int *)0x0,&pcStack_f8);\n                if (pcStack_f8 != (char *)0x0) goto LAB_000c4cdc;\n                if (pFVar8 != (FuncDef *)0x0) goto LAB_000c4aac;\n              }\n            }\n          }\n          else {\n            pFVar8 = psVar23[1].u.pDef;\nLAB_000c4aac:\n            pJVar7 = (JsonNode *)(((int)pFVar8 - (int)psVar23[1].u.nZero >> 2) * -0x55555555);\n            psVar23->n = (int)pJVar7;\n            *(JsonNode **)&psVar23->flags = pJVar7;\n            bVar2 = pFVar8->nArg;\n            *(byte *)&psVar23->zMalloc = bVar2;\n            if (bVar2 < 6) {\n              psVar23->z = (char *)&pJVar7->jnFlags;\n            }\n            else {\n              ((anon_union_4_5_9b08aacb_for_u *)&pFVar8->pUserData)->zJContent = (char *)0x0;\n              pcVar15 = (char *)psVar23->n;\n              psVar23->z = pcVar15 + 1 + pFVar8->funcFlags;\n              psVar20 = (sqlite3_value *)((int)pcVar15 * 4);\n              if (*(u8 *)((int)&psVar23->zMalloc + 1) == '\0') {\n                psVar23->n = (int)(pcVar15 + 1);\n              }\n              else {\n                pJVar7 = (JsonNode *)psVar23[1].u.nZero;\n                psVar20 = (sqlite3_value *)(*(u32 **)&psVar23[1].flags)[(int)pcVar15];\n                *(u8 *)&psVar23->zMalloc = pJVar7[(int)psVar20].eType;\n                if ((pcVar15 != (char *)0x0) && ((pJVar7[(int)(pcVar15 + -1)].jnFlags & 0x40) != 0))\n                {\n                  psVar23->n = (int)(pcVar15 + -1);\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (*(u8 *)&psVar23[1].n == '\0') {\n            (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n            sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x5060));\n          }\n          zPath = (sqlite3_value *)&DAT_00000007;\n          (*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))(psVar23);\n        }\n      }" { (expression_statement "(**(code **)((int)&pMVar26[0x5156].u + 4))(iVar5,iVar3,(char *)((int)&unaff_s3->u + 1));" (call_expression "(**(code **)((int)&pMVar26[0x5156].u + 4))(iVar5,iVar3,(char *)((int)&unaff_s3->u + 1))" (parenthesized_expression "(**(code **)((int)&pMVar26[0x5156].u + 4))" ( (pointer_expression "**(code **)((int)&pMVar26[0x5156].u + 4)" * (pointer_expression "*(code **)((int)&pMVar26[0x5156].u + 4)" * (cast_expression "(code **)((int)&pMVar26[0x5156].u + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&pMVar26[0x5156].u + 4)" ( (binary_expression "(int)&pMVar26[0x5156].u + 4" (cast_expression "(int)&pMVar26[0x5156].u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pMVar26[0x5156].u" & (field_expression "pMVar26[0x5156].u" (subscript_expression "pMVar26[0x5156]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))))) )) (argument_list "(iVar5,iVar3,(char *)((int)&unaff_s3->u + 1))" ( identifier , identifier , (cast_expression "(char *)((int)&unaff_s3->u + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&unaff_s3->u + 1)" ( (binary_expression "(int)&unaff_s3->u + 1" (cast_expression "(int)&unaff_s3->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_s3->u" & (field_expression "unaff_s3->u" identifier -> field_identifier))) + number_literal) ))) ))) ;) (expression_statement "pParse = &psVar23->db;" (assignment_expression "pParse = &psVar23->db" identifier = (pointer_expression "&psVar23->db" & (field_expression "psVar23->db" identifier -> field_identifier))) ;) (expression_statement "psVar20 = (sqlite3_value *)0x0;" (assignment_expression "psVar20 = (sqlite3_value *)0x0" identifier = (cast_expression "(sqlite3_value *)0x0" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s3 = (sqlite3_value *)\n                   jsonParse((JsonParse *)pParse,(sqlite3_context *)0x0,(char *)psVar23->szMalloc);" (assignment_expression "unaff_s3 = (sqlite3_value *)\n                   jsonParse((JsonParse *)pParse,(sqlite3_context *)0x0,(char *)psVar23->szMalloc)" identifier = (cast_expression "(sqlite3_value *)\n                   jsonParse((JsonParse *)pParse,(sqlite3_context *)0x0,(char *)psVar23->szMalloc)" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "jsonParse((JsonParse *)pParse,(sqlite3_context *)0x0,(char *)psVar23->szMalloc)" identifier (argument_list "((JsonParse *)pParse,(sqlite3_context *)0x0,(char *)psVar23->szMalloc)" ( (cast_expression "(JsonParse *)pParse" ( (type_descriptor "JsonParse *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(sqlite3_context *)0x0" ( (type_descriptor "sqlite3_context *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(char *)psVar23->szMalloc" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "psVar23->szMalloc" identifier -> field_identifier)) ))))) ;) (if_statement "if (unaff_s3 == (sqlite3_value *)0x0) {\n          if (*(u8 *)((int)&psVar23->zMalloc + 1) != '\0') {\n            psVar20 = (sqlite3_value *)((int)psVar23->db << 2);\n            puVar9 = (u32 *)(*(code *)pMVar26[0x5136].u.nZero)(0);\n            *(u32 **)&psVar23[1].flags = puVar9;\n            if (puVar9 == (u32 *)0x0) {\n              *(u8 *)&psVar23[1].n = '\x01';\n              (*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))(psVar23);\n              zPath = (sqlite3_value *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            psVar20 = (sqlite3_value *)0x0;\n            (*(code *)(pMVar26[0x5142].n + 0x604))(pParse,0,0);\n          }\n          bVar1 = zPath == (sqlite3_value *)0x3;\n          zPath = (sqlite3_value *)0x0;\n          if (bVar1) {\n            pcStack_f8 = (char *)0x0;\n            pcVar15 = (char *)(*pMVar26[0x5133].xDel)(*(FuncDef **)((int)&psVar6->u + 4));\n            if (pcVar15 != (char *)0x0) {\n              psVar6 = (sqlite3_value *)\n                       (*(code *)pMVar26[0x5135].szMalloc)(*(FuncDef **)((int)&psVar6->u + 4));\n              psVar20 = (sqlite3_value *)((int)&psVar6->u + 1);\n              uVar10 = (*(code *)pMVar26[0x5136].u.nZero)\n                                 ((uint)(psVar20 < psVar6) + ((int)psVar6 >> 0x1f));\n              psVar23->uTemp = uVar10;\n              if (uVar10 == 0) {\n                zPath = (sqlite3_value *)&DAT_00000007;\n              }\n              else {\n                (**(code **)((int)&pMVar26[0x5156].u + 4))\n                          (uVar10,pcVar15,(char *)((int)&psVar6->u + 1));\n                if (*pcVar15 != '$') {\n                  pcStack_f8 = pcVar15;\nLAB_000c4cdc:\n                  (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n                  sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x463c),\n                                  pcStack_f8);\n                }\n                psVar20 = (sqlite3_value *)0x0;\n                pFVar8 = (FuncDef *)\n                         jsonLookupStep((JsonParse *)pParse,0,(char *)(psVar23->uTemp + 1),\n                                        (int *)0x0,&pcStack_f8);\n                if (pcStack_f8 != (char *)0x0) goto LAB_000c4cdc;\n                if (pFVar8 != (FuncDef *)0x0) goto LAB_000c4aac;\n              }\n            }\n          }\n          else {\n            pFVar8 = psVar23[1].u.pDef;\nLAB_000c4aac:\n            pJVar7 = (JsonNode *)(((int)pFVar8 - (int)psVar23[1].u.nZero >> 2) * -0x55555555);\n            psVar23->n = (int)pJVar7;\n            *(JsonNode **)&psVar23->flags = pJVar7;\n            bVar2 = pFVar8->nArg;\n            *(byte *)&psVar23->zMalloc = bVar2;\n            if (bVar2 < 6) {\n              psVar23->z = (char *)&pJVar7->jnFlags;\n            }\n            else {\n              ((anon_union_4_5_9b08aacb_for_u *)&pFVar8->pUserData)->zJContent = (char *)0x0;\n              pcVar15 = (char *)psVar23->n;\n              psVar23->z = pcVar15 + 1 + pFVar8->funcFlags;\n              psVar20 = (sqlite3_value *)((int)pcVar15 * 4);\n              if (*(u8 *)((int)&psVar23->zMalloc + 1) == '\0') {\n                psVar23->n = (int)(pcVar15 + 1);\n              }\n              else {\n                pJVar7 = (JsonNode *)psVar23[1].u.nZero;\n                psVar20 = (sqlite3_value *)(*(u32 **)&psVar23[1].flags)[(int)pcVar15];\n                *(u8 *)&psVar23->zMalloc = pJVar7[(int)psVar20].eType;\n                if ((pcVar15 != (char *)0x0) && ((pJVar7[(int)(pcVar15 + -1)].jnFlags & 0x40) != 0))\n                {\n                  psVar23->n = (int)(pcVar15 + -1);\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (*(u8 *)&psVar23[1].n == '\0') {\n            (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n            sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x5060));\n          }\n          zPath = (sqlite3_value *)&DAT_00000007;\n          (*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))(psVar23);\n        }" if (parenthesized_expression "(unaff_s3 == (sqlite3_value *)0x0)" ( (binary_expression "unaff_s3 == (sqlite3_value *)0x0" identifier == (cast_expression "(sqlite3_value *)0x0" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (*(u8 *)((int)&psVar23->zMalloc + 1) != '\0') {\n            psVar20 = (sqlite3_value *)((int)psVar23->db << 2);\n            puVar9 = (u32 *)(*(code *)pMVar26[0x5136].u.nZero)(0);\n            *(u32 **)&psVar23[1].flags = puVar9;\n            if (puVar9 == (u32 *)0x0) {\n              *(u8 *)&psVar23[1].n = '\x01';\n              (*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))(psVar23);\n              zPath = (sqlite3_value *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            psVar20 = (sqlite3_value *)0x0;\n            (*(code *)(pMVar26[0x5142].n + 0x604))(pParse,0,0);\n          }\n          bVar1 = zPath == (sqlite3_value *)0x3;\n          zPath = (sqlite3_value *)0x0;\n          if (bVar1) {\n            pcStack_f8 = (char *)0x0;\n            pcVar15 = (char *)(*pMVar26[0x5133].xDel)(*(FuncDef **)((int)&psVar6->u + 4));\n            if (pcVar15 != (char *)0x0) {\n              psVar6 = (sqlite3_value *)\n                       (*(code *)pMVar26[0x5135].szMalloc)(*(FuncDef **)((int)&psVar6->u + 4));\n              psVar20 = (sqlite3_value *)((int)&psVar6->u + 1);\n              uVar10 = (*(code *)pMVar26[0x5136].u.nZero)\n                                 ((uint)(psVar20 < psVar6) + ((int)psVar6 >> 0x1f));\n              psVar23->uTemp = uVar10;\n              if (uVar10 == 0) {\n                zPath = (sqlite3_value *)&DAT_00000007;\n              }\n              else {\n                (**(code **)((int)&pMVar26[0x5156].u + 4))\n                          (uVar10,pcVar15,(char *)((int)&psVar6->u + 1));\n                if (*pcVar15 != '$') {\n                  pcStack_f8 = pcVar15;\nLAB_000c4cdc:\n                  (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n                  sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x463c),\n                                  pcStack_f8);\n                }\n                psVar20 = (sqlite3_value *)0x0;\n                pFVar8 = (FuncDef *)\n                         jsonLookupStep((JsonParse *)pParse,0,(char *)(psVar23->uTemp + 1),\n                                        (int *)0x0,&pcStack_f8);\n                if (pcStack_f8 != (char *)0x0) goto LAB_000c4cdc;\n                if (pFVar8 != (FuncDef *)0x0) goto LAB_000c4aac;\n              }\n            }\n          }\n          else {\n            pFVar8 = psVar23[1].u.pDef;\nLAB_000c4aac:\n            pJVar7 = (JsonNode *)(((int)pFVar8 - (int)psVar23[1].u.nZero >> 2) * -0x55555555);\n            psVar23->n = (int)pJVar7;\n            *(JsonNode **)&psVar23->flags = pJVar7;\n            bVar2 = pFVar8->nArg;\n            *(byte *)&psVar23->zMalloc = bVar2;\n            if (bVar2 < 6) {\n              psVar23->z = (char *)&pJVar7->jnFlags;\n            }\n            else {\n              ((anon_union_4_5_9b08aacb_for_u *)&pFVar8->pUserData)->zJContent = (char *)0x0;\n              pcVar15 = (char *)psVar23->n;\n              psVar23->z = pcVar15 + 1 + pFVar8->funcFlags;\n              psVar20 = (sqlite3_value *)((int)pcVar15 * 4);\n              if (*(u8 *)((int)&psVar23->zMalloc + 1) == '\0') {\n                psVar23->n = (int)(pcVar15 + 1);\n              }\n              else {\n                pJVar7 = (JsonNode *)psVar23[1].u.nZero;\n                psVar20 = (sqlite3_value *)(*(u32 **)&psVar23[1].flags)[(int)pcVar15];\n                *(u8 *)&psVar23->zMalloc = pJVar7[(int)psVar20].eType;\n                if ((pcVar15 != (char *)0x0) && ((pJVar7[(int)(pcVar15 + -1)].jnFlags & 0x40) != 0))\n                {\n                  psVar23->n = (int)(pcVar15 + -1);\n                }\n              }\n            }\n          }\n        }" { (if_statement "if (*(u8 *)((int)&psVar23->zMalloc + 1) != '\0') {\n            psVar20 = (sqlite3_value *)((int)psVar23->db << 2);\n            puVar9 = (u32 *)(*(code *)pMVar26[0x5136].u.nZero)(0);\n            *(u32 **)&psVar23[1].flags = puVar9;\n            if (puVar9 == (u32 *)0x0) {\n              *(u8 *)&psVar23[1].n = '\x01';\n              (*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))(psVar23);\n              zPath = (sqlite3_value *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            psVar20 = (sqlite3_value *)0x0;\n            (*(code *)(pMVar26[0x5142].n + 0x604))(pParse,0,0);\n          }" if (parenthesized_expression "(*(u8 *)((int)&psVar23->zMalloc + 1) != '\0')" ( (binary_expression "*(u8 *)((int)&psVar23->zMalloc + 1) != '\0'" (pointer_expression "*(u8 *)((int)&psVar23->zMalloc + 1)" * (cast_expression "(u8 *)((int)&psVar23->zMalloc + 1)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar23->zMalloc + 1)" ( (binary_expression "(int)&psVar23->zMalloc + 1" (cast_expression "(int)&psVar23->zMalloc" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar23->zMalloc" & (field_expression "psVar23->zMalloc" identifier -> field_identifier))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            psVar20 = (sqlite3_value *)((int)psVar23->db << 2);\n            puVar9 = (u32 *)(*(code *)pMVar26[0x5136].u.nZero)(0);\n            *(u32 **)&psVar23[1].flags = puVar9;\n            if (puVar9 == (u32 *)0x0) {\n              *(u8 *)&psVar23[1].n = '\x01';\n              (*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))(psVar23);\n              zPath = (sqlite3_value *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            psVar20 = (sqlite3_value *)0x0;\n            (*(code *)(pMVar26[0x5142].n + 0x604))(pParse,0,0);\n          }" { (expression_statement "psVar20 = (sqlite3_value *)((int)psVar23->db << 2);" (assignment_expression "psVar20 = (sqlite3_value *)((int)psVar23->db << 2)" identifier = (cast_expression "(sqlite3_value *)((int)psVar23->db << 2)" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar23->db << 2)" ( (binary_expression "(int)psVar23->db << 2" (cast_expression "(int)psVar23->db" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar23->db" identifier -> field_identifier)) << number_literal) )))) ;) (expression_statement "puVar9 = (u32 *)(*(code *)pMVar26[0x5136].u.nZero)(0);" (assignment_expression "puVar9 = (u32 *)(*(code *)pMVar26[0x5136].u.nZero)(0)" identifier = (cast_expression "(u32 *)(*(code *)pMVar26[0x5136].u.nZero)(0)" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)pMVar26[0x5136].u.nZero)(0)" (parenthesized_expression "(*(code *)pMVar26[0x5136].u.nZero)" ( (pointer_expression "*(code *)pMVar26[0x5136].u.nZero" * (cast_expression "(code *)pMVar26[0x5136].u.nZero" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pMVar26[0x5136].u.nZero" (field_expression "pMVar26[0x5136].u" (subscript_expression "pMVar26[0x5136]" identifier [ number_literal ]) . field_identifier) . field_identifier))) )) (argument_list "(0)" ( number_literal ))))) ;) (expression_statement "*(u32 **)&psVar23[1].flags = puVar9;" (assignment_expression "*(u32 **)&psVar23[1].flags = puVar9" (pointer_expression "*(u32 **)&psVar23[1].flags" * (cast_expression "(u32 **)&psVar23[1].flags" ( (type_descriptor "u32 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&psVar23[1].flags" & (field_expression "psVar23[1].flags" (subscript_expression "psVar23[1]" identifier [ number_literal ]) . field_identifier)))) = identifier) ;) (if_statement "if (puVar9 == (u32 *)0x0) {\n              *(u8 *)&psVar23[1].n = '\x01';\n              (*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))(psVar23);\n              zPath = (sqlite3_value *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }" if (parenthesized_expression "(puVar9 == (u32 *)0x0)" ( (binary_expression "puVar9 == (u32 *)0x0" identifier == (cast_expression "(u32 *)0x0" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              *(u8 *)&psVar23[1].n = '\x01';\n              (*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))(psVar23);\n              zPath = (sqlite3_value *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }" { (expression_statement "*(u8 *)&psVar23[1].n = '\x01';" (assignment_expression "*(u8 *)&psVar23[1].n = '\x01'" (pointer_expression "*(u8 *)&psVar23[1].n" * (cast_expression "(u8 *)&psVar23[1].n" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar23[1].n" & (field_expression "psVar23[1].n" (subscript_expression "psVar23[1]" identifier [ number_literal ]) . field_identifier)))) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "(*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))(psVar23);" (call_expression "(*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))(psVar23)" (parenthesized_expression "(*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))" ( (pointer_expression "*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c)" * (cast_expression "(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c)" ( (binary_expression "*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c" (pointer_expression "*(int *)((int)&pMVar26[0x5144].u + 4)" * (cast_expression "(int *)((int)&pMVar26[0x5144].u + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pMVar26[0x5144].u + 4)" ( (binary_expression "(int)&pMVar26[0x5144].u + 4" (cast_expression "(int)&pMVar26[0x5144].u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pMVar26[0x5144].u" & (field_expression "pMVar26[0x5144].u" (subscript_expression "pMVar26[0x5144]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) + number_literal) )))) )) (argument_list "(psVar23)" ( identifier ))) ;) (expression_statement "zPath = (sqlite3_value *)&DAT_00000007;" (assignment_expression "zPath = (sqlite3_value *)&DAT_00000007" identifier = (cast_expression "(sqlite3_value *)&DAT_00000007" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (goto_statement "goto LAB_000c49c4;" goto statement_identifier ;) })) (expression_statement "psVar20 = (sqlite3_value *)0x0;" (assignment_expression "psVar20 = (sqlite3_value *)0x0" identifier = (cast_expression "(sqlite3_value *)0x0" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)(pMVar26[0x5142].n + 0x604))(pParse,0,0);" (call_expression "(*(code *)(pMVar26[0x5142].n + 0x604))(pParse,0,0)" (parenthesized_expression "(*(code *)(pMVar26[0x5142].n + 0x604))" ( (pointer_expression "*(code *)(pMVar26[0x5142].n + 0x604)" * (cast_expression "(code *)(pMVar26[0x5142].n + 0x604)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pMVar26[0x5142].n + 0x604)" ( (binary_expression "pMVar26[0x5142].n + 0x604" (field_expression "pMVar26[0x5142].n" (subscript_expression "pMVar26[0x5142]" identifier [ number_literal ]) . field_identifier) + number_literal) )))) )) (argument_list "(pParse,0,0)" ( identifier , number_literal , number_literal ))) ;) })) (expression_statement "bVar1 = zPath == (sqlite3_value *)0x3;" (assignment_expression "bVar1 = zPath == (sqlite3_value *)0x3" identifier = (binary_expression "zPath == (sqlite3_value *)0x3" identifier == (cast_expression "(sqlite3_value *)0x3" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "zPath = (sqlite3_value *)0x0;" (assignment_expression "zPath = (sqlite3_value *)0x0" identifier = (cast_expression "(sqlite3_value *)0x0" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (bVar1) {\n            pcStack_f8 = (char *)0x0;\n            pcVar15 = (char *)(*pMVar26[0x5133].xDel)(*(FuncDef **)((int)&psVar6->u + 4));\n            if (pcVar15 != (char *)0x0) {\n              psVar6 = (sqlite3_value *)\n                       (*(code *)pMVar26[0x5135].szMalloc)(*(FuncDef **)((int)&psVar6->u + 4));\n              psVar20 = (sqlite3_value *)((int)&psVar6->u + 1);\n              uVar10 = (*(code *)pMVar26[0x5136].u.nZero)\n                                 ((uint)(psVar20 < psVar6) + ((int)psVar6 >> 0x1f));\n              psVar23->uTemp = uVar10;\n              if (uVar10 == 0) {\n                zPath = (sqlite3_value *)&DAT_00000007;\n              }\n              else {\n                (**(code **)((int)&pMVar26[0x5156].u + 4))\n                          (uVar10,pcVar15,(char *)((int)&psVar6->u + 1));\n                if (*pcVar15 != '$') {\n                  pcStack_f8 = pcVar15;\nLAB_000c4cdc:\n                  (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n                  sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x463c),\n                                  pcStack_f8);\n                }\n                psVar20 = (sqlite3_value *)0x0;\n                pFVar8 = (FuncDef *)\n                         jsonLookupStep((JsonParse *)pParse,0,(char *)(psVar23->uTemp + 1),\n                                        (int *)0x0,&pcStack_f8);\n                if (pcStack_f8 != (char *)0x0) goto LAB_000c4cdc;\n                if (pFVar8 != (FuncDef *)0x0) goto LAB_000c4aac;\n              }\n            }\n          }\n          else {\n            pFVar8 = psVar23[1].u.pDef;\nLAB_000c4aac:\n            pJVar7 = (JsonNode *)(((int)pFVar8 - (int)psVar23[1].u.nZero >> 2) * -0x55555555);\n            psVar23->n = (int)pJVar7;\n            *(JsonNode **)&psVar23->flags = pJVar7;\n            bVar2 = pFVar8->nArg;\n            *(byte *)&psVar23->zMalloc = bVar2;\n            if (bVar2 < 6) {\n              psVar23->z = (char *)&pJVar7->jnFlags;\n            }\n            else {\n              ((anon_union_4_5_9b08aacb_for_u *)&pFVar8->pUserData)->zJContent = (char *)0x0;\n              pcVar15 = (char *)psVar23->n;\n              psVar23->z = pcVar15 + 1 + pFVar8->funcFlags;\n              psVar20 = (sqlite3_value *)((int)pcVar15 * 4);\n              if (*(u8 *)((int)&psVar23->zMalloc + 1) == '\0') {\n                psVar23->n = (int)(pcVar15 + 1);\n              }\n              else {\n                pJVar7 = (JsonNode *)psVar23[1].u.nZero;\n                psVar20 = (sqlite3_value *)(*(u32 **)&psVar23[1].flags)[(int)pcVar15];\n                *(u8 *)&psVar23->zMalloc = pJVar7[(int)psVar20].eType;\n                if ((pcVar15 != (char *)0x0) && ((pJVar7[(int)(pcVar15 + -1)].jnFlags & 0x40) != 0))\n                {\n                  psVar23->n = (int)(pcVar15 + -1);\n                }\n              }\n            }\n          }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n            pcStack_f8 = (char *)0x0;\n            pcVar15 = (char *)(*pMVar26[0x5133].xDel)(*(FuncDef **)((int)&psVar6->u + 4));\n            if (pcVar15 != (char *)0x0) {\n              psVar6 = (sqlite3_value *)\n                       (*(code *)pMVar26[0x5135].szMalloc)(*(FuncDef **)((int)&psVar6->u + 4));\n              psVar20 = (sqlite3_value *)((int)&psVar6->u + 1);\n              uVar10 = (*(code *)pMVar26[0x5136].u.nZero)\n                                 ((uint)(psVar20 < psVar6) + ((int)psVar6 >> 0x1f));\n              psVar23->uTemp = uVar10;\n              if (uVar10 == 0) {\n                zPath = (sqlite3_value *)&DAT_00000007;\n              }\n              else {\n                (**(code **)((int)&pMVar26[0x5156].u + 4))\n                          (uVar10,pcVar15,(char *)((int)&psVar6->u + 1));\n                if (*pcVar15 != '$') {\n                  pcStack_f8 = pcVar15;\nLAB_000c4cdc:\n                  (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n                  sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x463c),\n                                  pcStack_f8);\n                }\n                psVar20 = (sqlite3_value *)0x0;\n                pFVar8 = (FuncDef *)\n                         jsonLookupStep((JsonParse *)pParse,0,(char *)(psVar23->uTemp + 1),\n                                        (int *)0x0,&pcStack_f8);\n                if (pcStack_f8 != (char *)0x0) goto LAB_000c4cdc;\n                if (pFVar8 != (FuncDef *)0x0) goto LAB_000c4aac;\n              }\n            }\n          }" { (expression_statement "pcStack_f8 = (char *)0x0;" (assignment_expression "pcStack_f8 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar15 = (char *)(*pMVar26[0x5133].xDel)(*(FuncDef **)((int)&psVar6->u + 4));" (assignment_expression "pcVar15 = (char *)(*pMVar26[0x5133].xDel)(*(FuncDef **)((int)&psVar6->u + 4))" identifier = (cast_expression "(char *)(*pMVar26[0x5133].xDel)(*(FuncDef **)((int)&psVar6->u + 4))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pMVar26[0x5133].xDel)(*(FuncDef **)((int)&psVar6->u + 4))" (parenthesized_expression "(*pMVar26[0x5133].xDel)" ( (pointer_expression "*pMVar26[0x5133].xDel" * (field_expression "pMVar26[0x5133].xDel" (subscript_expression "pMVar26[0x5133]" identifier [ number_literal ]) . field_identifier)) )) (argument_list "(*(FuncDef **)((int)&psVar6->u + 4))" ( (pointer_expression "*(FuncDef **)((int)&psVar6->u + 4)" * (cast_expression "(FuncDef **)((int)&psVar6->u + 4)" ( (type_descriptor "FuncDef **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&psVar6->u + 4)" ( (binary_expression "(int)&psVar6->u + 4" (cast_expression "(int)&psVar6->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar6->u" & (field_expression "psVar6->u" identifier -> field_identifier))) + number_literal) )))) ))))) ;) (if_statement "if (pcVar15 != (char *)0x0) {\n              psVar6 = (sqlite3_value *)\n                       (*(code *)pMVar26[0x5135].szMalloc)(*(FuncDef **)((int)&psVar6->u + 4));\n              psVar20 = (sqlite3_value *)((int)&psVar6->u + 1);\n              uVar10 = (*(code *)pMVar26[0x5136].u.nZero)\n                                 ((uint)(psVar20 < psVar6) + ((int)psVar6 >> 0x1f));\n              psVar23->uTemp = uVar10;\n              if (uVar10 == 0) {\n                zPath = (sqlite3_value *)&DAT_00000007;\n              }\n              else {\n                (**(code **)((int)&pMVar26[0x5156].u + 4))\n                          (uVar10,pcVar15,(char *)((int)&psVar6->u + 1));\n                if (*pcVar15 != '$') {\n                  pcStack_f8 = pcVar15;\nLAB_000c4cdc:\n                  (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n                  sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x463c),\n                                  pcStack_f8);\n                }\n                psVar20 = (sqlite3_value *)0x0;\n                pFVar8 = (FuncDef *)\n                         jsonLookupStep((JsonParse *)pParse,0,(char *)(psVar23->uTemp + 1),\n                                        (int *)0x0,&pcStack_f8);\n                if (pcStack_f8 != (char *)0x0) goto LAB_000c4cdc;\n                if (pFVar8 != (FuncDef *)0x0) goto LAB_000c4aac;\n              }\n            }" if (parenthesized_expression "(pcVar15 != (char *)0x0)" ( (binary_expression "pcVar15 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              psVar6 = (sqlite3_value *)\n                       (*(code *)pMVar26[0x5135].szMalloc)(*(FuncDef **)((int)&psVar6->u + 4));\n              psVar20 = (sqlite3_value *)((int)&psVar6->u + 1);\n              uVar10 = (*(code *)pMVar26[0x5136].u.nZero)\n                                 ((uint)(psVar20 < psVar6) + ((int)psVar6 >> 0x1f));\n              psVar23->uTemp = uVar10;\n              if (uVar10 == 0) {\n                zPath = (sqlite3_value *)&DAT_00000007;\n              }\n              else {\n                (**(code **)((int)&pMVar26[0x5156].u + 4))\n                          (uVar10,pcVar15,(char *)((int)&psVar6->u + 1));\n                if (*pcVar15 != '$') {\n                  pcStack_f8 = pcVar15;\nLAB_000c4cdc:\n                  (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n                  sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x463c),\n                                  pcStack_f8);\n                }\n                psVar20 = (sqlite3_value *)0x0;\n                pFVar8 = (FuncDef *)\n                         jsonLookupStep((JsonParse *)pParse,0,(char *)(psVar23->uTemp + 1),\n                                        (int *)0x0,&pcStack_f8);\n                if (pcStack_f8 != (char *)0x0) goto LAB_000c4cdc;\n                if (pFVar8 != (FuncDef *)0x0) goto LAB_000c4aac;\n              }\n            }" { (expression_statement "psVar6 = (sqlite3_value *)\n                       (*(code *)pMVar26[0x5135].szMalloc)(*(FuncDef **)((int)&psVar6->u + 4));" (assignment_expression "psVar6 = (sqlite3_value *)\n                       (*(code *)pMVar26[0x5135].szMalloc)(*(FuncDef **)((int)&psVar6->u + 4))" identifier = (cast_expression "(sqlite3_value *)\n                       (*(code *)pMVar26[0x5135].szMalloc)(*(FuncDef **)((int)&psVar6->u + 4))" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)pMVar26[0x5135].szMalloc)(*(FuncDef **)((int)&psVar6->u + 4))" (parenthesized_expression "(*(code *)pMVar26[0x5135].szMalloc)" ( (pointer_expression "*(code *)pMVar26[0x5135].szMalloc" * (cast_expression "(code *)pMVar26[0x5135].szMalloc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pMVar26[0x5135].szMalloc" (subscript_expression "pMVar26[0x5135]" identifier [ number_literal ]) . field_identifier))) )) (argument_list "(*(FuncDef **)((int)&psVar6->u + 4))" ( (pointer_expression "*(FuncDef **)((int)&psVar6->u + 4)" * (cast_expression "(FuncDef **)((int)&psVar6->u + 4)" ( (type_descriptor "FuncDef **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&psVar6->u + 4)" ( (binary_expression "(int)&psVar6->u + 4" (cast_expression "(int)&psVar6->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar6->u" & (field_expression "psVar6->u" identifier -> field_identifier))) + number_literal) )))) ))))) ;) (expression_statement "psVar20 = (sqlite3_value *)((int)&psVar6->u + 1);" (assignment_expression "psVar20 = (sqlite3_value *)((int)&psVar6->u + 1)" identifier = (cast_expression "(sqlite3_value *)((int)&psVar6->u + 1)" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar6->u + 1)" ( (binary_expression "(int)&psVar6->u + 1" (cast_expression "(int)&psVar6->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar6->u" & (field_expression "psVar6->u" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "uVar10 = (*(code *)pMVar26[0x5136].u.nZero)\n                                 ((uint)(psVar20 < psVar6) + ((int)psVar6 >> 0x1f));" (assignment_expression "uVar10 = (*(code *)pMVar26[0x5136].u.nZero)\n                                 ((uint)(psVar20 < psVar6) + ((int)psVar6 >> 0x1f))" identifier = (call_expression "(*(code *)pMVar26[0x5136].u.nZero)\n                                 ((uint)(psVar20 < psVar6) + ((int)psVar6 >> 0x1f))" (parenthesized_expression "(*(code *)pMVar26[0x5136].u.nZero)" ( (pointer_expression "*(code *)pMVar26[0x5136].u.nZero" * (cast_expression "(code *)pMVar26[0x5136].u.nZero" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pMVar26[0x5136].u.nZero" (field_expression "pMVar26[0x5136].u" (subscript_expression "pMVar26[0x5136]" identifier [ number_literal ]) . field_identifier) . field_identifier))) )) (argument_list "((uint)(psVar20 < psVar6) + ((int)psVar6 >> 0x1f))" ( (binary_expression "(uint)(psVar20 < psVar6) + ((int)psVar6 >> 0x1f)" (call_expression "(uint)(psVar20 < psVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(psVar20 < psVar6)" ( (binary_expression "psVar20 < psVar6" identifier < identifier) ))) + (parenthesized_expression "((int)psVar6 >> 0x1f)" ( (binary_expression "(int)psVar6 >> 0x1f" (cast_expression "(int)psVar6" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )))) ;) (expression_statement "psVar23->uTemp = uVar10;" (assignment_expression "psVar23->uTemp = uVar10" (field_expression "psVar23->uTemp" identifier -> field_identifier) = identifier) ;) (if_statement "if (uVar10 == 0) {\n                zPath = (sqlite3_value *)&DAT_00000007;\n              }\n              else {\n                (**(code **)((int)&pMVar26[0x5156].u + 4))\n                          (uVar10,pcVar15,(char *)((int)&psVar6->u + 1));\n                if (*pcVar15 != '$') {\n                  pcStack_f8 = pcVar15;\nLAB_000c4cdc:\n                  (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n                  sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x463c),\n                                  pcStack_f8);\n                }\n                psVar20 = (sqlite3_value *)0x0;\n                pFVar8 = (FuncDef *)\n                         jsonLookupStep((JsonParse *)pParse,0,(char *)(psVar23->uTemp + 1),\n                                        (int *)0x0,&pcStack_f8);\n                if (pcStack_f8 != (char *)0x0) goto LAB_000c4cdc;\n                if (pFVar8 != (FuncDef *)0x0) goto LAB_000c4aac;\n              }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n                zPath = (sqlite3_value *)&DAT_00000007;\n              }" { (expression_statement "zPath = (sqlite3_value *)&DAT_00000007;" (assignment_expression "zPath = (sqlite3_value *)&DAT_00000007" identifier = (cast_expression "(sqlite3_value *)&DAT_00000007" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) }) (else_clause "else {\n                (**(code **)((int)&pMVar26[0x5156].u + 4))\n                          (uVar10,pcVar15,(char *)((int)&psVar6->u + 1));\n                if (*pcVar15 != '$') {\n                  pcStack_f8 = pcVar15;\nLAB_000c4cdc:\n                  (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n                  sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x463c),\n                                  pcStack_f8);\n                }\n                psVar20 = (sqlite3_value *)0x0;\n                pFVar8 = (FuncDef *)\n                         jsonLookupStep((JsonParse *)pParse,0,(char *)(psVar23->uTemp + 1),\n                                        (int *)0x0,&pcStack_f8);\n                if (pcStack_f8 != (char *)0x0) goto LAB_000c4cdc;\n                if (pFVar8 != (FuncDef *)0x0) goto LAB_000c4aac;\n              }" else (compound_statement "{\n                (**(code **)((int)&pMVar26[0x5156].u + 4))\n                          (uVar10,pcVar15,(char *)((int)&psVar6->u + 1));\n                if (*pcVar15 != '$') {\n                  pcStack_f8 = pcVar15;\nLAB_000c4cdc:\n                  (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n                  sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x463c),\n                                  pcStack_f8);\n                }\n                psVar20 = (sqlite3_value *)0x0;\n                pFVar8 = (FuncDef *)\n                         jsonLookupStep((JsonParse *)pParse,0,(char *)(psVar23->uTemp + 1),\n                                        (int *)0x0,&pcStack_f8);\n                if (pcStack_f8 != (char *)0x0) goto LAB_000c4cdc;\n                if (pFVar8 != (FuncDef *)0x0) goto LAB_000c4aac;\n              }" { (expression_statement "(**(code **)((int)&pMVar26[0x5156].u + 4))\n                          (uVar10,pcVar15,(char *)((int)&psVar6->u + 1));" (call_expression "(**(code **)((int)&pMVar26[0x5156].u + 4))\n                          (uVar10,pcVar15,(char *)((int)&psVar6->u + 1))" (parenthesized_expression "(**(code **)((int)&pMVar26[0x5156].u + 4))" ( (pointer_expression "**(code **)((int)&pMVar26[0x5156].u + 4)" * (pointer_expression "*(code **)((int)&pMVar26[0x5156].u + 4)" * (cast_expression "(code **)((int)&pMVar26[0x5156].u + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&pMVar26[0x5156].u + 4)" ( (binary_expression "(int)&pMVar26[0x5156].u + 4" (cast_expression "(int)&pMVar26[0x5156].u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pMVar26[0x5156].u" & (field_expression "pMVar26[0x5156].u" (subscript_expression "pMVar26[0x5156]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))))) )) (argument_list "(uVar10,pcVar15,(char *)((int)&psVar6->u + 1))" ( identifier , identifier , (cast_expression "(char *)((int)&psVar6->u + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar6->u + 1)" ( (binary_expression "(int)&psVar6->u + 1" (cast_expression "(int)&psVar6->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar6->u" & (field_expression "psVar6->u" identifier -> field_identifier))) + number_literal) ))) ))) ;) (if_statement "if (*pcVar15 != '$') {\n                  pcStack_f8 = pcVar15;\nLAB_000c4cdc:\n                  (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n                  sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x463c),\n                                  pcStack_f8);\n                }" if (parenthesized_expression "(*pcVar15 != '$')" ( (binary_expression "*pcVar15 != '$'" (pointer_expression "*pcVar15" * identifier) != (char_literal "'$'" ' character ')) )) (compound_statement "{\n                  pcStack_f8 = pcVar15;\nLAB_000c4cdc:\n                  (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n                  sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x463c),\n                                  pcStack_f8);\n                }" { (expression_statement "pcStack_f8 = pcVar15;" (assignment_expression "pcStack_f8 = pcVar15" identifier = identifier) ;) (labeled_statement "LAB_000c4cdc:\n                  (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);" statement_identifier : (expression_statement "(*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);" (call_expression "(*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData)" (parenthesized_expression "(*(code *)pMVar26[0x5133].db)" ( (pointer_expression "*(code *)pMVar26[0x5133].db" * (cast_expression "(code *)pMVar26[0x5133].db" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pMVar26[0x5133].db" (subscript_expression "pMVar26[0x5133]" identifier [ number_literal ]) . field_identifier))) )) (argument_list "(((psVar23->u).pDef)->pUserData)" ( (field_expression "((psVar23->u).pDef)->pUserData" (parenthesized_expression "((psVar23->u).pDef)" ( (field_expression "(psVar23->u).pDef" (parenthesized_expression "(psVar23->u)" ( (field_expression "psVar23->u" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) ))) ;)) comment (expression_statement "sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x463c),\n                                  pcStack_f8);" (call_expression "sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x463c),\n                                  pcStack_f8)" identifier (argument_list "((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x463c),\n                                  pcStack_f8)" ( (cast_expression "(char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x463c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x463c)" ( (binary_expression "*(int *)((int)&pMVar26[0x5133].u + 4) + -0x463c" (pointer_expression "*(int *)((int)&pMVar26[0x5133].u + 4)" * (cast_expression "(int *)((int)&pMVar26[0x5133].u + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pMVar26[0x5133].u + 4)" ( (binary_expression "(int)&pMVar26[0x5133].u + 4" (cast_expression "(int)&pMVar26[0x5133].u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pMVar26[0x5133].u" & (field_expression "pMVar26[0x5133].u" (subscript_expression "pMVar26[0x5133]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) + number_literal) ))) , identifier ))) ;) })) (expression_statement "psVar20 = (sqlite3_value *)0x0;" (assignment_expression "psVar20 = (sqlite3_value *)0x0" identifier = (cast_expression "(sqlite3_value *)0x0" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pFVar8 = (FuncDef *)\n                         jsonLookupStep((JsonParse *)pParse,0,(char *)(psVar23->uTemp + 1),\n                                        (int *)0x0,&pcStack_f8);" (assignment_expression "pFVar8 = (FuncDef *)\n                         jsonLookupStep((JsonParse *)pParse,0,(char *)(psVar23->uTemp + 1),\n                                        (int *)0x0,&pcStack_f8)" identifier = (cast_expression "(FuncDef *)\n                         jsonLookupStep((JsonParse *)pParse,0,(char *)(psVar23->uTemp + 1),\n                                        (int *)0x0,&pcStack_f8)" ( (type_descriptor "FuncDef *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "jsonLookupStep((JsonParse *)pParse,0,(char *)(psVar23->uTemp + 1),\n                                        (int *)0x0,&pcStack_f8)" identifier (argument_list "((JsonParse *)pParse,0,(char *)(psVar23->uTemp + 1),\n                                        (int *)0x0,&pcStack_f8)" ( (cast_expression "(JsonParse *)pParse" ( (type_descriptor "JsonParse *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , number_literal , (cast_expression "(char *)(psVar23->uTemp + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar23->uTemp + 1)" ( (binary_expression "psVar23->uTemp + 1" (field_expression "psVar23->uTemp" identifier -> field_identifier) + number_literal) ))) , (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , (pointer_expression "&pcStack_f8" & identifier) ))))) ;) (if_statement "if (pcStack_f8 != (char *)0x0) goto LAB_000c4cdc;" if (parenthesized_expression "(pcStack_f8 != (char *)0x0)" ( (binary_expression "pcStack_f8 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c4cdc;" goto statement_identifier ;)) (if_statement "if (pFVar8 != (FuncDef *)0x0) goto LAB_000c4aac;" if (parenthesized_expression "(pFVar8 != (FuncDef *)0x0)" ( (binary_expression "pFVar8 != (FuncDef *)0x0" identifier != (cast_expression "(FuncDef *)0x0" ( (type_descriptor "FuncDef *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c4aac;" goto statement_identifier ;)) }))) })) }) (else_clause "else {\n            pFVar8 = psVar23[1].u.pDef;\nLAB_000c4aac:\n            pJVar7 = (JsonNode *)(((int)pFVar8 - (int)psVar23[1].u.nZero >> 2) * -0x55555555);\n            psVar23->n = (int)pJVar7;\n            *(JsonNode **)&psVar23->flags = pJVar7;\n            bVar2 = pFVar8->nArg;\n            *(byte *)&psVar23->zMalloc = bVar2;\n            if (bVar2 < 6) {\n              psVar23->z = (char *)&pJVar7->jnFlags;\n            }\n            else {\n              ((anon_union_4_5_9b08aacb_for_u *)&pFVar8->pUserData)->zJContent = (char *)0x0;\n              pcVar15 = (char *)psVar23->n;\n              psVar23->z = pcVar15 + 1 + pFVar8->funcFlags;\n              psVar20 = (sqlite3_value *)((int)pcVar15 * 4);\n              if (*(u8 *)((int)&psVar23->zMalloc + 1) == '\0') {\n                psVar23->n = (int)(pcVar15 + 1);\n              }\n              else {\n                pJVar7 = (JsonNode *)psVar23[1].u.nZero;\n                psVar20 = (sqlite3_value *)(*(u32 **)&psVar23[1].flags)[(int)pcVar15];\n                *(u8 *)&psVar23->zMalloc = pJVar7[(int)psVar20].eType;\n                if ((pcVar15 != (char *)0x0) && ((pJVar7[(int)(pcVar15 + -1)].jnFlags & 0x40) != 0))\n                {\n                  psVar23->n = (int)(pcVar15 + -1);\n                }\n              }\n            }\n          }" else (compound_statement "{\n            pFVar8 = psVar23[1].u.pDef;\nLAB_000c4aac:\n            pJVar7 = (JsonNode *)(((int)pFVar8 - (int)psVar23[1].u.nZero >> 2) * -0x55555555);\n            psVar23->n = (int)pJVar7;\n            *(JsonNode **)&psVar23->flags = pJVar7;\n            bVar2 = pFVar8->nArg;\n            *(byte *)&psVar23->zMalloc = bVar2;\n            if (bVar2 < 6) {\n              psVar23->z = (char *)&pJVar7->jnFlags;\n            }\n            else {\n              ((anon_union_4_5_9b08aacb_for_u *)&pFVar8->pUserData)->zJContent = (char *)0x0;\n              pcVar15 = (char *)psVar23->n;\n              psVar23->z = pcVar15 + 1 + pFVar8->funcFlags;\n              psVar20 = (sqlite3_value *)((int)pcVar15 * 4);\n              if (*(u8 *)((int)&psVar23->zMalloc + 1) == '\0') {\n                psVar23->n = (int)(pcVar15 + 1);\n              }\n              else {\n                pJVar7 = (JsonNode *)psVar23[1].u.nZero;\n                psVar20 = (sqlite3_value *)(*(u32 **)&psVar23[1].flags)[(int)pcVar15];\n                *(u8 *)&psVar23->zMalloc = pJVar7[(int)psVar20].eType;\n                if ((pcVar15 != (char *)0x0) && ((pJVar7[(int)(pcVar15 + -1)].jnFlags & 0x40) != 0))\n                {\n                  psVar23->n = (int)(pcVar15 + -1);\n                }\n              }\n            }\n          }" { (expression_statement "pFVar8 = psVar23[1].u.pDef;" (assignment_expression "pFVar8 = psVar23[1].u.pDef" identifier = (field_expression "psVar23[1].u.pDef" (field_expression "psVar23[1].u" (subscript_expression "psVar23[1]" identifier [ number_literal ]) . field_identifier) . field_identifier)) ;) (labeled_statement "LAB_000c4aac:\n            pJVar7 = (JsonNode *)(((int)pFVar8 - (int)psVar23[1].u.nZero >> 2) * -0x55555555);" statement_identifier : (expression_statement "pJVar7 = (JsonNode *)(((int)pFVar8 - (int)psVar23[1].u.nZero >> 2) * -0x55555555);" (assignment_expression "pJVar7 = (JsonNode *)(((int)pFVar8 - (int)psVar23[1].u.nZero >> 2) * -0x55555555)" identifier = (cast_expression "(JsonNode *)(((int)pFVar8 - (int)psVar23[1].u.nZero >> 2) * -0x55555555)" ( (type_descriptor "JsonNode *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int)pFVar8 - (int)psVar23[1].u.nZero >> 2) * -0x55555555)" ( (binary_expression "((int)pFVar8 - (int)psVar23[1].u.nZero >> 2) * -0x55555555" (parenthesized_expression "((int)pFVar8 - (int)psVar23[1].u.nZero >> 2)" ( (binary_expression "(int)pFVar8 - (int)psVar23[1].u.nZero >> 2" (binary_expression "(int)pFVar8 - (int)psVar23[1].u.nZero" (cast_expression "(int)pFVar8" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)psVar23[1].u.nZero" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar23[1].u.nZero" (field_expression "psVar23[1].u" (subscript_expression "psVar23[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) >> number_literal) )) * number_literal) )))) ;)) (expression_statement "psVar23->n = (int)pJVar7;" (assignment_expression "psVar23->n = (int)pJVar7" (field_expression "psVar23->n" identifier -> field_identifier) = (cast_expression "(int)pJVar7" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(JsonNode **)&psVar23->flags = pJVar7;" (assignment_expression "*(JsonNode **)&psVar23->flags = pJVar7" (pointer_expression "*(JsonNode **)&psVar23->flags" * (cast_expression "(JsonNode **)&psVar23->flags" ( (type_descriptor "JsonNode **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&psVar23->flags" & (field_expression "psVar23->flags" identifier -> field_identifier)))) = identifier) ;) (expression_statement "bVar2 = pFVar8->nArg;" (assignment_expression "bVar2 = pFVar8->nArg" identifier = (field_expression "pFVar8->nArg" identifier -> field_identifier)) ;) (expression_statement "*(byte *)&psVar23->zMalloc = bVar2;" (assignment_expression "*(byte *)&psVar23->zMalloc = bVar2" (pointer_expression "*(byte *)&psVar23->zMalloc" * (cast_expression "(byte *)&psVar23->zMalloc" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar23->zMalloc" & (field_expression "psVar23->zMalloc" identifier -> field_identifier)))) = identifier) ;) (if_statement "if (bVar2 < 6) {\n              psVar23->z = (char *)&pJVar7->jnFlags;\n            }\n            else {\n              ((anon_union_4_5_9b08aacb_for_u *)&pFVar8->pUserData)->zJContent = (char *)0x0;\n              pcVar15 = (char *)psVar23->n;\n              psVar23->z = pcVar15 + 1 + pFVar8->funcFlags;\n              psVar20 = (sqlite3_value *)((int)pcVar15 * 4);\n              if (*(u8 *)((int)&psVar23->zMalloc + 1) == '\0') {\n                psVar23->n = (int)(pcVar15 + 1);\n              }\n              else {\n                pJVar7 = (JsonNode *)psVar23[1].u.nZero;\n                psVar20 = (sqlite3_value *)(*(u32 **)&psVar23[1].flags)[(int)pcVar15];\n                *(u8 *)&psVar23->zMalloc = pJVar7[(int)psVar20].eType;\n                if ((pcVar15 != (char *)0x0) && ((pJVar7[(int)(pcVar15 + -1)].jnFlags & 0x40) != 0))\n                {\n                  psVar23->n = (int)(pcVar15 + -1);\n                }\n              }\n            }" if (parenthesized_expression "(bVar2 < 6)" ( (binary_expression "bVar2 < 6" identifier < number_literal) )) (compound_statement "{\n              psVar23->z = (char *)&pJVar7->jnFlags;\n            }" { (expression_statement "psVar23->z = (char *)&pJVar7->jnFlags;" (assignment_expression "psVar23->z = (char *)&pJVar7->jnFlags" (field_expression "psVar23->z" identifier -> field_identifier) = (cast_expression "(char *)&pJVar7->jnFlags" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pJVar7->jnFlags" & (field_expression "pJVar7->jnFlags" identifier -> field_identifier)))) ;) }) (else_clause "else {\n              ((anon_union_4_5_9b08aacb_for_u *)&pFVar8->pUserData)->zJContent = (char *)0x0;\n              pcVar15 = (char *)psVar23->n;\n              psVar23->z = pcVar15 + 1 + pFVar8->funcFlags;\n              psVar20 = (sqlite3_value *)((int)pcVar15 * 4);\n              if (*(u8 *)((int)&psVar23->zMalloc + 1) == '\0') {\n                psVar23->n = (int)(pcVar15 + 1);\n              }\n              else {\n                pJVar7 = (JsonNode *)psVar23[1].u.nZero;\n                psVar20 = (sqlite3_value *)(*(u32 **)&psVar23[1].flags)[(int)pcVar15];\n                *(u8 *)&psVar23->zMalloc = pJVar7[(int)psVar20].eType;\n                if ((pcVar15 != (char *)0x0) && ((pJVar7[(int)(pcVar15 + -1)].jnFlags & 0x40) != 0))\n                {\n                  psVar23->n = (int)(pcVar15 + -1);\n                }\n              }\n            }" else (compound_statement "{\n              ((anon_union_4_5_9b08aacb_for_u *)&pFVar8->pUserData)->zJContent = (char *)0x0;\n              pcVar15 = (char *)psVar23->n;\n              psVar23->z = pcVar15 + 1 + pFVar8->funcFlags;\n              psVar20 = (sqlite3_value *)((int)pcVar15 * 4);\n              if (*(u8 *)((int)&psVar23->zMalloc + 1) == '\0') {\n                psVar23->n = (int)(pcVar15 + 1);\n              }\n              else {\n                pJVar7 = (JsonNode *)psVar23[1].u.nZero;\n                psVar20 = (sqlite3_value *)(*(u32 **)&psVar23[1].flags)[(int)pcVar15];\n                *(u8 *)&psVar23->zMalloc = pJVar7[(int)psVar20].eType;\n                if ((pcVar15 != (char *)0x0) && ((pJVar7[(int)(pcVar15 + -1)].jnFlags & 0x40) != 0))\n                {\n                  psVar23->n = (int)(pcVar15 + -1);\n                }\n              }\n            }" { (expression_statement "((anon_union_4_5_9b08aacb_for_u *)&pFVar8->pUserData)->zJContent = (char *)0x0;" (assignment_expression "((anon_union_4_5_9b08aacb_for_u *)&pFVar8->pUserData)->zJContent = (char *)0x0" (field_expression "((anon_union_4_5_9b08aacb_for_u *)&pFVar8->pUserData)->zJContent" (parenthesized_expression "((anon_union_4_5_9b08aacb_for_u *)&pFVar8->pUserData)" ( (cast_expression "(anon_union_4_5_9b08aacb_for_u *)&pFVar8->pUserData" ( (type_descriptor "anon_union_4_5_9b08aacb_for_u *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pFVar8->pUserData" & (field_expression "pFVar8->pUserData" identifier -> field_identifier))) )) -> field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar15 = (char *)psVar23->n;" (assignment_expression "pcVar15 = (char *)psVar23->n" identifier = (cast_expression "(char *)psVar23->n" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "psVar23->n" identifier -> field_identifier))) ;) (expression_statement "psVar23->z = pcVar15 + 1 + pFVar8->funcFlags;" (assignment_expression "psVar23->z = pcVar15 + 1 + pFVar8->funcFlags" (field_expression "psVar23->z" identifier -> field_identifier) = (binary_expression "pcVar15 + 1 + pFVar8->funcFlags" (binary_expression "pcVar15 + 1" identifier + number_literal) + (field_expression "pFVar8->funcFlags" identifier -> field_identifier))) ;) (expression_statement "psVar20 = (sqlite3_value *)((int)pcVar15 * 4);" (assignment_expression "psVar20 = (sqlite3_value *)((int)pcVar15 * 4)" identifier = (cast_expression "(sqlite3_value *)((int)pcVar15 * 4)" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pcVar15 * 4)" ( (binary_expression "(int)pcVar15 * 4" (cast_expression "(int)pcVar15" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (if_statement "if (*(u8 *)((int)&psVar23->zMalloc + 1) == '\0') {\n                psVar23->n = (int)(pcVar15 + 1);\n              }\n              else {\n                pJVar7 = (JsonNode *)psVar23[1].u.nZero;\n                psVar20 = (sqlite3_value *)(*(u32 **)&psVar23[1].flags)[(int)pcVar15];\n                *(u8 *)&psVar23->zMalloc = pJVar7[(int)psVar20].eType;\n                if ((pcVar15 != (char *)0x0) && ((pJVar7[(int)(pcVar15 + -1)].jnFlags & 0x40) != 0))\n                {\n                  psVar23->n = (int)(pcVar15 + -1);\n                }\n              }" if (parenthesized_expression "(*(u8 *)((int)&psVar23->zMalloc + 1) == '\0')" ( (binary_expression "*(u8 *)((int)&psVar23->zMalloc + 1) == '\0'" (pointer_expression "*(u8 *)((int)&psVar23->zMalloc + 1)" * (cast_expression "(u8 *)((int)&psVar23->zMalloc + 1)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar23->zMalloc + 1)" ( (binary_expression "(int)&psVar23->zMalloc + 1" (cast_expression "(int)&psVar23->zMalloc" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar23->zMalloc" & (field_expression "psVar23->zMalloc" identifier -> field_identifier))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                psVar23->n = (int)(pcVar15 + 1);\n              }" { (expression_statement "psVar23->n = (int)(pcVar15 + 1);" (assignment_expression "psVar23->n = (int)(pcVar15 + 1)" (field_expression "psVar23->n" identifier -> field_identifier) = (cast_expression "(int)(pcVar15 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar15 + 1)" ( (binary_expression "pcVar15 + 1" identifier + number_literal) )))) ;) }) (else_clause "else {\n                pJVar7 = (JsonNode *)psVar23[1].u.nZero;\n                psVar20 = (sqlite3_value *)(*(u32 **)&psVar23[1].flags)[(int)pcVar15];\n                *(u8 *)&psVar23->zMalloc = pJVar7[(int)psVar20].eType;\n                if ((pcVar15 != (char *)0x0) && ((pJVar7[(int)(pcVar15 + -1)].jnFlags & 0x40) != 0))\n                {\n                  psVar23->n = (int)(pcVar15 + -1);\n                }\n              }" else (compound_statement "{\n                pJVar7 = (JsonNode *)psVar23[1].u.nZero;\n                psVar20 = (sqlite3_value *)(*(u32 **)&psVar23[1].flags)[(int)pcVar15];\n                *(u8 *)&psVar23->zMalloc = pJVar7[(int)psVar20].eType;\n                if ((pcVar15 != (char *)0x0) && ((pJVar7[(int)(pcVar15 + -1)].jnFlags & 0x40) != 0))\n                {\n                  psVar23->n = (int)(pcVar15 + -1);\n                }\n              }" { (expression_statement "pJVar7 = (JsonNode *)psVar23[1].u.nZero;" (assignment_expression "pJVar7 = (JsonNode *)psVar23[1].u.nZero" identifier = (cast_expression "(JsonNode *)psVar23[1].u.nZero" ( (type_descriptor "JsonNode *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar23[1].u.nZero" (field_expression "psVar23[1].u" (subscript_expression "psVar23[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) ;) (expression_statement "psVar20 = (sqlite3_value *)(*(u32 **)&psVar23[1].flags)[(int)pcVar15];" (assignment_expression "psVar20 = (sqlite3_value *)(*(u32 **)&psVar23[1].flags)[(int)pcVar15]" identifier = (cast_expression "(sqlite3_value *)(*(u32 **)&psVar23[1].flags)[(int)pcVar15]" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(*(u32 **)&psVar23[1].flags)[(int)pcVar15]" (parenthesized_expression "(*(u32 **)&psVar23[1].flags)" ( (pointer_expression "*(u32 **)&psVar23[1].flags" * (cast_expression "(u32 **)&psVar23[1].flags" ( (type_descriptor "u32 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&psVar23[1].flags" & (field_expression "psVar23[1].flags" (subscript_expression "psVar23[1]" identifier [ number_literal ]) . field_identifier)))) )) [ (cast_expression "(int)pcVar15" ( (type_descriptor "int" primitive_type) ) identifier) ]))) ;) (expression_statement "*(u8 *)&psVar23->zMalloc = pJVar7[(int)psVar20].eType;" (assignment_expression "*(u8 *)&psVar23->zMalloc = pJVar7[(int)psVar20].eType" (pointer_expression "*(u8 *)&psVar23->zMalloc" * (cast_expression "(u8 *)&psVar23->zMalloc" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar23->zMalloc" & (field_expression "psVar23->zMalloc" identifier -> field_identifier)))) = (field_expression "pJVar7[(int)psVar20].eType" (subscript_expression "pJVar7[(int)psVar20]" identifier [ (cast_expression "(int)psVar20" ( (type_descriptor "int" primitive_type) ) identifier) ]) . field_identifier)) ;) (if_statement "if ((pcVar15 != (char *)0x0) && ((pJVar7[(int)(pcVar15 + -1)].jnFlags & 0x40) != 0))\n                {\n                  psVar23->n = (int)(pcVar15 + -1);\n                }" if (parenthesized_expression "((pcVar15 != (char *)0x0) && ((pJVar7[(int)(pcVar15 + -1)].jnFlags & 0x40) != 0))" ( (binary_expression "(pcVar15 != (char *)0x0) && ((pJVar7[(int)(pcVar15 + -1)].jnFlags & 0x40) != 0)" (parenthesized_expression "(pcVar15 != (char *)0x0)" ( (binary_expression "pcVar15 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((pJVar7[(int)(pcVar15 + -1)].jnFlags & 0x40) != 0)" ( (binary_expression "(pJVar7[(int)(pcVar15 + -1)].jnFlags & 0x40) != 0" (parenthesized_expression "(pJVar7[(int)(pcVar15 + -1)].jnFlags & 0x40)" ( (binary_expression "pJVar7[(int)(pcVar15 + -1)].jnFlags & 0x40" (field_expression "pJVar7[(int)(pcVar15 + -1)].jnFlags" (subscript_expression "pJVar7[(int)(pcVar15 + -1)]" identifier [ (cast_expression "(int)(pcVar15 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar15 + -1)" ( (binary_expression "pcVar15 + -1" identifier + number_literal) ))) ]) . field_identifier) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                  psVar23->n = (int)(pcVar15 + -1);\n                }" { (expression_statement "psVar23->n = (int)(pcVar15 + -1);" (assignment_expression "psVar23->n = (int)(pcVar15 + -1)" (field_expression "psVar23->n" identifier -> field_identifier) = (cast_expression "(int)(pcVar15 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar15 + -1)" ( (binary_expression "pcVar15 + -1" identifier + number_literal) )))) ;) })) }))) }))) }))) }) (else_clause "else {\n          if (*(u8 *)&psVar23[1].n == '\0') {\n            (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n            sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x5060));\n          }\n          zPath = (sqlite3_value *)&DAT_00000007;\n          (*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))(psVar23);\n        }" else (compound_statement "{\n          if (*(u8 *)&psVar23[1].n == '\0') {\n            (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n            sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x5060));\n          }\n          zPath = (sqlite3_value *)&DAT_00000007;\n          (*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))(psVar23);\n        }" { (if_statement "if (*(u8 *)&psVar23[1].n == '\0') {\n            (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n            sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x5060));\n          }" if (parenthesized_expression "(*(u8 *)&psVar23[1].n == '\0')" ( (binary_expression "*(u8 *)&psVar23[1].n == '\0'" (pointer_expression "*(u8 *)&psVar23[1].n" * (cast_expression "(u8 *)&psVar23[1].n" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar23[1].n" & (field_expression "psVar23[1].n" (subscript_expression "psVar23[1]" identifier [ number_literal ]) . field_identifier)))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            (*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);\n                    /* WARNING: Subroutine does not return */\n            sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x5060));\n          }" { (expression_statement "(*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData);" (call_expression "(*(code *)pMVar26[0x5133].db)(((psVar23->u).pDef)->pUserData)" (parenthesized_expression "(*(code *)pMVar26[0x5133].db)" ( (pointer_expression "*(code *)pMVar26[0x5133].db" * (cast_expression "(code *)pMVar26[0x5133].db" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pMVar26[0x5133].db" (subscript_expression "pMVar26[0x5133]" identifier [ number_literal ]) . field_identifier))) )) (argument_list "(((psVar23->u).pDef)->pUserData)" ( (field_expression "((psVar23->u).pDef)->pUserData" (parenthesized_expression "((psVar23->u).pDef)" ( (field_expression "(psVar23->u).pDef" (parenthesized_expression "(psVar23->u)" ( (field_expression "psVar23->u" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) ))) ;) comment (expression_statement "sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x5060));" (call_expression "sqlite3_mprintf((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x5060))" identifier (argument_list "((char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x5060))" ( (cast_expression "(char *)(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x5060)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)&pMVar26[0x5133].u + 4) + -0x5060)" ( (binary_expression "*(int *)((int)&pMVar26[0x5133].u + 4) + -0x5060" (pointer_expression "*(int *)((int)&pMVar26[0x5133].u + 4)" * (cast_expression "(int *)((int)&pMVar26[0x5133].u + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pMVar26[0x5133].u + 4)" ( (binary_expression "(int)&pMVar26[0x5133].u + 4" (cast_expression "(int)&pMVar26[0x5133].u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pMVar26[0x5133].u" & (field_expression "pMVar26[0x5133].u" (subscript_expression "pMVar26[0x5133]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) + number_literal) ))) ))) ;) })) (expression_statement "zPath = (sqlite3_value *)&DAT_00000007;" (assignment_expression "zPath = (sqlite3_value *)&DAT_00000007" identifier = (cast_expression "(sqlite3_value *)&DAT_00000007" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (expression_statement "(*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))(psVar23);" (call_expression "(*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))(psVar23)" (parenthesized_expression "(*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c))" ( (pointer_expression "*(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c)" * (cast_expression "(code *)(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c)" ( (binary_expression "*(int *)((int)&pMVar26[0x5144].u + 4) + 0x3d3c" (pointer_expression "*(int *)((int)&pMVar26[0x5144].u + 4)" * (cast_expression "(int *)((int)&pMVar26[0x5144].u + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pMVar26[0x5144].u + 4)" ( (binary_expression "(int)&pMVar26[0x5144].u + 4" (cast_expression "(int)&pMVar26[0x5144].u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pMVar26[0x5144].u" & (field_expression "pMVar26[0x5144].u" (subscript_expression "pMVar26[0x5144]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) + number_literal) )))) )) (argument_list "(psVar23)" ( identifier ))) ;) }))) }))) }))) })) (labeled_statement "LAB_000c49c4:\n  if (iStack_f4 == *(int *)pMVar26[0x5155].xDel) {\n    return;\n  }" statement_identifier : (if_statement "if (iStack_f4 == *(int *)pMVar26[0x5155].xDel) {\n    return;\n  }" if (parenthesized_expression "(iStack_f4 == *(int *)pMVar26[0x5155].xDel)" ( (binary_expression "iStack_f4 == *(int *)pMVar26[0x5155].xDel" identifier == (pointer_expression "*(int *)pMVar26[0x5155].xDel" * (cast_expression "(int *)pMVar26[0x5155].xDel" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "pMVar26[0x5155].xDel" (subscript_expression "pMVar26[0x5155]" identifier [ number_literal ]) . field_identifier)))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "psVar27 = pMVar26[0x5154].db;" (assignment_expression "psVar27 = pMVar26[0x5154].db" identifier = (field_expression "pMVar26[0x5154].db" (subscript_expression "pMVar26[0x5154]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "pcVar28 = sqlite3_randomness;" (assignment_expression "pcVar28 = sqlite3_randomness" identifier = identifier) ;) (expression_statement "iVar3 = iStack_f4;" (assignment_expression "iVar3 = iStack_f4" identifier = identifier) ;) (expression_statement "(*(code *)psVar27)();" (call_expression "(*(code *)psVar27)()" (parenthesized_expression "(*(code *)psVar27)" ( (pointer_expression "*(code *)psVar27" * (cast_expression "(code *)psVar27" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) comment (expression_statement "iStackY_134 = *psVar27[0x658].pUpdateArg;" (assignment_expression "iStackY_134 = *psVar27[0x658].pUpdateArg" identifier = (pointer_expression "*psVar27[0x658].pUpdateArg" * (field_expression "psVar27[0x658].pUpdateArg" (subscript_expression "psVar27[0x658]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "psStackY_12c = zPath;" (assignment_expression "psStackY_12c = zPath" identifier = identifier) ;) (expression_statement "psStackY_128 = psVar23;" (assignment_expression "psStackY_128 = psVar23" identifier = identifier) ;) (expression_statement "psStackY_124 = psVar6;" (assignment_expression "psStackY_124 = psVar6" identifier = identifier) ;) (expression_statement "psStackY_120 = unaff_s3;" (assignment_expression "psStackY_120 = unaff_s3" identifier = identifier) ;) (expression_statement "pcStackY_11c = pcVar28;" (assignment_expression "pcStackY_11c = pcVar28" identifier = identifier) ;) (expression_statement "iVar5 = (*(code *)psVar27[0x656].aDbStatic[1].pBt)();" (assignment_expression "iVar5 = (*(code *)psVar27[0x656].aDbStatic[1].pBt)()" identifier = (call_expression "(*(code *)psVar27[0x656].aDbStatic[1].pBt)()" (parenthesized_expression "(*(code *)psVar27[0x656].aDbStatic[1].pBt)" ( (pointer_expression "*(code *)psVar27[0x656].aDbStatic[1].pBt" * (cast_expression "(code *)psVar27[0x656].aDbStatic[1].pBt" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar27[0x656].aDbStatic[1].pBt" (subscript_expression "psVar27[0x656].aDbStatic[1]" (field_expression "psVar27[0x656].aDbStatic" (subscript_expression "psVar27[0x656]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar5 == 0) {\n    uVar11 = (*(code *)(psVar27[0x656].pDisconnect + 0x80))(5);\n    (*(code *)psVar27[0x656].pSavepoint)(uVar11);\n    pHVar12 = psVar27[0x655].aModule.first;\n    if (0 < iVar3) {\n      if (psVar20 != (sqlite3_value *)0x0) {\n        pHVar13 = psVar27[0x655].aModule.first;\n        if (*(char *)&pHVar12[0x33].data == '\0') {\n          *(undefined1 *)((int)&pHVar13[0x33].data + 2) = 0;\n          *(undefined1 *)((int)&pHVar13[0x33].data + 1) = 0;\n          iVar5 = (**(code **)((int)&psVar27[0x656].flags + 4))(0);\n          (**(code **)(iVar5 + 0x38))(iVar5,0x100,abStackY_234);\n          pHVar12 = psVar27[0x655].aModule.first;\n          iVar5 = 0;\n          do {\n            *(char *)((int)&pHVar12[0x33].data + iVar5 + 3) = (char)iVar5;\n            iVar5 = iVar5 + 1;\n          } while (iVar5 != 0x100);\n          pHVar12 = psVar27[0x655].aModule.first;\n          uVar18 = (uint)*(byte *)((int)&pHVar12[0x33].data + 2);\n          pbVar14 = (byte *)((int)&psVar27[0x655].aModule.first[0x33].data + 3);\n          pbVar21 = abStackY_234;\n          pHVar13 = psVar27[0x655].aModule.first;\n          do {\n            uVar22 = uVar18 + (uint)*pbVar14 + (uint)*pbVar21;\n            uVar18 = uVar22 & 0xff;\n            bVar2 = *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3);\n            *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3) = *pbVar14;\n            *pbVar14 = bVar2;\n            pbVar14 = pbVar14 + 1;\n            pbVar21 = pbVar21 + 1;\n          } while (pbVar14 != (byte *)((int)&pHVar12[0x43].data + 3));\n          pHVar13 = psVar27[0x655].aModule.first;\n          *(char *)((int)&pHVar13[0x33].data + 2) = (char)uVar22;\n          *(undefined1 *)&pHVar13[0x33].data = 1;\n        }\n        uVar18 = (uint)*(byte *)((int)&pHVar13[0x33].data + 2);\n        uVar22 = *(byte *)((int)&pHVar13[0x33].data + 1) + 1;\n        psVar17 = psVar20;\n        do {\n          uVar16 = (uint)((int)psVar17 + ((uVar22 & 0xff) - (int)psVar20)) & 0xff;\n          bVar2 = *(byte *)((int)&pHVar13[0x33].data + uVar16 + 3);\n          uVar19 = bVar2 + uVar18;\n          uVar18 = uVar19 & 0xff;\n          *(undefined1 *)((int)&pHVar13[0x33].data + uVar16 + 3) =\n               *(undefined1 *)((int)&pHVar13[0x33].data + uVar18 + 3);\n          *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3) = bVar2;\n          psVar6 = (sqlite3_value *)((int)&psVar17->u + 1);\n          *(char *)&psVar17->u =\n               *(char *)((int)&pHVar13[0x33].data +\n                        ((uint)bVar2 + (uint)*(byte *)((int)&pHVar13[0x33].data + uVar16 + 3) & 0xff\n                        ) + 3);\n          psVar17 = psVar6;\n        } while (psVar6 != (sqlite3_value *)((int)&psVar20->u + iVar3));\n        pHVar12 = psVar27[0x655].aModule.first;\n        *(char *)((int)&pHVar12[0x33].data + 1) = (char)uVar22 + (char)iVar3 + -1;\n        *(char *)((int)&pHVar12[0x33].data + 2) = (char)uVar19;\n        (*(code *)psVar27[0x656].aDbStatic[1].pSchema)(uVar11);\n        goto LAB_000c4e3c;\n      }\n      pHVar12 = psVar27[0x655].aModule.first;\n    }\n    *(undefined1 *)&pHVar12[0x33].data = 0;\n    (*(code *)psVar27[0x656].aDbStatic[1].pSchema)(uVar11);\n  }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar11 = (*(code *)(psVar27[0x656].pDisconnect + 0x80))(5);\n    (*(code *)psVar27[0x656].pSavepoint)(uVar11);\n    pHVar12 = psVar27[0x655].aModule.first;\n    if (0 < iVar3) {\n      if (psVar20 != (sqlite3_value *)0x0) {\n        pHVar13 = psVar27[0x655].aModule.first;\n        if (*(char *)&pHVar12[0x33].data == '\0') {\n          *(undefined1 *)((int)&pHVar13[0x33].data + 2) = 0;\n          *(undefined1 *)((int)&pHVar13[0x33].data + 1) = 0;\n          iVar5 = (**(code **)((int)&psVar27[0x656].flags + 4))(0);\n          (**(code **)(iVar5 + 0x38))(iVar5,0x100,abStackY_234);\n          pHVar12 = psVar27[0x655].aModule.first;\n          iVar5 = 0;\n          do {\n            *(char *)((int)&pHVar12[0x33].data + iVar5 + 3) = (char)iVar5;\n            iVar5 = iVar5 + 1;\n          } while (iVar5 != 0x100);\n          pHVar12 = psVar27[0x655].aModule.first;\n          uVar18 = (uint)*(byte *)((int)&pHVar12[0x33].data + 2);\n          pbVar14 = (byte *)((int)&psVar27[0x655].aModule.first[0x33].data + 3);\n          pbVar21 = abStackY_234;\n          pHVar13 = psVar27[0x655].aModule.first;\n          do {\n            uVar22 = uVar18 + (uint)*pbVar14 + (uint)*pbVar21;\n            uVar18 = uVar22 & 0xff;\n            bVar2 = *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3);\n            *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3) = *pbVar14;\n            *pbVar14 = bVar2;\n            pbVar14 = pbVar14 + 1;\n            pbVar21 = pbVar21 + 1;\n          } while (pbVar14 != (byte *)((int)&pHVar12[0x43].data + 3));\n          pHVar13 = psVar27[0x655].aModule.first;\n          *(char *)((int)&pHVar13[0x33].data + 2) = (char)uVar22;\n          *(undefined1 *)&pHVar13[0x33].data = 1;\n        }\n        uVar18 = (uint)*(byte *)((int)&pHVar13[0x33].data + 2);\n        uVar22 = *(byte *)((int)&pHVar13[0x33].data + 1) + 1;\n        psVar17 = psVar20;\n        do {\n          uVar16 = (uint)((int)psVar17 + ((uVar22 & 0xff) - (int)psVar20)) & 0xff;\n          bVar2 = *(byte *)((int)&pHVar13[0x33].data + uVar16 + 3);\n          uVar19 = bVar2 + uVar18;\n          uVar18 = uVar19 & 0xff;\n          *(undefined1 *)((int)&pHVar13[0x33].data + uVar16 + 3) =\n               *(undefined1 *)((int)&pHVar13[0x33].data + uVar18 + 3);\n          *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3) = bVar2;\n          psVar6 = (sqlite3_value *)((int)&psVar17->u + 1);\n          *(char *)&psVar17->u =\n               *(char *)((int)&pHVar13[0x33].data +\n                        ((uint)bVar2 + (uint)*(byte *)((int)&pHVar13[0x33].data + uVar16 + 3) & 0xff\n                        ) + 3);\n          psVar17 = psVar6;\n        } while (psVar6 != (sqlite3_value *)((int)&psVar20->u + iVar3));\n        pHVar12 = psVar27[0x655].aModule.first;\n        *(char *)((int)&pHVar12[0x33].data + 1) = (char)uVar22 + (char)iVar3 + -1;\n        *(char *)((int)&pHVar12[0x33].data + 2) = (char)uVar19;\n        (*(code *)psVar27[0x656].aDbStatic[1].pSchema)(uVar11);\n        goto LAB_000c4e3c;\n      }\n      pHVar12 = psVar27[0x655].aModule.first;\n    }\n    *(undefined1 *)&pHVar12[0x33].data = 0;\n    (*(code *)psVar27[0x656].aDbStatic[1].pSchema)(uVar11);\n  }" { (expression_statement "uVar11 = (*(code *)(psVar27[0x656].pDisconnect + 0x80))(5);" (assignment_expression "uVar11 = (*(code *)(psVar27[0x656].pDisconnect + 0x80))(5)" identifier = (call_expression "(*(code *)(psVar27[0x656].pDisconnect + 0x80))(5)" (parenthesized_expression "(*(code *)(psVar27[0x656].pDisconnect + 0x80))" ( (pointer_expression "*(code *)(psVar27[0x656].pDisconnect + 0x80)" * (cast_expression "(code *)(psVar27[0x656].pDisconnect + 0x80)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar27[0x656].pDisconnect + 0x80)" ( (binary_expression "psVar27[0x656].pDisconnect + 0x80" (field_expression "psVar27[0x656].pDisconnect" (subscript_expression "psVar27[0x656]" identifier [ number_literal ]) . field_identifier) + number_literal) )))) )) (argument_list "(5)" ( number_literal )))) ;) (expression_statement "(*(code *)psVar27[0x656].pSavepoint)(uVar11);" (call_expression "(*(code *)psVar27[0x656].pSavepoint)(uVar11)" (parenthesized_expression "(*(code *)psVar27[0x656].pSavepoint)" ( (pointer_expression "*(code *)psVar27[0x656].pSavepoint" * (cast_expression "(code *)psVar27[0x656].pSavepoint" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar27[0x656].pSavepoint" (subscript_expression "psVar27[0x656]" identifier [ number_literal ]) . field_identifier))) )) (argument_list "(uVar11)" ( identifier ))) ;) (expression_statement "pHVar12 = psVar27[0x655].aModule.first;" (assignment_expression "pHVar12 = psVar27[0x655].aModule.first" identifier = (field_expression "psVar27[0x655].aModule.first" (field_expression "psVar27[0x655].aModule" (subscript_expression "psVar27[0x655]" identifier [ number_literal ]) . field_identifier) . field_identifier)) ;) (if_statement "if (0 < iVar3) {\n      if (psVar20 != (sqlite3_value *)0x0) {\n        pHVar13 = psVar27[0x655].aModule.first;\n        if (*(char *)&pHVar12[0x33].data == '\0') {\n          *(undefined1 *)((int)&pHVar13[0x33].data + 2) = 0;\n          *(undefined1 *)((int)&pHVar13[0x33].data + 1) = 0;\n          iVar5 = (**(code **)((int)&psVar27[0x656].flags + 4))(0);\n          (**(code **)(iVar5 + 0x38))(iVar5,0x100,abStackY_234);\n          pHVar12 = psVar27[0x655].aModule.first;\n          iVar5 = 0;\n          do {\n            *(char *)((int)&pHVar12[0x33].data + iVar5 + 3) = (char)iVar5;\n            iVar5 = iVar5 + 1;\n          } while (iVar5 != 0x100);\n          pHVar12 = psVar27[0x655].aModule.first;\n          uVar18 = (uint)*(byte *)((int)&pHVar12[0x33].data + 2);\n          pbVar14 = (byte *)((int)&psVar27[0x655].aModule.first[0x33].data + 3);\n          pbVar21 = abStackY_234;\n          pHVar13 = psVar27[0x655].aModule.first;\n          do {\n            uVar22 = uVar18 + (uint)*pbVar14 + (uint)*pbVar21;\n            uVar18 = uVar22 & 0xff;\n            bVar2 = *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3);\n            *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3) = *pbVar14;\n            *pbVar14 = bVar2;\n            pbVar14 = pbVar14 + 1;\n            pbVar21 = pbVar21 + 1;\n          } while (pbVar14 != (byte *)((int)&pHVar12[0x43].data + 3));\n          pHVar13 = psVar27[0x655].aModule.first;\n          *(char *)((int)&pHVar13[0x33].data + 2) = (char)uVar22;\n          *(undefined1 *)&pHVar13[0x33].data = 1;\n        }\n        uVar18 = (uint)*(byte *)((int)&pHVar13[0x33].data + 2);\n        uVar22 = *(byte *)((int)&pHVar13[0x33].data + 1) + 1;\n        psVar17 = psVar20;\n        do {\n          uVar16 = (uint)((int)psVar17 + ((uVar22 & 0xff) - (int)psVar20)) & 0xff;\n          bVar2 = *(byte *)((int)&pHVar13[0x33].data + uVar16 + 3);\n          uVar19 = bVar2 + uVar18;\n          uVar18 = uVar19 & 0xff;\n          *(undefined1 *)((int)&pHVar13[0x33].data + uVar16 + 3) =\n               *(undefined1 *)((int)&pHVar13[0x33].data + uVar18 + 3);\n          *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3) = bVar2;\n          psVar6 = (sqlite3_value *)((int)&psVar17->u + 1);\n          *(char *)&psVar17->u =\n               *(char *)((int)&pHVar13[0x33].data +\n                        ((uint)bVar2 + (uint)*(byte *)((int)&pHVar13[0x33].data + uVar16 + 3) & 0xff\n                        ) + 3);\n          psVar17 = psVar6;\n        } while (psVar6 != (sqlite3_value *)((int)&psVar20->u + iVar3));\n        pHVar12 = psVar27[0x655].aModule.first;\n        *(char *)((int)&pHVar12[0x33].data + 1) = (char)uVar22 + (char)iVar3 + -1;\n        *(char *)((int)&pHVar12[0x33].data + 2) = (char)uVar19;\n        (*(code *)psVar27[0x656].aDbStatic[1].pSchema)(uVar11);\n        goto LAB_000c4e3c;\n      }\n      pHVar12 = psVar27[0x655].aModule.first;\n    }" if (parenthesized_expression "(0 < iVar3)" ( (binary_expression "0 < iVar3" number_literal < identifier) )) (compound_statement "{\n      if (psVar20 != (sqlite3_value *)0x0) {\n        pHVar13 = psVar27[0x655].aModule.first;\n        if (*(char *)&pHVar12[0x33].data == '\0') {\n          *(undefined1 *)((int)&pHVar13[0x33].data + 2) = 0;\n          *(undefined1 *)((int)&pHVar13[0x33].data + 1) = 0;\n          iVar5 = (**(code **)((int)&psVar27[0x656].flags + 4))(0);\n          (**(code **)(iVar5 + 0x38))(iVar5,0x100,abStackY_234);\n          pHVar12 = psVar27[0x655].aModule.first;\n          iVar5 = 0;\n          do {\n            *(char *)((int)&pHVar12[0x33].data + iVar5 + 3) = (char)iVar5;\n            iVar5 = iVar5 + 1;\n          } while (iVar5 != 0x100);\n          pHVar12 = psVar27[0x655].aModule.first;\n          uVar18 = (uint)*(byte *)((int)&pHVar12[0x33].data + 2);\n          pbVar14 = (byte *)((int)&psVar27[0x655].aModule.first[0x33].data + 3);\n          pbVar21 = abStackY_234;\n          pHVar13 = psVar27[0x655].aModule.first;\n          do {\n            uVar22 = uVar18 + (uint)*pbVar14 + (uint)*pbVar21;\n            uVar18 = uVar22 & 0xff;\n            bVar2 = *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3);\n            *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3) = *pbVar14;\n            *pbVar14 = bVar2;\n            pbVar14 = pbVar14 + 1;\n            pbVar21 = pbVar21 + 1;\n          } while (pbVar14 != (byte *)((int)&pHVar12[0x43].data + 3));\n          pHVar13 = psVar27[0x655].aModule.first;\n          *(char *)((int)&pHVar13[0x33].data + 2) = (char)uVar22;\n          *(undefined1 *)&pHVar13[0x33].data = 1;\n        }\n        uVar18 = (uint)*(byte *)((int)&pHVar13[0x33].data + 2);\n        uVar22 = *(byte *)((int)&pHVar13[0x33].data + 1) + 1;\n        psVar17 = psVar20;\n        do {\n          uVar16 = (uint)((int)psVar17 + ((uVar22 & 0xff) - (int)psVar20)) & 0xff;\n          bVar2 = *(byte *)((int)&pHVar13[0x33].data + uVar16 + 3);\n          uVar19 = bVar2 + uVar18;\n          uVar18 = uVar19 & 0xff;\n          *(undefined1 *)((int)&pHVar13[0x33].data + uVar16 + 3) =\n               *(undefined1 *)((int)&pHVar13[0x33].data + uVar18 + 3);\n          *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3) = bVar2;\n          psVar6 = (sqlite3_value *)((int)&psVar17->u + 1);\n          *(char *)&psVar17->u =\n               *(char *)((int)&pHVar13[0x33].data +\n                        ((uint)bVar2 + (uint)*(byte *)((int)&pHVar13[0x33].data + uVar16 + 3) & 0xff\n                        ) + 3);\n          psVar17 = psVar6;\n        } while (psVar6 != (sqlite3_value *)((int)&psVar20->u + iVar3));\n        pHVar12 = psVar27[0x655].aModule.first;\n        *(char *)((int)&pHVar12[0x33].data + 1) = (char)uVar22 + (char)iVar3 + -1;\n        *(char *)((int)&pHVar12[0x33].data + 2) = (char)uVar19;\n        (*(code *)psVar27[0x656].aDbStatic[1].pSchema)(uVar11);\n        goto LAB_000c4e3c;\n      }\n      pHVar12 = psVar27[0x655].aModule.first;\n    }" { (if_statement "if (psVar20 != (sqlite3_value *)0x0) {\n        pHVar13 = psVar27[0x655].aModule.first;\n        if (*(char *)&pHVar12[0x33].data == '\0') {\n          *(undefined1 *)((int)&pHVar13[0x33].data + 2) = 0;\n          *(undefined1 *)((int)&pHVar13[0x33].data + 1) = 0;\n          iVar5 = (**(code **)((int)&psVar27[0x656].flags + 4))(0);\n          (**(code **)(iVar5 + 0x38))(iVar5,0x100,abStackY_234);\n          pHVar12 = psVar27[0x655].aModule.first;\n          iVar5 = 0;\n          do {\n            *(char *)((int)&pHVar12[0x33].data + iVar5 + 3) = (char)iVar5;\n            iVar5 = iVar5 + 1;\n          } while (iVar5 != 0x100);\n          pHVar12 = psVar27[0x655].aModule.first;\n          uVar18 = (uint)*(byte *)((int)&pHVar12[0x33].data + 2);\n          pbVar14 = (byte *)((int)&psVar27[0x655].aModule.first[0x33].data + 3);\n          pbVar21 = abStackY_234;\n          pHVar13 = psVar27[0x655].aModule.first;\n          do {\n            uVar22 = uVar18 + (uint)*pbVar14 + (uint)*pbVar21;\n            uVar18 = uVar22 & 0xff;\n            bVar2 = *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3);\n            *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3) = *pbVar14;\n            *pbVar14 = bVar2;\n            pbVar14 = pbVar14 + 1;\n            pbVar21 = pbVar21 + 1;\n          } while (pbVar14 != (byte *)((int)&pHVar12[0x43].data + 3));\n          pHVar13 = psVar27[0x655].aModule.first;\n          *(char *)((int)&pHVar13[0x33].data + 2) = (char)uVar22;\n          *(undefined1 *)&pHVar13[0x33].data = 1;\n        }\n        uVar18 = (uint)*(byte *)((int)&pHVar13[0x33].data + 2);\n        uVar22 = *(byte *)((int)&pHVar13[0x33].data + 1) + 1;\n        psVar17 = psVar20;\n        do {\n          uVar16 = (uint)((int)psVar17 + ((uVar22 & 0xff) - (int)psVar20)) & 0xff;\n          bVar2 = *(byte *)((int)&pHVar13[0x33].data + uVar16 + 3);\n          uVar19 = bVar2 + uVar18;\n          uVar18 = uVar19 & 0xff;\n          *(undefined1 *)((int)&pHVar13[0x33].data + uVar16 + 3) =\n               *(undefined1 *)((int)&pHVar13[0x33].data + uVar18 + 3);\n          *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3) = bVar2;\n          psVar6 = (sqlite3_value *)((int)&psVar17->u + 1);\n          *(char *)&psVar17->u =\n               *(char *)((int)&pHVar13[0x33].data +\n                        ((uint)bVar2 + (uint)*(byte *)((int)&pHVar13[0x33].data + uVar16 + 3) & 0xff\n                        ) + 3);\n          psVar17 = psVar6;\n        } while (psVar6 != (sqlite3_value *)((int)&psVar20->u + iVar3));\n        pHVar12 = psVar27[0x655].aModule.first;\n        *(char *)((int)&pHVar12[0x33].data + 1) = (char)uVar22 + (char)iVar3 + -1;\n        *(char *)((int)&pHVar12[0x33].data + 2) = (char)uVar19;\n        (*(code *)psVar27[0x656].aDbStatic[1].pSchema)(uVar11);\n        goto LAB_000c4e3c;\n      }" if (parenthesized_expression "(psVar20 != (sqlite3_value *)0x0)" ( (binary_expression "psVar20 != (sqlite3_value *)0x0" identifier != (cast_expression "(sqlite3_value *)0x0" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pHVar13 = psVar27[0x655].aModule.first;\n        if (*(char *)&pHVar12[0x33].data == '\0') {\n          *(undefined1 *)((int)&pHVar13[0x33].data + 2) = 0;\n          *(undefined1 *)((int)&pHVar13[0x33].data + 1) = 0;\n          iVar5 = (**(code **)((int)&psVar27[0x656].flags + 4))(0);\n          (**(code **)(iVar5 + 0x38))(iVar5,0x100,abStackY_234);\n          pHVar12 = psVar27[0x655].aModule.first;\n          iVar5 = 0;\n          do {\n            *(char *)((int)&pHVar12[0x33].data + iVar5 + 3) = (char)iVar5;\n            iVar5 = iVar5 + 1;\n          } while (iVar5 != 0x100);\n          pHVar12 = psVar27[0x655].aModule.first;\n          uVar18 = (uint)*(byte *)((int)&pHVar12[0x33].data + 2);\n          pbVar14 = (byte *)((int)&psVar27[0x655].aModule.first[0x33].data + 3);\n          pbVar21 = abStackY_234;\n          pHVar13 = psVar27[0x655].aModule.first;\n          do {\n            uVar22 = uVar18 + (uint)*pbVar14 + (uint)*pbVar21;\n            uVar18 = uVar22 & 0xff;\n            bVar2 = *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3);\n            *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3) = *pbVar14;\n            *pbVar14 = bVar2;\n            pbVar14 = pbVar14 + 1;\n            pbVar21 = pbVar21 + 1;\n          } while (pbVar14 != (byte *)((int)&pHVar12[0x43].data + 3));\n          pHVar13 = psVar27[0x655].aModule.first;\n          *(char *)((int)&pHVar13[0x33].data + 2) = (char)uVar22;\n          *(undefined1 *)&pHVar13[0x33].data = 1;\n        }\n        uVar18 = (uint)*(byte *)((int)&pHVar13[0x33].data + 2);\n        uVar22 = *(byte *)((int)&pHVar13[0x33].data + 1) + 1;\n        psVar17 = psVar20;\n        do {\n          uVar16 = (uint)((int)psVar17 + ((uVar22 & 0xff) - (int)psVar20)) & 0xff;\n          bVar2 = *(byte *)((int)&pHVar13[0x33].data + uVar16 + 3);\n          uVar19 = bVar2 + uVar18;\n          uVar18 = uVar19 & 0xff;\n          *(undefined1 *)((int)&pHVar13[0x33].data + uVar16 + 3) =\n               *(undefined1 *)((int)&pHVar13[0x33].data + uVar18 + 3);\n          *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3) = bVar2;\n          psVar6 = (sqlite3_value *)((int)&psVar17->u + 1);\n          *(char *)&psVar17->u =\n               *(char *)((int)&pHVar13[0x33].data +\n                        ((uint)bVar2 + (uint)*(byte *)((int)&pHVar13[0x33].data + uVar16 + 3) & 0xff\n                        ) + 3);\n          psVar17 = psVar6;\n        } while (psVar6 != (sqlite3_value *)((int)&psVar20->u + iVar3));\n        pHVar12 = psVar27[0x655].aModule.first;\n        *(char *)((int)&pHVar12[0x33].data + 1) = (char)uVar22 + (char)iVar3 + -1;\n        *(char *)((int)&pHVar12[0x33].data + 2) = (char)uVar19;\n        (*(code *)psVar27[0x656].aDbStatic[1].pSchema)(uVar11);\n        goto LAB_000c4e3c;\n      }" { (expression_statement "pHVar13 = psVar27[0x655].aModule.first;" (assignment_expression "pHVar13 = psVar27[0x655].aModule.first" identifier = (field_expression "psVar27[0x655].aModule.first" (field_expression "psVar27[0x655].aModule" (subscript_expression "psVar27[0x655]" identifier [ number_literal ]) . field_identifier) . field_identifier)) ;) (if_statement "if (*(char *)&pHVar12[0x33].data == '\0') {\n          *(undefined1 *)((int)&pHVar13[0x33].data + 2) = 0;\n          *(undefined1 *)((int)&pHVar13[0x33].data + 1) = 0;\n          iVar5 = (**(code **)((int)&psVar27[0x656].flags + 4))(0);\n          (**(code **)(iVar5 + 0x38))(iVar5,0x100,abStackY_234);\n          pHVar12 = psVar27[0x655].aModule.first;\n          iVar5 = 0;\n          do {\n            *(char *)((int)&pHVar12[0x33].data + iVar5 + 3) = (char)iVar5;\n            iVar5 = iVar5 + 1;\n          } while (iVar5 != 0x100);\n          pHVar12 = psVar27[0x655].aModule.first;\n          uVar18 = (uint)*(byte *)((int)&pHVar12[0x33].data + 2);\n          pbVar14 = (byte *)((int)&psVar27[0x655].aModule.first[0x33].data + 3);\n          pbVar21 = abStackY_234;\n          pHVar13 = psVar27[0x655].aModule.first;\n          do {\n            uVar22 = uVar18 + (uint)*pbVar14 + (uint)*pbVar21;\n            uVar18 = uVar22 & 0xff;\n            bVar2 = *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3);\n            *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3) = *pbVar14;\n            *pbVar14 = bVar2;\n            pbVar14 = pbVar14 + 1;\n            pbVar21 = pbVar21 + 1;\n          } while (pbVar14 != (byte *)((int)&pHVar12[0x43].data + 3));\n          pHVar13 = psVar27[0x655].aModule.first;\n          *(char *)((int)&pHVar13[0x33].data + 2) = (char)uVar22;\n          *(undefined1 *)&pHVar13[0x33].data = 1;\n        }" if (parenthesized_expression "(*(char *)&pHVar12[0x33].data == '\0')" ( (binary_expression "*(char *)&pHVar12[0x33].data == '\0'" (pointer_expression "*(char *)&pHVar12[0x33].data" * (cast_expression "(char *)&pHVar12[0x33].data" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pHVar12[0x33].data" & (field_expression "pHVar12[0x33].data" (subscript_expression "pHVar12[0x33]" identifier [ number_literal ]) . field_identifier)))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          *(undefined1 *)((int)&pHVar13[0x33].data + 2) = 0;\n          *(undefined1 *)((int)&pHVar13[0x33].data + 1) = 0;\n          iVar5 = (**(code **)((int)&psVar27[0x656].flags + 4))(0);\n          (**(code **)(iVar5 + 0x38))(iVar5,0x100,abStackY_234);\n          pHVar12 = psVar27[0x655].aModule.first;\n          iVar5 = 0;\n          do {\n            *(char *)((int)&pHVar12[0x33].data + iVar5 + 3) = (char)iVar5;\n            iVar5 = iVar5 + 1;\n          } while (iVar5 != 0x100);\n          pHVar12 = psVar27[0x655].aModule.first;\n          uVar18 = (uint)*(byte *)((int)&pHVar12[0x33].data + 2);\n          pbVar14 = (byte *)((int)&psVar27[0x655].aModule.first[0x33].data + 3);\n          pbVar21 = abStackY_234;\n          pHVar13 = psVar27[0x655].aModule.first;\n          do {\n            uVar22 = uVar18 + (uint)*pbVar14 + (uint)*pbVar21;\n            uVar18 = uVar22 & 0xff;\n            bVar2 = *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3);\n            *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3) = *pbVar14;\n            *pbVar14 = bVar2;\n            pbVar14 = pbVar14 + 1;\n            pbVar21 = pbVar21 + 1;\n          } while (pbVar14 != (byte *)((int)&pHVar12[0x43].data + 3));\n          pHVar13 = psVar27[0x655].aModule.first;\n          *(char *)((int)&pHVar13[0x33].data + 2) = (char)uVar22;\n          *(undefined1 *)&pHVar13[0x33].data = 1;\n        }" { (expression_statement "*(undefined1 *)((int)&pHVar13[0x33].data + 2) = 0;" (assignment_expression "*(undefined1 *)((int)&pHVar13[0x33].data + 2) = 0" (pointer_expression "*(undefined1 *)((int)&pHVar13[0x33].data + 2)" * (cast_expression "(undefined1 *)((int)&pHVar13[0x33].data + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pHVar13[0x33].data + 2)" ( (binary_expression "(int)&pHVar13[0x33].data + 2" (cast_expression "(int)&pHVar13[0x33].data" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pHVar13[0x33].data" & (field_expression "pHVar13[0x33].data" (subscript_expression "pHVar13[0x33]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)&pHVar13[0x33].data + 1) = 0;" (assignment_expression "*(undefined1 *)((int)&pHVar13[0x33].data + 1) = 0" (pointer_expression "*(undefined1 *)((int)&pHVar13[0x33].data + 1)" * (cast_expression "(undefined1 *)((int)&pHVar13[0x33].data + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pHVar13[0x33].data + 1)" ( (binary_expression "(int)&pHVar13[0x33].data + 1" (cast_expression "(int)&pHVar13[0x33].data" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pHVar13[0x33].data" & (field_expression "pHVar13[0x33].data" (subscript_expression "pHVar13[0x33]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "iVar5 = (**(code **)((int)&psVar27[0x656].flags + 4))(0);" (assignment_expression "iVar5 = (**(code **)((int)&psVar27[0x656].flags + 4))(0)" identifier = (call_expression "(**(code **)((int)&psVar27[0x656].flags + 4))(0)" (parenthesized_expression "(**(code **)((int)&psVar27[0x656].flags + 4))" ( (pointer_expression "**(code **)((int)&psVar27[0x656].flags + 4)" * (pointer_expression "*(code **)((int)&psVar27[0x656].flags + 4)" * (cast_expression "(code **)((int)&psVar27[0x656].flags + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&psVar27[0x656].flags + 4)" ( (binary_expression "(int)&psVar27[0x656].flags + 4" (cast_expression "(int)&psVar27[0x656].flags" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar27[0x656].flags" & (field_expression "psVar27[0x656].flags" (subscript_expression "psVar27[0x656]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))))) )) (argument_list "(0)" ( number_literal )))) ;) (expression_statement "(**(code **)(iVar5 + 0x38))(iVar5,0x100,abStackY_234);" (call_expression "(**(code **)(iVar5 + 0x38))(iVar5,0x100,abStackY_234)" (parenthesized_expression "(**(code **)(iVar5 + 0x38))" ( (pointer_expression "**(code **)(iVar5 + 0x38)" * (pointer_expression "*(code **)(iVar5 + 0x38)" * (cast_expression "(code **)(iVar5 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) ))))) )) (argument_list "(iVar5,0x100,abStackY_234)" ( identifier , number_literal , identifier ))) ;) (expression_statement "pHVar12 = psVar27[0x655].aModule.first;" (assignment_expression "pHVar12 = psVar27[0x655].aModule.first" identifier = (field_expression "psVar27[0x655].aModule.first" (field_expression "psVar27[0x655].aModule" (subscript_expression "psVar27[0x655]" identifier [ number_literal ]) . field_identifier) . field_identifier)) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (do_statement "do {\n            *(char *)((int)&pHVar12[0x33].data + iVar5 + 3) = (char)iVar5;\n            iVar5 = iVar5 + 1;\n          } while (iVar5 != 0x100);" do (compound_statement "{\n            *(char *)((int)&pHVar12[0x33].data + iVar5 + 3) = (char)iVar5;\n            iVar5 = iVar5 + 1;\n          }" { (expression_statement "*(char *)((int)&pHVar12[0x33].data + iVar5 + 3) = (char)iVar5;" (assignment_expression "*(char *)((int)&pHVar12[0x33].data + iVar5 + 3) = (char)iVar5" (pointer_expression "*(char *)((int)&pHVar12[0x33].data + iVar5 + 3)" * (cast_expression "(char *)((int)&pHVar12[0x33].data + iVar5 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pHVar12[0x33].data + iVar5 + 3)" ( (binary_expression "(int)&pHVar12[0x33].data + iVar5 + 3" (binary_expression "(int)&pHVar12[0x33].data + iVar5" (cast_expression "(int)&pHVar12[0x33].data" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pHVar12[0x33].data" & (field_expression "pHVar12[0x33].data" (subscript_expression "pHVar12[0x33]" identifier [ number_literal ]) . field_identifier))) + identifier) + number_literal) )))) = (cast_expression "(char)iVar5" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar5 != 0x100)" ( (binary_expression "iVar5 != 0x100" identifier != number_literal) )) ;) (expression_statement "pHVar12 = psVar27[0x655].aModule.first;" (assignment_expression "pHVar12 = psVar27[0x655].aModule.first" identifier = (field_expression "psVar27[0x655].aModule.first" (field_expression "psVar27[0x655].aModule" (subscript_expression "psVar27[0x655]" identifier [ number_literal ]) . field_identifier) . field_identifier)) ;) (expression_statement "uVar18 = (uint)*(byte *)((int)&pHVar12[0x33].data + 2);" (assignment_expression "uVar18 = (uint)*(byte *)((int)&pHVar12[0x33].data + 2)" identifier = (binary_expression "(uint)*(byte *)((int)&pHVar12[0x33].data + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)&pHVar12[0x33].data + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pHVar12[0x33].data + 2)" ( (binary_expression "(int)&pHVar12[0x33].data + 2" (cast_expression "(int)&pHVar12[0x33].data" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pHVar12[0x33].data" & (field_expression "pHVar12[0x33].data" (subscript_expression "pHVar12[0x33]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))))) ;) (expression_statement "pbVar14 = (byte *)((int)&psVar27[0x655].aModule.first[0x33].data + 3);" (assignment_expression "pbVar14 = (byte *)((int)&psVar27[0x655].aModule.first[0x33].data + 3)" identifier = (cast_expression "(byte *)((int)&psVar27[0x655].aModule.first[0x33].data + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar27[0x655].aModule.first[0x33].data + 3)" ( (binary_expression "(int)&psVar27[0x655].aModule.first[0x33].data + 3" (cast_expression "(int)&psVar27[0x655].aModule.first[0x33].data" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar27[0x655].aModule.first[0x33].data" & (field_expression "psVar27[0x655].aModule.first[0x33].data" (subscript_expression "psVar27[0x655].aModule.first[0x33]" (field_expression "psVar27[0x655].aModule.first" (field_expression "psVar27[0x655].aModule" (subscript_expression "psVar27[0x655]" identifier [ number_literal ]) . field_identifier) . field_identifier) [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "pbVar21 = abStackY_234;" (assignment_expression "pbVar21 = abStackY_234" identifier = identifier) ;) (expression_statement "pHVar13 = psVar27[0x655].aModule.first;" (assignment_expression "pHVar13 = psVar27[0x655].aModule.first" identifier = (field_expression "psVar27[0x655].aModule.first" (field_expression "psVar27[0x655].aModule" (subscript_expression "psVar27[0x655]" identifier [ number_literal ]) . field_identifier) . field_identifier)) ;) (do_statement "do {\n            uVar22 = uVar18 + (uint)*pbVar14 + (uint)*pbVar21;\n            uVar18 = uVar22 & 0xff;\n            bVar2 = *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3);\n            *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3) = *pbVar14;\n            *pbVar14 = bVar2;\n            pbVar14 = pbVar14 + 1;\n            pbVar21 = pbVar21 + 1;\n          } while (pbVar14 != (byte *)((int)&pHVar12[0x43].data + 3));" do (compound_statement "{\n            uVar22 = uVar18 + (uint)*pbVar14 + (uint)*pbVar21;\n            uVar18 = uVar22 & 0xff;\n            bVar2 = *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3);\n            *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3) = *pbVar14;\n            *pbVar14 = bVar2;\n            pbVar14 = pbVar14 + 1;\n            pbVar21 = pbVar21 + 1;\n          }" { (expression_statement "uVar22 = uVar18 + (uint)*pbVar14 + (uint)*pbVar21;" (assignment_expression "uVar22 = uVar18 + (uint)*pbVar14 + (uint)*pbVar21" identifier = (binary_expression "uVar18 + (uint)*pbVar14 + (uint)*pbVar21" (binary_expression "uVar18 + (uint)*pbVar14" identifier + (binary_expression "(uint)*pbVar14" (parenthesized_expression "(uint)" ( identifier )) * identifier)) + (binary_expression "(uint)*pbVar21" (parenthesized_expression "(uint)" ( identifier )) * identifier))) ;) (expression_statement "uVar18 = uVar22 & 0xff;" (assignment_expression "uVar18 = uVar22 & 0xff" identifier = (binary_expression "uVar22 & 0xff" identifier & number_literal)) ;) (expression_statement "bVar2 = *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3);" (assignment_expression "bVar2 = *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3)" identifier = (pointer_expression "*(byte *)((int)&pHVar13[0x33].data + uVar18 + 3)" * (cast_expression "(byte *)((int)&pHVar13[0x33].data + uVar18 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pHVar13[0x33].data + uVar18 + 3)" ( (binary_expression "(int)&pHVar13[0x33].data + uVar18 + 3" (binary_expression "(int)&pHVar13[0x33].data + uVar18" (cast_expression "(int)&pHVar13[0x33].data" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pHVar13[0x33].data" & (field_expression "pHVar13[0x33].data" (subscript_expression "pHVar13[0x33]" identifier [ number_literal ]) . field_identifier))) + identifier) + number_literal) ))))) ;) (expression_statement "*(byte *)((int)&pHVar13[0x33].data + uVar18 + 3) = *pbVar14;" (assignment_expression "*(byte *)((int)&pHVar13[0x33].data + uVar18 + 3) = *pbVar14" (pointer_expression "*(byte *)((int)&pHVar13[0x33].data + uVar18 + 3)" * (cast_expression "(byte *)((int)&pHVar13[0x33].data + uVar18 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pHVar13[0x33].data + uVar18 + 3)" ( (binary_expression "(int)&pHVar13[0x33].data + uVar18 + 3" (binary_expression "(int)&pHVar13[0x33].data + uVar18" (cast_expression "(int)&pHVar13[0x33].data" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pHVar13[0x33].data" & (field_expression "pHVar13[0x33].data" (subscript_expression "pHVar13[0x33]" identifier [ number_literal ]) . field_identifier))) + identifier) + number_literal) )))) = (pointer_expression "*pbVar14" * identifier)) ;) (expression_statement "*pbVar14 = bVar2;" (assignment_expression "*pbVar14 = bVar2" (pointer_expression "*pbVar14" * identifier) = identifier) ;) (expression_statement "pbVar14 = pbVar14 + 1;" (assignment_expression "pbVar14 = pbVar14 + 1" identifier = (binary_expression "pbVar14 + 1" identifier + number_literal)) ;) (expression_statement "pbVar21 = pbVar21 + 1;" (assignment_expression "pbVar21 = pbVar21 + 1" identifier = (binary_expression "pbVar21 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pbVar14 != (byte *)((int)&pHVar12[0x43].data + 3))" ( (binary_expression "pbVar14 != (byte *)((int)&pHVar12[0x43].data + 3)" identifier != (cast_expression "(byte *)((int)&pHVar12[0x43].data + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pHVar12[0x43].data + 3)" ( (binary_expression "(int)&pHVar12[0x43].data + 3" (cast_expression "(int)&pHVar12[0x43].data" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pHVar12[0x43].data" & (field_expression "pHVar12[0x43].data" (subscript_expression "pHVar12[0x43]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) )) ;) (expression_statement "pHVar13 = psVar27[0x655].aModule.first;" (assignment_expression "pHVar13 = psVar27[0x655].aModule.first" identifier = (field_expression "psVar27[0x655].aModule.first" (field_expression "psVar27[0x655].aModule" (subscript_expression "psVar27[0x655]" identifier [ number_literal ]) . field_identifier) . field_identifier)) ;) (expression_statement "*(char *)((int)&pHVar13[0x33].data + 2) = (char)uVar22;" (assignment_expression "*(char *)((int)&pHVar13[0x33].data + 2) = (char)uVar22" (pointer_expression "*(char *)((int)&pHVar13[0x33].data + 2)" * (cast_expression "(char *)((int)&pHVar13[0x33].data + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pHVar13[0x33].data + 2)" ( (binary_expression "(int)&pHVar13[0x33].data + 2" (cast_expression "(int)&pHVar13[0x33].data" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pHVar13[0x33].data" & (field_expression "pHVar13[0x33].data" (subscript_expression "pHVar13[0x33]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) = (cast_expression "(char)uVar22" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "*(undefined1 *)&pHVar13[0x33].data = 1;" (assignment_expression "*(undefined1 *)&pHVar13[0x33].data = 1" (pointer_expression "*(undefined1 *)&pHVar13[0x33].data" * (cast_expression "(undefined1 *)&pHVar13[0x33].data" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pHVar13[0x33].data" & (field_expression "pHVar13[0x33].data" (subscript_expression "pHVar13[0x33]" identifier [ number_literal ]) . field_identifier)))) = number_literal) ;) })) (expression_statement "uVar18 = (uint)*(byte *)((int)&pHVar13[0x33].data + 2);" (assignment_expression "uVar18 = (uint)*(byte *)((int)&pHVar13[0x33].data + 2)" identifier = (binary_expression "(uint)*(byte *)((int)&pHVar13[0x33].data + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)&pHVar13[0x33].data + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pHVar13[0x33].data + 2)" ( (binary_expression "(int)&pHVar13[0x33].data + 2" (cast_expression "(int)&pHVar13[0x33].data" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pHVar13[0x33].data" & (field_expression "pHVar13[0x33].data" (subscript_expression "pHVar13[0x33]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))))) ;) (expression_statement "uVar22 = *(byte *)((int)&pHVar13[0x33].data + 1) + 1;" (assignment_expression "uVar22 = *(byte *)((int)&pHVar13[0x33].data + 1) + 1" identifier = (binary_expression "*(byte *)((int)&pHVar13[0x33].data + 1) + 1" (pointer_expression "*(byte *)((int)&pHVar13[0x33].data + 1)" * (cast_expression "(byte *)((int)&pHVar13[0x33].data + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pHVar13[0x33].data + 1)" ( (binary_expression "(int)&pHVar13[0x33].data + 1" (cast_expression "(int)&pHVar13[0x33].data" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pHVar13[0x33].data" & (field_expression "pHVar13[0x33].data" (subscript_expression "pHVar13[0x33]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) + number_literal)) ;) (expression_statement "psVar17 = psVar20;" (assignment_expression "psVar17 = psVar20" identifier = identifier) ;) (do_statement "do {\n          uVar16 = (uint)((int)psVar17 + ((uVar22 & 0xff) - (int)psVar20)) & 0xff;\n          bVar2 = *(byte *)((int)&pHVar13[0x33].data + uVar16 + 3);\n          uVar19 = bVar2 + uVar18;\n          uVar18 = uVar19 & 0xff;\n          *(undefined1 *)((int)&pHVar13[0x33].data + uVar16 + 3) =\n               *(undefined1 *)((int)&pHVar13[0x33].data + uVar18 + 3);\n          *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3) = bVar2;\n          psVar6 = (sqlite3_value *)((int)&psVar17->u + 1);\n          *(char *)&psVar17->u =\n               *(char *)((int)&pHVar13[0x33].data +\n                        ((uint)bVar2 + (uint)*(byte *)((int)&pHVar13[0x33].data + uVar16 + 3) & 0xff\n                        ) + 3);\n          psVar17 = psVar6;\n        } while (psVar6 != (sqlite3_value *)((int)&psVar20->u + iVar3));" do (compound_statement "{\n          uVar16 = (uint)((int)psVar17 + ((uVar22 & 0xff) - (int)psVar20)) & 0xff;\n          bVar2 = *(byte *)((int)&pHVar13[0x33].data + uVar16 + 3);\n          uVar19 = bVar2 + uVar18;\n          uVar18 = uVar19 & 0xff;\n          *(undefined1 *)((int)&pHVar13[0x33].data + uVar16 + 3) =\n               *(undefined1 *)((int)&pHVar13[0x33].data + uVar18 + 3);\n          *(byte *)((int)&pHVar13[0x33].data + uVar18 + 3) = bVar2;\n          psVar6 = (sqlite3_value *)((int)&psVar17->u + 1);\n          *(char *)&psVar17->u =\n               *(char *)((int)&pHVar13[0x33].data +\n                        ((uint)bVar2 + (uint)*(byte *)((int)&pHVar13[0x33].data + uVar16 + 3) & 0xff\n                        ) + 3);\n          psVar17 = psVar6;\n        }" { (expression_statement "uVar16 = (uint)((int)psVar17 + ((uVar22 & 0xff) - (int)psVar20)) & 0xff;" (assignment_expression "uVar16 = (uint)((int)psVar17 + ((uVar22 & 0xff) - (int)psVar20)) & 0xff" identifier = (binary_expression "(uint)((int)psVar17 + ((uVar22 & 0xff) - (int)psVar20)) & 0xff" (call_expression "(uint)((int)psVar17 + ((uVar22 & 0xff) - (int)psVar20))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)psVar17 + ((uVar22 & 0xff) - (int)psVar20))" ( (binary_expression "(int)psVar17 + ((uVar22 & 0xff) - (int)psVar20)" (cast_expression "(int)psVar17" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((uVar22 & 0xff) - (int)psVar20)" ( (binary_expression "(uVar22 & 0xff) - (int)psVar20" (parenthesized_expression "(uVar22 & 0xff)" ( (binary_expression "uVar22 & 0xff" identifier & number_literal) )) - (cast_expression "(int)psVar20" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) & number_literal)) ;) (expression_statement "bVar2 = *(byte *)((int)&pHVar13[0x33].data + uVar16 + 3);" (assignment_expression "bVar2 = *(byte *)((int)&pHVar13[0x33].data + uVar16 + 3)" identifier = (pointer_expression "*(byte *)((int)&pHVar13[0x33].data + uVar16 + 3)" * (cast_expression "(byte *)((int)&pHVar13[0x33].data + uVar16 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pHVar13[0x33].data + uVar16 + 3)" ( (binary_expression "(int)&pHVar13[0x33].data + uVar16 + 3" (binary_expression "(int)&pHVar13[0x33].data + uVar16" (cast_expression "(int)&pHVar13[0x33].data" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pHVar13[0x33].data" & (field_expression "pHVar13[0x33].data" (subscript_expression "pHVar13[0x33]" identifier [ number_literal ]) . field_identifier))) + identifier) + number_literal) ))))) ;) (expression_statement "uVar19 = bVar2 + uVar18;" (assignment_expression "uVar19 = bVar2 + uVar18" identifier = (binary_expression "bVar2 + uVar18" identifier + identifier)) ;) (expression_statement "uVar18 = uVar19 & 0xff;" (assignment_expression "uVar18 = uVar19 & 0xff" identifier = (binary_expression "uVar19 & 0xff" identifier & number_literal)) ;) (expression_statement "*(undefined1 *)((int)&pHVar13[0x33].data + uVar16 + 3) =\n               *(undefined1 *)((int)&pHVar13[0x33].data + uVar18 + 3);" (assignment_expression "*(undefined1 *)((int)&pHVar13[0x33].data + uVar16 + 3) =\n               *(undefined1 *)((int)&pHVar13[0x33].data + uVar18 + 3)" (pointer_expression "*(undefined1 *)((int)&pHVar13[0x33].data + uVar16 + 3)" * (cast_expression "(undefined1 *)((int)&pHVar13[0x33].data + uVar16 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pHVar13[0x33].data + uVar16 + 3)" ( (binary_expression "(int)&pHVar13[0x33].data + uVar16 + 3" (binary_expression "(int)&pHVar13[0x33].data + uVar16" (cast_expression "(int)&pHVar13[0x33].data" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pHVar13[0x33].data" & (field_expression "pHVar13[0x33].data" (subscript_expression "pHVar13[0x33]" identifier [ number_literal ]) . field_identifier))) + identifier) + number_literal) )))) = (pointer_expression "*(undefined1 *)((int)&pHVar13[0x33].data + uVar18 + 3)" * (cast_expression "(undefined1 *)((int)&pHVar13[0x33].data + uVar18 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pHVar13[0x33].data + uVar18 + 3)" ( (binary_expression "(int)&pHVar13[0x33].data + uVar18 + 3" (binary_expression "(int)&pHVar13[0x33].data + uVar18" (cast_expression "(int)&pHVar13[0x33].data" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pHVar13[0x33].data" & (field_expression "pHVar13[0x33].data" (subscript_expression "pHVar13[0x33]" identifier [ number_literal ]) . field_identifier))) + identifier) + number_literal) ))))) ;) (expression_statement "*(byte *)((int)&pHVar13[0x33].data + uVar18 + 3) = bVar2;" (assignment_expression "*(byte *)((int)&pHVar13[0x33].data + uVar18 + 3) = bVar2" (pointer_expression "*(byte *)((int)&pHVar13[0x33].data + uVar18 + 3)" * (cast_expression "(byte *)((int)&pHVar13[0x33].data + uVar18 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pHVar13[0x33].data + uVar18 + 3)" ( (binary_expression "(int)&pHVar13[0x33].data + uVar18 + 3" (binary_expression "(int)&pHVar13[0x33].data + uVar18" (cast_expression "(int)&pHVar13[0x33].data" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pHVar13[0x33].data" & (field_expression "pHVar13[0x33].data" (subscript_expression "pHVar13[0x33]" identifier [ number_literal ]) . field_identifier))) + identifier) + number_literal) )))) = identifier) ;) (expression_statement "psVar6 = (sqlite3_value *)((int)&psVar17->u + 1);" (assignment_expression "psVar6 = (sqlite3_value *)((int)&psVar17->u + 1)" identifier = (cast_expression "(sqlite3_value *)((int)&psVar17->u + 1)" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar17->u + 1)" ( (binary_expression "(int)&psVar17->u + 1" (cast_expression "(int)&psVar17->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar17->u" & (field_expression "psVar17->u" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "*(char *)&psVar17->u =\n               *(char *)((int)&pHVar13[0x33].data +\n                        ((uint)bVar2 + (uint)*(byte *)((int)&pHVar13[0x33].data + uVar16 + 3) & 0xff\n                        ) + 3);" (assignment_expression "*(char *)&psVar17->u =\n               *(char *)((int)&pHVar13[0x33].data +\n                        ((uint)bVar2 + (uint)*(byte *)((int)&pHVar13[0x33].data + uVar16 + 3) & 0xff\n                        ) + 3)" (pointer_expression "*(char *)&psVar17->u" * (cast_expression "(char *)&psVar17->u" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar17->u" & (field_expression "psVar17->u" identifier -> field_identifier)))) = (pointer_expression "*(char *)((int)&pHVar13[0x33].data +\n                        ((uint)bVar2 + (uint)*(byte *)((int)&pHVar13[0x33].data + uVar16 + 3) & 0xff\n                        ) + 3)" * (cast_expression "(char *)((int)&pHVar13[0x33].data +\n                        ((uint)bVar2 + (uint)*(byte *)((int)&pHVar13[0x33].data + uVar16 + 3) & 0xff\n                        ) + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pHVar13[0x33].data +\n                        ((uint)bVar2 + (uint)*(byte *)((int)&pHVar13[0x33].data + uVar16 + 3) & 0xff\n                        ) + 3)" ( (binary_expression "(int)&pHVar13[0x33].data +\n                        ((uint)bVar2 + (uint)*(byte *)((int)&pHVar13[0x33].data + uVar16 + 3) & 0xff\n                        ) + 3" (binary_expression "(int)&pHVar13[0x33].data +\n                        ((uint)bVar2 + (uint)*(byte *)((int)&pHVar13[0x33].data + uVar16 + 3) & 0xff\n                        )" (cast_expression "(int)&pHVar13[0x33].data" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pHVar13[0x33].data" & (field_expression "pHVar13[0x33].data" (subscript_expression "pHVar13[0x33]" identifier [ number_literal ]) . field_identifier))) + (parenthesized_expression "((uint)bVar2 + (uint)*(byte *)((int)&pHVar13[0x33].data + uVar16 + 3) & 0xff\n                        )" ( (binary_expression "(uint)bVar2 + (uint)*(byte *)((int)&pHVar13[0x33].data + uVar16 + 3) & 0xff" (binary_expression "(uint)bVar2 + (uint)*(byte *)((int)&pHVar13[0x33].data + uVar16 + 3)" (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier) + (binary_expression "(uint)*(byte *)((int)&pHVar13[0x33].data + uVar16 + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)&pHVar13[0x33].data + uVar16 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pHVar13[0x33].data + uVar16 + 3)" ( (binary_expression "(int)&pHVar13[0x33].data + uVar16 + 3" (binary_expression "(int)&pHVar13[0x33].data + uVar16" (cast_expression "(int)&pHVar13[0x33].data" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pHVar13[0x33].data" & (field_expression "pHVar13[0x33].data" (subscript_expression "pHVar13[0x33]" identifier [ number_literal ]) . field_identifier))) + identifier) + number_literal) ))))) & number_literal) ))) + number_literal) ))))) ;) (expression_statement "psVar17 = psVar6;" (assignment_expression "psVar17 = psVar6" identifier = identifier) ;) }) while (parenthesized_expression "(psVar6 != (sqlite3_value *)((int)&psVar20->u + iVar3))" ( (binary_expression "psVar6 != (sqlite3_value *)((int)&psVar20->u + iVar3)" identifier != (cast_expression "(sqlite3_value *)((int)&psVar20->u + iVar3)" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar20->u + iVar3)" ( (binary_expression "(int)&psVar20->u + iVar3" (cast_expression "(int)&psVar20->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar20->u" & (field_expression "psVar20->u" identifier -> field_identifier))) + identifier) )))) )) ;) (expression_statement "pHVar12 = psVar27[0x655].aModule.first;" (assignment_expression "pHVar12 = psVar27[0x655].aModule.first" identifier = (field_expression "psVar27[0x655].aModule.first" (field_expression "psVar27[0x655].aModule" (subscript_expression "psVar27[0x655]" identifier [ number_literal ]) . field_identifier) . field_identifier)) ;) (expression_statement "*(char *)((int)&pHVar12[0x33].data + 1) = (char)uVar22 + (char)iVar3 + -1;" (assignment_expression "*(char *)((int)&pHVar12[0x33].data + 1) = (char)uVar22 + (char)iVar3 + -1" (pointer_expression "*(char *)((int)&pHVar12[0x33].data + 1)" * (cast_expression "(char *)((int)&pHVar12[0x33].data + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pHVar12[0x33].data + 1)" ( (binary_expression "(int)&pHVar12[0x33].data + 1" (cast_expression "(int)&pHVar12[0x33].data" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pHVar12[0x33].data" & (field_expression "pHVar12[0x33].data" (subscript_expression "pHVar12[0x33]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) = (binary_expression "(char)uVar22 + (char)iVar3 + -1" (binary_expression "(char)uVar22 + (char)iVar3" (cast_expression "(char)uVar22" ( (type_descriptor "char" primitive_type) ) identifier) + (cast_expression "(char)iVar3" ( (type_descriptor "char" primitive_type) ) identifier)) + number_literal)) ;) (expression_statement "*(char *)((int)&pHVar12[0x33].data + 2) = (char)uVar19;" (assignment_expression "*(char *)((int)&pHVar12[0x33].data + 2) = (char)uVar19" (pointer_expression "*(char *)((int)&pHVar12[0x33].data + 2)" * (cast_expression "(char *)((int)&pHVar12[0x33].data + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pHVar12[0x33].data + 2)" ( (binary_expression "(int)&pHVar12[0x33].data + 2" (cast_expression "(int)&pHVar12[0x33].data" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pHVar12[0x33].data" & (field_expression "pHVar12[0x33].data" (subscript_expression "pHVar12[0x33]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) = (cast_expression "(char)uVar19" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "(*(code *)psVar27[0x656].aDbStatic[1].pSchema)(uVar11);" (call_expression "(*(code *)psVar27[0x656].aDbStatic[1].pSchema)(uVar11)" (parenthesized_expression "(*(code *)psVar27[0x656].aDbStatic[1].pSchema)" ( (pointer_expression "*(code *)psVar27[0x656].aDbStatic[1].pSchema" * (cast_expression "(code *)psVar27[0x656].aDbStatic[1].pSchema" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar27[0x656].aDbStatic[1].pSchema" (subscript_expression "psVar27[0x656].aDbStatic[1]" (field_expression "psVar27[0x656].aDbStatic" (subscript_expression "psVar27[0x656]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier))) )) (argument_list "(uVar11)" ( identifier ))) ;) (goto_statement "goto LAB_000c4e3c;" goto statement_identifier ;) })) (expression_statement "pHVar12 = psVar27[0x655].aModule.first;" (assignment_expression "pHVar12 = psVar27[0x655].aModule.first" identifier = (field_expression "psVar27[0x655].aModule.first" (field_expression "psVar27[0x655].aModule" (subscript_expression "psVar27[0x655]" identifier [ number_literal ]) . field_identifier) . field_identifier)) ;) })) (expression_statement "*(undefined1 *)&pHVar12[0x33].data = 0;" (assignment_expression "*(undefined1 *)&pHVar12[0x33].data = 0" (pointer_expression "*(undefined1 *)&pHVar12[0x33].data" * (cast_expression "(undefined1 *)&pHVar12[0x33].data" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pHVar12[0x33].data" & (field_expression "pHVar12[0x33].data" (subscript_expression "pHVar12[0x33]" identifier [ number_literal ]) . field_identifier)))) = number_literal) ;) (expression_statement "(*(code *)psVar27[0x656].aDbStatic[1].pSchema)(uVar11);" (call_expression "(*(code *)psVar27[0x656].aDbStatic[1].pSchema)(uVar11)" (parenthesized_expression "(*(code *)psVar27[0x656].aDbStatic[1].pSchema)" ( (pointer_expression "*(code *)psVar27[0x656].aDbStatic[1].pSchema" * (cast_expression "(code *)psVar27[0x656].aDbStatic[1].pSchema" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar27[0x656].aDbStatic[1].pSchema" (subscript_expression "psVar27[0x656].aDbStatic[1]" (field_expression "psVar27[0x656].aDbStatic" (subscript_expression "psVar27[0x656]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier))) )) (argument_list "(uVar11)" ( identifier ))) ;) })) (labeled_statement "LAB_000c4e3c:\n                    /* WARNING: Load size is inaccurate */\n  if (iStackY_134 != *psVar27[0x658].pUpdateArg) {\n    (*(code *)psVar27[0x658].nVDestroy)();\n    return;\n  }" statement_identifier : comment (if_statement "if (iStackY_134 != *psVar27[0x658].pUpdateArg) {\n    (*(code *)psVar27[0x658].nVDestroy)();\n    return;\n  }" if (parenthesized_expression "(iStackY_134 != *psVar27[0x658].pUpdateArg)" ( (binary_expression "iStackY_134 != *psVar27[0x658].pUpdateArg" identifier != (pointer_expression "*psVar27[0x658].pUpdateArg" * (field_expression "psVar27[0x658].pUpdateArg" (subscript_expression "psVar27[0x658]" identifier [ number_literal ]) . field_identifier))) )) (compound_statement "{\n    (*(code *)psVar27[0x658].nVDestroy)();\n    return;\n  }" { (expression_statement "(*(code *)psVar27[0x658].nVDestroy)();" (call_expression "(*(code *)psVar27[0x658].nVDestroy)()" (parenthesized_expression "(*(code *)psVar27[0x658].nVDestroy)" ( (pointer_expression "*(code *)psVar27[0x658].nVDestroy" * (cast_expression "(code *)psVar27[0x658].nVDestroy" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar27[0x658].nVDestroy" (subscript_expression "psVar27[0x658]" identifier [ number_literal ]) . field_identifier))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) }))) (return_statement "return;" return ;) })))
(translation_unit "code * FUN_000c44e8(code *param_1,code *param_2,code *param_3,code *param_4)\n\n{\n  bool bVar1;\n  code cVar2;\n  code *pcVar3;\n  int iVar4;\n  code *pcVar5;\n  code *pcVar6;\n  byte *pbVar7;\n  int iVar8;\n  uint uVar9;\n  int *piVar10;\n  int *piVar11;\n  int *piVar12;\n  code *pcVar13;\n  code *pcVar14;\n  byte *pbVar15;\n  int iVar16;\n  byte bVar17;\n  code *unaff_s0;\n  code *unaff_s1;\n  uint uVar18;\n  undefined4 *puVar19;\n  code *unaff_s3;\n  code *unaff_s4;\n  uint uVar20;\n  code *unaff_s5;\n  code *unaff_s6;\n  int *piVar21;\n  code *unaff_s7;\n  code *pcVar22;\n  code *pcVar23;\n  undefined *puVar24;\n  code *pcVar25;\n  code *pcVar26;\n  code *unaff_s8;\n  int iVar27;\n  uint uVar28;\n  undefined4 uVar29;\n  code *pcVar30;\n  code *pcVar31;\n  undefined8 uVar32;\n  code *pcStack_96c;\n  uint uStack_968;\n  undefined4 uStack_960;\n  uint uStack_958;\n  undefined4 uStack_954;\n  undefined4 uStack_950;\n  int iStack_94c;\n  int iStack_948;\n  int iStack_944;\n  int aiStack_940 [4];\n  int iStack_930;\n  int iStack_92c;\n  uint uStack_928;\n  undefined4 uStack_920;\n  undefined4 uStack_91c;\n  undefined1 auStack_89c [516];\n  undefined1 auStack_698 [516];\n  int iStack_494;\n  int iStack_490;\n  code *pcStack_48c;\n  code *pcStack_488;\n  code *pcStack_484;\n  code *pcStack_480;\n  code *pcStack_47c;\n  code *pcStack_478;\n  code *pcStack_474;\n  int iStack_470;\n  undefined4 uStack_46c;\n  undefined4 *puStack_458;\n  code *pcStack_448;\n  int iStack_37c;\n  code *pcStack_378;\n  code *pcStack_374;\n  code *pcStack_370;\n  code *pcStack_36c;\n  code *pcStack_368;\n  code *pcStack_364;\n  code *pcStack_360;\n  code *pcStack_35c;\n  int iStack_358;\n  undefined4 uStack_354;\n  undefined4 uStack_340;\n  undefined4 uStack_33c;\n  undefined4 uStack_338;\n  code *pcStack_330;\n  undefined4 uStack_328;\n  undefined4 uStack_324;\n  undefined1 auStack_320 [24];\n  uint uStack_308;\n  int iStack_27c;\n  int iStack_278;\n  code *pcStack_274;\n  code *pcStack_270;\n  code *pcStack_26c;\n  code *pcStack_268;\n  code *pcStack_264;\n  code *pcStack_260;\n  code *pcStack_25c;\n  code *pcStack_258;\n  code *pcStack_254;\n  code *pcStack_240;\n  byte abStack_234 [256];\n  code *pcStack_134;\n  code *pcStack_12c;\n  code *pcStack_128;\n  code *pcStack_124;\n  code *pcStack_120;\n  code *pcStack_11c;\n  code **local_108;\n  code *local_100;\n  code *local_f8;\n  code *local_f4;\n  code *local_f0;\n  code *local_ec;\n  code *local_e8;\n  code *local_e4;\n  code *local_e0;\n  undefined4 local_dc;\n  code *local_c8;\n  code *local_bc;\n  int local_b8;\n  undefined1 auStack_b4 [8];\n  int local_ac;\n  char local_a0;\n  char local_9f;\n  code *local_94;\n  code *local_90;\n  code *local_8c;\n  code *local_88;\n  code *local_84;\n  code *local_80;\n  code *local_7c;\n  code *local_78;\n  code *local_74;\n  undefined1 local_4c [8];\n  int local_44;\n  char local_37;\n  code *local_2c;\n  \n  local_2c = *(code **)PTR___stack_chk_guard_0018fecc;\n  pcVar22 = param_1;\n  pcVar5 = param_2;\n  pcVar3 = param_3;\n  if (0 < (int)param_2) {\n    unaff_s0 = param_2;\n    unaff_s7 = param_3;\n    if (((uint)param_2 & 1) == 0) {\n      pcVar5 = (code *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824);\n      FUN_000c4464();\n    }\n    else {\n      pcVar3 = (code *)(*(code *)PTR_sqlite3_value_text_0018f97c)(*(int *)param_3);\n      pcVar22 = (code *)local_4c;\n      pcVar5 = param_1;\n      iVar4 = FUN_000b4580();\n      puVar24 = PTR_sqlite3_value_text_0018f97c;\n      unaff_s6 = param_2;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(param_2 < (code *)0x2);\n        unaff_s1 = param_3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s4 = (code *)local_4c;\n          unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);\n          do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);\n        }\n        if ((*(byte *)(local_44 + 1) & 8) == 0) {\n          pcVar5 = param_1;\n          pcVar3 = param_3;\n          FUN_000b63c4();\n        }\n        else {\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }\nLAB_000c4674:\n        pcVar22 = (code *)local_4c;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = param_3;\n      }\n    }\n  }\n  if (local_2c == *(code **)PTR___stack_chk_guard_0018fecc) {\n    return *(code **)PTR___stack_chk_guard_0018fecc;\n  }\n  puVar24 = PTR___stack_chk_fail_0018fea0;\n  (*(code *)PTR___stack_chk_fail_0018fea0)();\n  local_74 = unaff_s7;\n  local_78 = unaff_s6;\n  local_7c = unaff_s5;\n  local_80 = unaff_s4;\n  local_84 = unaff_s3;\n  local_88 = param_1;\n  local_8c = unaff_s1;\n  local_90 = unaff_s0;\n  local_c8 = (code *)(puVar24 + 0xd3230);\n  local_bc = pcVar3;\n  pcVar3 = local_bc;\n  local_94 = (code *)**(int **)(puVar24 + 0xcb7dc);\n  pcVar31 = pcVar22;\n  pcVar13 = pcVar5;\n  pcVar6 = pcVar3;\n  if (0 < (int)pcVar5) {\n    unaff_s3 = (code *)**(undefined4 **)(*(int *)(pcVar22 + 4) + 8);\n    unaff_s0 = pcVar5;\n    if (((uint)pcVar5 & 1) == 0) {\n      if (unaff_s3 == (code *)0x0) {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb268) + 0x4920);\n      }\n      else {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8);\n      }\n      FUN_000c4464();\n      pcVar6 = pcVar3;\n    }\n    else {\n      pcVar6 = (code *)(**(code **)(puVar24 + 0xcb28c))(*(int *)pcVar3);\n      pcVar31 = (code *)auStack_b4;\n      pcVar13 = pcVar22;\n      iVar4 = FUN_000b4580();\n      unaff_s1 = pcVar3;\n      unaff_s7 = pcVar5;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(pcVar5 < (code *)0x2);\n        unaff_s1 = pcVar3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s6 = *(code **)(local_c8 + -0x7fa4);\n          unaff_s5 = (code *)&local_b8;\n          unaff_s4 = (code *)auStack_b4;\n          unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);\n          do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);\n        }\n        pcVar6 = local_bc;\n        if ((*(byte *)(local_ac + 1) & 8) == 0) {\n          pcVar13 = pcVar22;\n          FUN_000b63c4();\n        }\n        else {\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }\nLAB_000c484c:\n        pcVar31 = (code *)auStack_b4;\n        (*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))();\n      }\n    }\n  }\n  if (local_94 == (code *)**(int **)(local_c8 + -0x7a54)) {\n    return (code *)**(int **)(local_c8 + -0x7a54);\n  }\n  pcVar25 = *(code **)(local_c8 + -0x7a80);\n  uVar29 = 0xc4960;\n  (*pcVar25)();\n  pcVar5 = local_c8;\n  local_100 = pcVar25 + 0xd2fc0;\n  local_f4 = (code *)**(undefined4 **)(pcVar25 + 0xcb56c);\n  pcVar3 = pcVar13;\n  local_f0 = unaff_s0;\n  local_ec = unaff_s1;\n  local_e8 = pcVar22;\n  local_e4 = unaff_s3;\n  local_e0 = unaff_s4;\n  local_dc = uVar29;\n  (*(code *)(*(int *)(pcVar25 + 0xcb2a4) + 0x3d3c))();\n  if (pcVar13 != (code *)0x0) {\n    unaff_s4 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)pcVar5);\n    if (unaff_s4 == (code *)0x0) {\n      pcVar13 = (code *)0x0;\n    }\n    else {\n      unaff_s3 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)pcVar5);\n      pcVar3 = unaff_s3 + 1;\n      iVar4 = (**(code **)(local_100 + -0x7f50))\n                        ((uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f));\n      *(int *)(pcVar31 + 0x18) = iVar4;\n      if (iVar4 == 0) {\n        pcVar13 = (code *)&DAT_00000007;\n      }\n      else {\n        (**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1);\n        unaff_s4 = pcVar31 + 0x20;\n        pcVar6 = *(code **)(pcVar31 + 0x18);\n        pcVar3 = (code *)0x0;\n        unaff_s3 = (code *)FUN_000b4580(unaff_s4);\n        if (unaff_s3 == (code *)0x0) {\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }\n      }\n    }\n  }\nLAB_000c49c4:\n  if (local_f4 == (code *)**(undefined4 **)(local_100 + -0x7a54)) {\n    return pcVar13;\n  }\n  pcVar26 = *(code **)(local_100 + -0x7a80);\n  pcVar30 = sqlite3_randomness;\n  pcVar22 = local_f4;\n  (*pcVar26)();\n  pcStack_240 = pcVar26 + 0xd2b38;\n  pcStack_134 = (code *)**(int **)(pcVar26 + 0xcb0e4);\n  pcVar25 = pcVar22;\n  pcVar14 = pcVar3;\n  pcStack_12c = pcVar13;\n  pcStack_128 = pcVar31;\n  pcStack_124 = pcVar5;\n  pcStack_120 = unaff_s3;\n  pcStack_11c = pcVar30;\n  iVar4 = (**(code **)(pcVar26 + 0xcadb8))();\n  if (iVar4 == 0) {\n    unaff_s3 = (code *)(*(code *)(*(int *)(pcStack_240 + -0x7dc8) + 0xe00))(5);\n    (**(code **)(pcStack_240 + -0x7d74))(unaff_s3);\n    iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n    pcVar25 = unaff_s3;\n    if (0 < (int)pcVar22) {\n      if (pcVar3 != (code *)0x0) {\n        iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n        if (*(char *)(iVar27 + 0x338) == '\0') {\n          *(undefined1 *)(iVar8 + 0x33a) = 0;\n          *(undefined1 *)(iVar8 + 0x339) = 0;\n          iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0);\n          (**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234);\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          iVar4 = 0;\n          do {\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          } while (iVar4 != 0x100);\n          iVar4 = *(int *)(pcStack_240 + -0x7fd8);\n          uVar9 = (uint)*(byte *)(iVar4 + 0x33a);\n          pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b);\n          pbVar15 = abStack_234;\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          do {\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          } while (pbVar7 != (byte *)(iVar4 + 0x43b));\n          iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n          *(char *)(iVar8 + 0x33a) = (char)uVar18;\n          *(undefined1 *)(iVar8 + 0x338) = 1;\n          iVar4 = 0x100;\n        }\n        pcVar6 = (code *)(iVar8 + 0x338);\n        uVar9 = (uint)*(byte *)(iVar8 + 0x33a);\n        bVar17 = *(char *)(iVar8 + 0x339) + 1;\n        pcVar13 = (code *)((uint)bVar17 - (int)pcVar3);\n        pcVar5 = pcVar3;\n        do {\n          uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff;\n          cVar2 = pcVar6[uVar18 + 3];\n          uVar20 = (byte)cVar2 + uVar9;\n          uVar9 = uVar20 & 0xff;\n          param_4 = pcVar6 + uVar9;\n          pcVar6[uVar18 + 3] = param_4[3];\n          param_4[3] = cVar2;\n          pcVar14 = pcVar5 + 1;\n          *pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3];\n          pcVar5 = pcVar14;\n        } while (pcVar14 != pcVar3 + (int)pcVar22);\n        iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n        pcVar22 = pcVar22 + -1;\n        *(byte *)(iVar27 + 0x339) = bVar17 + (char)pcVar22;\n        *(char *)(iVar27 + 0x33a) = (char)uVar20;\n        (**(code **)(pcStack_240 + -0x7d78))();\n        pcVar3 = pcVar13;\n        goto LAB_000c4e3c;\n      }\n      iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n    }\n    *(undefined1 *)(iVar27 + 0x338) = 0;\n    (**(code **)(pcStack_240 + -0x7d78))();\n  }\nLAB_000c4e3c:\n  if (pcStack_134 == (code *)**(int **)(pcStack_240 + -0x7a54)) {\n    return (code *)**(int **)(pcStack_240 + -0x7a54);\n  }\n  pcVar13 = *(code **)(pcStack_240 + -0x7a80);\n  pcVar31 = FUN_000c5048;\n  (*pcVar13)();\n  pcStack_330 = pcVar13 + 0xd28d8;\n  iStack_27c = **(int **)(pcVar13 + 0xcae84);\n  *pcVar14 = (code)0x0;\n  pcVar5 = (code *)**(undefined4 **)(pcVar13 + 0xcac68);\n  iStack_278 = iVar4;\n  pcStack_274 = pcVar3;\n  pcStack_270 = pcVar22;\n  pcStack_26c = unaff_s3;\n  pcStack_268 = unaff_s4;\n  pcStack_264 = unaff_s5;\n  pcStack_260 = unaff_s6;\n  pcStack_25c = unaff_s7;\n  pcStack_258 = unaff_s8;\n  pcStack_254 = pcVar31;\n  if (*(int *)(*(int *)(pcVar13 + 0xca900) + -0xb90) == 0) {\n    uVar29 = (**(code **)(pcVar13 + 0xcae0c))(*(int *)(pcVar13 + 0xca914) + -0x45f4);\n    *(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90) = uVar29;\n  }\n  if (*(int *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) == 0) {\n    uVar29 = (**(code **)(pcStack_330 + -0x7acc))(*(int *)(pcStack_330 + -0x7fc4) + -0x45e4);\n    *(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) = uVar29;\n  }\n  pcVar3 = (code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90);\n  pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb78);\n  pcVar26 = (code *)auStack_320;\n  iVar4 = *(int *)(pcStack_330 + -0x7fd8);\n  pcVar13 = (code *)(iVar4 + -0x840);\n  iVar27 = 0x4000;\n  pcVar22 = pcStack_330;\n  while( true ) {\n    pcVar30 = pcVar26;\n    if ((((pcVar5 != (code *)0x0) &&\n         (iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) &&\n        (pcVar30 = (code *)0x3, (uStack_308 & 0xf000) == 0x4000)) &&\n       (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) {\n      pcVar3 = (code *)&DAT_0000000c;\n      pcVar26 = (code *)&uStack_328;\n      pcVar13 = pcVar14 + (int)(pcVar25 + -2);\n      pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fc4) + -0x45dc);\n      iVar4 = *(int *)(pcStack_330 + -0x7fd8);\n      iVar27 = iVar4 + -0x840;\n      goto LAB_000c51a4;\n    }\n    pcVar23 = (code *)0x190a;\n    if (pcVar3 == pcVar31) break;\n    pcVar5 = *(code **)pcVar3;\n    pcVar3 = pcVar3 + 4;\n  }\n  goto LAB_000c5230;\njoined_r0x000c5ce4:\n  if (param_4 == pcVar5) goto LAB_000c5d10;\n  piVar21 = (int *)piVar11[2];\n  if (piVar21 == (int *)0x0) goto LAB_000c6494;\n  pcVar5 = (code *)piVar21[1];\n  piVar12 = piVar11 + 2;\n  piVar11 = piVar21;\n  goto joined_r0x000c5ce4;\nLAB_000c5d10:\n  *piVar12 = piVar11[2];\n  (**(code **)(pcVar22 + 0xca2ac))(piVar10[4]);\n  (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n  iVar4 = *piVar11;\n  goto LAB_000c5d44;\nLAB_000c6494:\n  (**(code **)(pcVar22 + 0xca2ac))(piVar10[4]);\n  (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n  goto LAB_000c642c;\n  while (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar14), iVar8 == 0) {\nLAB_000c51a4:\n    sqlite3_randomness(8,pcVar26);\n    *pcVar13 = (code)0x0;\n    uStack_338 = 0;\n    uStack_33c = uStack_324;\n    uStack_340 = uStack_328;\n    pcVar30 = pcVar14;\n    pcVar6 = pcVar31;\n    param_4 = pcVar5;\n    (**(code **)(pcStack_330 + -0x7ec4))(pcVar25);\n    pcVar3 = pcVar3 + -1;\n    if ((*pcVar13 != (code)0x0) || (pcVar30 = (code *)0x0, pcVar3 == (code *)0x0)) {\n      pcVar23 = (code *)0x1;\n      pcVar22 = pcStack_330;\n      goto LAB_000c5230;\n    }\n  }\n  pcVar23 = (code *)0x0;\n  pcVar30 = pcVar26;\n  pcVar22 = pcStack_330;\nLAB_000c5230:\n  if (iStack_27c == **(int **)(pcVar22 + -0x7a54)) {\n    return pcVar23;\n  }\n  pcVar22 = *(code **)(pcVar22 + -0x7a80);\n  uVar29 = 0xc527c;\n  iVar4 = iStack_27c;\n  (*pcVar22)();\n  pcStack_448 = pcVar22 + 0xd26a4;\n  iVar8 = **(int **)(pcVar22 + 0xcac50);\n  iStack_37c = iVar8;\n  pcStack_378 = pcVar3;\n  pcStack_374 = pcVar5;\n  pcStack_370 = pcVar14;\n  pcStack_36c = pcVar13;\n  pcStack_368 = pcVar25;\n  pcStack_364 = pcVar31;\n  pcStack_360 = pcVar26;\n  pcStack_35c = pcVar23;\n  iStack_358 = iVar27;\n  uStack_354 = uVar29;\n  if (pcVar30 < &DAT_00000015) {\n                    \n                    \n    pcVar22 = (code *)(*(pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)))();\n    return pcVar22;\n  }\n  if (iVar8 == **(int **)(pcVar22 + 0xcac50)) {\n    return (code *)&DAT_0000000c;\n  }\n  pcVar22 = *(code **)(pcVar22 + 0xcac24);\n  uVar29 = 0xc58fc;\n  (*pcVar22)();\n  iStack_494 = **(int **)(pcVar22 + 0xca5d0);\n  uVar20 = (uint)param_4 & 0xffffff00;\n  uVar18 = (uint)param_4 & 8;\n  uStack_958 = (uint)param_4 & 1;\n  uVar9 = (uint)param_4 & 2;\n  pcStack_96c = pcVar30;\n  iStack_490 = iVar4;\n  pcStack_48c = pcVar5;\n  pcStack_488 = pcVar14;\n  pcStack_484 = pcVar13;\n  pcStack_480 = pcVar25;\n  pcStack_47c = pcVar31;\n  pcStack_478 = pcVar26;\n  pcStack_474 = pcVar23;\n  iStack_470 = iVar27;\n  uStack_46c = uVar29;\n  if (((uint)param_4 & 4) == 0) {\nLAB_000c59a0:\n    iVar4 = (**(code **)(pcVar22 + 0xca564))();\n    if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {\n      bVar1 = false;\n      goto LAB_000c59cc;\n    }\n    bVar1 = false;\nLAB_000c59fc:\n    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);\n    if (uVar20 != 0x100) goto LAB_000c5a24;\n    (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n    if (*(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228) == 0) {\nLAB_000c6414:\n      iVar4 = *(int *)(pcVar22 + 0xca25c);\n    }\n    else {\n      iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(pcVar30,aiStack_940);\n      if ((iVar4 != 0) ||\n         (piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0))\n      goto LAB_000c6414;\n      do {\n        if ((((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c)) {\n          (**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);\n          piVar11 = (int *)piVar10[8];\n          if (piVar11 == (int *)0x0) goto LAB_000c6494;\n          pcVar5 = (code *)piVar11[1];\n          piVar12 = piVar10 + 8;\n          goto joined_r0x000c5ce4;\n        }\n        piVar10 = (int *)piVar10[0xb];\n        iVar4 = *(int *)(pcVar22 + 0xca25c);\n      } while (piVar10 != (int *)0x0);\n    }\n    (*(code *)(iVar4 + 0x27b8))();\nLAB_000c642c:\n    piVar11 = (int *)(**(code **)(pcVar22 + 0xca0d4))(0,0xc);\n    if (piVar11 == (int *)0x0) {\n      pcVar5 = (code *)&DAT_00000007;\n      goto LAB_000c602c;\n    }\n    iVar4 = -1;\nLAB_000c5d44:\n    *(int **)(pcVar6 + 0x1c) = piVar11;\nLAB_000c5a34:\n    uStack_968 = uVar9;\n    if (((uint)param_4 & 4) != 0) {\n      uStack_968 = uVar9 | 0x100;\n    }\n    if (((uint)param_4 & 0x10) != 0) {\n      uStack_968 = uStack_968 | 0x20400;\n    }\n    if (iVar4 < 0) {\n      if (((uint)param_4 & 0x80800) == 0) {\n        uVar28 = 0x180;\n        if ((uVar18 == 0) && (uVar28 = 0, ((uint)param_4 & 0x40) != 0)) {\n          iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }\n          uVar28 = 0;\n        }\nLAB_000c5e0c:\n        uStack_954 = 0;\n        uStack_960 = 0;\n      }\n      else {\n        iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c);\n        iVar27 = iVar4 + -1;\n        if (pcStack_96c[iVar27] != (code)0x2d) {\n          if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }\n          uVar28 = 0;\n          goto LAB_000c5e0c;\n        }\nLAB_000c5e78:\n        (**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201);\n        auStack_89c[iVar27] = 0;\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940);\n        if (iVar4 == 0) {\n          uVar28 = uStack_928 & 0x1ff;\n          uStack_960 = uStack_920;\n          uStack_954 = uStack_91c;\n          pcVar5 = (code *)0x0;\n        }\n        else {\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }\nLAB_000c5ee0:\n        if (pcVar5 != (code *)0x0) goto LAB_000c602c;\n      }\n      iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                        (pcStack_96c,uStack_968 | 0x2000,uVar28);\n      if (-1 < iVar4) {\nLAB_000c5e40:\n        if (((uint)param_4 & 0x80800) != 0) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);\n        }\n        goto LAB_000c5a6c;\n      }\n      pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n      if (bVar1) {\n        piVar10 = (int *)(*pcVar5)();\n        if (*piVar10 != 0xd) {\n          pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n          goto LAB_000c5fb8;\n        }\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))(pcStack_96c,0);\n        pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n        if (iVar4 == 0) goto LAB_000c5fb8;\n        uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n        (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                  (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634);\n        pcVar5 = (code *)0x608;\n      }\n      else {\nLAB_000c5fb8:\n        piVar10 = (int *)(*pcVar5)();\n        if ((*piVar10 == 0x15) || (uVar9 == 0)) {\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        else {\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        if (pcVar5 == (code *)0x0) goto LAB_000c602c;\n      }\nLAB_000c630c:\n      iVar4 = *(int *)(pcVar6 + 0x1c);\nLAB_000c6310:\n      (**(code **)(pcVar22 + 0xca07c))(iVar4);\n    }\n    else {\nLAB_000c5a6c:\n      if (puStack_458 != (undefined4 *)0x0) {\n        *puStack_458 = param_4;\n      }\n      if (*(int **)(pcVar6 + 0x1c) != (int *)0x0) {\n        **(int **)(pcVar6 + 0x1c) = iVar4;\n        *(code **)(*(int *)(pcVar6 + 0x1c) + 4) = param_4;\n      }\n      if (uVar18 != 0) {\n        (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))(pcStack_96c);\n        uVar18 = 0x20;\n      }\n      if (uStack_958 != 0) {\n        uVar18 = uVar18 | 2;\n      }\n      if (uVar20 != 0x100) {\n        uVar18 = uVar18 | 0x80;\n      }\n      if (bVar1) {\n        uVar18 = uVar18 | 8;\n      }\n      if (((uint)param_4 & 0x40) == 0) {\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = (code *)0x0;\n      }\n      else {\n        uVar18 = uVar18 | 0x40;\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = pcVar30;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca37c))(pcVar5,*(int *)(pcVar22 + 0xca060) + -0x45c0,1);\n      iVar16 = *(int *)(pcVar22 + 0xca060);\n      if (iVar27 != 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 0x10;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca610))(*(undefined4 *)(iVar8 + 0x10),iVar16 + -0x45b8);\n      if (iVar27 == 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 1;\n      }\n      if ((uVar18 & 0x80) == 0) {\n        iVar27 = (*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6);\n        if (iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n          iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);\n          if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n        }\n        else {\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }\n        *(int *)(pcVar6 + 0x14) = 0;\n        if (pcVar5 != (code *)0x0) {\n          if (iVar4 < 0) goto LAB_000c630c;\n          (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);\n          iVar4 = *(int *)(pcVar6 + 0x1c);\n          goto LAB_000c6310;\n        }\n      }\n      else {\n        iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4;\nLAB_000c6394:\n        *(int *)(pcVar6 + 0x14) = 0;\n      }\n      *(int *)pcVar6 = iVar27;\n      (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524))(pcVar6);\n      pcVar5 = (code *)0x0;\n    }\n  }\n  else {\n    if ((uVar20 == 0x4000) || (uVar20 == 0x800)) {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n    }\n    else {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n      if (uVar20 != 0x80000) goto LAB_000c59a0;\n    }\n    iVar4 = (*pcVar5)();\n    if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {\n      bVar1 = true;\nLAB_000c59cc:\n      uVar29 = (**(code **)(pcVar22 + 0xca564))();\n      *(undefined4 *)(*(int *)(pcVar22 + 0xca04c) + 0x230) = uVar29;\n      sqlite3_randomness(0,0);\n      goto LAB_000c59fc;\n    }\n    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);\n    bVar1 = true;\nLAB_000c5a24:\n    iVar4 = -1;\n    if (pcVar30 != (code *)0x0) goto LAB_000c5a34;\n    pcVar5 = (code *)FUN_000c5048(*(undefined4 *)(iVar8 + 8),auStack_698);\n    if (pcVar5 == (code *)0x0) {\n      iVar4 = -1;\n      pcStack_96c = (code *)auStack_698;\n      goto LAB_000c5a34;\n    }\n  }\nLAB_000c602c:\n  if (iStack_494 == **(int **)(pcVar22 + 0xca5d0)) {\n    return pcVar5;\n  }\n  pcVar22 = *(code **)(pcVar22 + 0xca5a4);\n  iVar4 = iStack_494;\n  (*pcVar22)();\n  uVar9 = *(uint *)(iVar4 + 0x98);\n  if (*(uint *)(iVar4 + 0x94) <= *(uint *)(iVar4 + 0x98)) {\n    uVar9 = *(uint *)(iVar4 + 0x94);\n  }\n  puVar19 = *(undefined4 **)(iVar4 + 0xd0);\n  if (0 < *(int *)(iVar4 + 0x60)) {\n    iVar8 = 0;\n    iVar27 = 0;\n    do {\n      iVar16 = *(int *)(iVar4 + 0x5c) + iVar8;\n      if (*(int *)(iVar16 + 8) == 0 && *(int *)(iVar16 + 0xc) == 0) {\n        uVar29 = *(undefined4 *)(iVar4 + 0x48);\n        *(undefined4 *)(iVar16 + 0xc) = *(undefined4 *)(iVar4 + 0x4c);\n        *(undefined4 *)(iVar16 + 8) = uVar29;\n      }\n      iVar27 = iVar27 + 1;\n      iVar8 = iVar8 + 0x30;\n    } while (iVar27 < *(int *)(iVar4 + 0x60));\n  }\n  uVar32 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x43ec))(iVar4);\n  *(undefined8 *)(iVar4 + 0x48) = uVar32;\n  *(undefined8 *)(iVar4 + 0x50) = uVar32;\n  if ((*(char *)(iVar4 + 7) == '\0') && (*(char *)(iVar4 + 5) != '\x04')) {\n    uVar18 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0xaf8))(*(undefined4 *)(iVar4 + 0x3c));\n    iVar27 = *(int *)(pcVar22 + 0xc96e0);\n    if ((uVar18 & 0x200) == 0) {\n      *(undefined1 *)puVar19 = 0;\n      *(undefined1 *)((int)puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 3) = 0;\n      *(undefined1 *)(puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 5) = 0;\n      *(undefined1 *)((int)puVar19 + 6) = 0;\n      *(undefined1 *)((int)puVar19 + 7) = 0;\n      *(undefined1 *)(puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 9) = 0;\n      *(undefined1 *)((int)puVar19 + 10) = 0;\n      *(undefined1 *)((int)puVar19 + 0xb) = 0;\n      goto LAB_000c65ec;\n    }\n  }\n  else {\n    iVar27 = *(int *)(pcVar22 + 0xc96e0);\n  }\n  uVar29 = *(undefined4 *)(iVar27 + -0x4394);\n  *puVar19 = *(undefined4 *)(iVar27 + -0x4398);\n  puVar19[1] = uVar29;\n  (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c))(puVar19 + 2,0xffffffff);\nLAB_000c65ec:\n  sqlite3_randomness(4,iVar4 + 0x30);\n  pcVar5 = (code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c);\n  (*pcVar5)(puVar19 + 3,*(undefined4 *)(iVar4 + 0x30));\n  (*pcVar5)(puVar19 + 4,*(undefined4 *)(iVar4 + 0x1c));\n  (*pcVar5)(puVar19 + 5,*(undefined4 *)(iVar4 + 0x94));\n  (*pcVar5)(puVar19 + 6,*(undefined4 *)(iVar4 + 0x98));\n  (**(code **)(pcVar22 + 0xc9930))(puVar19 + 7,0,uVar9 - 0x1c);\n  uVar18 = 0;\n  if (*(int *)(iVar4 + 0x94) != 0) {\n    iVar27 = *(int *)(pcVar22 + 0xc9688);\n    do {\n      pcVar22 = (code *)(*(code *)(iVar27 + 0x9e0))(*(undefined4 *)(iVar4 + 0x40),puVar19,uVar9);\n      uVar20 = *(uint *)(iVar4 + 0x4c) + uVar9;\n      *(uint *)(iVar4 + 0x48) = (uint)(uVar20 < *(uint *)(iVar4 + 0x4c)) + *(int *)(iVar4 + 0x48);\n      *(uint *)(iVar4 + 0x4c) = uVar20;\n      uVar18 = uVar18 + uVar9;\n      if (pcVar22 != (code *)0x0) {\n        return pcVar22;\n      }\n    } while (uVar18 < *(uint *)(iVar4 + 0x94));\n  }\n  return (code *)0x0;\n}\n\n" (function_definition "code * FUN_000c44e8(code *param_1,code *param_2,code *param_3,code *param_4)\n\n{\n  bool bVar1;\n  code cVar2;\n  code *pcVar3;\n  int iVar4;\n  code *pcVar5;\n  code *pcVar6;\n  byte *pbVar7;\n  int iVar8;\n  uint uVar9;\n  int *piVar10;\n  int *piVar11;\n  int *piVar12;\n  code *pcVar13;\n  code *pcVar14;\n  byte *pbVar15;\n  int iVar16;\n  byte bVar17;\n  code *unaff_s0;\n  code *unaff_s1;\n  uint uVar18;\n  undefined4 *puVar19;\n  code *unaff_s3;\n  code *unaff_s4;\n  uint uVar20;\n  code *unaff_s5;\n  code *unaff_s6;\n  int *piVar21;\n  code *unaff_s7;\n  code *pcVar22;\n  code *pcVar23;\n  undefined *puVar24;\n  code *pcVar25;\n  code *pcVar26;\n  code *unaff_s8;\n  int iVar27;\n  uint uVar28;\n  undefined4 uVar29;\n  code *pcVar30;\n  code *pcVar31;\n  undefined8 uVar32;\n  code *pcStack_96c;\n  uint uStack_968;\n  undefined4 uStack_960;\n  uint uStack_958;\n  undefined4 uStack_954;\n  undefined4 uStack_950;\n  int iStack_94c;\n  int iStack_948;\n  int iStack_944;\n  int aiStack_940 [4];\n  int iStack_930;\n  int iStack_92c;\n  uint uStack_928;\n  undefined4 uStack_920;\n  undefined4 uStack_91c;\n  undefined1 auStack_89c [516];\n  undefined1 auStack_698 [516];\n  int iStack_494;\n  int iStack_490;\n  code *pcStack_48c;\n  code *pcStack_488;\n  code *pcStack_484;\n  code *pcStack_480;\n  code *pcStack_47c;\n  code *pcStack_478;\n  code *pcStack_474;\n  int iStack_470;\n  undefined4 uStack_46c;\n  undefined4 *puStack_458;\n  code *pcStack_448;\n  int iStack_37c;\n  code *pcStack_378;\n  code *pcStack_374;\n  code *pcStack_370;\n  code *pcStack_36c;\n  code *pcStack_368;\n  code *pcStack_364;\n  code *pcStack_360;\n  code *pcStack_35c;\n  int iStack_358;\n  undefined4 uStack_354;\n  undefined4 uStack_340;\n  undefined4 uStack_33c;\n  undefined4 uStack_338;\n  code *pcStack_330;\n  undefined4 uStack_328;\n  undefined4 uStack_324;\n  undefined1 auStack_320 [24];\n  uint uStack_308;\n  int iStack_27c;\n  int iStack_278;\n  code *pcStack_274;\n  code *pcStack_270;\n  code *pcStack_26c;\n  code *pcStack_268;\n  code *pcStack_264;\n  code *pcStack_260;\n  code *pcStack_25c;\n  code *pcStack_258;\n  code *pcStack_254;\n  code *pcStack_240;\n  byte abStack_234 [256];\n  code *pcStack_134;\n  code *pcStack_12c;\n  code *pcStack_128;\n  code *pcStack_124;\n  code *pcStack_120;\n  code *pcStack_11c;\n  code **local_108;\n  code *local_100;\n  code *local_f8;\n  code *local_f4;\n  code *local_f0;\n  code *local_ec;\n  code *local_e8;\n  code *local_e4;\n  code *local_e0;\n  undefined4 local_dc;\n  code *local_c8;\n  code *local_bc;\n  int local_b8;\n  undefined1 auStack_b4 [8];\n  int local_ac;\n  char local_a0;\n  char local_9f;\n  code *local_94;\n  code *local_90;\n  code *local_8c;\n  code *local_88;\n  code *local_84;\n  code *local_80;\n  code *local_7c;\n  code *local_78;\n  code *local_74;\n  undefined1 local_4c [8];\n  int local_44;\n  char local_37;\n  code *local_2c;\n  \n  local_2c = *(code **)PTR___stack_chk_guard_0018fecc;\n  pcVar22 = param_1;\n  pcVar5 = param_2;\n  pcVar3 = param_3;\n  if (0 < (int)param_2) {\n    unaff_s0 = param_2;\n    unaff_s7 = param_3;\n    if (((uint)param_2 & 1) == 0) {\n      pcVar5 = (code *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824);\n      FUN_000c4464();\n    }\n    else {\n      pcVar3 = (code *)(*(code *)PTR_sqlite3_value_text_0018f97c)(*(int *)param_3);\n      pcVar22 = (code *)local_4c;\n      pcVar5 = param_1;\n      iVar4 = FUN_000b4580();\n      puVar24 = PTR_sqlite3_value_text_0018f97c;\n      unaff_s6 = param_2;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(param_2 < (code *)0x2);\n        unaff_s1 = param_3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s4 = (code *)local_4c;\n          unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);\n          do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);\n        }\n        if ((*(byte *)(local_44 + 1) & 8) == 0) {\n          pcVar5 = param_1;\n          pcVar3 = param_3;\n          FUN_000b63c4();\n        }\n        else {\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }\nLAB_000c4674:\n        pcVar22 = (code *)local_4c;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = param_3;\n      }\n    }\n  }\n  if (local_2c == *(code **)PTR___stack_chk_guard_0018fecc) {\n    return *(code **)PTR___stack_chk_guard_0018fecc;\n  }\n  puVar24 = PTR___stack_chk_fail_0018fea0;\n  (*(code *)PTR___stack_chk_fail_0018fea0)();\n  local_74 = unaff_s7;\n  local_78 = unaff_s6;\n  local_7c = unaff_s5;\n  local_80 = unaff_s4;\n  local_84 = unaff_s3;\n  local_88 = param_1;\n  local_8c = unaff_s1;\n  local_90 = unaff_s0;\n  local_c8 = (code *)(puVar24 + 0xd3230);\n  local_bc = pcVar3;\n  pcVar3 = local_bc;\n  local_94 = (code *)**(int **)(puVar24 + 0xcb7dc);\n  pcVar31 = pcVar22;\n  pcVar13 = pcVar5;\n  pcVar6 = pcVar3;\n  if (0 < (int)pcVar5) {\n    unaff_s3 = (code *)**(undefined4 **)(*(int *)(pcVar22 + 4) + 8);\n    unaff_s0 = pcVar5;\n    if (((uint)pcVar5 & 1) == 0) {\n      if (unaff_s3 == (code *)0x0) {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb268) + 0x4920);\n      }\n      else {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8);\n      }\n      FUN_000c4464();\n      pcVar6 = pcVar3;\n    }\n    else {\n      pcVar6 = (code *)(**(code **)(puVar24 + 0xcb28c))(*(int *)pcVar3);\n      pcVar31 = (code *)auStack_b4;\n      pcVar13 = pcVar22;\n      iVar4 = FUN_000b4580();\n      unaff_s1 = pcVar3;\n      unaff_s7 = pcVar5;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(pcVar5 < (code *)0x2);\n        unaff_s1 = pcVar3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s6 = *(code **)(local_c8 + -0x7fa4);\n          unaff_s5 = (code *)&local_b8;\n          unaff_s4 = (code *)auStack_b4;\n          unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);\n          do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);\n        }\n        pcVar6 = local_bc;\n        if ((*(byte *)(local_ac + 1) & 8) == 0) {\n          pcVar13 = pcVar22;\n          FUN_000b63c4();\n        }\n        else {\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }\nLAB_000c484c:\n        pcVar31 = (code *)auStack_b4;\n        (*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))();\n      }\n    }\n  }\n  if (local_94 == (code *)**(int **)(local_c8 + -0x7a54)) {\n    return (code *)**(int **)(local_c8 + -0x7a54);\n  }\n  pcVar25 = *(code **)(local_c8 + -0x7a80);\n  uVar29 = 0xc4960;\n  (*pcVar25)();\n  pcVar5 = local_c8;\n  local_100 = pcVar25 + 0xd2fc0;\n  local_f4 = (code *)**(undefined4 **)(pcVar25 + 0xcb56c);\n  pcVar3 = pcVar13;\n  local_f0 = unaff_s0;\n  local_ec = unaff_s1;\n  local_e8 = pcVar22;\n  local_e4 = unaff_s3;\n  local_e0 = unaff_s4;\n  local_dc = uVar29;\n  (*(code *)(*(int *)(pcVar25 + 0xcb2a4) + 0x3d3c))();\n  if (pcVar13 != (code *)0x0) {\n    unaff_s4 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)pcVar5);\n    if (unaff_s4 == (code *)0x0) {\n      pcVar13 = (code *)0x0;\n    }\n    else {\n      unaff_s3 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)pcVar5);\n      pcVar3 = unaff_s3 + 1;\n      iVar4 = (**(code **)(local_100 + -0x7f50))\n                        ((uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f));\n      *(int *)(pcVar31 + 0x18) = iVar4;\n      if (iVar4 == 0) {\n        pcVar13 = (code *)&DAT_00000007;\n      }\n      else {\n        (**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1);\n        unaff_s4 = pcVar31 + 0x20;\n        pcVar6 = *(code **)(pcVar31 + 0x18);\n        pcVar3 = (code *)0x0;\n        unaff_s3 = (code *)FUN_000b4580(unaff_s4);\n        if (unaff_s3 == (code *)0x0) {\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }\n      }\n    }\n  }\nLAB_000c49c4:\n  if (local_f4 == (code *)**(undefined4 **)(local_100 + -0x7a54)) {\n    return pcVar13;\n  }\n  pcVar26 = *(code **)(local_100 + -0x7a80);\n  pcVar30 = sqlite3_randomness;\n  pcVar22 = local_f4;\n  (*pcVar26)();\n  pcStack_240 = pcVar26 + 0xd2b38;\n  pcStack_134 = (code *)**(int **)(pcVar26 + 0xcb0e4);\n  pcVar25 = pcVar22;\n  pcVar14 = pcVar3;\n  pcStack_12c = pcVar13;\n  pcStack_128 = pcVar31;\n  pcStack_124 = pcVar5;\n  pcStack_120 = unaff_s3;\n  pcStack_11c = pcVar30;\n  iVar4 = (**(code **)(pcVar26 + 0xcadb8))();\n  if (iVar4 == 0) {\n    unaff_s3 = (code *)(*(code *)(*(int *)(pcStack_240 + -0x7dc8) + 0xe00))(5);\n    (**(code **)(pcStack_240 + -0x7d74))(unaff_s3);\n    iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n    pcVar25 = unaff_s3;\n    if (0 < (int)pcVar22) {\n      if (pcVar3 != (code *)0x0) {\n        iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n        if (*(char *)(iVar27 + 0x338) == '\0') {\n          *(undefined1 *)(iVar8 + 0x33a) = 0;\n          *(undefined1 *)(iVar8 + 0x339) = 0;\n          iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0);\n          (**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234);\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          iVar4 = 0;\n          do {\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          } while (iVar4 != 0x100);\n          iVar4 = *(int *)(pcStack_240 + -0x7fd8);\n          uVar9 = (uint)*(byte *)(iVar4 + 0x33a);\n          pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b);\n          pbVar15 = abStack_234;\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          do {\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          } while (pbVar7 != (byte *)(iVar4 + 0x43b));\n          iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n          *(char *)(iVar8 + 0x33a) = (char)uVar18;\n          *(undefined1 *)(iVar8 + 0x338) = 1;\n          iVar4 = 0x100;\n        }\n        pcVar6 = (code *)(iVar8 + 0x338);\n        uVar9 = (uint)*(byte *)(iVar8 + 0x33a);\n        bVar17 = *(char *)(iVar8 + 0x339) + 1;\n        pcVar13 = (code *)((uint)bVar17 - (int)pcVar3);\n        pcVar5 = pcVar3;\n        do {\n          uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff;\n          cVar2 = pcVar6[uVar18 + 3];\n          uVar20 = (byte)cVar2 + uVar9;\n          uVar9 = uVar20 & 0xff;\n          param_4 = pcVar6 + uVar9;\n          pcVar6[uVar18 + 3] = param_4[3];\n          param_4[3] = cVar2;\n          pcVar14 = pcVar5 + 1;\n          *pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3];\n          pcVar5 = pcVar14;\n        } while (pcVar14 != pcVar3 + (int)pcVar22);\n        iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n        pcVar22 = pcVar22 + -1;\n        *(byte *)(iVar27 + 0x339) = bVar17 + (char)pcVar22;\n        *(char *)(iVar27 + 0x33a) = (char)uVar20;\n        (**(code **)(pcStack_240 + -0x7d78))();\n        pcVar3 = pcVar13;\n        goto LAB_000c4e3c;\n      }\n      iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n    }\n    *(undefined1 *)(iVar27 + 0x338) = 0;\n    (**(code **)(pcStack_240 + -0x7d78))();\n  }\nLAB_000c4e3c:\n  if (pcStack_134 == (code *)**(int **)(pcStack_240 + -0x7a54)) {\n    return (code *)**(int **)(pcStack_240 + -0x7a54);\n  }\n  pcVar13 = *(code **)(pcStack_240 + -0x7a80);\n  pcVar31 = FUN_000c5048;\n  (*pcVar13)();\n  pcStack_330 = pcVar13 + 0xd28d8;\n  iStack_27c = **(int **)(pcVar13 + 0xcae84);\n  *pcVar14 = (code)0x0;\n  pcVar5 = (code *)**(undefined4 **)(pcVar13 + 0xcac68);\n  iStack_278 = iVar4;\n  pcStack_274 = pcVar3;\n  pcStack_270 = pcVar22;\n  pcStack_26c = unaff_s3;\n  pcStack_268 = unaff_s4;\n  pcStack_264 = unaff_s5;\n  pcStack_260 = unaff_s6;\n  pcStack_25c = unaff_s7;\n  pcStack_258 = unaff_s8;\n  pcStack_254 = pcVar31;\n  if (*(int *)(*(int *)(pcVar13 + 0xca900) + -0xb90) == 0) {\n    uVar29 = (**(code **)(pcVar13 + 0xcae0c))(*(int *)(pcVar13 + 0xca914) + -0x45f4);\n    *(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90) = uVar29;\n  }\n  if (*(int *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) == 0) {\n    uVar29 = (**(code **)(pcStack_330 + -0x7acc))(*(int *)(pcStack_330 + -0x7fc4) + -0x45e4);\n    *(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) = uVar29;\n  }\n  pcVar3 = (code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90);\n  pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb78);\n  pcVar26 = (code *)auStack_320;\n  iVar4 = *(int *)(pcStack_330 + -0x7fd8);\n  pcVar13 = (code *)(iVar4 + -0x840);\n  iVar27 = 0x4000;\n  pcVar22 = pcStack_330;\n  while( true ) {\n    pcVar30 = pcVar26;\n    if ((((pcVar5 != (code *)0x0) &&\n         (iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) &&\n        (pcVar30 = (code *)0x3, (uStack_308 & 0xf000) == 0x4000)) &&\n       (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) {\n      pcVar3 = (code *)&DAT_0000000c;\n      pcVar26 = (code *)&uStack_328;\n      pcVar13 = pcVar14 + (int)(pcVar25 + -2);\n      pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fc4) + -0x45dc);\n      iVar4 = *(int *)(pcStack_330 + -0x7fd8);\n      iVar27 = iVar4 + -0x840;\n      goto LAB_000c51a4;\n    }\n    pcVar23 = (code *)0x190a;\n    if (pcVar3 == pcVar31) break;\n    pcVar5 = *(code **)pcVar3;\n    pcVar3 = pcVar3 + 4;\n  }\n  goto LAB_000c5230;\njoined_r0x000c5ce4:\n  if (param_4 == pcVar5) goto LAB_000c5d10;\n  piVar21 = (int *)piVar11[2];\n  if (piVar21 == (int *)0x0) goto LAB_000c6494;\n  pcVar5 = (code *)piVar21[1];\n  piVar12 = piVar11 + 2;\n  piVar11 = piVar21;\n  goto joined_r0x000c5ce4;\nLAB_000c5d10:\n  *piVar12 = piVar11[2];\n  (**(code **)(pcVar22 + 0xca2ac))(piVar10[4]);\n  (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n  iVar4 = *piVar11;\n  goto LAB_000c5d44;\nLAB_000c6494:\n  (**(code **)(pcVar22 + 0xca2ac))(piVar10[4]);\n  (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n  goto LAB_000c642c;\n  while (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar14), iVar8 == 0) {\nLAB_000c51a4:\n    sqlite3_randomness(8,pcVar26);\n    *pcVar13 = (code)0x0;\n    uStack_338 = 0;\n    uStack_33c = uStack_324;\n    uStack_340 = uStack_328;\n    pcVar30 = pcVar14;\n    pcVar6 = pcVar31;\n    param_4 = pcVar5;\n    (**(code **)(pcStack_330 + -0x7ec4))(pcVar25);\n    pcVar3 = pcVar3 + -1;\n    if ((*pcVar13 != (code)0x0) || (pcVar30 = (code *)0x0, pcVar3 == (code *)0x0)) {\n      pcVar23 = (code *)0x1;\n      pcVar22 = pcStack_330;\n      goto LAB_000c5230;\n    }\n  }\n  pcVar23 = (code *)0x0;\n  pcVar30 = pcVar26;\n  pcVar22 = pcStack_330;\nLAB_000c5230:\n  if (iStack_27c == **(int **)(pcVar22 + -0x7a54)) {\n    return pcVar23;\n  }\n  pcVar22 = *(code **)(pcVar22 + -0x7a80);\n  uVar29 = 0xc527c;\n  iVar4 = iStack_27c;\n  (*pcVar22)();\n  pcStack_448 = pcVar22 + 0xd26a4;\n  iVar8 = **(int **)(pcVar22 + 0xcac50);\n  iStack_37c = iVar8;\n  pcStack_378 = pcVar3;\n  pcStack_374 = pcVar5;\n  pcStack_370 = pcVar14;\n  pcStack_36c = pcVar13;\n  pcStack_368 = pcVar25;\n  pcStack_364 = pcVar31;\n  pcStack_360 = pcVar26;\n  pcStack_35c = pcVar23;\n  iStack_358 = iVar27;\n  uStack_354 = uVar29;\n  if (pcVar30 < &DAT_00000015) {\n                    \n                    \n    pcVar22 = (code *)(*(pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)))();\n    return pcVar22;\n  }\n  if (iVar8 == **(int **)(pcVar22 + 0xcac50)) {\n    return (code *)&DAT_0000000c;\n  }\n  pcVar22 = *(code **)(pcVar22 + 0xcac24);\n  uVar29 = 0xc58fc;\n  (*pcVar22)();\n  iStack_494 = **(int **)(pcVar22 + 0xca5d0);\n  uVar20 = (uint)param_4 & 0xffffff00;\n  uVar18 = (uint)param_4 & 8;\n  uStack_958 = (uint)param_4 & 1;\n  uVar9 = (uint)param_4 & 2;\n  pcStack_96c = pcVar30;\n  iStack_490 = iVar4;\n  pcStack_48c = pcVar5;\n  pcStack_488 = pcVar14;\n  pcStack_484 = pcVar13;\n  pcStack_480 = pcVar25;\n  pcStack_47c = pcVar31;\n  pcStack_478 = pcVar26;\n  pcStack_474 = pcVar23;\n  iStack_470 = iVar27;\n  uStack_46c = uVar29;\n  if (((uint)param_4 & 4) == 0) {\nLAB_000c59a0:\n    iVar4 = (**(code **)(pcVar22 + 0xca564))();\n    if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {\n      bVar1 = false;\n      goto LAB_000c59cc;\n    }\n    bVar1 = false;\nLAB_000c59fc:\n    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);\n    if (uVar20 != 0x100) goto LAB_000c5a24;\n    (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n    if (*(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228) == 0) {\nLAB_000c6414:\n      iVar4 = *(int *)(pcVar22 + 0xca25c);\n    }\n    else {\n      iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(pcVar30,aiStack_940);\n      if ((iVar4 != 0) ||\n         (piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0))\n      goto LAB_000c6414;\n      do {\n        if ((((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c)) {\n          (**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);\n          piVar11 = (int *)piVar10[8];\n          if (piVar11 == (int *)0x0) goto LAB_000c6494;\n          pcVar5 = (code *)piVar11[1];\n          piVar12 = piVar10 + 8;\n          goto joined_r0x000c5ce4;\n        }\n        piVar10 = (int *)piVar10[0xb];\n        iVar4 = *(int *)(pcVar22 + 0xca25c);\n      } while (piVar10 != (int *)0x0);\n    }\n    (*(code *)(iVar4 + 0x27b8))();\nLAB_000c642c:\n    piVar11 = (int *)(**(code **)(pcVar22 + 0xca0d4))(0,0xc);\n    if (piVar11 == (int *)0x0) {\n      pcVar5 = (code *)&DAT_00000007;\n      goto LAB_000c602c;\n    }\n    iVar4 = -1;\nLAB_000c5d44:\n    *(int **)(pcVar6 + 0x1c) = piVar11;\nLAB_000c5a34:\n    uStack_968 = uVar9;\n    if (((uint)param_4 & 4) != 0) {\n      uStack_968 = uVar9 | 0x100;\n    }\n    if (((uint)param_4 & 0x10) != 0) {\n      uStack_968 = uStack_968 | 0x20400;\n    }\n    if (iVar4 < 0) {\n      if (((uint)param_4 & 0x80800) == 0) {\n        uVar28 = 0x180;\n        if ((uVar18 == 0) && (uVar28 = 0, ((uint)param_4 & 0x40) != 0)) {\n          iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }\n          uVar28 = 0;\n        }\nLAB_000c5e0c:\n        uStack_954 = 0;\n        uStack_960 = 0;\n      }\n      else {\n        iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c);\n        iVar27 = iVar4 + -1;\n        if (pcStack_96c[iVar27] != (code)0x2d) {\n          if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }\n          uVar28 = 0;\n          goto LAB_000c5e0c;\n        }\nLAB_000c5e78:\n        (**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201);\n        auStack_89c[iVar27] = 0;\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940);\n        if (iVar4 == 0) {\n          uVar28 = uStack_928 & 0x1ff;\n          uStack_960 = uStack_920;\n          uStack_954 = uStack_91c;\n          pcVar5 = (code *)0x0;\n        }\n        else {\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }\nLAB_000c5ee0:\n        if (pcVar5 != (code *)0x0) goto LAB_000c602c;\n      }\n      iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                        (pcStack_96c,uStack_968 | 0x2000,uVar28);\n      if (-1 < iVar4) {\nLAB_000c5e40:\n        if (((uint)param_4 & 0x80800) != 0) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);\n        }\n        goto LAB_000c5a6c;\n      }\n      pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n      if (bVar1) {\n        piVar10 = (int *)(*pcVar5)();\n        if (*piVar10 != 0xd) {\n          pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n          goto LAB_000c5fb8;\n        }\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))(pcStack_96c,0);\n        pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n        if (iVar4 == 0) goto LAB_000c5fb8;\n        uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n        (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                  (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634);\n        pcVar5 = (code *)0x608;\n      }\n      else {\nLAB_000c5fb8:\n        piVar10 = (int *)(*pcVar5)();\n        if ((*piVar10 == 0x15) || (uVar9 == 0)) {\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        else {\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        if (pcVar5 == (code *)0x0) goto LAB_000c602c;\n      }\nLAB_000c630c:\n      iVar4 = *(int *)(pcVar6 + 0x1c);\nLAB_000c6310:\n      (**(code **)(pcVar22 + 0xca07c))(iVar4);\n    }\n    else {\nLAB_000c5a6c:\n      if (puStack_458 != (undefined4 *)0x0) {\n        *puStack_458 = param_4;\n      }\n      if (*(int **)(pcVar6 + 0x1c) != (int *)0x0) {\n        **(int **)(pcVar6 + 0x1c) = iVar4;\n        *(code **)(*(int *)(pcVar6 + 0x1c) + 4) = param_4;\n      }\n      if (uVar18 != 0) {\n        (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))(pcStack_96c);\n        uVar18 = 0x20;\n      }\n      if (uStack_958 != 0) {\n        uVar18 = uVar18 | 2;\n      }\n      if (uVar20 != 0x100) {\n        uVar18 = uVar18 | 0x80;\n      }\n      if (bVar1) {\n        uVar18 = uVar18 | 8;\n      }\n      if (((uint)param_4 & 0x40) == 0) {\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = (code *)0x0;\n      }\n      else {\n        uVar18 = uVar18 | 0x40;\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = pcVar30;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca37c))(pcVar5,*(int *)(pcVar22 + 0xca060) + -0x45c0,1);\n      iVar16 = *(int *)(pcVar22 + 0xca060);\n      if (iVar27 != 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 0x10;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca610))(*(undefined4 *)(iVar8 + 0x10),iVar16 + -0x45b8);\n      if (iVar27 == 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 1;\n      }\n      if ((uVar18 & 0x80) == 0) {\n        iVar27 = (*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6);\n        if (iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n          iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);\n          if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n        }\n        else {\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }\n        *(int *)(pcVar6 + 0x14) = 0;\n        if (pcVar5 != (code *)0x0) {\n          if (iVar4 < 0) goto LAB_000c630c;\n          (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);\n          iVar4 = *(int *)(pcVar6 + 0x1c);\n          goto LAB_000c6310;\n        }\n      }\n      else {\n        iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4;\nLAB_000c6394:\n        *(int *)(pcVar6 + 0x14) = 0;\n      }\n      *(int *)pcVar6 = iVar27;\n      (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524))(pcVar6);\n      pcVar5 = (code *)0x0;\n    }\n  }\n  else {\n    if ((uVar20 == 0x4000) || (uVar20 == 0x800)) {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n    }\n    else {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n      if (uVar20 != 0x80000) goto LAB_000c59a0;\n    }\n    iVar4 = (*pcVar5)();\n    if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {\n      bVar1 = true;\nLAB_000c59cc:\n      uVar29 = (**(code **)(pcVar22 + 0xca564))();\n      *(undefined4 *)(*(int *)(pcVar22 + 0xca04c) + 0x230) = uVar29;\n      sqlite3_randomness(0,0);\n      goto LAB_000c59fc;\n    }\n    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);\n    bVar1 = true;\nLAB_000c5a24:\n    iVar4 = -1;\n    if (pcVar30 != (code *)0x0) goto LAB_000c5a34;\n    pcVar5 = (code *)FUN_000c5048(*(undefined4 *)(iVar8 + 8),auStack_698);\n    if (pcVar5 == (code *)0x0) {\n      iVar4 = -1;\n      pcStack_96c = (code *)auStack_698;\n      goto LAB_000c5a34;\n    }\n  }\nLAB_000c602c:\n  if (iStack_494 == **(int **)(pcVar22 + 0xca5d0)) {\n    return pcVar5;\n  }\n  pcVar22 = *(code **)(pcVar22 + 0xca5a4);\n  iVar4 = iStack_494;\n  (*pcVar22)();\n  uVar9 = *(uint *)(iVar4 + 0x98);\n  if (*(uint *)(iVar4 + 0x94) <= *(uint *)(iVar4 + 0x98)) {\n    uVar9 = *(uint *)(iVar4 + 0x94);\n  }\n  puVar19 = *(undefined4 **)(iVar4 + 0xd0);\n  if (0 < *(int *)(iVar4 + 0x60)) {\n    iVar8 = 0;\n    iVar27 = 0;\n    do {\n      iVar16 = *(int *)(iVar4 + 0x5c) + iVar8;\n      if (*(int *)(iVar16 + 8) == 0 && *(int *)(iVar16 + 0xc) == 0) {\n        uVar29 = *(undefined4 *)(iVar4 + 0x48);\n        *(undefined4 *)(iVar16 + 0xc) = *(undefined4 *)(iVar4 + 0x4c);\n        *(undefined4 *)(iVar16 + 8) = uVar29;\n      }\n      iVar27 = iVar27 + 1;\n      iVar8 = iVar8 + 0x30;\n    } while (iVar27 < *(int *)(iVar4 + 0x60));\n  }\n  uVar32 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x43ec))(iVar4);\n  *(undefined8 *)(iVar4 + 0x48) = uVar32;\n  *(undefined8 *)(iVar4 + 0x50) = uVar32;\n  if ((*(char *)(iVar4 + 7) == '\0') && (*(char *)(iVar4 + 5) != '\x04')) {\n    uVar18 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0xaf8))(*(undefined4 *)(iVar4 + 0x3c));\n    iVar27 = *(int *)(pcVar22 + 0xc96e0);\n    if ((uVar18 & 0x200) == 0) {\n      *(undefined1 *)puVar19 = 0;\n      *(undefined1 *)((int)puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 3) = 0;\n      *(undefined1 *)(puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 5) = 0;\n      *(undefined1 *)((int)puVar19 + 6) = 0;\n      *(undefined1 *)((int)puVar19 + 7) = 0;\n      *(undefined1 *)(puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 9) = 0;\n      *(undefined1 *)((int)puVar19 + 10) = 0;\n      *(undefined1 *)((int)puVar19 + 0xb) = 0;\n      goto LAB_000c65ec;\n    }\n  }\n  else {\n    iVar27 = *(int *)(pcVar22 + 0xc96e0);\n  }\n  uVar29 = *(undefined4 *)(iVar27 + -0x4394);\n  *puVar19 = *(undefined4 *)(iVar27 + -0x4398);\n  puVar19[1] = uVar29;\n  (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c))(puVar19 + 2,0xffffffff);\nLAB_000c65ec:\n  sqlite3_randomness(4,iVar4 + 0x30);\n  pcVar5 = (code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c);\n  (*pcVar5)(puVar19 + 3,*(undefined4 *)(iVar4 + 0x30));\n  (*pcVar5)(puVar19 + 4,*(undefined4 *)(iVar4 + 0x1c));\n  (*pcVar5)(puVar19 + 5,*(undefined4 *)(iVar4 + 0x94));\n  (*pcVar5)(puVar19 + 6,*(undefined4 *)(iVar4 + 0x98));\n  (**(code **)(pcVar22 + 0xc9930))(puVar19 + 7,0,uVar9 - 0x1c);\n  uVar18 = 0;\n  if (*(int *)(iVar4 + 0x94) != 0) {\n    iVar27 = *(int *)(pcVar22 + 0xc9688);\n    do {\n      pcVar22 = (code *)(*(code *)(iVar27 + 0x9e0))(*(undefined4 *)(iVar4 + 0x40),puVar19,uVar9);\n      uVar20 = *(uint *)(iVar4 + 0x4c) + uVar9;\n      *(uint *)(iVar4 + 0x48) = (uint)(uVar20 < *(uint *)(iVar4 + 0x4c)) + *(int *)(iVar4 + 0x48);\n      *(uint *)(iVar4 + 0x4c) = uVar20;\n      uVar18 = uVar18 + uVar9;\n      if (pcVar22 != (code *)0x0) {\n        return pcVar22;\n      }\n    } while (uVar18 < *(uint *)(iVar4 + 0x94));\n  }\n  return (code *)0x0;\n}" type_identifier (pointer_declarator "* FUN_000c44e8(code *param_1,code *param_2,code *param_3,code *param_4)" * (function_declarator "FUN_000c44e8(code *param_1,code *param_2,code *param_3,code *param_4)" identifier (parameter_list "(code *param_1,code *param_2,code *param_3,code *param_4)" ( (parameter_declaration "code *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "code *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "code *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "code *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) )))) (compound_statement "{\n  bool bVar1;\n  code cVar2;\n  code *pcVar3;\n  int iVar4;\n  code *pcVar5;\n  code *pcVar6;\n  byte *pbVar7;\n  int iVar8;\n  uint uVar9;\n  int *piVar10;\n  int *piVar11;\n  int *piVar12;\n  code *pcVar13;\n  code *pcVar14;\n  byte *pbVar15;\n  int iVar16;\n  byte bVar17;\n  code *unaff_s0;\n  code *unaff_s1;\n  uint uVar18;\n  undefined4 *puVar19;\n  code *unaff_s3;\n  code *unaff_s4;\n  uint uVar20;\n  code *unaff_s5;\n  code *unaff_s6;\n  int *piVar21;\n  code *unaff_s7;\n  code *pcVar22;\n  code *pcVar23;\n  undefined *puVar24;\n  code *pcVar25;\n  code *pcVar26;\n  code *unaff_s8;\n  int iVar27;\n  uint uVar28;\n  undefined4 uVar29;\n  code *pcVar30;\n  code *pcVar31;\n  undefined8 uVar32;\n  code *pcStack_96c;\n  uint uStack_968;\n  undefined4 uStack_960;\n  uint uStack_958;\n  undefined4 uStack_954;\n  undefined4 uStack_950;\n  int iStack_94c;\n  int iStack_948;\n  int iStack_944;\n  int aiStack_940 [4];\n  int iStack_930;\n  int iStack_92c;\n  uint uStack_928;\n  undefined4 uStack_920;\n  undefined4 uStack_91c;\n  undefined1 auStack_89c [516];\n  undefined1 auStack_698 [516];\n  int iStack_494;\n  int iStack_490;\n  code *pcStack_48c;\n  code *pcStack_488;\n  code *pcStack_484;\n  code *pcStack_480;\n  code *pcStack_47c;\n  code *pcStack_478;\n  code *pcStack_474;\n  int iStack_470;\n  undefined4 uStack_46c;\n  undefined4 *puStack_458;\n  code *pcStack_448;\n  int iStack_37c;\n  code *pcStack_378;\n  code *pcStack_374;\n  code *pcStack_370;\n  code *pcStack_36c;\n  code *pcStack_368;\n  code *pcStack_364;\n  code *pcStack_360;\n  code *pcStack_35c;\n  int iStack_358;\n  undefined4 uStack_354;\n  undefined4 uStack_340;\n  undefined4 uStack_33c;\n  undefined4 uStack_338;\n  code *pcStack_330;\n  undefined4 uStack_328;\n  undefined4 uStack_324;\n  undefined1 auStack_320 [24];\n  uint uStack_308;\n  int iStack_27c;\n  int iStack_278;\n  code *pcStack_274;\n  code *pcStack_270;\n  code *pcStack_26c;\n  code *pcStack_268;\n  code *pcStack_264;\n  code *pcStack_260;\n  code *pcStack_25c;\n  code *pcStack_258;\n  code *pcStack_254;\n  code *pcStack_240;\n  byte abStack_234 [256];\n  code *pcStack_134;\n  code *pcStack_12c;\n  code *pcStack_128;\n  code *pcStack_124;\n  code *pcStack_120;\n  code *pcStack_11c;\n  code **local_108;\n  code *local_100;\n  code *local_f8;\n  code *local_f4;\n  code *local_f0;\n  code *local_ec;\n  code *local_e8;\n  code *local_e4;\n  code *local_e0;\n  undefined4 local_dc;\n  code *local_c8;\n  code *local_bc;\n  int local_b8;\n  undefined1 auStack_b4 [8];\n  int local_ac;\n  char local_a0;\n  char local_9f;\n  code *local_94;\n  code *local_90;\n  code *local_8c;\n  code *local_88;\n  code *local_84;\n  code *local_80;\n  code *local_7c;\n  code *local_78;\n  code *local_74;\n  undefined1 local_4c [8];\n  int local_44;\n  char local_37;\n  code *local_2c;\n  \n  local_2c = *(code **)PTR___stack_chk_guard_0018fecc;\n  pcVar22 = param_1;\n  pcVar5 = param_2;\n  pcVar3 = param_3;\n  if (0 < (int)param_2) {\n    unaff_s0 = param_2;\n    unaff_s7 = param_3;\n    if (((uint)param_2 & 1) == 0) {\n      pcVar5 = (code *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824);\n      FUN_000c4464();\n    }\n    else {\n      pcVar3 = (code *)(*(code *)PTR_sqlite3_value_text_0018f97c)(*(int *)param_3);\n      pcVar22 = (code *)local_4c;\n      pcVar5 = param_1;\n      iVar4 = FUN_000b4580();\n      puVar24 = PTR_sqlite3_value_text_0018f97c;\n      unaff_s6 = param_2;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(param_2 < (code *)0x2);\n        unaff_s1 = param_3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s4 = (code *)local_4c;\n          unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);\n          do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);\n        }\n        if ((*(byte *)(local_44 + 1) & 8) == 0) {\n          pcVar5 = param_1;\n          pcVar3 = param_3;\n          FUN_000b63c4();\n        }\n        else {\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }\nLAB_000c4674:\n        pcVar22 = (code *)local_4c;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = param_3;\n      }\n    }\n  }\n  if (local_2c == *(code **)PTR___stack_chk_guard_0018fecc) {\n    return *(code **)PTR___stack_chk_guard_0018fecc;\n  }\n  puVar24 = PTR___stack_chk_fail_0018fea0;\n  (*(code *)PTR___stack_chk_fail_0018fea0)();\n  local_74 = unaff_s7;\n  local_78 = unaff_s6;\n  local_7c = unaff_s5;\n  local_80 = unaff_s4;\n  local_84 = unaff_s3;\n  local_88 = param_1;\n  local_8c = unaff_s1;\n  local_90 = unaff_s0;\n  local_c8 = (code *)(puVar24 + 0xd3230);\n  local_bc = pcVar3;\n  pcVar3 = local_bc;\n  local_94 = (code *)**(int **)(puVar24 + 0xcb7dc);\n  pcVar31 = pcVar22;\n  pcVar13 = pcVar5;\n  pcVar6 = pcVar3;\n  if (0 < (int)pcVar5) {\n    unaff_s3 = (code *)**(undefined4 **)(*(int *)(pcVar22 + 4) + 8);\n    unaff_s0 = pcVar5;\n    if (((uint)pcVar5 & 1) == 0) {\n      if (unaff_s3 == (code *)0x0) {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb268) + 0x4920);\n      }\n      else {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8);\n      }\n      FUN_000c4464();\n      pcVar6 = pcVar3;\n    }\n    else {\n      pcVar6 = (code *)(**(code **)(puVar24 + 0xcb28c))(*(int *)pcVar3);\n      pcVar31 = (code *)auStack_b4;\n      pcVar13 = pcVar22;\n      iVar4 = FUN_000b4580();\n      unaff_s1 = pcVar3;\n      unaff_s7 = pcVar5;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(pcVar5 < (code *)0x2);\n        unaff_s1 = pcVar3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s6 = *(code **)(local_c8 + -0x7fa4);\n          unaff_s5 = (code *)&local_b8;\n          unaff_s4 = (code *)auStack_b4;\n          unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);\n          do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);\n        }\n        pcVar6 = local_bc;\n        if ((*(byte *)(local_ac + 1) & 8) == 0) {\n          pcVar13 = pcVar22;\n          FUN_000b63c4();\n        }\n        else {\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }\nLAB_000c484c:\n        pcVar31 = (code *)auStack_b4;\n        (*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))();\n      }\n    }\n  }\n  if (local_94 == (code *)**(int **)(local_c8 + -0x7a54)) {\n    return (code *)**(int **)(local_c8 + -0x7a54);\n  }\n  pcVar25 = *(code **)(local_c8 + -0x7a80);\n  uVar29 = 0xc4960;\n  (*pcVar25)();\n  pcVar5 = local_c8;\n  local_100 = pcVar25 + 0xd2fc0;\n  local_f4 = (code *)**(undefined4 **)(pcVar25 + 0xcb56c);\n  pcVar3 = pcVar13;\n  local_f0 = unaff_s0;\n  local_ec = unaff_s1;\n  local_e8 = pcVar22;\n  local_e4 = unaff_s3;\n  local_e0 = unaff_s4;\n  local_dc = uVar29;\n  (*(code *)(*(int *)(pcVar25 + 0xcb2a4) + 0x3d3c))();\n  if (pcVar13 != (code *)0x0) {\n    unaff_s4 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)pcVar5);\n    if (unaff_s4 == (code *)0x0) {\n      pcVar13 = (code *)0x0;\n    }\n    else {\n      unaff_s3 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)pcVar5);\n      pcVar3 = unaff_s3 + 1;\n      iVar4 = (**(code **)(local_100 + -0x7f50))\n                        ((uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f));\n      *(int *)(pcVar31 + 0x18) = iVar4;\n      if (iVar4 == 0) {\n        pcVar13 = (code *)&DAT_00000007;\n      }\n      else {\n        (**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1);\n        unaff_s4 = pcVar31 + 0x20;\n        pcVar6 = *(code **)(pcVar31 + 0x18);\n        pcVar3 = (code *)0x0;\n        unaff_s3 = (code *)FUN_000b4580(unaff_s4);\n        if (unaff_s3 == (code *)0x0) {\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }\n      }\n    }\n  }\nLAB_000c49c4:\n  if (local_f4 == (code *)**(undefined4 **)(local_100 + -0x7a54)) {\n    return pcVar13;\n  }\n  pcVar26 = *(code **)(local_100 + -0x7a80);\n  pcVar30 = sqlite3_randomness;\n  pcVar22 = local_f4;\n  (*pcVar26)();\n  pcStack_240 = pcVar26 + 0xd2b38;\n  pcStack_134 = (code *)**(int **)(pcVar26 + 0xcb0e4);\n  pcVar25 = pcVar22;\n  pcVar14 = pcVar3;\n  pcStack_12c = pcVar13;\n  pcStack_128 = pcVar31;\n  pcStack_124 = pcVar5;\n  pcStack_120 = unaff_s3;\n  pcStack_11c = pcVar30;\n  iVar4 = (**(code **)(pcVar26 + 0xcadb8))();\n  if (iVar4 == 0) {\n    unaff_s3 = (code *)(*(code *)(*(int *)(pcStack_240 + -0x7dc8) + 0xe00))(5);\n    (**(code **)(pcStack_240 + -0x7d74))(unaff_s3);\n    iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n    pcVar25 = unaff_s3;\n    if (0 < (int)pcVar22) {\n      if (pcVar3 != (code *)0x0) {\n        iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n        if (*(char *)(iVar27 + 0x338) == '\0') {\n          *(undefined1 *)(iVar8 + 0x33a) = 0;\n          *(undefined1 *)(iVar8 + 0x339) = 0;\n          iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0);\n          (**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234);\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          iVar4 = 0;\n          do {\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          } while (iVar4 != 0x100);\n          iVar4 = *(int *)(pcStack_240 + -0x7fd8);\n          uVar9 = (uint)*(byte *)(iVar4 + 0x33a);\n          pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b);\n          pbVar15 = abStack_234;\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          do {\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          } while (pbVar7 != (byte *)(iVar4 + 0x43b));\n          iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n          *(char *)(iVar8 + 0x33a) = (char)uVar18;\n          *(undefined1 *)(iVar8 + 0x338) = 1;\n          iVar4 = 0x100;\n        }\n        pcVar6 = (code *)(iVar8 + 0x338);\n        uVar9 = (uint)*(byte *)(iVar8 + 0x33a);\n        bVar17 = *(char *)(iVar8 + 0x339) + 1;\n        pcVar13 = (code *)((uint)bVar17 - (int)pcVar3);\n        pcVar5 = pcVar3;\n        do {\n          uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff;\n          cVar2 = pcVar6[uVar18 + 3];\n          uVar20 = (byte)cVar2 + uVar9;\n          uVar9 = uVar20 & 0xff;\n          param_4 = pcVar6 + uVar9;\n          pcVar6[uVar18 + 3] = param_4[3];\n          param_4[3] = cVar2;\n          pcVar14 = pcVar5 + 1;\n          *pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3];\n          pcVar5 = pcVar14;\n        } while (pcVar14 != pcVar3 + (int)pcVar22);\n        iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n        pcVar22 = pcVar22 + -1;\n        *(byte *)(iVar27 + 0x339) = bVar17 + (char)pcVar22;\n        *(char *)(iVar27 + 0x33a) = (char)uVar20;\n        (**(code **)(pcStack_240 + -0x7d78))();\n        pcVar3 = pcVar13;\n        goto LAB_000c4e3c;\n      }\n      iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n    }\n    *(undefined1 *)(iVar27 + 0x338) = 0;\n    (**(code **)(pcStack_240 + -0x7d78))();\n  }\nLAB_000c4e3c:\n  if (pcStack_134 == (code *)**(int **)(pcStack_240 + -0x7a54)) {\n    return (code *)**(int **)(pcStack_240 + -0x7a54);\n  }\n  pcVar13 = *(code **)(pcStack_240 + -0x7a80);\n  pcVar31 = FUN_000c5048;\n  (*pcVar13)();\n  pcStack_330 = pcVar13 + 0xd28d8;\n  iStack_27c = **(int **)(pcVar13 + 0xcae84);\n  *pcVar14 = (code)0x0;\n  pcVar5 = (code *)**(undefined4 **)(pcVar13 + 0xcac68);\n  iStack_278 = iVar4;\n  pcStack_274 = pcVar3;\n  pcStack_270 = pcVar22;\n  pcStack_26c = unaff_s3;\n  pcStack_268 = unaff_s4;\n  pcStack_264 = unaff_s5;\n  pcStack_260 = unaff_s6;\n  pcStack_25c = unaff_s7;\n  pcStack_258 = unaff_s8;\n  pcStack_254 = pcVar31;\n  if (*(int *)(*(int *)(pcVar13 + 0xca900) + -0xb90) == 0) {\n    uVar29 = (**(code **)(pcVar13 + 0xcae0c))(*(int *)(pcVar13 + 0xca914) + -0x45f4);\n    *(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90) = uVar29;\n  }\n  if (*(int *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) == 0) {\n    uVar29 = (**(code **)(pcStack_330 + -0x7acc))(*(int *)(pcStack_330 + -0x7fc4) + -0x45e4);\n    *(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) = uVar29;\n  }\n  pcVar3 = (code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90);\n  pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb78);\n  pcVar26 = (code *)auStack_320;\n  iVar4 = *(int *)(pcStack_330 + -0x7fd8);\n  pcVar13 = (code *)(iVar4 + -0x840);\n  iVar27 = 0x4000;\n  pcVar22 = pcStack_330;\n  while( true ) {\n    pcVar30 = pcVar26;\n    if ((((pcVar5 != (code *)0x0) &&\n         (iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) &&\n        (pcVar30 = (code *)0x3, (uStack_308 & 0xf000) == 0x4000)) &&\n       (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) {\n      pcVar3 = (code *)&DAT_0000000c;\n      pcVar26 = (code *)&uStack_328;\n      pcVar13 = pcVar14 + (int)(pcVar25 + -2);\n      pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fc4) + -0x45dc);\n      iVar4 = *(int *)(pcStack_330 + -0x7fd8);\n      iVar27 = iVar4 + -0x840;\n      goto LAB_000c51a4;\n    }\n    pcVar23 = (code *)0x190a;\n    if (pcVar3 == pcVar31) break;\n    pcVar5 = *(code **)pcVar3;\n    pcVar3 = pcVar3 + 4;\n  }\n  goto LAB_000c5230;\njoined_r0x000c5ce4:\n  if (param_4 == pcVar5) goto LAB_000c5d10;\n  piVar21 = (int *)piVar11[2];\n  if (piVar21 == (int *)0x0) goto LAB_000c6494;\n  pcVar5 = (code *)piVar21[1];\n  piVar12 = piVar11 + 2;\n  piVar11 = piVar21;\n  goto joined_r0x000c5ce4;\nLAB_000c5d10:\n  *piVar12 = piVar11[2];\n  (**(code **)(pcVar22 + 0xca2ac))(piVar10[4]);\n  (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n  iVar4 = *piVar11;\n  goto LAB_000c5d44;\nLAB_000c6494:\n  (**(code **)(pcVar22 + 0xca2ac))(piVar10[4]);\n  (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n  goto LAB_000c642c;\n  while (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar14), iVar8 == 0) {\nLAB_000c51a4:\n    sqlite3_randomness(8,pcVar26);\n    *pcVar13 = (code)0x0;\n    uStack_338 = 0;\n    uStack_33c = uStack_324;\n    uStack_340 = uStack_328;\n    pcVar30 = pcVar14;\n    pcVar6 = pcVar31;\n    param_4 = pcVar5;\n    (**(code **)(pcStack_330 + -0x7ec4))(pcVar25);\n    pcVar3 = pcVar3 + -1;\n    if ((*pcVar13 != (code)0x0) || (pcVar30 = (code *)0x0, pcVar3 == (code *)0x0)) {\n      pcVar23 = (code *)0x1;\n      pcVar22 = pcStack_330;\n      goto LAB_000c5230;\n    }\n  }\n  pcVar23 = (code *)0x0;\n  pcVar30 = pcVar26;\n  pcVar22 = pcStack_330;\nLAB_000c5230:\n  if (iStack_27c == **(int **)(pcVar22 + -0x7a54)) {\n    return pcVar23;\n  }\n  pcVar22 = *(code **)(pcVar22 + -0x7a80);\n  uVar29 = 0xc527c;\n  iVar4 = iStack_27c;\n  (*pcVar22)();\n  pcStack_448 = pcVar22 + 0xd26a4;\n  iVar8 = **(int **)(pcVar22 + 0xcac50);\n  iStack_37c = iVar8;\n  pcStack_378 = pcVar3;\n  pcStack_374 = pcVar5;\n  pcStack_370 = pcVar14;\n  pcStack_36c = pcVar13;\n  pcStack_368 = pcVar25;\n  pcStack_364 = pcVar31;\n  pcStack_360 = pcVar26;\n  pcStack_35c = pcVar23;\n  iStack_358 = iVar27;\n  uStack_354 = uVar29;\n  if (pcVar30 < &DAT_00000015) {\n                    \n                    \n    pcVar22 = (code *)(*(pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)))();\n    return pcVar22;\n  }\n  if (iVar8 == **(int **)(pcVar22 + 0xcac50)) {\n    return (code *)&DAT_0000000c;\n  }\n  pcVar22 = *(code **)(pcVar22 + 0xcac24);\n  uVar29 = 0xc58fc;\n  (*pcVar22)();\n  iStack_494 = **(int **)(pcVar22 + 0xca5d0);\n  uVar20 = (uint)param_4 & 0xffffff00;\n  uVar18 = (uint)param_4 & 8;\n  uStack_958 = (uint)param_4 & 1;\n  uVar9 = (uint)param_4 & 2;\n  pcStack_96c = pcVar30;\n  iStack_490 = iVar4;\n  pcStack_48c = pcVar5;\n  pcStack_488 = pcVar14;\n  pcStack_484 = pcVar13;\n  pcStack_480 = pcVar25;\n  pcStack_47c = pcVar31;\n  pcStack_478 = pcVar26;\n  pcStack_474 = pcVar23;\n  iStack_470 = iVar27;\n  uStack_46c = uVar29;\n  if (((uint)param_4 & 4) == 0) {\nLAB_000c59a0:\n    iVar4 = (**(code **)(pcVar22 + 0xca564))();\n    if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {\n      bVar1 = false;\n      goto LAB_000c59cc;\n    }\n    bVar1 = false;\nLAB_000c59fc:\n    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);\n    if (uVar20 != 0x100) goto LAB_000c5a24;\n    (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n    if (*(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228) == 0) {\nLAB_000c6414:\n      iVar4 = *(int *)(pcVar22 + 0xca25c);\n    }\n    else {\n      iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(pcVar30,aiStack_940);\n      if ((iVar4 != 0) ||\n         (piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0))\n      goto LAB_000c6414;\n      do {\n        if ((((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c)) {\n          (**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);\n          piVar11 = (int *)piVar10[8];\n          if (piVar11 == (int *)0x0) goto LAB_000c6494;\n          pcVar5 = (code *)piVar11[1];\n          piVar12 = piVar10 + 8;\n          goto joined_r0x000c5ce4;\n        }\n        piVar10 = (int *)piVar10[0xb];\n        iVar4 = *(int *)(pcVar22 + 0xca25c);\n      } while (piVar10 != (int *)0x0);\n    }\n    (*(code *)(iVar4 + 0x27b8))();\nLAB_000c642c:\n    piVar11 = (int *)(**(code **)(pcVar22 + 0xca0d4))(0,0xc);\n    if (piVar11 == (int *)0x0) {\n      pcVar5 = (code *)&DAT_00000007;\n      goto LAB_000c602c;\n    }\n    iVar4 = -1;\nLAB_000c5d44:\n    *(int **)(pcVar6 + 0x1c) = piVar11;\nLAB_000c5a34:\n    uStack_968 = uVar9;\n    if (((uint)param_4 & 4) != 0) {\n      uStack_968 = uVar9 | 0x100;\n    }\n    if (((uint)param_4 & 0x10) != 0) {\n      uStack_968 = uStack_968 | 0x20400;\n    }\n    if (iVar4 < 0) {\n      if (((uint)param_4 & 0x80800) == 0) {\n        uVar28 = 0x180;\n        if ((uVar18 == 0) && (uVar28 = 0, ((uint)param_4 & 0x40) != 0)) {\n          iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }\n          uVar28 = 0;\n        }\nLAB_000c5e0c:\n        uStack_954 = 0;\n        uStack_960 = 0;\n      }\n      else {\n        iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c);\n        iVar27 = iVar4 + -1;\n        if (pcStack_96c[iVar27] != (code)0x2d) {\n          if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }\n          uVar28 = 0;\n          goto LAB_000c5e0c;\n        }\nLAB_000c5e78:\n        (**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201);\n        auStack_89c[iVar27] = 0;\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940);\n        if (iVar4 == 0) {\n          uVar28 = uStack_928 & 0x1ff;\n          uStack_960 = uStack_920;\n          uStack_954 = uStack_91c;\n          pcVar5 = (code *)0x0;\n        }\n        else {\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }\nLAB_000c5ee0:\n        if (pcVar5 != (code *)0x0) goto LAB_000c602c;\n      }\n      iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                        (pcStack_96c,uStack_968 | 0x2000,uVar28);\n      if (-1 < iVar4) {\nLAB_000c5e40:\n        if (((uint)param_4 & 0x80800) != 0) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);\n        }\n        goto LAB_000c5a6c;\n      }\n      pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n      if (bVar1) {\n        piVar10 = (int *)(*pcVar5)();\n        if (*piVar10 != 0xd) {\n          pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n          goto LAB_000c5fb8;\n        }\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))(pcStack_96c,0);\n        pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n        if (iVar4 == 0) goto LAB_000c5fb8;\n        uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n        (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                  (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634);\n        pcVar5 = (code *)0x608;\n      }\n      else {\nLAB_000c5fb8:\n        piVar10 = (int *)(*pcVar5)();\n        if ((*piVar10 == 0x15) || (uVar9 == 0)) {\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        else {\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        if (pcVar5 == (code *)0x0) goto LAB_000c602c;\n      }\nLAB_000c630c:\n      iVar4 = *(int *)(pcVar6 + 0x1c);\nLAB_000c6310:\n      (**(code **)(pcVar22 + 0xca07c))(iVar4);\n    }\n    else {\nLAB_000c5a6c:\n      if (puStack_458 != (undefined4 *)0x0) {\n        *puStack_458 = param_4;\n      }\n      if (*(int **)(pcVar6 + 0x1c) != (int *)0x0) {\n        **(int **)(pcVar6 + 0x1c) = iVar4;\n        *(code **)(*(int *)(pcVar6 + 0x1c) + 4) = param_4;\n      }\n      if (uVar18 != 0) {\n        (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))(pcStack_96c);\n        uVar18 = 0x20;\n      }\n      if (uStack_958 != 0) {\n        uVar18 = uVar18 | 2;\n      }\n      if (uVar20 != 0x100) {\n        uVar18 = uVar18 | 0x80;\n      }\n      if (bVar1) {\n        uVar18 = uVar18 | 8;\n      }\n      if (((uint)param_4 & 0x40) == 0) {\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = (code *)0x0;\n      }\n      else {\n        uVar18 = uVar18 | 0x40;\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = pcVar30;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca37c))(pcVar5,*(int *)(pcVar22 + 0xca060) + -0x45c0,1);\n      iVar16 = *(int *)(pcVar22 + 0xca060);\n      if (iVar27 != 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 0x10;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca610))(*(undefined4 *)(iVar8 + 0x10),iVar16 + -0x45b8);\n      if (iVar27 == 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 1;\n      }\n      if ((uVar18 & 0x80) == 0) {\n        iVar27 = (*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6);\n        if (iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n          iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);\n          if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n        }\n        else {\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }\n        *(int *)(pcVar6 + 0x14) = 0;\n        if (pcVar5 != (code *)0x0) {\n          if (iVar4 < 0) goto LAB_000c630c;\n          (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);\n          iVar4 = *(int *)(pcVar6 + 0x1c);\n          goto LAB_000c6310;\n        }\n      }\n      else {\n        iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4;\nLAB_000c6394:\n        *(int *)(pcVar6 + 0x14) = 0;\n      }\n      *(int *)pcVar6 = iVar27;\n      (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524))(pcVar6);\n      pcVar5 = (code *)0x0;\n    }\n  }\n  else {\n    if ((uVar20 == 0x4000) || (uVar20 == 0x800)) {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n    }\n    else {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n      if (uVar20 != 0x80000) goto LAB_000c59a0;\n    }\n    iVar4 = (*pcVar5)();\n    if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {\n      bVar1 = true;\nLAB_000c59cc:\n      uVar29 = (**(code **)(pcVar22 + 0xca564))();\n      *(undefined4 *)(*(int *)(pcVar22 + 0xca04c) + 0x230) = uVar29;\n      sqlite3_randomness(0,0);\n      goto LAB_000c59fc;\n    }\n    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);\n    bVar1 = true;\nLAB_000c5a24:\n    iVar4 = -1;\n    if (pcVar30 != (code *)0x0) goto LAB_000c5a34;\n    pcVar5 = (code *)FUN_000c5048(*(undefined4 *)(iVar8 + 8),auStack_698);\n    if (pcVar5 == (code *)0x0) {\n      iVar4 = -1;\n      pcStack_96c = (code *)auStack_698;\n      goto LAB_000c5a34;\n    }\n  }\nLAB_000c602c:\n  if (iStack_494 == **(int **)(pcVar22 + 0xca5d0)) {\n    return pcVar5;\n  }\n  pcVar22 = *(code **)(pcVar22 + 0xca5a4);\n  iVar4 = iStack_494;\n  (*pcVar22)();\n  uVar9 = *(uint *)(iVar4 + 0x98);\n  if (*(uint *)(iVar4 + 0x94) <= *(uint *)(iVar4 + 0x98)) {\n    uVar9 = *(uint *)(iVar4 + 0x94);\n  }\n  puVar19 = *(undefined4 **)(iVar4 + 0xd0);\n  if (0 < *(int *)(iVar4 + 0x60)) {\n    iVar8 = 0;\n    iVar27 = 0;\n    do {\n      iVar16 = *(int *)(iVar4 + 0x5c) + iVar8;\n      if (*(int *)(iVar16 + 8) == 0 && *(int *)(iVar16 + 0xc) == 0) {\n        uVar29 = *(undefined4 *)(iVar4 + 0x48);\n        *(undefined4 *)(iVar16 + 0xc) = *(undefined4 *)(iVar4 + 0x4c);\n        *(undefined4 *)(iVar16 + 8) = uVar29;\n      }\n      iVar27 = iVar27 + 1;\n      iVar8 = iVar8 + 0x30;\n    } while (iVar27 < *(int *)(iVar4 + 0x60));\n  }\n  uVar32 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x43ec))(iVar4);\n  *(undefined8 *)(iVar4 + 0x48) = uVar32;\n  *(undefined8 *)(iVar4 + 0x50) = uVar32;\n  if ((*(char *)(iVar4 + 7) == '\0') && (*(char *)(iVar4 + 5) != '\x04')) {\n    uVar18 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0xaf8))(*(undefined4 *)(iVar4 + 0x3c));\n    iVar27 = *(int *)(pcVar22 + 0xc96e0);\n    if ((uVar18 & 0x200) == 0) {\n      *(undefined1 *)puVar19 = 0;\n      *(undefined1 *)((int)puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 3) = 0;\n      *(undefined1 *)(puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 5) = 0;\n      *(undefined1 *)((int)puVar19 + 6) = 0;\n      *(undefined1 *)((int)puVar19 + 7) = 0;\n      *(undefined1 *)(puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 9) = 0;\n      *(undefined1 *)((int)puVar19 + 10) = 0;\n      *(undefined1 *)((int)puVar19 + 0xb) = 0;\n      goto LAB_000c65ec;\n    }\n  }\n  else {\n    iVar27 = *(int *)(pcVar22 + 0xc96e0);\n  }\n  uVar29 = *(undefined4 *)(iVar27 + -0x4394);\n  *puVar19 = *(undefined4 *)(iVar27 + -0x4398);\n  puVar19[1] = uVar29;\n  (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c))(puVar19 + 2,0xffffffff);\nLAB_000c65ec:\n  sqlite3_randomness(4,iVar4 + 0x30);\n  pcVar5 = (code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c);\n  (*pcVar5)(puVar19 + 3,*(undefined4 *)(iVar4 + 0x30));\n  (*pcVar5)(puVar19 + 4,*(undefined4 *)(iVar4 + 0x1c));\n  (*pcVar5)(puVar19 + 5,*(undefined4 *)(iVar4 + 0x94));\n  (*pcVar5)(puVar19 + 6,*(undefined4 *)(iVar4 + 0x98));\n  (**(code **)(pcVar22 + 0xc9930))(puVar19 + 7,0,uVar9 - 0x1c);\n  uVar18 = 0;\n  if (*(int *)(iVar4 + 0x94) != 0) {\n    iVar27 = *(int *)(pcVar22 + 0xc9688);\n    do {\n      pcVar22 = (code *)(*(code *)(iVar27 + 0x9e0))(*(undefined4 *)(iVar4 + 0x40),puVar19,uVar9);\n      uVar20 = *(uint *)(iVar4 + 0x4c) + uVar9;\n      *(uint *)(iVar4 + 0x48) = (uint)(uVar20 < *(uint *)(iVar4 + 0x4c)) + *(int *)(iVar4 + 0x48);\n      *(uint *)(iVar4 + 0x4c) = uVar20;\n      uVar18 = uVar18 + uVar9;\n      if (pcVar22 != (code *)0x0) {\n        return pcVar22;\n      }\n    } while (uVar18 < *(uint *)(iVar4 + 0x94));\n  }\n  return (code *)0x0;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "code cVar2;" type_identifier identifier ;) (declaration "code *pcVar3;" type_identifier (pointer_declarator "*pcVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "code *pcVar5;" type_identifier (pointer_declarator "*pcVar5" * identifier) ;) (declaration "code *pcVar6;" type_identifier (pointer_declarator "*pcVar6" * identifier) ;) (declaration "byte *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "code *pcVar13;" type_identifier (pointer_declarator "*pcVar13" * identifier) ;) (declaration "code *pcVar14;" type_identifier (pointer_declarator "*pcVar14" * identifier) ;) (declaration "byte *pbVar15;" type_identifier (pointer_declarator "*pbVar15" * identifier) ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "byte bVar17;" type_identifier identifier ;) (declaration "code *unaff_s0;" type_identifier (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "code *unaff_s1;" type_identifier (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "undefined4 *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "code *unaff_s3;" type_identifier (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "code *unaff_s4;" type_identifier (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "code *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "code *unaff_s6;" type_identifier (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "int *piVar21;" primitive_type (pointer_declarator "*piVar21" * identifier) ;) (declaration "code *unaff_s7;" type_identifier (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "code *pcVar22;" type_identifier (pointer_declarator "*pcVar22" * identifier) ;) (declaration "code *pcVar23;" type_identifier (pointer_declarator "*pcVar23" * identifier) ;) (declaration "undefined *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "code *pcVar25;" type_identifier (pointer_declarator "*pcVar25" * identifier) ;) (declaration "code *pcVar26;" type_identifier (pointer_declarator "*pcVar26" * identifier) ;) (declaration "code *unaff_s8;" type_identifier (pointer_declarator "*unaff_s8" * identifier) ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "uint uVar28;" type_identifier identifier ;) (declaration "undefined4 uVar29;" type_identifier identifier ;) (declaration "code *pcVar30;" type_identifier (pointer_declarator "*pcVar30" * identifier) ;) (declaration "code *pcVar31;" type_identifier (pointer_declarator "*pcVar31" * identifier) ;) (declaration "undefined8 uVar32;" type_identifier identifier ;) (declaration "code *pcStack_96c;" type_identifier (pointer_declarator "*pcStack_96c" * identifier) ;) (declaration "uint uStack_968;" type_identifier identifier ;) (declaration "undefined4 uStack_960;" type_identifier identifier ;) (declaration "uint uStack_958;" type_identifier identifier ;) (declaration "undefined4 uStack_954;" type_identifier identifier ;) (declaration "undefined4 uStack_950;" type_identifier identifier ;) (declaration "int iStack_94c;" primitive_type identifier ;) (declaration "int iStack_948;" primitive_type identifier ;) (declaration "int iStack_944;" primitive_type identifier ;) (declaration "int aiStack_940 [4];" primitive_type (array_declarator "aiStack_940 [4]" identifier [ number_literal ]) ;) (declaration "int iStack_930;" primitive_type identifier ;) (declaration "int iStack_92c;" primitive_type identifier ;) (declaration "uint uStack_928;" type_identifier identifier ;) (declaration "undefined4 uStack_920;" type_identifier identifier ;) (declaration "undefined4 uStack_91c;" type_identifier identifier ;) (declaration "undefined1 auStack_89c [516];" type_identifier (array_declarator "auStack_89c [516]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_698 [516];" type_identifier (array_declarator "auStack_698 [516]" identifier [ number_literal ]) ;) (declaration "int iStack_494;" primitive_type identifier ;) (declaration "int iStack_490;" primitive_type identifier ;) (declaration "code *pcStack_48c;" type_identifier (pointer_declarator "*pcStack_48c" * identifier) ;) (declaration "code *pcStack_488;" type_identifier (pointer_declarator "*pcStack_488" * identifier) ;) (declaration "code *pcStack_484;" type_identifier (pointer_declarator "*pcStack_484" * identifier) ;) (declaration "code *pcStack_480;" type_identifier (pointer_declarator "*pcStack_480" * identifier) ;) (declaration "code *pcStack_47c;" type_identifier (pointer_declarator "*pcStack_47c" * identifier) ;) (declaration "code *pcStack_478;" type_identifier (pointer_declarator "*pcStack_478" * identifier) ;) (declaration "code *pcStack_474;" type_identifier (pointer_declarator "*pcStack_474" * identifier) ;) (declaration "int iStack_470;" primitive_type identifier ;) (declaration "undefined4 uStack_46c;" type_identifier identifier ;) (declaration "undefined4 *puStack_458;" type_identifier (pointer_declarator "*puStack_458" * identifier) ;) (declaration "code *pcStack_448;" type_identifier (pointer_declarator "*pcStack_448" * identifier) ;) (declaration "int iStack_37c;" primitive_type identifier ;) (declaration "code *pcStack_378;" type_identifier (pointer_declarator "*pcStack_378" * identifier) ;) (declaration "code *pcStack_374;" type_identifier (pointer_declarator "*pcStack_374" * identifier) ;) (declaration "code *pcStack_370;" type_identifier (pointer_declarator "*pcStack_370" * identifier) ;) (declaration "code *pcStack_36c;" type_identifier (pointer_declarator "*pcStack_36c" * identifier) ;) (declaration "code *pcStack_368;" type_identifier (pointer_declarator "*pcStack_368" * identifier) ;) (declaration "code *pcStack_364;" type_identifier (pointer_declarator "*pcStack_364" * identifier) ;) (declaration "code *pcStack_360;" type_identifier (pointer_declarator "*pcStack_360" * identifier) ;) (declaration "code *pcStack_35c;" type_identifier (pointer_declarator "*pcStack_35c" * identifier) ;) (declaration "int iStack_358;" primitive_type identifier ;) (declaration "undefined4 uStack_354;" type_identifier identifier ;) (declaration "undefined4 uStack_340;" type_identifier identifier ;) (declaration "undefined4 uStack_33c;" type_identifier identifier ;) (declaration "undefined4 uStack_338;" type_identifier identifier ;) (declaration "code *pcStack_330;" type_identifier (pointer_declarator "*pcStack_330" * identifier) ;) (declaration "undefined4 uStack_328;" type_identifier identifier ;) (declaration "undefined4 uStack_324;" type_identifier identifier ;) (declaration "undefined1 auStack_320 [24];" type_identifier (array_declarator "auStack_320 [24]" identifier [ number_literal ]) ;) (declaration "uint uStack_308;" type_identifier identifier ;) (declaration "int iStack_27c;" primitive_type identifier ;) (declaration "int iStack_278;" primitive_type identifier ;) (declaration "code *pcStack_274;" type_identifier (pointer_declarator "*pcStack_274" * identifier) ;) (declaration "code *pcStack_270;" type_identifier (pointer_declarator "*pcStack_270" * identifier) ;) (declaration "code *pcStack_26c;" type_identifier (pointer_declarator "*pcStack_26c" * identifier) ;) (declaration "code *pcStack_268;" type_identifier (pointer_declarator "*pcStack_268" * identifier) ;) (declaration "code *pcStack_264;" type_identifier (pointer_declarator "*pcStack_264" * identifier) ;) (declaration "code *pcStack_260;" type_identifier (pointer_declarator "*pcStack_260" * identifier) ;) (declaration "code *pcStack_25c;" type_identifier (pointer_declarator "*pcStack_25c" * identifier) ;) (declaration "code *pcStack_258;" type_identifier (pointer_declarator "*pcStack_258" * identifier) ;) (declaration "code *pcStack_254;" type_identifier (pointer_declarator "*pcStack_254" * identifier) ;) (declaration "code *pcStack_240;" type_identifier (pointer_declarator "*pcStack_240" * identifier) ;) (declaration "byte abStack_234 [256];" type_identifier (array_declarator "abStack_234 [256]" identifier [ number_literal ]) ;) (declaration "code *pcStack_134;" type_identifier (pointer_declarator "*pcStack_134" * identifier) ;) (declaration "code *pcStack_12c;" type_identifier (pointer_declarator "*pcStack_12c" * identifier) ;) (declaration "code *pcStack_128;" type_identifier (pointer_declarator "*pcStack_128" * identifier) ;) (declaration "code *pcStack_124;" type_identifier (pointer_declarator "*pcStack_124" * identifier) ;) (declaration "code *pcStack_120;" type_identifier (pointer_declarator "*pcStack_120" * identifier) ;) (declaration "code *pcStack_11c;" type_identifier (pointer_declarator "*pcStack_11c" * identifier) ;) (declaration "code **local_108;" type_identifier (pointer_declarator "**local_108" * (pointer_declarator "*local_108" * identifier)) ;) (declaration "code *local_100;" type_identifier (pointer_declarator "*local_100" * identifier) ;) (declaration "code *local_f8;" type_identifier (pointer_declarator "*local_f8" * identifier) ;) (declaration "code *local_f4;" type_identifier (pointer_declarator "*local_f4" * identifier) ;) (declaration "code *local_f0;" type_identifier (pointer_declarator "*local_f0" * identifier) ;) (declaration "code *local_ec;" type_identifier (pointer_declarator "*local_ec" * identifier) ;) (declaration "code *local_e8;" type_identifier (pointer_declarator "*local_e8" * identifier) ;) (declaration "code *local_e4;" type_identifier (pointer_declarator "*local_e4" * identifier) ;) (declaration "code *local_e0;" type_identifier (pointer_declarator "*local_e0" * identifier) ;) (declaration "undefined4 local_dc;" type_identifier identifier ;) (declaration "code *local_c8;" type_identifier (pointer_declarator "*local_c8" * identifier) ;) (declaration "code *local_bc;" type_identifier (pointer_declarator "*local_bc" * identifier) ;) (declaration "int local_b8;" primitive_type identifier ;) (declaration "undefined1 auStack_b4 [8];" type_identifier (array_declarator "auStack_b4 [8]" identifier [ number_literal ]) ;) (declaration "int local_ac;" primitive_type identifier ;) (declaration "char local_a0;" primitive_type identifier ;) (declaration "char local_9f;" primitive_type identifier ;) (declaration "code *local_94;" type_identifier (pointer_declarator "*local_94" * identifier) ;) (declaration "code *local_90;" type_identifier (pointer_declarator "*local_90" * identifier) ;) (declaration "code *local_8c;" type_identifier (pointer_declarator "*local_8c" * identifier) ;) (declaration "code *local_88;" type_identifier (pointer_declarator "*local_88" * identifier) ;) (declaration "code *local_84;" type_identifier (pointer_declarator "*local_84" * identifier) ;) (declaration "code *local_80;" type_identifier (pointer_declarator "*local_80" * identifier) ;) (declaration "code *local_7c;" type_identifier (pointer_declarator "*local_7c" * identifier) ;) (declaration "code *local_78;" type_identifier (pointer_declarator "*local_78" * identifier) ;) (declaration "code *local_74;" type_identifier (pointer_declarator "*local_74" * identifier) ;) (declaration "undefined1 local_4c [8];" type_identifier (array_declarator "local_4c [8]" identifier [ number_literal ]) ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "char local_37;" primitive_type identifier ;) (declaration "code *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (expression_statement "local_2c = *(code **)PTR___stack_chk_guard_0018fecc;" (assignment_expression "local_2c = *(code **)PTR___stack_chk_guard_0018fecc" identifier = (pointer_expression "*(code **)PTR___stack_chk_guard_0018fecc" * (cast_expression "(code **)PTR___stack_chk_guard_0018fecc" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pcVar22 = param_1;" (assignment_expression "pcVar22 = param_1" identifier = identifier) ;) (expression_statement "pcVar5 = param_2;" (assignment_expression "pcVar5 = param_2" identifier = identifier) ;) (expression_statement "pcVar3 = param_3;" (assignment_expression "pcVar3 = param_3" identifier = identifier) ;) (if_statement "if (0 < (int)param_2) {\n    unaff_s0 = param_2;\n    unaff_s7 = param_3;\n    if (((uint)param_2 & 1) == 0) {\n      pcVar5 = (code *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824);\n      FUN_000c4464();\n    }\n    else {\n      pcVar3 = (code *)(*(code *)PTR_sqlite3_value_text_0018f97c)(*(int *)param_3);\n      pcVar22 = (code *)local_4c;\n      pcVar5 = param_1;\n      iVar4 = FUN_000b4580();\n      puVar24 = PTR_sqlite3_value_text_0018f97c;\n      unaff_s6 = param_2;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(param_2 < (code *)0x2);\n        unaff_s1 = param_3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s4 = (code *)local_4c;\n          unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);\n          do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);\n        }\n        if ((*(byte *)(local_44 + 1) & 8) == 0) {\n          pcVar5 = param_1;\n          pcVar3 = param_3;\n          FUN_000b63c4();\n        }\n        else {\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }\nLAB_000c4674:\n        pcVar22 = (code *)local_4c;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = param_3;\n      }\n    }\n  }" if (parenthesized_expression "(0 < (int)param_2)" ( (binary_expression "0 < (int)param_2" number_literal < (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    unaff_s0 = param_2;\n    unaff_s7 = param_3;\n    if (((uint)param_2 & 1) == 0) {\n      pcVar5 = (code *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824);\n      FUN_000c4464();\n    }\n    else {\n      pcVar3 = (code *)(*(code *)PTR_sqlite3_value_text_0018f97c)(*(int *)param_3);\n      pcVar22 = (code *)local_4c;\n      pcVar5 = param_1;\n      iVar4 = FUN_000b4580();\n      puVar24 = PTR_sqlite3_value_text_0018f97c;\n      unaff_s6 = param_2;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(param_2 < (code *)0x2);\n        unaff_s1 = param_3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s4 = (code *)local_4c;\n          unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);\n          do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);\n        }\n        if ((*(byte *)(local_44 + 1) & 8) == 0) {\n          pcVar5 = param_1;\n          pcVar3 = param_3;\n          FUN_000b63c4();\n        }\n        else {\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }\nLAB_000c4674:\n        pcVar22 = (code *)local_4c;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = param_3;\n      }\n    }\n  }" { (expression_statement "unaff_s0 = param_2;" (assignment_expression "unaff_s0 = param_2" identifier = identifier) ;) (expression_statement "unaff_s7 = param_3;" (assignment_expression "unaff_s7 = param_3" identifier = identifier) ;) (if_statement "if (((uint)param_2 & 1) == 0) {\n      pcVar5 = (code *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824);\n      FUN_000c4464();\n    }\n    else {\n      pcVar3 = (code *)(*(code *)PTR_sqlite3_value_text_0018f97c)(*(int *)param_3);\n      pcVar22 = (code *)local_4c;\n      pcVar5 = param_1;\n      iVar4 = FUN_000b4580();\n      puVar24 = PTR_sqlite3_value_text_0018f97c;\n      unaff_s6 = param_2;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(param_2 < (code *)0x2);\n        unaff_s1 = param_3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s4 = (code *)local_4c;\n          unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);\n          do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);\n        }\n        if ((*(byte *)(local_44 + 1) & 8) == 0) {\n          pcVar5 = param_1;\n          pcVar3 = param_3;\n          FUN_000b63c4();\n        }\n        else {\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }\nLAB_000c4674:\n        pcVar22 = (code *)local_4c;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = param_3;\n      }\n    }" if (parenthesized_expression "(((uint)param_2 & 1) == 0)" ( (binary_expression "((uint)param_2 & 1) == 0" (parenthesized_expression "((uint)param_2 & 1)" ( (binary_expression "(uint)param_2 & 1" (cast_expression "(uint)param_2" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      pcVar5 = (code *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824);\n      FUN_000c4464();\n    }" { (expression_statement "pcVar5 = (code *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824);" (assignment_expression "pcVar5 = (code *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824)" identifier = (cast_expression "(code *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824)" ( (binary_expression "PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824" identifier + number_literal) )))) ;) (expression_statement "FUN_000c4464();" (call_expression "FUN_000c4464()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n      pcVar3 = (code *)(*(code *)PTR_sqlite3_value_text_0018f97c)(*(int *)param_3);\n      pcVar22 = (code *)local_4c;\n      pcVar5 = param_1;\n      iVar4 = FUN_000b4580();\n      puVar24 = PTR_sqlite3_value_text_0018f97c;\n      unaff_s6 = param_2;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(param_2 < (code *)0x2);\n        unaff_s1 = param_3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s4 = (code *)local_4c;\n          unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);\n          do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);\n        }\n        if ((*(byte *)(local_44 + 1) & 8) == 0) {\n          pcVar5 = param_1;\n          pcVar3 = param_3;\n          FUN_000b63c4();\n        }\n        else {\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }\nLAB_000c4674:\n        pcVar22 = (code *)local_4c;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = param_3;\n      }\n    }" else (compound_statement "{\n      pcVar3 = (code *)(*(code *)PTR_sqlite3_value_text_0018f97c)(*(int *)param_3);\n      pcVar22 = (code *)local_4c;\n      pcVar5 = param_1;\n      iVar4 = FUN_000b4580();\n      puVar24 = PTR_sqlite3_value_text_0018f97c;\n      unaff_s6 = param_2;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(param_2 < (code *)0x2);\n        unaff_s1 = param_3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s4 = (code *)local_4c;\n          unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);\n          do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);\n        }\n        if ((*(byte *)(local_44 + 1) & 8) == 0) {\n          pcVar5 = param_1;\n          pcVar3 = param_3;\n          FUN_000b63c4();\n        }\n        else {\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }\nLAB_000c4674:\n        pcVar22 = (code *)local_4c;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = param_3;\n      }\n    }" { (expression_statement "pcVar3 = (code *)(*(code *)PTR_sqlite3_value_text_0018f97c)(*(int *)param_3);" (assignment_expression "pcVar3 = (code *)(*(code *)PTR_sqlite3_value_text_0018f97c)(*(int *)param_3)" identifier = (cast_expression "(code *)(*(code *)PTR_sqlite3_value_text_0018f97c)(*(int *)param_3)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sqlite3_value_text_0018f97c)(*(int *)param_3)" (parenthesized_expression "(*(code *)PTR_sqlite3_value_text_0018f97c)" ( (pointer_expression "*(code *)PTR_sqlite3_value_text_0018f97c" * (cast_expression "(code *)PTR_sqlite3_value_text_0018f97c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(int *)param_3)" ( (pointer_expression "*(int *)param_3" * (cast_expression "(int *)param_3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ))))) ;) (expression_statement "pcVar22 = (code *)local_4c;" (assignment_expression "pcVar22 = (code *)local_4c" identifier = (cast_expression "(code *)local_4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcVar5 = param_1;" (assignment_expression "pcVar5 = param_1" identifier = identifier) ;) (expression_statement "iVar4 = FUN_000b4580();" (assignment_expression "iVar4 = FUN_000b4580()" identifier = (call_expression "FUN_000b4580()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar24 = PTR_sqlite3_value_text_0018f97c;" (assignment_expression "puVar24 = PTR_sqlite3_value_text_0018f97c" identifier = identifier) ;) (expression_statement "unaff_s6 = param_2;" (assignment_expression "unaff_s6 = param_2" identifier = identifier) ;) (if_statement "if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(param_2 < (code *)0x2);\n        unaff_s1 = param_3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s4 = (code *)local_4c;\n          unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);\n          do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);\n        }\n        if ((*(byte *)(local_44 + 1) & 8) == 0) {\n          pcVar5 = param_1;\n          pcVar3 = param_3;\n          FUN_000b63c4();\n        }\n        else {\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }\nLAB_000c4674:\n        pcVar22 = (code *)local_4c;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = param_3;\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        unaff_s0 = (code *)(uint)(param_2 < (code *)0x2);\n        unaff_s1 = param_3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s4 = (code *)local_4c;\n          unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);\n          do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);\n        }\n        if ((*(byte *)(local_44 + 1) & 8) == 0) {\n          pcVar5 = param_1;\n          pcVar3 = param_3;\n          FUN_000b63c4();\n        }\n        else {\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }\nLAB_000c4674:\n        pcVar22 = (code *)local_4c;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = param_3;\n      }" { (expression_statement "unaff_s0 = (code *)(uint)(param_2 < (code *)0x2);" (assignment_expression "unaff_s0 = (code *)(uint)(param_2 < (code *)0x2)" identifier = (cast_expression "(code *)(uint)(param_2 < (code *)0x2)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(param_2 < (code *)0x2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_2 < (code *)0x2)" ( (binary_expression "param_2 < (code *)0x2" identifier < (cast_expression "(code *)0x2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))))) ;) (expression_statement "unaff_s1 = param_3 + 4;" (assignment_expression "unaff_s1 = param_3 + 4" identifier = (binary_expression "param_3 + 4" identifier + number_literal)) ;) (if_statement "if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s4 = (code *)local_4c;\n          unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);\n          do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);\n        }" if (parenthesized_expression "(unaff_s0 == (code *)0x0)" ( (binary_expression "unaff_s0 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          unaff_s0 = (code *)0x1;\n          unaff_s4 = (code *)local_4c;\n          unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);\n          do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);\n        }" { (expression_statement "unaff_s0 = (code *)0x1;" (assignment_expression "unaff_s0 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s4 = (code *)local_4c;" (assignment_expression "unaff_s4 = (code *)local_4c" identifier = (cast_expression "(code *)local_4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);" (assignment_expression "unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48)" identifier = (cast_expression "(code *)(PTR_DAT_0018fbc8 + 0x3c48)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0018fbc8 + 0x3c48)" ( (binary_expression "PTR_DAT_0018fbc8 + 0x3c48" identifier + number_literal) )))) ;) (do_statement "do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);" do (compound_statement "{\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          }" { (expression_statement "pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);" (assignment_expression "pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1)" identifier = (cast_expression "(code *)(*(code *)puVar24)(*(int *)unaff_s1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar24)(*(int *)unaff_s1)" (parenthesized_expression "(*(code *)puVar24)" ( (pointer_expression "*(code *)puVar24" * (cast_expression "(code *)puVar24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(int *)unaff_s1)" ( (pointer_expression "*(int *)unaff_s1" * (cast_expression "(int *)unaff_s1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ))))) ;) (expression_statement "pcVar3 = (code *)0x0;" (assignment_expression "pcVar3 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "param_4 = param_1;" (assignment_expression "param_4 = param_1" identifier = identifier) ;) (expression_statement "iVar4 = FUN_000c3c48(unaff_s4);" (assignment_expression "iVar4 = FUN_000c3c48(unaff_s4)" identifier = (call_expression "FUN_000c3c48(unaff_s4)" identifier (argument_list "(unaff_s4)" ( identifier )))) ;) (expression_statement "unaff_s5 = (code *)puVar24;" (assignment_expression "unaff_s5 = (code *)puVar24" identifier = (cast_expression "(code *)puVar24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (local_37 != '\0') goto LAB_000c4674;" if (parenthesized_expression "(local_37 != '\0')" ( (binary_expression "local_37 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000c4674;" goto statement_identifier ;)) (if_statement "if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }" { (expression_statement "*(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;" (assignment_expression "*(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8" (pointer_expression "*(byte *)(iVar4 + 1)" * (cast_expression "(byte *)(iVar4 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 1)" ( (binary_expression "iVar4 + 1" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar4 + 1) | 8" (pointer_expression "*(byte *)(iVar4 + 1)" * (cast_expression "(byte *)(iVar4 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 1)" ( (binary_expression "iVar4 + 1" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "*(code **)(iVar4 + 8) = unaff_s0 + 1;" (assignment_expression "*(code **)(iVar4 + 8) = unaff_s0 + 1" (pointer_expression "*(code **)(iVar4 + 8)" * (cast_expression "(code **)(iVar4 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) )))) = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) })) (expression_statement "unaff_s0 = unaff_s0 + 2;" (assignment_expression "unaff_s0 = unaff_s0 + 2" identifier = (binary_expression "unaff_s0 + 2" identifier + number_literal)) ;) (expression_statement "unaff_s1 = unaff_s1 + 8;" (assignment_expression "unaff_s1 = unaff_s1 + 8" identifier = (binary_expression "unaff_s1 + 8" identifier + number_literal)) ;) }) while (parenthesized_expression "(unaff_s0 < param_2)" ( (binary_expression "unaff_s0 < param_2" identifier < identifier) )) ;) })) (if_statement "if ((*(byte *)(local_44 + 1) & 8) == 0) {\n          pcVar5 = param_1;\n          pcVar3 = param_3;\n          FUN_000b63c4();\n        }\n        else {\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }" if (parenthesized_expression "((*(byte *)(local_44 + 1) & 8) == 0)" ( (binary_expression "(*(byte *)(local_44 + 1) & 8) == 0" (parenthesized_expression "(*(byte *)(local_44 + 1) & 8)" ( (binary_expression "*(byte *)(local_44 + 1) & 8" (pointer_expression "*(byte *)(local_44 + 1)" * (cast_expression "(byte *)(local_44 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_44 + 1)" ( (binary_expression "local_44 + 1" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          pcVar5 = param_1;\n          pcVar3 = param_3;\n          FUN_000b63c4();\n        }" { (expression_statement "pcVar5 = param_1;" (assignment_expression "pcVar5 = param_1" identifier = identifier) ;) (expression_statement "pcVar3 = param_3;" (assignment_expression "pcVar3 = param_3" identifier = identifier) ;) (expression_statement "FUN_000b63c4();" (call_expression "FUN_000b63c4()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }" else (compound_statement "{\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }" { (expression_statement "pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;" (assignment_expression "pcVar22 = param_3 + *(int *)(local_44 + 8) * 4" identifier = (binary_expression "param_3 + *(int *)(local_44 + 8) * 4" identifier + (binary_expression "*(int *)(local_44 + 8) * 4" (pointer_expression "*(int *)(local_44 + 8)" * (cast_expression "(int *)(local_44 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_44 + 8)" ( (binary_expression "local_44 + 8" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "pcVar5 = *(code **)pcVar22;" (assignment_expression "pcVar5 = *(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 "(*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);" (call_expression "(*(code *)PTR_sqlite3_result_value_0018fa38)(param_1)" (parenthesized_expression "(*(code *)PTR_sqlite3_result_value_0018fa38)" ( (pointer_expression "*(code *)PTR_sqlite3_result_value_0018fa38" * (cast_expression "(code *)PTR_sqlite3_result_value_0018fa38" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "pcVar3 = param_3;" (assignment_expression "pcVar3 = param_3" identifier = identifier) ;) (expression_statement "param_3 = pcVar22;" (assignment_expression "param_3 = pcVar22" identifier = identifier) ;) }))) (labeled_statement "LAB_000c4674:\n        pcVar22 = (code *)local_4c;" statement_identifier : (expression_statement "pcVar22 = (code *)local_4c;" (assignment_expression "pcVar22 = (code *)local_4c" identifier = (cast_expression "(code *)local_4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "(*(code *)(PTR_LAB_0018fc04 + 0x3c38))();" (call_expression "(*(code *)(PTR_LAB_0018fc04 + 0x3c38))()" (parenthesized_expression "(*(code *)(PTR_LAB_0018fc04 + 0x3c38))" ( (pointer_expression "*(code *)(PTR_LAB_0018fc04 + 0x3c38)" * (cast_expression "(code *)(PTR_LAB_0018fc04 + 0x3c38)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0018fc04 + 0x3c38)" ( (binary_expression "PTR_LAB_0018fc04 + 0x3c38" identifier + number_literal) )))) )) (argument_list "()" ( ))) ;) (expression_statement "unaff_s7 = param_3;" (assignment_expression "unaff_s7 = param_3" identifier = identifier) ;) })) }))) })) (if_statement "if (local_2c == *(code **)PTR___stack_chk_guard_0018fecc) {\n    return *(code **)PTR___stack_chk_guard_0018fecc;\n  }" if (parenthesized_expression "(local_2c == *(code **)PTR___stack_chk_guard_0018fecc)" ( (binary_expression "local_2c == *(code **)PTR___stack_chk_guard_0018fecc" identifier == (pointer_expression "*(code **)PTR___stack_chk_guard_0018fecc" * (cast_expression "(code **)PTR___stack_chk_guard_0018fecc" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return *(code **)PTR___stack_chk_guard_0018fecc;\n  }" { (return_statement "return *(code **)PTR___stack_chk_guard_0018fecc;" return (pointer_expression "*(code **)PTR___stack_chk_guard_0018fecc" * (cast_expression "(code **)PTR___stack_chk_guard_0018fecc" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) })) (expression_statement "puVar24 = PTR___stack_chk_fail_0018fea0;" (assignment_expression "puVar24 = PTR___stack_chk_fail_0018fea0" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0018fea0)();" (call_expression "(*(code *)PTR___stack_chk_fail_0018fea0)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0018fea0)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0018fea0" * (cast_expression "(code *)PTR___stack_chk_fail_0018fea0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "local_74 = unaff_s7;" (assignment_expression "local_74 = unaff_s7" identifier = identifier) ;) (expression_statement "local_78 = unaff_s6;" (assignment_expression "local_78 = unaff_s6" identifier = identifier) ;) (expression_statement "local_7c = unaff_s5;" (assignment_expression "local_7c = unaff_s5" identifier = identifier) ;) (expression_statement "local_80 = unaff_s4;" (assignment_expression "local_80 = unaff_s4" identifier = identifier) ;) (expression_statement "local_84 = unaff_s3;" (assignment_expression "local_84 = unaff_s3" identifier = identifier) ;) (expression_statement "local_88 = param_1;" (assignment_expression "local_88 = param_1" identifier = identifier) ;) (expression_statement "local_8c = unaff_s1;" (assignment_expression "local_8c = unaff_s1" identifier = identifier) ;) (expression_statement "local_90 = unaff_s0;" (assignment_expression "local_90 = unaff_s0" identifier = identifier) ;) (expression_statement "local_c8 = (code *)(puVar24 + 0xd3230);" (assignment_expression "local_c8 = (code *)(puVar24 + 0xd3230)" identifier = (cast_expression "(code *)(puVar24 + 0xd3230)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0xd3230)" ( (binary_expression "puVar24 + 0xd3230" identifier + number_literal) )))) ;) (expression_statement "local_bc = pcVar3;" (assignment_expression "local_bc = pcVar3" identifier = identifier) ;) (expression_statement "pcVar3 = local_bc;" (assignment_expression "pcVar3 = local_bc" identifier = identifier) ;) (expression_statement "local_94 = (code *)**(int **)(puVar24 + 0xcb7dc);" (assignment_expression "local_94 = (code *)**(int **)(puVar24 + 0xcb7dc)" identifier = (cast_expression "(code *)**(int **)(puVar24 + 0xcb7dc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(puVar24 + 0xcb7dc)" * (pointer_expression "*(int **)(puVar24 + 0xcb7dc)" * (cast_expression "(int **)(puVar24 + 0xcb7dc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0xcb7dc)" ( (binary_expression "puVar24 + 0xcb7dc" identifier + number_literal) ))))))) ;) (expression_statement "pcVar31 = pcVar22;" (assignment_expression "pcVar31 = pcVar22" identifier = identifier) ;) (expression_statement "pcVar13 = pcVar5;" (assignment_expression "pcVar13 = pcVar5" identifier = identifier) ;) (expression_statement "pcVar6 = pcVar3;" (assignment_expression "pcVar6 = pcVar3" identifier = identifier) ;) (if_statement "if (0 < (int)pcVar5) {\n    unaff_s3 = (code *)**(undefined4 **)(*(int *)(pcVar22 + 4) + 8);\n    unaff_s0 = pcVar5;\n    if (((uint)pcVar5 & 1) == 0) {\n      if (unaff_s3 == (code *)0x0) {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb268) + 0x4920);\n      }\n      else {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8);\n      }\n      FUN_000c4464();\n      pcVar6 = pcVar3;\n    }\n    else {\n      pcVar6 = (code *)(**(code **)(puVar24 + 0xcb28c))(*(int *)pcVar3);\n      pcVar31 = (code *)auStack_b4;\n      pcVar13 = pcVar22;\n      iVar4 = FUN_000b4580();\n      unaff_s1 = pcVar3;\n      unaff_s7 = pcVar5;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(pcVar5 < (code *)0x2);\n        unaff_s1 = pcVar3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s6 = *(code **)(local_c8 + -0x7fa4);\n          unaff_s5 = (code *)&local_b8;\n          unaff_s4 = (code *)auStack_b4;\n          unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);\n          do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);\n        }\n        pcVar6 = local_bc;\n        if ((*(byte *)(local_ac + 1) & 8) == 0) {\n          pcVar13 = pcVar22;\n          FUN_000b63c4();\n        }\n        else {\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }\nLAB_000c484c:\n        pcVar31 = (code *)auStack_b4;\n        (*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))();\n      }\n    }\n  }" if (parenthesized_expression "(0 < (int)pcVar5)" ( (binary_expression "0 < (int)pcVar5" number_literal < (cast_expression "(int)pcVar5" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    unaff_s3 = (code *)**(undefined4 **)(*(int *)(pcVar22 + 4) + 8);\n    unaff_s0 = pcVar5;\n    if (((uint)pcVar5 & 1) == 0) {\n      if (unaff_s3 == (code *)0x0) {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb268) + 0x4920);\n      }\n      else {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8);\n      }\n      FUN_000c4464();\n      pcVar6 = pcVar3;\n    }\n    else {\n      pcVar6 = (code *)(**(code **)(puVar24 + 0xcb28c))(*(int *)pcVar3);\n      pcVar31 = (code *)auStack_b4;\n      pcVar13 = pcVar22;\n      iVar4 = FUN_000b4580();\n      unaff_s1 = pcVar3;\n      unaff_s7 = pcVar5;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(pcVar5 < (code *)0x2);\n        unaff_s1 = pcVar3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s6 = *(code **)(local_c8 + -0x7fa4);\n          unaff_s5 = (code *)&local_b8;\n          unaff_s4 = (code *)auStack_b4;\n          unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);\n          do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);\n        }\n        pcVar6 = local_bc;\n        if ((*(byte *)(local_ac + 1) & 8) == 0) {\n          pcVar13 = pcVar22;\n          FUN_000b63c4();\n        }\n        else {\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }\nLAB_000c484c:\n        pcVar31 = (code *)auStack_b4;\n        (*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))();\n      }\n    }\n  }" { (expression_statement "unaff_s3 = (code *)**(undefined4 **)(*(int *)(pcVar22 + 4) + 8);" (assignment_expression "unaff_s3 = (code *)**(undefined4 **)(*(int *)(pcVar22 + 4) + 8)" identifier = (cast_expression "(code *)**(undefined4 **)(*(int *)(pcVar22 + 4) + 8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(*(int *)(pcVar22 + 4) + 8)" * (pointer_expression "*(undefined4 **)(*(int *)(pcVar22 + 4) + 8)" * (cast_expression "(undefined4 **)(*(int *)(pcVar22 + 4) + 8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar22 + 4) + 8)" ( (binary_expression "*(int *)(pcVar22 + 4) + 8" (pointer_expression "*(int *)(pcVar22 + 4)" * (cast_expression "(int *)(pcVar22 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 4)" ( (binary_expression "pcVar22 + 4" identifier + number_literal) )))) + number_literal) ))))))) ;) (expression_statement "unaff_s0 = pcVar5;" (assignment_expression "unaff_s0 = pcVar5" identifier = identifier) ;) (if_statement "if (((uint)pcVar5 & 1) == 0) {\n      if (unaff_s3 == (code *)0x0) {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb268) + 0x4920);\n      }\n      else {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8);\n      }\n      FUN_000c4464();\n      pcVar6 = pcVar3;\n    }\n    else {\n      pcVar6 = (code *)(**(code **)(puVar24 + 0xcb28c))(*(int *)pcVar3);\n      pcVar31 = (code *)auStack_b4;\n      pcVar13 = pcVar22;\n      iVar4 = FUN_000b4580();\n      unaff_s1 = pcVar3;\n      unaff_s7 = pcVar5;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(pcVar5 < (code *)0x2);\n        unaff_s1 = pcVar3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s6 = *(code **)(local_c8 + -0x7fa4);\n          unaff_s5 = (code *)&local_b8;\n          unaff_s4 = (code *)auStack_b4;\n          unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);\n          do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);\n        }\n        pcVar6 = local_bc;\n        if ((*(byte *)(local_ac + 1) & 8) == 0) {\n          pcVar13 = pcVar22;\n          FUN_000b63c4();\n        }\n        else {\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }\nLAB_000c484c:\n        pcVar31 = (code *)auStack_b4;\n        (*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))();\n      }\n    }" if (parenthesized_expression "(((uint)pcVar5 & 1) == 0)" ( (binary_expression "((uint)pcVar5 & 1) == 0" (parenthesized_expression "((uint)pcVar5 & 1)" ( (binary_expression "(uint)pcVar5 & 1" (cast_expression "(uint)pcVar5" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      if (unaff_s3 == (code *)0x0) {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb268) + 0x4920);\n      }\n      else {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8);\n      }\n      FUN_000c4464();\n      pcVar6 = pcVar3;\n    }" { (if_statement "if (unaff_s3 == (code *)0x0) {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb268) + 0x4920);\n      }\n      else {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8);\n      }" if (parenthesized_expression "(unaff_s3 == (code *)0x0)" ( (binary_expression "unaff_s3 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb268) + 0x4920);\n      }" { (expression_statement "pcVar13 = (code *)(*(int *)(puVar24 + 0xcb268) + 0x4920);" (assignment_expression "pcVar13 = (code *)(*(int *)(puVar24 + 0xcb268) + 0x4920)" identifier = (cast_expression "(code *)(*(int *)(puVar24 + 0xcb268) + 0x4920)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar24 + 0xcb268) + 0x4920)" ( (binary_expression "*(int *)(puVar24 + 0xcb268) + 0x4920" (pointer_expression "*(int *)(puVar24 + 0xcb268)" * (cast_expression "(int *)(puVar24 + 0xcb268)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0xcb268)" ( (binary_expression "puVar24 + 0xcb268" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8);\n      }" else (compound_statement "{\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8);\n      }" { (expression_statement "pcVar13 = (code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8);" (assignment_expression "pcVar13 = (code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8)" identifier = (cast_expression "(code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar24 + 0xcb26c) + 0x6e8)" ( (binary_expression "*(int *)(puVar24 + 0xcb26c) + 0x6e8" (pointer_expression "*(int *)(puVar24 + 0xcb26c)" * (cast_expression "(int *)(puVar24 + 0xcb26c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0xcb26c)" ( (binary_expression "puVar24 + 0xcb26c" identifier + number_literal) )))) + number_literal) )))) ;) }))) (expression_statement "FUN_000c4464();" (call_expression "FUN_000c4464()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar6 = pcVar3;" (assignment_expression "pcVar6 = pcVar3" identifier = identifier) ;) }) (else_clause "else {\n      pcVar6 = (code *)(**(code **)(puVar24 + 0xcb28c))(*(int *)pcVar3);\n      pcVar31 = (code *)auStack_b4;\n      pcVar13 = pcVar22;\n      iVar4 = FUN_000b4580();\n      unaff_s1 = pcVar3;\n      unaff_s7 = pcVar5;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(pcVar5 < (code *)0x2);\n        unaff_s1 = pcVar3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s6 = *(code **)(local_c8 + -0x7fa4);\n          unaff_s5 = (code *)&local_b8;\n          unaff_s4 = (code *)auStack_b4;\n          unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);\n          do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);\n        }\n        pcVar6 = local_bc;\n        if ((*(byte *)(local_ac + 1) & 8) == 0) {\n          pcVar13 = pcVar22;\n          FUN_000b63c4();\n        }\n        else {\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }\nLAB_000c484c:\n        pcVar31 = (code *)auStack_b4;\n        (*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))();\n      }\n    }" else (compound_statement "{\n      pcVar6 = (code *)(**(code **)(puVar24 + 0xcb28c))(*(int *)pcVar3);\n      pcVar31 = (code *)auStack_b4;\n      pcVar13 = pcVar22;\n      iVar4 = FUN_000b4580();\n      unaff_s1 = pcVar3;\n      unaff_s7 = pcVar5;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(pcVar5 < (code *)0x2);\n        unaff_s1 = pcVar3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s6 = *(code **)(local_c8 + -0x7fa4);\n          unaff_s5 = (code *)&local_b8;\n          unaff_s4 = (code *)auStack_b4;\n          unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);\n          do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);\n        }\n        pcVar6 = local_bc;\n        if ((*(byte *)(local_ac + 1) & 8) == 0) {\n          pcVar13 = pcVar22;\n          FUN_000b63c4();\n        }\n        else {\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }\nLAB_000c484c:\n        pcVar31 = (code *)auStack_b4;\n        (*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))();\n      }\n    }" { (expression_statement "pcVar6 = (code *)(**(code **)(puVar24 + 0xcb28c))(*(int *)pcVar3);" (assignment_expression "pcVar6 = (code *)(**(code **)(puVar24 + 0xcb28c))(*(int *)pcVar3)" identifier = (cast_expression "(code *)(**(code **)(puVar24 + 0xcb28c))(*(int *)pcVar3)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar24 + 0xcb28c))(*(int *)pcVar3)" (parenthesized_expression "(**(code **)(puVar24 + 0xcb28c))" ( (pointer_expression "**(code **)(puVar24 + 0xcb28c)" * (pointer_expression "*(code **)(puVar24 + 0xcb28c)" * (cast_expression "(code **)(puVar24 + 0xcb28c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0xcb28c)" ( (binary_expression "puVar24 + 0xcb28c" identifier + number_literal) ))))) )) (argument_list "(*(int *)pcVar3)" ( (pointer_expression "*(int *)pcVar3" * (cast_expression "(int *)pcVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ))))) ;) (expression_statement "pcVar31 = (code *)auStack_b4;" (assignment_expression "pcVar31 = (code *)auStack_b4" identifier = (cast_expression "(code *)auStack_b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcVar13 = pcVar22;" (assignment_expression "pcVar13 = pcVar22" identifier = identifier) ;) (expression_statement "iVar4 = FUN_000b4580();" (assignment_expression "iVar4 = FUN_000b4580()" identifier = (call_expression "FUN_000b4580()" identifier (argument_list "()" ( )))) ;) (expression_statement "unaff_s1 = pcVar3;" (assignment_expression "unaff_s1 = pcVar3" identifier = identifier) ;) (expression_statement "unaff_s7 = pcVar5;" (assignment_expression "unaff_s7 = pcVar5" identifier = identifier) ;) (if_statement "if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(pcVar5 < (code *)0x2);\n        unaff_s1 = pcVar3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s6 = *(code **)(local_c8 + -0x7fa4);\n          unaff_s5 = (code *)&local_b8;\n          unaff_s4 = (code *)auStack_b4;\n          unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);\n          do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);\n        }\n        pcVar6 = local_bc;\n        if ((*(byte *)(local_ac + 1) & 8) == 0) {\n          pcVar13 = pcVar22;\n          FUN_000b63c4();\n        }\n        else {\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }\nLAB_000c484c:\n        pcVar31 = (code *)auStack_b4;\n        (*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))();\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        unaff_s0 = (code *)(uint)(pcVar5 < (code *)0x2);\n        unaff_s1 = pcVar3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s6 = *(code **)(local_c8 + -0x7fa4);\n          unaff_s5 = (code *)&local_b8;\n          unaff_s4 = (code *)auStack_b4;\n          unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);\n          do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);\n        }\n        pcVar6 = local_bc;\n        if ((*(byte *)(local_ac + 1) & 8) == 0) {\n          pcVar13 = pcVar22;\n          FUN_000b63c4();\n        }\n        else {\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }\nLAB_000c484c:\n        pcVar31 = (code *)auStack_b4;\n        (*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))();\n      }" { (expression_statement "unaff_s0 = (code *)(uint)(pcVar5 < (code *)0x2);" (assignment_expression "unaff_s0 = (code *)(uint)(pcVar5 < (code *)0x2)" identifier = (cast_expression "(code *)(uint)(pcVar5 < (code *)0x2)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(pcVar5 < (code *)0x2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar5 < (code *)0x2)" ( (binary_expression "pcVar5 < (code *)0x2" identifier < (cast_expression "(code *)0x2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))))) ;) (expression_statement "unaff_s1 = pcVar3 + 4;" (assignment_expression "unaff_s1 = pcVar3 + 4" identifier = (binary_expression "pcVar3 + 4" identifier + number_literal)) ;) (if_statement "if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s6 = *(code **)(local_c8 + -0x7fa4);\n          unaff_s5 = (code *)&local_b8;\n          unaff_s4 = (code *)auStack_b4;\n          unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);\n          do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);\n        }" if (parenthesized_expression "(unaff_s0 == (code *)0x0)" ( (binary_expression "unaff_s0 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          unaff_s0 = (code *)0x1;\n          unaff_s6 = *(code **)(local_c8 + -0x7fa4);\n          unaff_s5 = (code *)&local_b8;\n          unaff_s4 = (code *)auStack_b4;\n          unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);\n          do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);\n        }" { (expression_statement "unaff_s0 = (code *)0x1;" (assignment_expression "unaff_s0 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s6 = *(code **)(local_c8 + -0x7fa4);" (assignment_expression "unaff_s6 = *(code **)(local_c8 + -0x7fa4)" identifier = (pointer_expression "*(code **)(local_c8 + -0x7fa4)" * (cast_expression "(code **)(local_c8 + -0x7fa4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_c8 + -0x7fa4)" ( (binary_expression "local_c8 + -0x7fa4" identifier + number_literal) ))))) ;) (expression_statement "unaff_s5 = (code *)&local_b8;" (assignment_expression "unaff_s5 = (code *)&local_b8" identifier = (cast_expression "(code *)&local_b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_b8" & identifier))) ;) (expression_statement "unaff_s4 = (code *)auStack_b4;" (assignment_expression "unaff_s4 = (code *)auStack_b4" identifier = (cast_expression "(code *)auStack_b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);" (assignment_expression "unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48)" identifier = (cast_expression "(code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_c8 + -0x7d58) + 0x3c48)" ( (binary_expression "*(int *)(local_c8 + -0x7d58) + 0x3c48" (pointer_expression "*(int *)(local_c8 + -0x7d58)" * (cast_expression "(int *)(local_c8 + -0x7d58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_c8 + -0x7d58)" ( (binary_expression "local_c8 + -0x7d58" identifier + number_literal) )))) + number_literal) )))) ;) (do_statement "do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);" do (compound_statement "{\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          }" { (expression_statement "pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);" (assignment_expression "pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1)" identifier = (cast_expression "(code *)(*unaff_s6)(*(int *)unaff_s1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*unaff_s6)(*(int *)unaff_s1)" (parenthesized_expression "(*unaff_s6)" ( (pointer_expression "*unaff_s6" * identifier) )) (argument_list "(*(int *)unaff_s1)" ( (pointer_expression "*(int *)unaff_s1" * (cast_expression "(int *)unaff_s1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ))))) ;) (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (expression_statement "pcVar6 = unaff_s5;" (assignment_expression "pcVar6 = unaff_s5" identifier = identifier) ;) (expression_statement "param_4 = pcVar22;" (assignment_expression "param_4 = pcVar22" identifier = identifier) ;) (expression_statement "iVar4 = FUN_000c3c48(unaff_s4);" (assignment_expression "iVar4 = FUN_000c3c48(unaff_s4)" identifier = (call_expression "FUN_000c3c48(unaff_s4)" identifier (argument_list "(unaff_s4)" ( identifier )))) ;) (if_statement "if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }" if (parenthesized_expression "(local_a0 != '\0')" ( (binary_expression "local_a0 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }" { (expression_statement "(**(code **)(local_c8 + -0x7f44))(pcVar22);" (call_expression "(**(code **)(local_c8 + -0x7f44))(pcVar22)" (parenthesized_expression "(**(code **)(local_c8 + -0x7f44))" ( (pointer_expression "**(code **)(local_c8 + -0x7f44)" * (pointer_expression "*(code **)(local_c8 + -0x7f44)" * (cast_expression "(code **)(local_c8 + -0x7f44)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_c8 + -0x7f44)" ( (binary_expression "local_c8 + -0x7f44" identifier + number_literal) ))))) )) (argument_list "(pcVar22)" ( identifier ))) ;) (goto_statement "goto LAB_000c484c;" goto statement_identifier ;) })) (if_statement "if (local_9f != '\0') goto LAB_000c484c;" if (parenthesized_expression "(local_9f != '\0')" ( (binary_expression "local_9f != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000c484c;" goto statement_identifier ;)) (if_statement "if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }" if (parenthesized_expression "((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0))" ( (binary_expression "(iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)" (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) && (parenthesized_expression "(unaff_s3 != (code *)0x0 || local_b8 != 0)" ( (binary_expression "unaff_s3 != (code *)0x0 || local_b8 != 0" (binary_expression "unaff_s3 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (binary_expression "local_b8 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }" { (expression_statement "*(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;" (assignment_expression "*(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8" (pointer_expression "*(byte *)(iVar4 + 1)" * (cast_expression "(byte *)(iVar4 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 1)" ( (binary_expression "iVar4 + 1" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar4 + 1) | 8" (pointer_expression "*(byte *)(iVar4 + 1)" * (cast_expression "(byte *)(iVar4 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 1)" ( (binary_expression "iVar4 + 1" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "*(code **)(iVar4 + 8) = unaff_s0 + 1;" (assignment_expression "*(code **)(iVar4 + 8) = unaff_s0 + 1" (pointer_expression "*(code **)(iVar4 + 8)" * (cast_expression "(code **)(iVar4 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) )))) = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) })) (expression_statement "unaff_s0 = unaff_s0 + 2;" (assignment_expression "unaff_s0 = unaff_s0 + 2" identifier = (binary_expression "unaff_s0 + 2" identifier + number_literal)) ;) (expression_statement "unaff_s1 = unaff_s1 + 8;" (assignment_expression "unaff_s1 = unaff_s1 + 8" identifier = (binary_expression "unaff_s1 + 8" identifier + number_literal)) ;) }) while (parenthesized_expression "(unaff_s0 < pcVar5)" ( (binary_expression "unaff_s0 < pcVar5" identifier < identifier) )) ;) })) (expression_statement "pcVar6 = local_bc;" (assignment_expression "pcVar6 = local_bc" identifier = identifier) ;) (if_statement "if ((*(byte *)(local_ac + 1) & 8) == 0) {\n          pcVar13 = pcVar22;\n          FUN_000b63c4();\n        }\n        else {\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }" if (parenthesized_expression "((*(byte *)(local_ac + 1) & 8) == 0)" ( (binary_expression "(*(byte *)(local_ac + 1) & 8) == 0" (parenthesized_expression "(*(byte *)(local_ac + 1) & 8)" ( (binary_expression "*(byte *)(local_ac + 1) & 8" (pointer_expression "*(byte *)(local_ac + 1)" * (cast_expression "(byte *)(local_ac + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_ac + 1)" ( (binary_expression "local_ac + 1" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          pcVar13 = pcVar22;\n          FUN_000b63c4();\n        }" { (expression_statement "pcVar13 = pcVar22;" (assignment_expression "pcVar13 = pcVar22" identifier = identifier) ;) (expression_statement "FUN_000b63c4();" (call_expression "FUN_000b63c4()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }" else (compound_statement "{\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }" { (expression_statement "unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;" (assignment_expression "unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4" identifier = (binary_expression "local_bc + *(int *)(local_ac + 8) * 4" identifier + (binary_expression "*(int *)(local_ac + 8) * 4" (pointer_expression "*(int *)(local_ac + 8)" * (cast_expression "(int *)(local_ac + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_ac + 8)" ( (binary_expression "local_ac + 8" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "pcVar13 = *(code **)unaff_s8;" (assignment_expression "pcVar13 = *(code **)unaff_s8" identifier = (pointer_expression "*(code **)unaff_s8" * (cast_expression "(code **)unaff_s8" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "(**(code **)(local_c8 + -0x7ee8))(pcVar22);" (call_expression "(**(code **)(local_c8 + -0x7ee8))(pcVar22)" (parenthesized_expression "(**(code **)(local_c8 + -0x7ee8))" ( (pointer_expression "**(code **)(local_c8 + -0x7ee8)" * (pointer_expression "*(code **)(local_c8 + -0x7ee8)" * (cast_expression "(code **)(local_c8 + -0x7ee8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_c8 + -0x7ee8)" ( (binary_expression "local_c8 + -0x7ee8" identifier + number_literal) ))))) )) (argument_list "(pcVar22)" ( identifier ))) ;) }))) (labeled_statement "LAB_000c484c:\n        pcVar31 = (code *)auStack_b4;" statement_identifier : (expression_statement "pcVar31 = (code *)auStack_b4;" (assignment_expression "pcVar31 = (code *)auStack_b4" identifier = (cast_expression "(code *)auStack_b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "(*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))();" (call_expression "(*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))()" (parenthesized_expression "(*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))" ( (pointer_expression "*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38)" * (cast_expression "(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_c8 + -0x7d1c) + 0x3c38)" ( (binary_expression "*(int *)(local_c8 + -0x7d1c) + 0x3c38" (pointer_expression "*(int *)(local_c8 + -0x7d1c)" * (cast_expression "(int *)(local_c8 + -0x7d1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_c8 + -0x7d1c)" ( (binary_expression "local_c8 + -0x7d1c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) })) }))) })) (if_statement "if (local_94 == (code *)**(int **)(local_c8 + -0x7a54)) {\n    return (code *)**(int **)(local_c8 + -0x7a54);\n  }" if (parenthesized_expression "(local_94 == (code *)**(int **)(local_c8 + -0x7a54))" ( (binary_expression "local_94 == (code *)**(int **)(local_c8 + -0x7a54)" identifier == (cast_expression "(code *)**(int **)(local_c8 + -0x7a54)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(local_c8 + -0x7a54)" * (pointer_expression "*(int **)(local_c8 + -0x7a54)" * (cast_expression "(int **)(local_c8 + -0x7a54)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_c8 + -0x7a54)" ( (binary_expression "local_c8 + -0x7a54" identifier + number_literal) ))))))) )) (compound_statement "{\n    return (code *)**(int **)(local_c8 + -0x7a54);\n  }" { (return_statement "return (code *)**(int **)(local_c8 + -0x7a54);" return (cast_expression "(code *)**(int **)(local_c8 + -0x7a54)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(local_c8 + -0x7a54)" * (pointer_expression "*(int **)(local_c8 + -0x7a54)" * (cast_expression "(int **)(local_c8 + -0x7a54)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_c8 + -0x7a54)" ( (binary_expression "local_c8 + -0x7a54" identifier + number_literal) )))))) ;) })) (expression_statement "pcVar25 = *(code **)(local_c8 + -0x7a80);" (assignment_expression "pcVar25 = *(code **)(local_c8 + -0x7a80)" identifier = (pointer_expression "*(code **)(local_c8 + -0x7a80)" * (cast_expression "(code **)(local_c8 + -0x7a80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_c8 + -0x7a80)" ( (binary_expression "local_c8 + -0x7a80" identifier + number_literal) ))))) ;) (expression_statement "uVar29 = 0xc4960;" (assignment_expression "uVar29 = 0xc4960" identifier = number_literal) ;) (expression_statement "(*pcVar25)();" (call_expression "(*pcVar25)()" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar5 = local_c8;" (assignment_expression "pcVar5 = local_c8" identifier = identifier) ;) (expression_statement "local_100 = pcVar25 + 0xd2fc0;" (assignment_expression "local_100 = pcVar25 + 0xd2fc0" identifier = (binary_expression "pcVar25 + 0xd2fc0" identifier + number_literal)) ;) (expression_statement "local_f4 = (code *)**(undefined4 **)(pcVar25 + 0xcb56c);" (assignment_expression "local_f4 = (code *)**(undefined4 **)(pcVar25 + 0xcb56c)" identifier = (cast_expression "(code *)**(undefined4 **)(pcVar25 + 0xcb56c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar25 + 0xcb56c)" * (pointer_expression "*(undefined4 **)(pcVar25 + 0xcb56c)" * (cast_expression "(undefined4 **)(pcVar25 + 0xcb56c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xcb56c)" ( (binary_expression "pcVar25 + 0xcb56c" identifier + number_literal) ))))))) ;) (expression_statement "pcVar3 = pcVar13;" (assignment_expression "pcVar3 = pcVar13" identifier = identifier) ;) (expression_statement "local_f0 = unaff_s0;" (assignment_expression "local_f0 = unaff_s0" identifier = identifier) ;) (expression_statement "local_ec = unaff_s1;" (assignment_expression "local_ec = unaff_s1" identifier = identifier) ;) (expression_statement "local_e8 = pcVar22;" (assignment_expression "local_e8 = pcVar22" identifier = identifier) ;) (expression_statement "local_e4 = unaff_s3;" (assignment_expression "local_e4 = unaff_s3" identifier = identifier) ;) (expression_statement "local_e0 = unaff_s4;" (assignment_expression "local_e0 = unaff_s4" identifier = identifier) ;) (expression_statement "local_dc = uVar29;" (assignment_expression "local_dc = uVar29" identifier = identifier) ;) (expression_statement "(*(code *)(*(int *)(pcVar25 + 0xcb2a4) + 0x3d3c))();" (call_expression "(*(code *)(*(int *)(pcVar25 + 0xcb2a4) + 0x3d3c))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar25 + 0xcb2a4) + 0x3d3c))" ( (pointer_expression "*(code *)(*(int *)(pcVar25 + 0xcb2a4) + 0x3d3c)" * (cast_expression "(code *)(*(int *)(pcVar25 + 0xcb2a4) + 0x3d3c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0xcb2a4) + 0x3d3c)" ( (binary_expression "*(int *)(pcVar25 + 0xcb2a4) + 0x3d3c" (pointer_expression "*(int *)(pcVar25 + 0xcb2a4)" * (cast_expression "(int *)(pcVar25 + 0xcb2a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xcb2a4)" ( (binary_expression "pcVar25 + 0xcb2a4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (if_statement "if (pcVar13 != (code *)0x0) {\n    unaff_s4 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)pcVar5);\n    if (unaff_s4 == (code *)0x0) {\n      pcVar13 = (code *)0x0;\n    }\n    else {\n      unaff_s3 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)pcVar5);\n      pcVar3 = unaff_s3 + 1;\n      iVar4 = (**(code **)(local_100 + -0x7f50))\n                        ((uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f));\n      *(int *)(pcVar31 + 0x18) = iVar4;\n      if (iVar4 == 0) {\n        pcVar13 = (code *)&DAT_00000007;\n      }\n      else {\n        (**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1);\n        unaff_s4 = pcVar31 + 0x20;\n        pcVar6 = *(code **)(pcVar31 + 0x18);\n        pcVar3 = (code *)0x0;\n        unaff_s3 = (code *)FUN_000b4580(unaff_s4);\n        if (unaff_s3 == (code *)0x0) {\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }\n      }\n    }\n  }" if (parenthesized_expression "(pcVar13 != (code *)0x0)" ( (binary_expression "pcVar13 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    unaff_s4 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)pcVar5);\n    if (unaff_s4 == (code *)0x0) {\n      pcVar13 = (code *)0x0;\n    }\n    else {\n      unaff_s3 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)pcVar5);\n      pcVar3 = unaff_s3 + 1;\n      iVar4 = (**(code **)(local_100 + -0x7f50))\n                        ((uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f));\n      *(int *)(pcVar31 + 0x18) = iVar4;\n      if (iVar4 == 0) {\n        pcVar13 = (code *)&DAT_00000007;\n      }\n      else {\n        (**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1);\n        unaff_s4 = pcVar31 + 0x20;\n        pcVar6 = *(code **)(pcVar31 + 0x18);\n        pcVar3 = (code *)0x0;\n        unaff_s3 = (code *)FUN_000b4580(unaff_s4);\n        if (unaff_s3 == (code *)0x0) {\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }\n      }\n    }\n  }" { (expression_statement "unaff_s4 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)pcVar5);" (assignment_expression "unaff_s4 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)pcVar5)" identifier = (cast_expression "(code *)(**(code **)(local_100 + -0x7fa4))(*(int *)pcVar5)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(local_100 + -0x7fa4))(*(int *)pcVar5)" (parenthesized_expression "(**(code **)(local_100 + -0x7fa4))" ( (pointer_expression "**(code **)(local_100 + -0x7fa4)" * (pointer_expression "*(code **)(local_100 + -0x7fa4)" * (cast_expression "(code **)(local_100 + -0x7fa4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_100 + -0x7fa4)" ( (binary_expression "local_100 + -0x7fa4" identifier + number_literal) ))))) )) (argument_list "(*(int *)pcVar5)" ( (pointer_expression "*(int *)pcVar5" * (cast_expression "(int *)pcVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ))))) ;) (if_statement "if (unaff_s4 == (code *)0x0) {\n      pcVar13 = (code *)0x0;\n    }\n    else {\n      unaff_s3 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)pcVar5);\n      pcVar3 = unaff_s3 + 1;\n      iVar4 = (**(code **)(local_100 + -0x7f50))\n                        ((uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f));\n      *(int *)(pcVar31 + 0x18) = iVar4;\n      if (iVar4 == 0) {\n        pcVar13 = (code *)&DAT_00000007;\n      }\n      else {\n        (**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1);\n        unaff_s4 = pcVar31 + 0x20;\n        pcVar6 = *(code **)(pcVar31 + 0x18);\n        pcVar3 = (code *)0x0;\n        unaff_s3 = (code *)FUN_000b4580(unaff_s4);\n        if (unaff_s3 == (code *)0x0) {\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }\n      }\n    }" if (parenthesized_expression "(unaff_s4 == (code *)0x0)" ( (binary_expression "unaff_s4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar13 = (code *)0x0;\n    }" { (expression_statement "pcVar13 = (code *)0x0;" (assignment_expression "pcVar13 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      unaff_s3 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)pcVar5);\n      pcVar3 = unaff_s3 + 1;\n      iVar4 = (**(code **)(local_100 + -0x7f50))\n                        ((uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f));\n      *(int *)(pcVar31 + 0x18) = iVar4;\n      if (iVar4 == 0) {\n        pcVar13 = (code *)&DAT_00000007;\n      }\n      else {\n        (**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1);\n        unaff_s4 = pcVar31 + 0x20;\n        pcVar6 = *(code **)(pcVar31 + 0x18);\n        pcVar3 = (code *)0x0;\n        unaff_s3 = (code *)FUN_000b4580(unaff_s4);\n        if (unaff_s3 == (code *)0x0) {\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }\n      }\n    }" else (compound_statement "{\n      unaff_s3 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)pcVar5);\n      pcVar3 = unaff_s3 + 1;\n      iVar4 = (**(code **)(local_100 + -0x7f50))\n                        ((uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f));\n      *(int *)(pcVar31 + 0x18) = iVar4;\n      if (iVar4 == 0) {\n        pcVar13 = (code *)&DAT_00000007;\n      }\n      else {\n        (**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1);\n        unaff_s4 = pcVar31 + 0x20;\n        pcVar6 = *(code **)(pcVar31 + 0x18);\n        pcVar3 = (code *)0x0;\n        unaff_s3 = (code *)FUN_000b4580(unaff_s4);\n        if (unaff_s3 == (code *)0x0) {\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }\n      }\n    }" { (expression_statement "unaff_s3 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)pcVar5);" (assignment_expression "unaff_s3 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)pcVar5)" identifier = (cast_expression "(code *)(**(code **)(local_100 + -0x7f60))(*(int *)pcVar5)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(local_100 + -0x7f60))(*(int *)pcVar5)" (parenthesized_expression "(**(code **)(local_100 + -0x7f60))" ( (pointer_expression "**(code **)(local_100 + -0x7f60)" * (pointer_expression "*(code **)(local_100 + -0x7f60)" * (cast_expression "(code **)(local_100 + -0x7f60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_100 + -0x7f60)" ( (binary_expression "local_100 + -0x7f60" identifier + number_literal) ))))) )) (argument_list "(*(int *)pcVar5)" ( (pointer_expression "*(int *)pcVar5" * (cast_expression "(int *)pcVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ))))) ;) (expression_statement "pcVar3 = unaff_s3 + 1;" (assignment_expression "pcVar3 = unaff_s3 + 1" identifier = (binary_expression "unaff_s3 + 1" identifier + number_literal)) ;) (expression_statement "iVar4 = (**(code **)(local_100 + -0x7f50))\n                        ((uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f));" (assignment_expression "iVar4 = (**(code **)(local_100 + -0x7f50))\n                        ((uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f))" identifier = (call_expression "(**(code **)(local_100 + -0x7f50))\n                        ((uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f))" (parenthesized_expression "(**(code **)(local_100 + -0x7f50))" ( (pointer_expression "**(code **)(local_100 + -0x7f50)" * (pointer_expression "*(code **)(local_100 + -0x7f50)" * (cast_expression "(code **)(local_100 + -0x7f50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_100 + -0x7f50)" ( (binary_expression "local_100 + -0x7f50" identifier + number_literal) ))))) )) (argument_list "((uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f))" ( (binary_expression "(uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f)" (call_expression "(uint)(pcVar3 < unaff_s3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar3 < unaff_s3)" ( (binary_expression "pcVar3 < unaff_s3" identifier < identifier) ))) + (parenthesized_expression "((int)unaff_s3 >> 0x1f)" ( (binary_expression "(int)unaff_s3 >> 0x1f" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )))) ;) (expression_statement "*(int *)(pcVar31 + 0x18) = iVar4;" (assignment_expression "*(int *)(pcVar31 + 0x18) = iVar4" (pointer_expression "*(int *)(pcVar31 + 0x18)" * (cast_expression "(int *)(pcVar31 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x18)" ( (binary_expression "pcVar31 + 0x18" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar4 == 0) {\n        pcVar13 = (code *)&DAT_00000007;\n      }\n      else {\n        (**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1);\n        unaff_s4 = pcVar31 + 0x20;\n        pcVar6 = *(code **)(pcVar31 + 0x18);\n        pcVar3 = (code *)0x0;\n        unaff_s3 = (code *)FUN_000b4580(unaff_s4);\n        if (unaff_s3 == (code *)0x0) {\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar13 = (code *)&DAT_00000007;\n      }" { (expression_statement "pcVar13 = (code *)&DAT_00000007;" (assignment_expression "pcVar13 = (code *)&DAT_00000007" identifier = (cast_expression "(code *)&DAT_00000007" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) }) (else_clause "else {\n        (**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1);\n        unaff_s4 = pcVar31 + 0x20;\n        pcVar6 = *(code **)(pcVar31 + 0x18);\n        pcVar3 = (code *)0x0;\n        unaff_s3 = (code *)FUN_000b4580(unaff_s4);\n        if (unaff_s3 == (code *)0x0) {\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }\n      }" else (compound_statement "{\n        (**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1);\n        unaff_s4 = pcVar31 + 0x20;\n        pcVar6 = *(code **)(pcVar31 + 0x18);\n        pcVar3 = (code *)0x0;\n        unaff_s3 = (code *)FUN_000b4580(unaff_s4);\n        if (unaff_s3 == (code *)0x0) {\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }\n      }" { (expression_statement "(**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1);" (call_expression "(**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1)" (parenthesized_expression "(**(code **)(local_100 + -0x7a4c))" ( (pointer_expression "**(code **)(local_100 + -0x7a4c)" * (pointer_expression "*(code **)(local_100 + -0x7a4c)" * (cast_expression "(code **)(local_100 + -0x7a4c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_100 + -0x7a4c)" ( (binary_expression "local_100 + -0x7a4c" identifier + number_literal) ))))) )) (argument_list "(iVar4,unaff_s4,unaff_s3 + 1)" ( identifier , identifier , (binary_expression "unaff_s3 + 1" identifier + number_literal) ))) ;) (expression_statement "unaff_s4 = pcVar31 + 0x20;" (assignment_expression "unaff_s4 = pcVar31 + 0x20" identifier = (binary_expression "pcVar31 + 0x20" identifier + number_literal)) ;) (expression_statement "pcVar6 = *(code **)(pcVar31 + 0x18);" (assignment_expression "pcVar6 = *(code **)(pcVar31 + 0x18)" identifier = (pointer_expression "*(code **)(pcVar31 + 0x18)" * (cast_expression "(code **)(pcVar31 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x18)" ( (binary_expression "pcVar31 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "pcVar3 = (code *)0x0;" (assignment_expression "pcVar3 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s3 = (code *)FUN_000b4580(unaff_s4);" (assignment_expression "unaff_s3 = (code *)FUN_000b4580(unaff_s4)" identifier = (cast_expression "(code *)FUN_000b4580(unaff_s4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000b4580(unaff_s4)" identifier (argument_list "(unaff_s4)" ( identifier ))))) ;) (if_statement "if (unaff_s3 == (code *)0x0) {\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }" if (parenthesized_expression "(unaff_s3 == (code *)0x0)" ( (binary_expression "unaff_s3 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }" { (if_statement "if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }" if (parenthesized_expression "(pcVar31[0x15] != (code)0x0)" ( (binary_expression "pcVar31[0x15] != (code)0x0" (subscript_expression "pcVar31[0x15]" identifier [ number_literal ]) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }" { (expression_statement "pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);" (assignment_expression "pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2)" identifier = (cast_expression "(code *)(*(int *)(pcVar31 + 0x20) << 2)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar31 + 0x20) << 2)" ( (binary_expression "*(int *)(pcVar31 + 0x20) << 2" (pointer_expression "*(int *)(pcVar31 + 0x20)" * (cast_expression "(int *)(pcVar31 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x20)" ( (binary_expression "pcVar31 + 0x20" identifier + number_literal) )))) << number_literal) )))) ;) (expression_statement "iVar4 = (**(code **)(local_100 + -0x7f50))(0);" (assignment_expression "iVar4 = (**(code **)(local_100 + -0x7f50))(0)" identifier = (call_expression "(**(code **)(local_100 + -0x7f50))(0)" (parenthesized_expression "(**(code **)(local_100 + -0x7f50))" ( (pointer_expression "**(code **)(local_100 + -0x7f50)" * (pointer_expression "*(code **)(local_100 + -0x7f50)" * (cast_expression "(code **)(local_100 + -0x7f50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_100 + -0x7f50)" ( (binary_expression "local_100 + -0x7f50" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal )))) ;) (expression_statement "*(int *)(pcVar31 + 0x30) = iVar4;" (assignment_expression "*(int *)(pcVar31 + 0x30) = iVar4" (pointer_expression "*(int *)(pcVar31 + 0x30)" * (cast_expression "(int *)(pcVar31 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x30)" ( (binary_expression "pcVar31 + 0x30" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }" { (expression_statement "pcVar31[0x34] = (code)0x1;" (assignment_expression "pcVar31[0x34] = (code)0x1" (subscript_expression "pcVar31[0x34]" identifier [ number_literal ]) = (cast_expression "(code)0x1" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (expression_statement "(*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);" (call_expression "(*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31)" (parenthesized_expression "(*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))" ( (pointer_expression "*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c)" * (cast_expression "(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_100 + -0x7d1c) + 0x3d3c)" ( (binary_expression "*(int *)(local_100 + -0x7d1c) + 0x3d3c" (pointer_expression "*(int *)(local_100 + -0x7d1c)" * (cast_expression "(int *)(local_100 + -0x7d1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_100 + -0x7d1c)" ( (binary_expression "local_100 + -0x7d1c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcVar31)" ( identifier ))) ;) (expression_statement "pcVar13 = (code *)&DAT_00000007;" (assignment_expression "pcVar13 = (code *)&DAT_00000007" identifier = (cast_expression "(code *)&DAT_00000007" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (goto_statement "goto LAB_000c49c4;" goto statement_identifier ;) })) (expression_statement "pcVar6 = (code *)0x0;" (assignment_expression "pcVar6 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar3 = (code *)0x0;" (assignment_expression "pcVar3 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);" (call_expression "(*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4)" (parenthesized_expression "(*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))" ( (pointer_expression "*(code *)(*(int *)(local_100 + -0x7d64) + 0x604)" * (cast_expression "(code *)(*(int *)(local_100 + -0x7d64) + 0x604)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_100 + -0x7d64) + 0x604)" ( (binary_expression "*(int *)(local_100 + -0x7d64) + 0x604" (pointer_expression "*(int *)(local_100 + -0x7d64)" * (cast_expression "(int *)(local_100 + -0x7d64)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_100 + -0x7d64)" ( (binary_expression "local_100 + -0x7d64" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(unaff_s4)" ( identifier ))) ;) })) (expression_statement "bVar1 = pcVar13 == (code *)0x3;" (assignment_expression "bVar1 = pcVar13 == (code *)0x3" identifier = (binary_expression "pcVar13 == (code *)0x3" identifier == (cast_expression "(code *)0x3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "pcVar13 = (code *)0x0;" (assignment_expression "pcVar13 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }" { (expression_statement "local_f8 = (code *)0x0;" (assignment_expression "local_f8 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));" (assignment_expression "pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4))" identifier = (cast_expression "(code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4))" (parenthesized_expression "(**(code **)(local_100 + -0x7fa4))" ( (pointer_expression "**(code **)(local_100 + -0x7fa4)" * (pointer_expression "*(code **)(local_100 + -0x7fa4)" * (cast_expression "(code **)(local_100 + -0x7fa4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_100 + -0x7fa4)" ( (binary_expression "local_100 + -0x7fa4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar5 + 4))" ( (pointer_expression "*(int *)(pcVar5 + 4)" * (cast_expression "(int *)(pcVar5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar5 + 4)" ( (binary_expression "pcVar5 + 4" identifier + number_literal) )))) ))))) ;) (if_statement "if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }" if (parenthesized_expression "(pcVar22 != (code *)0x0)" ( (binary_expression "pcVar22 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }" { (expression_statement "pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));" (assignment_expression "pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4))" identifier = (cast_expression "(code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4))" (parenthesized_expression "(**(code **)(local_100 + -0x7f60))" ( (pointer_expression "**(code **)(local_100 + -0x7f60)" * (pointer_expression "*(code **)(local_100 + -0x7f60)" * (cast_expression "(code **)(local_100 + -0x7f60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_100 + -0x7f60)" ( (binary_expression "local_100 + -0x7f60" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar5 + 4))" ( (pointer_expression "*(int *)(pcVar5 + 4)" * (cast_expression "(int *)(pcVar5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar5 + 4)" ( (binary_expression "pcVar5 + 4" identifier + number_literal) )))) ))))) ;) (expression_statement "pcVar3 = pcVar5 + 1;" (assignment_expression "pcVar3 = pcVar5 + 1" identifier = (binary_expression "pcVar5 + 1" identifier + number_literal)) ;) (expression_statement "iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));" (assignment_expression "iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f))" identifier = (call_expression "(**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f))" (parenthesized_expression "(**(code **)(local_100 + -0x7f50))" ( (pointer_expression "**(code **)(local_100 + -0x7f50)" * (pointer_expression "*(code **)(local_100 + -0x7f50)" * (cast_expression "(code **)(local_100 + -0x7f50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_100 + -0x7f50)" ( (binary_expression "local_100 + -0x7f50" identifier + number_literal) ))))) )) (argument_list "((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f))" ( (binary_expression "(uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f)" (call_expression "(uint)(pcVar3 < pcVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar3 < pcVar5)" ( (binary_expression "pcVar3 < pcVar5" identifier < identifier) ))) + (parenthesized_expression "((int)pcVar5 >> 0x1f)" ( (binary_expression "(int)pcVar5 >> 0x1f" (cast_expression "(int)pcVar5" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )))) ;) (expression_statement "*(int *)(pcVar31 + 0x1c) = iVar4;" (assignment_expression "*(int *)(pcVar31 + 0x1c) = iVar4" (pointer_expression "*(int *)(pcVar31 + 0x1c)" * (cast_expression "(int *)(pcVar31 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x1c)" ( (binary_expression "pcVar31 + 0x1c" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                pcVar13 = (code *)&DAT_00000007;\n              }" { (expression_statement "pcVar13 = (code *)&DAT_00000007;" (assignment_expression "pcVar13 = (code *)&DAT_00000007" identifier = (cast_expression "(code *)&DAT_00000007" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) }) (else_clause "else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }" else (compound_statement "{\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }" { (expression_statement "pcVar6 = pcVar5 + 1;" (assignment_expression "pcVar6 = pcVar5 + 1" identifier = (binary_expression "pcVar5 + 1" identifier + number_literal)) ;) (expression_statement "(**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);" (call_expression "(**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22)" (parenthesized_expression "(**(code **)(local_100 + -0x7a4c))" ( (pointer_expression "**(code **)(local_100 + -0x7a4c)" * (pointer_expression "*(code **)(local_100 + -0x7a4c)" * (cast_expression "(code **)(local_100 + -0x7a4c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_100 + -0x7a4c)" ( (binary_expression "local_100 + -0x7a4c" identifier + number_literal) ))))) )) (argument_list "(iVar4,pcVar22)" ( identifier , identifier ))) ;) (if_statement "if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }" if (parenthesized_expression "(*pcVar22 == (code)0x24)" ( (binary_expression "*pcVar22 == (code)0x24" (pointer_expression "*pcVar22" * identifier) == (cast_expression "(code)0x24" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }" { (expression_statement "param_4 = (code *)0x0;" (assignment_expression "param_4 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);" (assignment_expression "pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1)" identifier = (cast_expression "(code *)(*(int *)(pcVar31 + 0x1c) + 1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar31 + 0x1c) + 1)" ( (binary_expression "*(int *)(pcVar31 + 0x1c) + 1" (pointer_expression "*(int *)(pcVar31 + 0x1c)" * (cast_expression "(int *)(pcVar31 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x1c)" ( (binary_expression "pcVar31 + 0x1c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar3 = (code *)0x0;" (assignment_expression "pcVar3 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_108 = &local_f8;" (assignment_expression "local_108 = &local_f8" identifier = (pointer_expression "&local_f8" & identifier)) ;) (expression_statement "pcVar22 = (code *)FUN_000b4b70(unaff_s4);" (assignment_expression "pcVar22 = (code *)FUN_000b4b70(unaff_s4)" identifier = (cast_expression "(code *)FUN_000b4b70(unaff_s4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000b4b70(unaff_s4)" identifier (argument_list "(unaff_s4)" ( identifier ))))) ;) (if_statement "if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }" if (parenthesized_expression "(local_f8 == (code *)0x0)" ( (binary_expression "local_f8 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }" { (if_statement "if (pcVar22 != (code *)0x0) goto LAB_000c4aac;" if (parenthesized_expression "(pcVar22 != (code *)0x0)" ( (binary_expression "pcVar22 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c4aac;" goto statement_identifier ;)) (goto_statement "goto LAB_000c49c4;" goto statement_identifier ;) })) }) (else_clause "else {\n                  local_f8 = pcVar22;\n                }" else (compound_statement "{\n                  local_f8 = pcVar22;\n                }" { (expression_statement "local_f8 = pcVar22;" (assignment_expression "local_f8 = pcVar22" identifier = identifier) ;) }))) (expression_statement "(**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));" (call_expression "(**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8))" (parenthesized_expression "(**(code **)(local_100 + -0x7fa8))" ( (pointer_expression "**(code **)(local_100 + -0x7fa8)" * (pointer_expression "*(code **)(local_100 + -0x7fa8)" * (cast_expression "(code **)(local_100 + -0x7fa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_100 + -0x7fa8)" ( (binary_expression "local_100 + -0x7fa8" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(*(int *)pcVar31 + 8))" ( (pointer_expression "*(undefined4 *)(*(int *)pcVar31 + 8)" * (cast_expression "(undefined4 *)(*(int *)pcVar31 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)pcVar31 + 8)" ( (binary_expression "*(int *)pcVar31 + 8" (pointer_expression "*(int *)pcVar31" * (cast_expression "(int *)pcVar31" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) ))) ;) (expression_statement "iVar4 = *(int *)pcVar31;" (assignment_expression "iVar4 = *(int *)pcVar31" identifier = (pointer_expression "*(int *)pcVar31" * (cast_expression "(int *)pcVar31" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pcVar3 = local_f8;" (assignment_expression "pcVar3 = local_f8" identifier = identifier) ;) (expression_statement "uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);" (assignment_expression "uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c)" identifier = (call_expression "sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c)" identifier (argument_list "(*(int *)(local_100 + -0x7fc4) + -0x463c)" ( (binary_expression "*(int *)(local_100 + -0x7fc4) + -0x463c" (pointer_expression "*(int *)(local_100 + -0x7fc4)" * (cast_expression "(int *)(local_100 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_100 + -0x7fc4)" ( (binary_expression "local_100 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "*(undefined4 *)(iVar4 + 8) = uVar29;" (assignment_expression "*(undefined4 *)(iVar4 + 8) = uVar29" (pointer_expression "*(undefined4 *)(iVar4 + 8)" * (cast_expression "(undefined4 *)(iVar4 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "(*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);" (call_expression "(*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31)" (parenthesized_expression "(*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))" ( (pointer_expression "*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c)" * (cast_expression "(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_100 + -0x7d1c) + 0x3d3c)" ( (binary_expression "*(int *)(local_100 + -0x7d1c) + 0x3d3c" (pointer_expression "*(int *)(local_100 + -0x7d1c)" * (cast_expression "(int *)(local_100 + -0x7d1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_100 + -0x7d1c)" ( (binary_expression "local_100 + -0x7d1c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcVar31)" ( identifier ))) ;) (expression_statement "pcVar13 = (code *)&DAT_00000007;" (assignment_expression "pcVar13 = (code *)&DAT_00000007" identifier = (cast_expression "(code *)&DAT_00000007" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (if_statement "if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }" if (parenthesized_expression "(*(int *)(*(int *)pcVar31 + 8) != 0)" ( (binary_expression "*(int *)(*(int *)pcVar31 + 8) != 0" (pointer_expression "*(int *)(*(int *)pcVar31 + 8)" * (cast_expression "(int *)(*(int *)pcVar31 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)pcVar31 + 8)" ( (binary_expression "*(int *)pcVar31 + 8" (pointer_expression "*(int *)pcVar31" * (cast_expression "(int *)pcVar31" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) != number_literal) )) (compound_statement "{\n                  pcVar13 = (code *)0x1;\n                }" { (expression_statement "pcVar13 = (code *)0x1;" (assignment_expression "pcVar13 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) }))) })) }) (else_clause "else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }" else (compound_statement "{\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }" { (expression_statement "pcVar22 = *(code **)(pcVar31 + 0x28);" (assignment_expression "pcVar22 = *(code **)(pcVar31 + 0x28)" identifier = (pointer_expression "*(code **)(pcVar31 + 0x28)" * (cast_expression "(code **)(pcVar31 + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x28)" ( (binary_expression "pcVar31 + 0x28" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;" statement_identifier : (expression_statement "iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;" (assignment_expression "iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555" identifier = (binary_expression "((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555" (parenthesized_expression "((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2)" ( (binary_expression "(int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2" (binary_expression "(int)pcVar22 - *(int *)(pcVar31 + 0x28)" (cast_expression "(int)pcVar22" ( (type_descriptor "int" primitive_type) ) identifier) - (pointer_expression "*(int *)(pcVar31 + 0x28)" * (cast_expression "(int *)(pcVar31 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x28)" ( (binary_expression "pcVar31 + 0x28" identifier + number_literal) ))))) >> number_literal) )) * number_literal)) ;)) (expression_statement "*(int *)(pcVar31 + 0xc) = iVar4;" (assignment_expression "*(int *)(pcVar31 + 0xc) = iVar4" (pointer_expression "*(int *)(pcVar31 + 0xc)" * (cast_expression "(int *)(pcVar31 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xc)" ( (binary_expression "pcVar31 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(pcVar31 + 8) = iVar4;" (assignment_expression "*(int *)(pcVar31 + 8) = iVar4" (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) )))) = identifier) ;) (expression_statement "cVar2 = *pcVar22;" (assignment_expression "cVar2 = *pcVar22" identifier = (pointer_expression "*pcVar22" * identifier)) ;) (expression_statement "pcVar31[0x14] = cVar2;" (assignment_expression "pcVar31[0x14] = cVar2" (subscript_expression "pcVar31[0x14]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }" if (parenthesized_expression "((byte)cVar2 < 6)" ( (binary_expression "(byte)cVar2 < 6" (cast_expression "(byte)cVar2" ( (type_descriptor "byte" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }" { (expression_statement "*(int *)(pcVar31 + 0x10) = iVar4 + 1;" (assignment_expression "*(int *)(pcVar31 + 0x10) = iVar4 + 1" (pointer_expression "*(int *)(pcVar31 + 0x10)" * (cast_expression "(int *)(pcVar31 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x10)" ( (binary_expression "pcVar31 + 0x10" identifier + number_literal) )))) = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }" else (compound_statement "{\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }" { (expression_statement "*(undefined4 *)(pcVar22 + 8) = 0;" (assignment_expression "*(undefined4 *)(pcVar22 + 8) = 0" (pointer_expression "*(undefined4 *)(pcVar22 + 8)" * (cast_expression "(undefined4 *)(pcVar22 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 8)" ( (binary_expression "pcVar22 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = *(int *)(pcVar31 + 0xc);" (assignment_expression "iVar4 = *(int *)(pcVar31 + 0xc)" identifier = (pointer_expression "*(int *)(pcVar31 + 0xc)" * (cast_expression "(int *)(pcVar31 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xc)" ( (binary_expression "pcVar31 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;" (assignment_expression "*(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1" (pointer_expression "*(int *)(pcVar31 + 0x10)" * (cast_expression "(int *)(pcVar31 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x10)" ( (binary_expression "pcVar31 + 0x10" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar22 + 4) + iVar4 + 1" (binary_expression "*(int *)(pcVar22 + 4) + iVar4" (pointer_expression "*(int *)(pcVar22 + 4)" * (cast_expression "(int *)(pcVar22 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 4)" ( (binary_expression "pcVar22 + 4" identifier + number_literal) )))) + identifier) + number_literal)) ;) (expression_statement "pcVar3 = (code *)(iVar4 * 4);" (assignment_expression "pcVar3 = (code *)(iVar4 * 4)" identifier = (cast_expression "(code *)(iVar4 * 4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 * 4)" ( (binary_expression "iVar4 * 4" identifier * number_literal) )))) ;) (if_statement "if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }" if (parenthesized_expression "(pcVar31[0x15] == (code)0x0)" ( (binary_expression "pcVar31[0x15] == (code)0x0" (subscript_expression "pcVar31[0x15]" identifier [ number_literal ]) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }" { (expression_statement "*(int *)(pcVar31 + 0xc) = iVar4 + 1;" (assignment_expression "*(int *)(pcVar31 + 0xc) = iVar4 + 1" (pointer_expression "*(int *)(pcVar31 + 0xc)" * (cast_expression "(int *)(pcVar31 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xc)" ( (binary_expression "pcVar31 + 0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }" else (compound_statement "{\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }" { (expression_statement "pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));" (assignment_expression "pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30))" identifier = (pointer_expression "*(code **)(pcVar3 + *(int *)(pcVar31 + 0x30))" * (cast_expression "(code **)(pcVar3 + *(int *)(pcVar31 + 0x30))" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar3 + *(int *)(pcVar31 + 0x30))" ( (binary_expression "pcVar3 + *(int *)(pcVar31 + 0x30)" identifier + (pointer_expression "*(int *)(pcVar31 + 0x30)" * (cast_expression "(int *)(pcVar31 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x30)" ( (binary_expression "pcVar31 + 0x30" identifier + number_literal) ))))) ))))) ;) (expression_statement "pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);" (assignment_expression "pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc)" (subscript_expression "pcVar31[0x14]" identifier [ number_literal ]) = (pointer_expression "*(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc)" * (cast_expression "(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc)" ( (binary_expression "*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc" (pointer_expression "*(int *)(pcVar31 + 0x28)" * (cast_expression "(int *)(pcVar31 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x28)" ( (binary_expression "pcVar31 + 0x28" identifier + number_literal) )))) + (binary_expression "(int)pcVar3 * 0xc" (cast_expression "(int)pcVar3" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (if_statement "if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }" if (parenthesized_expression "((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0))" ( (binary_expression "(iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)" (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) && (parenthesized_expression "((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)" ( (binary_expression "(*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0" (parenthesized_expression "(*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40)" ( (binary_expression "*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40" (pointer_expression "*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb)" * (cast_expression "(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb)" ( (binary_expression "*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb" (binary_expression "*(int *)(pcVar31 + 0x28) + iVar4 * 0xc" (pointer_expression "*(int *)(pcVar31 + 0x28)" * (cast_expression "(int *)(pcVar31 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x28)" ( (binary_expression "pcVar31 + 0x28" identifier + number_literal) )))) + (binary_expression "iVar4 * 0xc" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }" { (expression_statement "*(int *)(pcVar31 + 0xc) = iVar4 + -1;" (assignment_expression "*(int *)(pcVar31 + 0xc) = iVar4 + -1" (pointer_expression "*(int *)(pcVar31 + 0xc)" * (cast_expression "(int *)(pcVar31 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xc)" ( (binary_expression "pcVar31 + 0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) })) }))) }))) }))) }) (else_clause "else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }" else (compound_statement "{\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }" { (if_statement "if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }" if (parenthesized_expression "(pcVar31[0x34] == (code)0x0)" ( (binary_expression "pcVar31[0x34] == (code)0x0" (subscript_expression "pcVar31[0x34]" identifier [ number_literal ]) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }" { (expression_statement "(**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));" (call_expression "(**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8))" (parenthesized_expression "(**(code **)(local_100 + -0x7fa8))" ( (pointer_expression "**(code **)(local_100 + -0x7fa8)" * (pointer_expression "*(code **)(local_100 + -0x7fa8)" * (cast_expression "(code **)(local_100 + -0x7fa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_100 + -0x7fa8)" ( (binary_expression "local_100 + -0x7fa8" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(*(int *)pcVar31 + 8))" ( (pointer_expression "*(undefined4 *)(*(int *)pcVar31 + 8)" * (cast_expression "(undefined4 *)(*(int *)pcVar31 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)pcVar31 + 8)" ( (binary_expression "*(int *)pcVar31 + 8" (pointer_expression "*(int *)pcVar31" * (cast_expression "(int *)pcVar31" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) ))) ;) (expression_statement "iVar4 = *(int *)pcVar31;" (assignment_expression "iVar4 = *(int *)pcVar31" identifier = (pointer_expression "*(int *)pcVar31" * (cast_expression "(int *)pcVar31" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);" (assignment_expression "uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060)" identifier = (call_expression "sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060)" identifier (argument_list "(*(int *)(local_100 + -0x7fc4) + -0x5060)" ( (binary_expression "*(int *)(local_100 + -0x7fc4) + -0x5060" (pointer_expression "*(int *)(local_100 + -0x7fc4)" * (cast_expression "(int *)(local_100 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_100 + -0x7fc4)" ( (binary_expression "local_100 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "*(undefined4 *)(iVar4 + 8) = uVar29;" (assignment_expression "*(undefined4 *)(iVar4 + 8) = uVar29" (pointer_expression "*(undefined4 *)(iVar4 + 8)" * (cast_expression "(undefined4 *)(iVar4 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar13 = (code *)0x1;" (assignment_expression "pcVar13 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }" if (parenthesized_expression "(*(int *)(*(int *)pcVar31 + 8) == 0)" ( (binary_expression "*(int *)(*(int *)pcVar31 + 8) == 0" (pointer_expression "*(int *)(*(int *)pcVar31 + 8)" * (cast_expression "(int *)(*(int *)pcVar31 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)pcVar31 + 8)" ( (binary_expression "*(int *)pcVar31 + 8" (pointer_expression "*(int *)pcVar31" * (cast_expression "(int *)pcVar31" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == number_literal) )) (compound_statement "{\n              pcVar13 = (code *)&DAT_00000007;\n            }" { (expression_statement "pcVar13 = (code *)&DAT_00000007;" (assignment_expression "pcVar13 = (code *)&DAT_00000007" identifier = (cast_expression "(code *)&DAT_00000007" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) })) }) (else_clause "else {\n            pcVar13 = (code *)&DAT_00000007;\n          }" else (compound_statement "{\n            pcVar13 = (code *)&DAT_00000007;\n          }" { (expression_statement "pcVar13 = (code *)&DAT_00000007;" (assignment_expression "pcVar13 = (code *)&DAT_00000007" identifier = (cast_expression "(code *)&DAT_00000007" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) }))) (expression_statement "(*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);" (call_expression "(*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31)" (parenthesized_expression "(*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))" ( (pointer_expression "*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c)" * (cast_expression "(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_100 + -0x7d1c) + 0x3d3c)" ( (binary_expression "*(int *)(local_100 + -0x7d1c) + 0x3d3c" (pointer_expression "*(int *)(local_100 + -0x7d1c)" * (cast_expression "(int *)(local_100 + -0x7d1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_100 + -0x7d1c)" ( (binary_expression "local_100 + -0x7d1c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcVar31)" ( identifier ))) ;) }))) }))) }))) })) (labeled_statement "LAB_000c49c4:\n  if (local_f4 == (code *)**(undefined4 **)(local_100 + -0x7a54)) {\n    return pcVar13;\n  }" statement_identifier : (if_statement "if (local_f4 == (code *)**(undefined4 **)(local_100 + -0x7a54)) {\n    return pcVar13;\n  }" if (parenthesized_expression "(local_f4 == (code *)**(undefined4 **)(local_100 + -0x7a54))" ( (binary_expression "local_f4 == (code *)**(undefined4 **)(local_100 + -0x7a54)" identifier == (cast_expression "(code *)**(undefined4 **)(local_100 + -0x7a54)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(local_100 + -0x7a54)" * (pointer_expression "*(undefined4 **)(local_100 + -0x7a54)" * (cast_expression "(undefined4 **)(local_100 + -0x7a54)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_100 + -0x7a54)" ( (binary_expression "local_100 + -0x7a54" identifier + number_literal) ))))))) )) (compound_statement "{\n    return pcVar13;\n  }" { (return_statement "return pcVar13;" return identifier ;) }))) (expression_statement "pcVar26 = *(code **)(local_100 + -0x7a80);" (assignment_expression "pcVar26 = *(code **)(local_100 + -0x7a80)" identifier = (pointer_expression "*(code **)(local_100 + -0x7a80)" * (cast_expression "(code **)(local_100 + -0x7a80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_100 + -0x7a80)" ( (binary_expression "local_100 + -0x7a80" identifier + number_literal) ))))) ;) (expression_statement "pcVar30 = sqlite3_randomness;" (assignment_expression "pcVar30 = sqlite3_randomness" identifier = identifier) ;) (expression_statement "pcVar22 = local_f4;" (assignment_expression "pcVar22 = local_f4" identifier = identifier) ;) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_240 = pcVar26 + 0xd2b38;" (assignment_expression "pcStack_240 = pcVar26 + 0xd2b38" identifier = (binary_expression "pcVar26 + 0xd2b38" identifier + number_literal)) ;) (expression_statement "pcStack_134 = (code *)**(int **)(pcVar26 + 0xcb0e4);" (assignment_expression "pcStack_134 = (code *)**(int **)(pcVar26 + 0xcb0e4)" identifier = (cast_expression "(code *)**(int **)(pcVar26 + 0xcb0e4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(pcVar26 + 0xcb0e4)" * (pointer_expression "*(int **)(pcVar26 + 0xcb0e4)" * (cast_expression "(int **)(pcVar26 + 0xcb0e4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xcb0e4)" ( (binary_expression "pcVar26 + 0xcb0e4" identifier + number_literal) ))))))) ;) (expression_statement "pcVar25 = pcVar22;" (assignment_expression "pcVar25 = pcVar22" identifier = identifier) ;) (expression_statement "pcVar14 = pcVar3;" (assignment_expression "pcVar14 = pcVar3" identifier = identifier) ;) (expression_statement "pcStack_12c = pcVar13;" (assignment_expression "pcStack_12c = pcVar13" identifier = identifier) ;) (expression_statement "pcStack_128 = pcVar31;" (assignment_expression "pcStack_128 = pcVar31" identifier = identifier) ;) (expression_statement "pcStack_124 = pcVar5;" (assignment_expression "pcStack_124 = pcVar5" identifier = identifier) ;) (expression_statement "pcStack_120 = unaff_s3;" (assignment_expression "pcStack_120 = unaff_s3" identifier = identifier) ;) (expression_statement "pcStack_11c = pcVar30;" (assignment_expression "pcStack_11c = pcVar30" identifier = identifier) ;) (expression_statement "iVar4 = (**(code **)(pcVar26 + 0xcadb8))();" (assignment_expression "iVar4 = (**(code **)(pcVar26 + 0xcadb8))()" identifier = (call_expression "(**(code **)(pcVar26 + 0xcadb8))()" (parenthesized_expression "(**(code **)(pcVar26 + 0xcadb8))" ( (pointer_expression "**(code **)(pcVar26 + 0xcadb8)" * (pointer_expression "*(code **)(pcVar26 + 0xcadb8)" * (cast_expression "(code **)(pcVar26 + 0xcadb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xcadb8)" ( (binary_expression "pcVar26 + 0xcadb8" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar4 == 0) {\n    unaff_s3 = (code *)(*(code *)(*(int *)(pcStack_240 + -0x7dc8) + 0xe00))(5);\n    (**(code **)(pcStack_240 + -0x7d74))(unaff_s3);\n    iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n    pcVar25 = unaff_s3;\n    if (0 < (int)pcVar22) {\n      if (pcVar3 != (code *)0x0) {\n        iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n        if (*(char *)(iVar27 + 0x338) == '\0') {\n          *(undefined1 *)(iVar8 + 0x33a) = 0;\n          *(undefined1 *)(iVar8 + 0x339) = 0;\n          iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0);\n          (**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234);\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          iVar4 = 0;\n          do {\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          } while (iVar4 != 0x100);\n          iVar4 = *(int *)(pcStack_240 + -0x7fd8);\n          uVar9 = (uint)*(byte *)(iVar4 + 0x33a);\n          pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b);\n          pbVar15 = abStack_234;\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          do {\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          } while (pbVar7 != (byte *)(iVar4 + 0x43b));\n          iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n          *(char *)(iVar8 + 0x33a) = (char)uVar18;\n          *(undefined1 *)(iVar8 + 0x338) = 1;\n          iVar4 = 0x100;\n        }\n        pcVar6 = (code *)(iVar8 + 0x338);\n        uVar9 = (uint)*(byte *)(iVar8 + 0x33a);\n        bVar17 = *(char *)(iVar8 + 0x339) + 1;\n        pcVar13 = (code *)((uint)bVar17 - (int)pcVar3);\n        pcVar5 = pcVar3;\n        do {\n          uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff;\n          cVar2 = pcVar6[uVar18 + 3];\n          uVar20 = (byte)cVar2 + uVar9;\n          uVar9 = uVar20 & 0xff;\n          param_4 = pcVar6 + uVar9;\n          pcVar6[uVar18 + 3] = param_4[3];\n          param_4[3] = cVar2;\n          pcVar14 = pcVar5 + 1;\n          *pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3];\n          pcVar5 = pcVar14;\n        } while (pcVar14 != pcVar3 + (int)pcVar22);\n        iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n        pcVar22 = pcVar22 + -1;\n        *(byte *)(iVar27 + 0x339) = bVar17 + (char)pcVar22;\n        *(char *)(iVar27 + 0x33a) = (char)uVar20;\n        (**(code **)(pcStack_240 + -0x7d78))();\n        pcVar3 = pcVar13;\n        goto LAB_000c4e3c;\n      }\n      iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n    }\n    *(undefined1 *)(iVar27 + 0x338) = 0;\n    (**(code **)(pcStack_240 + -0x7d78))();\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    unaff_s3 = (code *)(*(code *)(*(int *)(pcStack_240 + -0x7dc8) + 0xe00))(5);\n    (**(code **)(pcStack_240 + -0x7d74))(unaff_s3);\n    iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n    pcVar25 = unaff_s3;\n    if (0 < (int)pcVar22) {\n      if (pcVar3 != (code *)0x0) {\n        iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n        if (*(char *)(iVar27 + 0x338) == '\0') {\n          *(undefined1 *)(iVar8 + 0x33a) = 0;\n          *(undefined1 *)(iVar8 + 0x339) = 0;\n          iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0);\n          (**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234);\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          iVar4 = 0;\n          do {\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          } while (iVar4 != 0x100);\n          iVar4 = *(int *)(pcStack_240 + -0x7fd8);\n          uVar9 = (uint)*(byte *)(iVar4 + 0x33a);\n          pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b);\n          pbVar15 = abStack_234;\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          do {\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          } while (pbVar7 != (byte *)(iVar4 + 0x43b));\n          iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n          *(char *)(iVar8 + 0x33a) = (char)uVar18;\n          *(undefined1 *)(iVar8 + 0x338) = 1;\n          iVar4 = 0x100;\n        }\n        pcVar6 = (code *)(iVar8 + 0x338);\n        uVar9 = (uint)*(byte *)(iVar8 + 0x33a);\n        bVar17 = *(char *)(iVar8 + 0x339) + 1;\n        pcVar13 = (code *)((uint)bVar17 - (int)pcVar3);\n        pcVar5 = pcVar3;\n        do {\n          uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff;\n          cVar2 = pcVar6[uVar18 + 3];\n          uVar20 = (byte)cVar2 + uVar9;\n          uVar9 = uVar20 & 0xff;\n          param_4 = pcVar6 + uVar9;\n          pcVar6[uVar18 + 3] = param_4[3];\n          param_4[3] = cVar2;\n          pcVar14 = pcVar5 + 1;\n          *pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3];\n          pcVar5 = pcVar14;\n        } while (pcVar14 != pcVar3 + (int)pcVar22);\n        iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n        pcVar22 = pcVar22 + -1;\n        *(byte *)(iVar27 + 0x339) = bVar17 + (char)pcVar22;\n        *(char *)(iVar27 + 0x33a) = (char)uVar20;\n        (**(code **)(pcStack_240 + -0x7d78))();\n        pcVar3 = pcVar13;\n        goto LAB_000c4e3c;\n      }\n      iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n    }\n    *(undefined1 *)(iVar27 + 0x338) = 0;\n    (**(code **)(pcStack_240 + -0x7d78))();\n  }" { (expression_statement "unaff_s3 = (code *)(*(code *)(*(int *)(pcStack_240 + -0x7dc8) + 0xe00))(5);" (assignment_expression "unaff_s3 = (code *)(*(code *)(*(int *)(pcStack_240 + -0x7dc8) + 0xe00))(5)" identifier = (cast_expression "(code *)(*(code *)(*(int *)(pcStack_240 + -0x7dc8) + 0xe00))(5)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(pcStack_240 + -0x7dc8) + 0xe00))(5)" (parenthesized_expression "(*(code *)(*(int *)(pcStack_240 + -0x7dc8) + 0xe00))" ( (pointer_expression "*(code *)(*(int *)(pcStack_240 + -0x7dc8) + 0xe00)" * (cast_expression "(code *)(*(int *)(pcStack_240 + -0x7dc8) + 0xe00)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_240 + -0x7dc8) + 0xe00)" ( (binary_expression "*(int *)(pcStack_240 + -0x7dc8) + 0xe00" (pointer_expression "*(int *)(pcStack_240 + -0x7dc8)" * (cast_expression "(int *)(pcStack_240 + -0x7dc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_240 + -0x7dc8)" ( (binary_expression "pcStack_240 + -0x7dc8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(5)" ( number_literal ))))) ;) (expression_statement "(**(code **)(pcStack_240 + -0x7d74))(unaff_s3);" (call_expression "(**(code **)(pcStack_240 + -0x7d74))(unaff_s3)" (parenthesized_expression "(**(code **)(pcStack_240 + -0x7d74))" ( (pointer_expression "**(code **)(pcStack_240 + -0x7d74)" * (pointer_expression "*(code **)(pcStack_240 + -0x7d74)" * (cast_expression "(code **)(pcStack_240 + -0x7d74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_240 + -0x7d74)" ( (binary_expression "pcStack_240 + -0x7d74" identifier + number_literal) ))))) )) (argument_list "(unaff_s3)" ( identifier ))) ;) (expression_statement "iVar27 = *(int *)(pcStack_240 + -0x7fd8);" (assignment_expression "iVar27 = *(int *)(pcStack_240 + -0x7fd8)" identifier = (pointer_expression "*(int *)(pcStack_240 + -0x7fd8)" * (cast_expression "(int *)(pcStack_240 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_240 + -0x7fd8)" ( (binary_expression "pcStack_240 + -0x7fd8" identifier + number_literal) ))))) ;) (expression_statement "pcVar25 = unaff_s3;" (assignment_expression "pcVar25 = unaff_s3" identifier = identifier) ;) (if_statement "if (0 < (int)pcVar22) {\n      if (pcVar3 != (code *)0x0) {\n        iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n        if (*(char *)(iVar27 + 0x338) == '\0') {\n          *(undefined1 *)(iVar8 + 0x33a) = 0;\n          *(undefined1 *)(iVar8 + 0x339) = 0;\n          iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0);\n          (**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234);\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          iVar4 = 0;\n          do {\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          } while (iVar4 != 0x100);\n          iVar4 = *(int *)(pcStack_240 + -0x7fd8);\n          uVar9 = (uint)*(byte *)(iVar4 + 0x33a);\n          pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b);\n          pbVar15 = abStack_234;\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          do {\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          } while (pbVar7 != (byte *)(iVar4 + 0x43b));\n          iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n          *(char *)(iVar8 + 0x33a) = (char)uVar18;\n          *(undefined1 *)(iVar8 + 0x338) = 1;\n          iVar4 = 0x100;\n        }\n        pcVar6 = (code *)(iVar8 + 0x338);\n        uVar9 = (uint)*(byte *)(iVar8 + 0x33a);\n        bVar17 = *(char *)(iVar8 + 0x339) + 1;\n        pcVar13 = (code *)((uint)bVar17 - (int)pcVar3);\n        pcVar5 = pcVar3;\n        do {\n          uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff;\n          cVar2 = pcVar6[uVar18 + 3];\n          uVar20 = (byte)cVar2 + uVar9;\n          uVar9 = uVar20 & 0xff;\n          param_4 = pcVar6 + uVar9;\n          pcVar6[uVar18 + 3] = param_4[3];\n          param_4[3] = cVar2;\n          pcVar14 = pcVar5 + 1;\n          *pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3];\n          pcVar5 = pcVar14;\n        } while (pcVar14 != pcVar3 + (int)pcVar22);\n        iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n        pcVar22 = pcVar22 + -1;\n        *(byte *)(iVar27 + 0x339) = bVar17 + (char)pcVar22;\n        *(char *)(iVar27 + 0x33a) = (char)uVar20;\n        (**(code **)(pcStack_240 + -0x7d78))();\n        pcVar3 = pcVar13;\n        goto LAB_000c4e3c;\n      }\n      iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n    }" if (parenthesized_expression "(0 < (int)pcVar22)" ( (binary_expression "0 < (int)pcVar22" number_literal < (cast_expression "(int)pcVar22" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      if (pcVar3 != (code *)0x0) {\n        iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n        if (*(char *)(iVar27 + 0x338) == '\0') {\n          *(undefined1 *)(iVar8 + 0x33a) = 0;\n          *(undefined1 *)(iVar8 + 0x339) = 0;\n          iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0);\n          (**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234);\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          iVar4 = 0;\n          do {\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          } while (iVar4 != 0x100);\n          iVar4 = *(int *)(pcStack_240 + -0x7fd8);\n          uVar9 = (uint)*(byte *)(iVar4 + 0x33a);\n          pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b);\n          pbVar15 = abStack_234;\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          do {\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          } while (pbVar7 != (byte *)(iVar4 + 0x43b));\n          iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n          *(char *)(iVar8 + 0x33a) = (char)uVar18;\n          *(undefined1 *)(iVar8 + 0x338) = 1;\n          iVar4 = 0x100;\n        }\n        pcVar6 = (code *)(iVar8 + 0x338);\n        uVar9 = (uint)*(byte *)(iVar8 + 0x33a);\n        bVar17 = *(char *)(iVar8 + 0x339) + 1;\n        pcVar13 = (code *)((uint)bVar17 - (int)pcVar3);\n        pcVar5 = pcVar3;\n        do {\n          uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff;\n          cVar2 = pcVar6[uVar18 + 3];\n          uVar20 = (byte)cVar2 + uVar9;\n          uVar9 = uVar20 & 0xff;\n          param_4 = pcVar6 + uVar9;\n          pcVar6[uVar18 + 3] = param_4[3];\n          param_4[3] = cVar2;\n          pcVar14 = pcVar5 + 1;\n          *pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3];\n          pcVar5 = pcVar14;\n        } while (pcVar14 != pcVar3 + (int)pcVar22);\n        iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n        pcVar22 = pcVar22 + -1;\n        *(byte *)(iVar27 + 0x339) = bVar17 + (char)pcVar22;\n        *(char *)(iVar27 + 0x33a) = (char)uVar20;\n        (**(code **)(pcStack_240 + -0x7d78))();\n        pcVar3 = pcVar13;\n        goto LAB_000c4e3c;\n      }\n      iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n    }" { (if_statement "if (pcVar3 != (code *)0x0) {\n        iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n        if (*(char *)(iVar27 + 0x338) == '\0') {\n          *(undefined1 *)(iVar8 + 0x33a) = 0;\n          *(undefined1 *)(iVar8 + 0x339) = 0;\n          iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0);\n          (**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234);\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          iVar4 = 0;\n          do {\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          } while (iVar4 != 0x100);\n          iVar4 = *(int *)(pcStack_240 + -0x7fd8);\n          uVar9 = (uint)*(byte *)(iVar4 + 0x33a);\n          pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b);\n          pbVar15 = abStack_234;\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          do {\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          } while (pbVar7 != (byte *)(iVar4 + 0x43b));\n          iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n          *(char *)(iVar8 + 0x33a) = (char)uVar18;\n          *(undefined1 *)(iVar8 + 0x338) = 1;\n          iVar4 = 0x100;\n        }\n        pcVar6 = (code *)(iVar8 + 0x338);\n        uVar9 = (uint)*(byte *)(iVar8 + 0x33a);\n        bVar17 = *(char *)(iVar8 + 0x339) + 1;\n        pcVar13 = (code *)((uint)bVar17 - (int)pcVar3);\n        pcVar5 = pcVar3;\n        do {\n          uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff;\n          cVar2 = pcVar6[uVar18 + 3];\n          uVar20 = (byte)cVar2 + uVar9;\n          uVar9 = uVar20 & 0xff;\n          param_4 = pcVar6 + uVar9;\n          pcVar6[uVar18 + 3] = param_4[3];\n          param_4[3] = cVar2;\n          pcVar14 = pcVar5 + 1;\n          *pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3];\n          pcVar5 = pcVar14;\n        } while (pcVar14 != pcVar3 + (int)pcVar22);\n        iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n        pcVar22 = pcVar22 + -1;\n        *(byte *)(iVar27 + 0x339) = bVar17 + (char)pcVar22;\n        *(char *)(iVar27 + 0x33a) = (char)uVar20;\n        (**(code **)(pcStack_240 + -0x7d78))();\n        pcVar3 = pcVar13;\n        goto LAB_000c4e3c;\n      }" if (parenthesized_expression "(pcVar3 != (code *)0x0)" ( (binary_expression "pcVar3 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n        if (*(char *)(iVar27 + 0x338) == '\0') {\n          *(undefined1 *)(iVar8 + 0x33a) = 0;\n          *(undefined1 *)(iVar8 + 0x339) = 0;\n          iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0);\n          (**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234);\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          iVar4 = 0;\n          do {\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          } while (iVar4 != 0x100);\n          iVar4 = *(int *)(pcStack_240 + -0x7fd8);\n          uVar9 = (uint)*(byte *)(iVar4 + 0x33a);\n          pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b);\n          pbVar15 = abStack_234;\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          do {\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          } while (pbVar7 != (byte *)(iVar4 + 0x43b));\n          iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n          *(char *)(iVar8 + 0x33a) = (char)uVar18;\n          *(undefined1 *)(iVar8 + 0x338) = 1;\n          iVar4 = 0x100;\n        }\n        pcVar6 = (code *)(iVar8 + 0x338);\n        uVar9 = (uint)*(byte *)(iVar8 + 0x33a);\n        bVar17 = *(char *)(iVar8 + 0x339) + 1;\n        pcVar13 = (code *)((uint)bVar17 - (int)pcVar3);\n        pcVar5 = pcVar3;\n        do {\n          uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff;\n          cVar2 = pcVar6[uVar18 + 3];\n          uVar20 = (byte)cVar2 + uVar9;\n          uVar9 = uVar20 & 0xff;\n          param_4 = pcVar6 + uVar9;\n          pcVar6[uVar18 + 3] = param_4[3];\n          param_4[3] = cVar2;\n          pcVar14 = pcVar5 + 1;\n          *pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3];\n          pcVar5 = pcVar14;\n        } while (pcVar14 != pcVar3 + (int)pcVar22);\n        iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n        pcVar22 = pcVar22 + -1;\n        *(byte *)(iVar27 + 0x339) = bVar17 + (char)pcVar22;\n        *(char *)(iVar27 + 0x33a) = (char)uVar20;\n        (**(code **)(pcStack_240 + -0x7d78))();\n        pcVar3 = pcVar13;\n        goto LAB_000c4e3c;\n      }" { (expression_statement "iVar8 = *(int *)(pcStack_240 + -0x7fd8);" (assignment_expression "iVar8 = *(int *)(pcStack_240 + -0x7fd8)" identifier = (pointer_expression "*(int *)(pcStack_240 + -0x7fd8)" * (cast_expression "(int *)(pcStack_240 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_240 + -0x7fd8)" ( (binary_expression "pcStack_240 + -0x7fd8" identifier + number_literal) ))))) ;) (if_statement "if (*(char *)(iVar27 + 0x338) == '\0') {\n          *(undefined1 *)(iVar8 + 0x33a) = 0;\n          *(undefined1 *)(iVar8 + 0x339) = 0;\n          iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0);\n          (**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234);\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          iVar4 = 0;\n          do {\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          } while (iVar4 != 0x100);\n          iVar4 = *(int *)(pcStack_240 + -0x7fd8);\n          uVar9 = (uint)*(byte *)(iVar4 + 0x33a);\n          pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b);\n          pbVar15 = abStack_234;\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          do {\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          } while (pbVar7 != (byte *)(iVar4 + 0x43b));\n          iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n          *(char *)(iVar8 + 0x33a) = (char)uVar18;\n          *(undefined1 *)(iVar8 + 0x338) = 1;\n          iVar4 = 0x100;\n        }" if (parenthesized_expression "(*(char *)(iVar27 + 0x338) == '\0')" ( (binary_expression "*(char *)(iVar27 + 0x338) == '\0'" (pointer_expression "*(char *)(iVar27 + 0x338)" * (cast_expression "(char *)(iVar27 + 0x338)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x338)" ( (binary_expression "iVar27 + 0x338" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          *(undefined1 *)(iVar8 + 0x33a) = 0;\n          *(undefined1 *)(iVar8 + 0x339) = 0;\n          iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0);\n          (**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234);\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          iVar4 = 0;\n          do {\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          } while (iVar4 != 0x100);\n          iVar4 = *(int *)(pcStack_240 + -0x7fd8);\n          uVar9 = (uint)*(byte *)(iVar4 + 0x33a);\n          pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b);\n          pbVar15 = abStack_234;\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          do {\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          } while (pbVar7 != (byte *)(iVar4 + 0x43b));\n          iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n          *(char *)(iVar8 + 0x33a) = (char)uVar18;\n          *(undefined1 *)(iVar8 + 0x338) = 1;\n          iVar4 = 0x100;\n        }" { (expression_statement "*(undefined1 *)(iVar8 + 0x33a) = 0;" (assignment_expression "*(undefined1 *)(iVar8 + 0x33a) = 0" (pointer_expression "*(undefined1 *)(iVar8 + 0x33a)" * (cast_expression "(undefined1 *)(iVar8 + 0x33a)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x33a)" ( (binary_expression "iVar8 + 0x33a" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(iVar8 + 0x339) = 0;" (assignment_expression "*(undefined1 *)(iVar8 + 0x339) = 0" (pointer_expression "*(undefined1 *)(iVar8 + 0x339)" * (cast_expression "(undefined1 *)(iVar8 + 0x339)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x339)" ( (binary_expression "iVar8 + 0x339" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0);" (assignment_expression "iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0)" identifier = (call_expression "(**(code **)(pcStack_240 + -0x7f14))(0)" (parenthesized_expression "(**(code **)(pcStack_240 + -0x7f14))" ( (pointer_expression "**(code **)(pcStack_240 + -0x7f14)" * (pointer_expression "*(code **)(pcStack_240 + -0x7f14)" * (cast_expression "(code **)(pcStack_240 + -0x7f14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_240 + -0x7f14)" ( (binary_expression "pcStack_240 + -0x7f14" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal )))) ;) (expression_statement "(**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234);" (call_expression "(**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234)" (parenthesized_expression "(**(code **)(iVar4 + 0x38))" ( (pointer_expression "**(code **)(iVar4 + 0x38)" * (pointer_expression "*(code **)(iVar4 + 0x38)" * (cast_expression "(code **)(iVar4 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) ))))) )) (argument_list "(iVar4,0x100,abStack_234)" ( identifier , number_literal , identifier ))) ;) (expression_statement "iVar27 = *(int *)(pcStack_240 + -0x7fd8);" (assignment_expression "iVar27 = *(int *)(pcStack_240 + -0x7fd8)" identifier = (pointer_expression "*(int *)(pcStack_240 + -0x7fd8)" * (cast_expression "(int *)(pcStack_240 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_240 + -0x7fd8)" ( (binary_expression "pcStack_240 + -0x7fd8" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (do_statement "do {\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          } while (iVar4 != 0x100);" do (compound_statement "{\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          }" { (expression_statement "*(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;" (assignment_expression "*(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4" (pointer_expression "*(char *)(iVar27 + iVar4 + 0x33b)" * (cast_expression "(char *)(iVar27 + iVar4 + 0x33b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + iVar4 + 0x33b)" ( (binary_expression "iVar27 + iVar4 + 0x33b" (binary_expression "iVar27 + iVar4" identifier + identifier) + number_literal) )))) = (cast_expression "(char)iVar4" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar4 != 0x100)" ( (binary_expression "iVar4 != 0x100" identifier != number_literal) )) ;) (expression_statement "iVar4 = *(int *)(pcStack_240 + -0x7fd8);" (assignment_expression "iVar4 = *(int *)(pcStack_240 + -0x7fd8)" identifier = (pointer_expression "*(int *)(pcStack_240 + -0x7fd8)" * (cast_expression "(int *)(pcStack_240 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_240 + -0x7fd8)" ( (binary_expression "pcStack_240 + -0x7fd8" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = (uint)*(byte *)(iVar4 + 0x33a);" (assignment_expression "uVar9 = (uint)*(byte *)(iVar4 + 0x33a)" identifier = (binary_expression "(uint)*(byte *)(iVar4 + 0x33a)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar4 + 0x33a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x33a)" ( (binary_expression "iVar4 + 0x33a" identifier + number_literal) ))))) ;) (expression_statement "pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b);" (assignment_expression "pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b)" identifier = (cast_expression "(byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_240 + -0x7fd8) + 0x33b)" ( (binary_expression "*(int *)(pcStack_240 + -0x7fd8) + 0x33b" (pointer_expression "*(int *)(pcStack_240 + -0x7fd8)" * (cast_expression "(int *)(pcStack_240 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_240 + -0x7fd8)" ( (binary_expression "pcStack_240 + -0x7fd8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pbVar15 = abStack_234;" (assignment_expression "pbVar15 = abStack_234" identifier = identifier) ;) (expression_statement "iVar27 = *(int *)(pcStack_240 + -0x7fd8);" (assignment_expression "iVar27 = *(int *)(pcStack_240 + -0x7fd8)" identifier = (pointer_expression "*(int *)(pcStack_240 + -0x7fd8)" * (cast_expression "(int *)(pcStack_240 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_240 + -0x7fd8)" ( (binary_expression "pcStack_240 + -0x7fd8" identifier + number_literal) ))))) ;) (do_statement "do {\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          } while (pbVar7 != (byte *)(iVar4 + 0x43b));" do (compound_statement "{\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          }" { (expression_statement "uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;" (assignment_expression "uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15" identifier = (binary_expression "uVar9 + (uint)*pbVar7 + (uint)*pbVar15" (binary_expression "uVar9 + (uint)*pbVar7" identifier + (binary_expression "(uint)*pbVar7" (parenthesized_expression "(uint)" ( identifier )) * identifier)) + (binary_expression "(uint)*pbVar15" (parenthesized_expression "(uint)" ( identifier )) * identifier))) ;) (expression_statement "uVar9 = uVar18 & 0xff;" (assignment_expression "uVar9 = uVar18 & 0xff" identifier = (binary_expression "uVar18 & 0xff" identifier & number_literal)) ;) (expression_statement "iVar8 = iVar27 + 0x338 + uVar9;" (assignment_expression "iVar8 = iVar27 + 0x338 + uVar9" identifier = (binary_expression "iVar27 + 0x338 + uVar9" (binary_expression "iVar27 + 0x338" identifier + number_literal) + identifier)) ;) (expression_statement "bVar17 = *(byte *)(iVar8 + 3);" (assignment_expression "bVar17 = *(byte *)(iVar8 + 3)" identifier = (pointer_expression "*(byte *)(iVar8 + 3)" * (cast_expression "(byte *)(iVar8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 3)" ( (binary_expression "iVar8 + 3" identifier + number_literal) ))))) ;) (expression_statement "*(byte *)(iVar8 + 3) = *pbVar7;" (assignment_expression "*(byte *)(iVar8 + 3) = *pbVar7" (pointer_expression "*(byte *)(iVar8 + 3)" * (cast_expression "(byte *)(iVar8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 3)" ( (binary_expression "iVar8 + 3" identifier + number_literal) )))) = (pointer_expression "*pbVar7" * identifier)) ;) (expression_statement "*pbVar7 = bVar17;" (assignment_expression "*pbVar7 = bVar17" (pointer_expression "*pbVar7" * identifier) = identifier) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar15 = pbVar15 + 1;" (assignment_expression "pbVar15 = pbVar15 + 1" identifier = (binary_expression "pbVar15 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pbVar7 != (byte *)(iVar4 + 0x43b))" ( (binary_expression "pbVar7 != (byte *)(iVar4 + 0x43b)" identifier != (cast_expression "(byte *)(iVar4 + 0x43b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x43b)" ( (binary_expression "iVar4 + 0x43b" identifier + number_literal) )))) )) ;) (expression_statement "iVar8 = *(int *)(pcStack_240 + -0x7fd8);" (assignment_expression "iVar8 = *(int *)(pcStack_240 + -0x7fd8)" identifier = (pointer_expression "*(int *)(pcStack_240 + -0x7fd8)" * (cast_expression "(int *)(pcStack_240 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_240 + -0x7fd8)" ( (binary_expression "pcStack_240 + -0x7fd8" identifier + number_literal) ))))) ;) (expression_statement "*(char *)(iVar8 + 0x33a) = (char)uVar18;" (assignment_expression "*(char *)(iVar8 + 0x33a) = (char)uVar18" (pointer_expression "*(char *)(iVar8 + 0x33a)" * (cast_expression "(char *)(iVar8 + 0x33a)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x33a)" ( (binary_expression "iVar8 + 0x33a" identifier + number_literal) )))) = (cast_expression "(char)uVar18" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "*(undefined1 *)(iVar8 + 0x338) = 1;" (assignment_expression "*(undefined1 *)(iVar8 + 0x338) = 1" (pointer_expression "*(undefined1 *)(iVar8 + 0x338)" * (cast_expression "(undefined1 *)(iVar8 + 0x338)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x338)" ( (binary_expression "iVar8 + 0x338" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = 0x100;" (assignment_expression "iVar4 = 0x100" identifier = number_literal) ;) })) (expression_statement "pcVar6 = (code *)(iVar8 + 0x338);" (assignment_expression "pcVar6 = (code *)(iVar8 + 0x338)" identifier = (cast_expression "(code *)(iVar8 + 0x338)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x338)" ( (binary_expression "iVar8 + 0x338" identifier + number_literal) )))) ;) (expression_statement "uVar9 = (uint)*(byte *)(iVar8 + 0x33a);" (assignment_expression "uVar9 = (uint)*(byte *)(iVar8 + 0x33a)" identifier = (binary_expression "(uint)*(byte *)(iVar8 + 0x33a)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar8 + 0x33a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x33a)" ( (binary_expression "iVar8 + 0x33a" identifier + number_literal) ))))) ;) (expression_statement "bVar17 = *(char *)(iVar8 + 0x339) + 1;" (assignment_expression "bVar17 = *(char *)(iVar8 + 0x339) + 1" identifier = (binary_expression "*(char *)(iVar8 + 0x339) + 1" (pointer_expression "*(char *)(iVar8 + 0x339)" * (cast_expression "(char *)(iVar8 + 0x339)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x339)" ( (binary_expression "iVar8 + 0x339" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pcVar13 = (code *)((uint)bVar17 - (int)pcVar3);" (assignment_expression "pcVar13 = (code *)((uint)bVar17 - (int)pcVar3)" identifier = (cast_expression "(code *)((uint)bVar17 - (int)pcVar3)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)bVar17 - (int)pcVar3)" ( (binary_expression "(uint)bVar17 - (int)pcVar3" (cast_expression "(uint)bVar17" ( (type_descriptor "uint" type_identifier) ) identifier) - (cast_expression "(int)pcVar3" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pcVar5 = pcVar3;" (assignment_expression "pcVar5 = pcVar3" identifier = identifier) ;) (do_statement "do {\n          uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff;\n          cVar2 = pcVar6[uVar18 + 3];\n          uVar20 = (byte)cVar2 + uVar9;\n          uVar9 = uVar20 & 0xff;\n          param_4 = pcVar6 + uVar9;\n          pcVar6[uVar18 + 3] = param_4[3];\n          param_4[3] = cVar2;\n          pcVar14 = pcVar5 + 1;\n          *pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3];\n          pcVar5 = pcVar14;\n        } while (pcVar14 != pcVar3 + (int)pcVar22);" do (compound_statement "{\n          uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff;\n          cVar2 = pcVar6[uVar18 + 3];\n          uVar20 = (byte)cVar2 + uVar9;\n          uVar9 = uVar20 & 0xff;\n          param_4 = pcVar6 + uVar9;\n          pcVar6[uVar18 + 3] = param_4[3];\n          param_4[3] = cVar2;\n          pcVar14 = pcVar5 + 1;\n          *pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3];\n          pcVar5 = pcVar14;\n        }" { (expression_statement "uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff;" (assignment_expression "uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff" identifier = (binary_expression "(uint)(pcVar5 + (int)pcVar13) & 0xff" (call_expression "(uint)(pcVar5 + (int)pcVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar5 + (int)pcVar13)" ( (binary_expression "pcVar5 + (int)pcVar13" identifier + (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ))) & number_literal)) ;) (expression_statement "cVar2 = pcVar6[uVar18 + 3];" (assignment_expression "cVar2 = pcVar6[uVar18 + 3]" identifier = (subscript_expression "pcVar6[uVar18 + 3]" identifier [ (binary_expression "uVar18 + 3" identifier + number_literal) ])) ;) (expression_statement "uVar20 = (byte)cVar2 + uVar9;" (assignment_expression "uVar20 = (byte)cVar2 + uVar9" identifier = (binary_expression "(byte)cVar2 + uVar9" (cast_expression "(byte)cVar2" ( (type_descriptor "byte" type_identifier) ) identifier) + identifier)) ;) (expression_statement "uVar9 = uVar20 & 0xff;" (assignment_expression "uVar9 = uVar20 & 0xff" identifier = (binary_expression "uVar20 & 0xff" identifier & number_literal)) ;) (expression_statement "param_4 = pcVar6 + uVar9;" (assignment_expression "param_4 = pcVar6 + uVar9" identifier = (binary_expression "pcVar6 + uVar9" identifier + identifier)) ;) (expression_statement "pcVar6[uVar18 + 3] = param_4[3];" (assignment_expression "pcVar6[uVar18 + 3] = param_4[3]" (subscript_expression "pcVar6[uVar18 + 3]" identifier [ (binary_expression "uVar18 + 3" identifier + number_literal) ]) = (subscript_expression "param_4[3]" identifier [ number_literal ])) ;) (expression_statement "param_4[3] = cVar2;" (assignment_expression "param_4[3] = cVar2" (subscript_expression "param_4[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pcVar14 = pcVar5 + 1;" (assignment_expression "pcVar14 = pcVar5 + 1" identifier = (binary_expression "pcVar5 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3];" (assignment_expression "*pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3]" (pointer_expression "*pcVar5" * identifier) = (subscript_expression "pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3]" identifier [ (binary_expression "((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3" (parenthesized_expression "((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff)" ( (binary_expression "(uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff" (binary_expression "(uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3]" (cast_expression "(uint)(byte)cVar2" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)cVar2" ( (type_descriptor "byte" type_identifier) ) identifier)) + (cast_expression "(uint)(byte)pcVar6[uVar18 + 3]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pcVar6[uVar18 + 3]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pcVar6[uVar18 + 3]" identifier [ (binary_expression "uVar18 + 3" identifier + number_literal) ])))) & number_literal) )) + number_literal) ])) ;) (expression_statement "pcVar5 = pcVar14;" (assignment_expression "pcVar5 = pcVar14" identifier = identifier) ;) }) while (parenthesized_expression "(pcVar14 != pcVar3 + (int)pcVar22)" ( (binary_expression "pcVar14 != pcVar3 + (int)pcVar22" identifier != (binary_expression "pcVar3 + (int)pcVar22" identifier + (cast_expression "(int)pcVar22" ( (type_descriptor "int" primitive_type) ) identifier))) )) ;) (expression_statement "iVar27 = *(int *)(pcStack_240 + -0x7fd8);" (assignment_expression "iVar27 = *(int *)(pcStack_240 + -0x7fd8)" identifier = (pointer_expression "*(int *)(pcStack_240 + -0x7fd8)" * (cast_expression "(int *)(pcStack_240 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_240 + -0x7fd8)" ( (binary_expression "pcStack_240 + -0x7fd8" identifier + number_literal) ))))) ;) (expression_statement "pcVar22 = pcVar22 + -1;" (assignment_expression "pcVar22 = pcVar22 + -1" identifier = (binary_expression "pcVar22 + -1" identifier + number_literal)) ;) (expression_statement "*(byte *)(iVar27 + 0x339) = bVar17 + (char)pcVar22;" (assignment_expression "*(byte *)(iVar27 + 0x339) = bVar17 + (char)pcVar22" (pointer_expression "*(byte *)(iVar27 + 0x339)" * (cast_expression "(byte *)(iVar27 + 0x339)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x339)" ( (binary_expression "iVar27 + 0x339" identifier + number_literal) )))) = (binary_expression "bVar17 + (char)pcVar22" identifier + (cast_expression "(char)pcVar22" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "*(char *)(iVar27 + 0x33a) = (char)uVar20;" (assignment_expression "*(char *)(iVar27 + 0x33a) = (char)uVar20" (pointer_expression "*(char *)(iVar27 + 0x33a)" * (cast_expression "(char *)(iVar27 + 0x33a)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x33a)" ( (binary_expression "iVar27 + 0x33a" identifier + number_literal) )))) = (cast_expression "(char)uVar20" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "(**(code **)(pcStack_240 + -0x7d78))();" (call_expression "(**(code **)(pcStack_240 + -0x7d78))()" (parenthesized_expression "(**(code **)(pcStack_240 + -0x7d78))" ( (pointer_expression "**(code **)(pcStack_240 + -0x7d78)" * (pointer_expression "*(code **)(pcStack_240 + -0x7d78)" * (cast_expression "(code **)(pcStack_240 + -0x7d78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_240 + -0x7d78)" ( (binary_expression "pcStack_240 + -0x7d78" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar3 = pcVar13;" (assignment_expression "pcVar3 = pcVar13" identifier = identifier) ;) (goto_statement "goto LAB_000c4e3c;" goto statement_identifier ;) })) (expression_statement "iVar27 = *(int *)(pcStack_240 + -0x7fd8);" (assignment_expression "iVar27 = *(int *)(pcStack_240 + -0x7fd8)" identifier = (pointer_expression "*(int *)(pcStack_240 + -0x7fd8)" * (cast_expression "(int *)(pcStack_240 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_240 + -0x7fd8)" ( (binary_expression "pcStack_240 + -0x7fd8" identifier + number_literal) ))))) ;) })) (expression_statement "*(undefined1 *)(iVar27 + 0x338) = 0;" (assignment_expression "*(undefined1 *)(iVar27 + 0x338) = 0" (pointer_expression "*(undefined1 *)(iVar27 + 0x338)" * (cast_expression "(undefined1 *)(iVar27 + 0x338)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x338)" ( (binary_expression "iVar27 + 0x338" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(**(code **)(pcStack_240 + -0x7d78))();" (call_expression "(**(code **)(pcStack_240 + -0x7d78))()" (parenthesized_expression "(**(code **)(pcStack_240 + -0x7d78))" ( (pointer_expression "**(code **)(pcStack_240 + -0x7d78)" * (pointer_expression "*(code **)(pcStack_240 + -0x7d78)" * (cast_expression "(code **)(pcStack_240 + -0x7d78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_240 + -0x7d78)" ( (binary_expression "pcStack_240 + -0x7d78" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_000c4e3c:\n  if (pcStack_134 == (code *)**(int **)(pcStack_240 + -0x7a54)) {\n    return (code *)**(int **)(pcStack_240 + -0x7a54);\n  }" statement_identifier : (if_statement "if (pcStack_134 == (code *)**(int **)(pcStack_240 + -0x7a54)) {\n    return (code *)**(int **)(pcStack_240 + -0x7a54);\n  }" if (parenthesized_expression "(pcStack_134 == (code *)**(int **)(pcStack_240 + -0x7a54))" ( (binary_expression "pcStack_134 == (code *)**(int **)(pcStack_240 + -0x7a54)" identifier == (cast_expression "(code *)**(int **)(pcStack_240 + -0x7a54)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(pcStack_240 + -0x7a54)" * (pointer_expression "*(int **)(pcStack_240 + -0x7a54)" * (cast_expression "(int **)(pcStack_240 + -0x7a54)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_240 + -0x7a54)" ( (binary_expression "pcStack_240 + -0x7a54" identifier + number_literal) ))))))) )) (compound_statement "{\n    return (code *)**(int **)(pcStack_240 + -0x7a54);\n  }" { (return_statement "return (code *)**(int **)(pcStack_240 + -0x7a54);" return (cast_expression "(code *)**(int **)(pcStack_240 + -0x7a54)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(pcStack_240 + -0x7a54)" * (pointer_expression "*(int **)(pcStack_240 + -0x7a54)" * (cast_expression "(int **)(pcStack_240 + -0x7a54)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_240 + -0x7a54)" ( (binary_expression "pcStack_240 + -0x7a54" identifier + number_literal) )))))) ;) }))) (expression_statement "pcVar13 = *(code **)(pcStack_240 + -0x7a80);" (assignment_expression "pcVar13 = *(code **)(pcStack_240 + -0x7a80)" identifier = (pointer_expression "*(code **)(pcStack_240 + -0x7a80)" * (cast_expression "(code **)(pcStack_240 + -0x7a80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_240 + -0x7a80)" ( (binary_expression "pcStack_240 + -0x7a80" identifier + number_literal) ))))) ;) (expression_statement "pcVar31 = FUN_000c5048;" (assignment_expression "pcVar31 = FUN_000c5048" identifier = identifier) ;) (expression_statement "(*pcVar13)();" (call_expression "(*pcVar13)()" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_330 = pcVar13 + 0xd28d8;" (assignment_expression "pcStack_330 = pcVar13 + 0xd28d8" identifier = (binary_expression "pcVar13 + 0xd28d8" identifier + number_literal)) ;) (expression_statement "iStack_27c = **(int **)(pcVar13 + 0xcae84);" (assignment_expression "iStack_27c = **(int **)(pcVar13 + 0xcae84)" identifier = (pointer_expression "**(int **)(pcVar13 + 0xcae84)" * (pointer_expression "*(int **)(pcVar13 + 0xcae84)" * (cast_expression "(int **)(pcVar13 + 0xcae84)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0xcae84)" ( (binary_expression "pcVar13 + 0xcae84" identifier + number_literal) )))))) ;) (expression_statement "*pcVar14 = (code)0x0;" (assignment_expression "*pcVar14 = (code)0x0" (pointer_expression "*pcVar14" * identifier) = (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (expression_statement "pcVar5 = (code *)**(undefined4 **)(pcVar13 + 0xcac68);" (assignment_expression "pcVar5 = (code *)**(undefined4 **)(pcVar13 + 0xcac68)" identifier = (cast_expression "(code *)**(undefined4 **)(pcVar13 + 0xcac68)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar13 + 0xcac68)" * (pointer_expression "*(undefined4 **)(pcVar13 + 0xcac68)" * (cast_expression "(undefined4 **)(pcVar13 + 0xcac68)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0xcac68)" ( (binary_expression "pcVar13 + 0xcac68" identifier + number_literal) ))))))) ;) (expression_statement "iStack_278 = iVar4;" (assignment_expression "iStack_278 = iVar4" identifier = identifier) ;) (expression_statement "pcStack_274 = pcVar3;" (assignment_expression "pcStack_274 = pcVar3" identifier = identifier) ;) (expression_statement "pcStack_270 = pcVar22;" (assignment_expression "pcStack_270 = pcVar22" identifier = identifier) ;) (expression_statement "pcStack_26c = unaff_s3;" (assignment_expression "pcStack_26c = unaff_s3" identifier = identifier) ;) (expression_statement "pcStack_268 = unaff_s4;" (assignment_expression "pcStack_268 = unaff_s4" identifier = identifier) ;) (expression_statement "pcStack_264 = unaff_s5;" (assignment_expression "pcStack_264 = unaff_s5" identifier = identifier) ;) (expression_statement "pcStack_260 = unaff_s6;" (assignment_expression "pcStack_260 = unaff_s6" identifier = identifier) ;) (expression_statement "pcStack_25c = unaff_s7;" (assignment_expression "pcStack_25c = unaff_s7" identifier = identifier) ;) (expression_statement "pcStack_258 = unaff_s8;" (assignment_expression "pcStack_258 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_254 = pcVar31;" (assignment_expression "pcStack_254 = pcVar31" identifier = identifier) ;) (if_statement "if (*(int *)(*(int *)(pcVar13 + 0xca900) + -0xb90) == 0) {\n    uVar29 = (**(code **)(pcVar13 + 0xcae0c))(*(int *)(pcVar13 + 0xca914) + -0x45f4);\n    *(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90) = uVar29;\n  }" if (parenthesized_expression "(*(int *)(*(int *)(pcVar13 + 0xca900) + -0xb90) == 0)" ( (binary_expression "*(int *)(*(int *)(pcVar13 + 0xca900) + -0xb90) == 0" (pointer_expression "*(int *)(*(int *)(pcVar13 + 0xca900) + -0xb90)" * (cast_expression "(int *)(*(int *)(pcVar13 + 0xca900) + -0xb90)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar13 + 0xca900) + -0xb90)" ( (binary_expression "*(int *)(pcVar13 + 0xca900) + -0xb90" (pointer_expression "*(int *)(pcVar13 + 0xca900)" * (cast_expression "(int *)(pcVar13 + 0xca900)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0xca900)" ( (binary_expression "pcVar13 + 0xca900" identifier + number_literal) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    uVar29 = (**(code **)(pcVar13 + 0xcae0c))(*(int *)(pcVar13 + 0xca914) + -0x45f4);\n    *(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90) = uVar29;\n  }" { (expression_statement "uVar29 = (**(code **)(pcVar13 + 0xcae0c))(*(int *)(pcVar13 + 0xca914) + -0x45f4);" (assignment_expression "uVar29 = (**(code **)(pcVar13 + 0xcae0c))(*(int *)(pcVar13 + 0xca914) + -0x45f4)" identifier = (call_expression "(**(code **)(pcVar13 + 0xcae0c))(*(int *)(pcVar13 + 0xca914) + -0x45f4)" (parenthesized_expression "(**(code **)(pcVar13 + 0xcae0c))" ( (pointer_expression "**(code **)(pcVar13 + 0xcae0c)" * (pointer_expression "*(code **)(pcVar13 + 0xcae0c)" * (cast_expression "(code **)(pcVar13 + 0xcae0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0xcae0c)" ( (binary_expression "pcVar13 + 0xcae0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar13 + 0xca914) + -0x45f4)" ( (binary_expression "*(int *)(pcVar13 + 0xca914) + -0x45f4" (pointer_expression "*(int *)(pcVar13 + 0xca914)" * (cast_expression "(int *)(pcVar13 + 0xca914)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0xca914)" ( (binary_expression "pcVar13 + 0xca914" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "*(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90) = uVar29;" (assignment_expression "*(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90) = uVar29" (pointer_expression "*(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90)" * (cast_expression "(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_330 + -0x7fd8) + -0xb90)" ( (binary_expression "*(int *)(pcStack_330 + -0x7fd8) + -0xb90" (pointer_expression "*(int *)(pcStack_330 + -0x7fd8)" * (cast_expression "(int *)(pcStack_330 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_330 + -0x7fd8)" ( (binary_expression "pcStack_330 + -0x7fd8" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) })) (if_statement "if (*(int *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) == 0) {\n    uVar29 = (**(code **)(pcStack_330 + -0x7acc))(*(int *)(pcStack_330 + -0x7fc4) + -0x45e4);\n    *(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) = uVar29;\n  }" if (parenthesized_expression "(*(int *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) == 0)" ( (binary_expression "*(int *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) == 0" (pointer_expression "*(int *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c)" * (cast_expression "(int *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c)" ( (binary_expression "*(int *)(pcStack_330 + -0x7fd8) + -0xb8c" (pointer_expression "*(int *)(pcStack_330 + -0x7fd8)" * (cast_expression "(int *)(pcStack_330 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_330 + -0x7fd8)" ( (binary_expression "pcStack_330 + -0x7fd8" identifier + number_literal) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    uVar29 = (**(code **)(pcStack_330 + -0x7acc))(*(int *)(pcStack_330 + -0x7fc4) + -0x45e4);\n    *(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) = uVar29;\n  }" { (expression_statement "uVar29 = (**(code **)(pcStack_330 + -0x7acc))(*(int *)(pcStack_330 + -0x7fc4) + -0x45e4);" (assignment_expression "uVar29 = (**(code **)(pcStack_330 + -0x7acc))(*(int *)(pcStack_330 + -0x7fc4) + -0x45e4)" identifier = (call_expression "(**(code **)(pcStack_330 + -0x7acc))(*(int *)(pcStack_330 + -0x7fc4) + -0x45e4)" (parenthesized_expression "(**(code **)(pcStack_330 + -0x7acc))" ( (pointer_expression "**(code **)(pcStack_330 + -0x7acc)" * (pointer_expression "*(code **)(pcStack_330 + -0x7acc)" * (cast_expression "(code **)(pcStack_330 + -0x7acc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_330 + -0x7acc)" ( (binary_expression "pcStack_330 + -0x7acc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcStack_330 + -0x7fc4) + -0x45e4)" ( (binary_expression "*(int *)(pcStack_330 + -0x7fc4) + -0x45e4" (pointer_expression "*(int *)(pcStack_330 + -0x7fc4)" * (cast_expression "(int *)(pcStack_330 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_330 + -0x7fc4)" ( (binary_expression "pcStack_330 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "*(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) = uVar29;" (assignment_expression "*(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) = uVar29" (pointer_expression "*(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c)" * (cast_expression "(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c)" ( (binary_expression "*(int *)(pcStack_330 + -0x7fd8) + -0xb8c" (pointer_expression "*(int *)(pcStack_330 + -0x7fd8)" * (cast_expression "(int *)(pcStack_330 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_330 + -0x7fd8)" ( (binary_expression "pcStack_330 + -0x7fd8" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) })) (expression_statement "pcVar3 = (code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90);" (assignment_expression "pcVar3 = (code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90)" identifier = (cast_expression "(code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_330 + -0x7fd8) + -0xb90)" ( (binary_expression "*(int *)(pcStack_330 + -0x7fd8) + -0xb90" (pointer_expression "*(int *)(pcStack_330 + -0x7fd8)" * (cast_expression "(int *)(pcStack_330 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_330 + -0x7fd8)" ( (binary_expression "pcStack_330 + -0x7fd8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb78);" (assignment_expression "pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb78)" identifier = (cast_expression "(code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb78)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_330 + -0x7fd8) + -0xb78)" ( (binary_expression "*(int *)(pcStack_330 + -0x7fd8) + -0xb78" (pointer_expression "*(int *)(pcStack_330 + -0x7fd8)" * (cast_expression "(int *)(pcStack_330 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_330 + -0x7fd8)" ( (binary_expression "pcStack_330 + -0x7fd8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar26 = (code *)auStack_320;" (assignment_expression "pcVar26 = (code *)auStack_320" identifier = (cast_expression "(code *)auStack_320" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar4 = *(int *)(pcStack_330 + -0x7fd8);" (assignment_expression "iVar4 = *(int *)(pcStack_330 + -0x7fd8)" identifier = (pointer_expression "*(int *)(pcStack_330 + -0x7fd8)" * (cast_expression "(int *)(pcStack_330 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_330 + -0x7fd8)" ( (binary_expression "pcStack_330 + -0x7fd8" identifier + number_literal) ))))) ;) (expression_statement "pcVar13 = (code *)(iVar4 + -0x840);" (assignment_expression "pcVar13 = (code *)(iVar4 + -0x840)" identifier = (cast_expression "(code *)(iVar4 + -0x840)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + -0x840)" ( (binary_expression "iVar4 + -0x840" identifier + number_literal) )))) ;) (expression_statement "iVar27 = 0x4000;" (assignment_expression "iVar27 = 0x4000" identifier = number_literal) ;) (expression_statement "pcVar22 = pcStack_330;" (assignment_expression "pcVar22 = pcStack_330" identifier = identifier) ;) (while_statement "while( true ) {\n    pcVar30 = pcVar26;\n    if ((((pcVar5 != (code *)0x0) &&\n         (iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) &&\n        (pcVar30 = (code *)0x3, (uStack_308 & 0xf000) == 0x4000)) &&\n       (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) {\n      pcVar3 = (code *)&DAT_0000000c;\n      pcVar26 = (code *)&uStack_328;\n      pcVar13 = pcVar14 + (int)(pcVar25 + -2);\n      pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fc4) + -0x45dc);\n      iVar4 = *(int *)(pcStack_330 + -0x7fd8);\n      iVar27 = iVar4 + -0x840;\n      goto LAB_000c51a4;\n    }\n    pcVar23 = (code *)0x190a;\n    if (pcVar3 == pcVar31) break;\n    pcVar5 = *(code **)pcVar3;\n    pcVar3 = pcVar3 + 4;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    pcVar30 = pcVar26;\n    if ((((pcVar5 != (code *)0x0) &&\n         (iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) &&\n        (pcVar30 = (code *)0x3, (uStack_308 & 0xf000) == 0x4000)) &&\n       (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) {\n      pcVar3 = (code *)&DAT_0000000c;\n      pcVar26 = (code *)&uStack_328;\n      pcVar13 = pcVar14 + (int)(pcVar25 + -2);\n      pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fc4) + -0x45dc);\n      iVar4 = *(int *)(pcStack_330 + -0x7fd8);\n      iVar27 = iVar4 + -0x840;\n      goto LAB_000c51a4;\n    }\n    pcVar23 = (code *)0x190a;\n    if (pcVar3 == pcVar31) break;\n    pcVar5 = *(code **)pcVar3;\n    pcVar3 = pcVar3 + 4;\n  }" { (expression_statement "pcVar30 = pcVar26;" (assignment_expression "pcVar30 = pcVar26" identifier = identifier) ;) (if_statement "if ((((pcVar5 != (code *)0x0) &&\n         (iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) &&\n        (pcVar30 = (code *)0x3, (uStack_308 & 0xf000) == 0x4000)) &&\n       (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) {\n      pcVar3 = (code *)&DAT_0000000c;\n      pcVar26 = (code *)&uStack_328;\n      pcVar13 = pcVar14 + (int)(pcVar25 + -2);\n      pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fc4) + -0x45dc);\n      iVar4 = *(int *)(pcStack_330 + -0x7fd8);\n      iVar27 = iVar4 + -0x840;\n      goto LAB_000c51a4;\n    }" if (parenthesized_expression "((((pcVar5 != (code *)0x0) &&\n         (iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) &&\n        (pcVar30 = (code *)0x3, (uStack_308 & 0xf000) == 0x4000)) &&\n       (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0))" ( (binary_expression "(((pcVar5 != (code *)0x0) &&\n         (iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) &&\n        (pcVar30 = (code *)0x3, (uStack_308 & 0xf000) == 0x4000)) &&\n       (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)" (parenthesized_expression "(((pcVar5 != (code *)0x0) &&\n         (iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) &&\n        (pcVar30 = (code *)0x3, (uStack_308 & 0xf000) == 0x4000))" ( (binary_expression "((pcVar5 != (code *)0x0) &&\n         (iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) &&\n        (pcVar30 = (code *)0x3, (uStack_308 & 0xf000) == 0x4000)" (parenthesized_expression "((pcVar5 != (code *)0x0) &&\n         (iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0))" ( (binary_expression "(pcVar5 != (code *)0x0) &&\n         (iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)" (parenthesized_expression "(pcVar5 != (code *)0x0)" ( (binary_expression "pcVar5 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)" ( (comma_expression "iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0" (assignment_expression "iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5)" identifier = (call_expression "(**(code **)(iVar4 + -0x80c))(pcVar5)" (parenthesized_expression "(**(code **)(iVar4 + -0x80c))" ( (pointer_expression "**(code **)(iVar4 + -0x80c)" * (pointer_expression "*(code **)(iVar4 + -0x80c)" * (cast_expression "(code **)(iVar4 + -0x80c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + -0x80c)" ( (binary_expression "iVar4 + -0x80c" identifier + number_literal) ))))) )) (argument_list "(pcVar5)" ( identifier )))) , (comma_expression "pcVar22 = pcStack_330, iVar8 == 0" (assignment_expression "pcVar22 = pcStack_330" identifier = identifier) , (binary_expression "iVar8 == 0" identifier == number_literal))) ))) )) && (parenthesized_expression "(pcVar30 = (code *)0x3, (uStack_308 & 0xf000) == 0x4000)" ( (comma_expression "pcVar30 = (code *)0x3, (uStack_308 & 0xf000) == 0x4000" (assignment_expression "pcVar30 = (code *)0x3" identifier = (cast_expression "(code *)0x3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) , (binary_expression "(uStack_308 & 0xf000) == 0x4000" (parenthesized_expression "(uStack_308 & 0xf000)" ( (binary_expression "uStack_308 & 0xf000" identifier & number_literal) )) == number_literal)) ))) )) && (parenthesized_expression "(iVar8 = (**(code **)(iVar4 + -0x824))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)" ( (comma_expression "iVar8 = (**(code **)(iVar4 + -0x824))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0" (assignment_expression "iVar8 = (**(code **)(iVar4 + -0x824))(pcVar5)" identifier = (call_expression "(**(code **)(iVar4 + -0x824))(pcVar5)" (parenthesized_expression "(**(code **)(iVar4 + -0x824))" ( (pointer_expression "**(code **)(iVar4 + -0x824)" * (pointer_expression "*(code **)(iVar4 + -0x824)" * (cast_expression "(code **)(iVar4 + -0x824)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + -0x824)" ( (binary_expression "iVar4 + -0x824" identifier + number_literal) ))))) )) (argument_list "(pcVar5)" ( identifier )))) , (comma_expression "pcVar22 = pcStack_330, iVar8 == 0" (assignment_expression "pcVar22 = pcStack_330" identifier = identifier) , (binary_expression "iVar8 == 0" identifier == number_literal))) ))) )) (compound_statement "{\n      pcVar3 = (code *)&DAT_0000000c;\n      pcVar26 = (code *)&uStack_328;\n      pcVar13 = pcVar14 + (int)(pcVar25 + -2);\n      pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fc4) + -0x45dc);\n      iVar4 = *(int *)(pcStack_330 + -0x7fd8);\n      iVar27 = iVar4 + -0x840;\n      goto LAB_000c51a4;\n    }" { (expression_statement "pcVar3 = (code *)&DAT_0000000c;" (assignment_expression "pcVar3 = (code *)&DAT_0000000c" identifier = (cast_expression "(code *)&DAT_0000000c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000000c" & identifier))) ;) (expression_statement "pcVar26 = (code *)&uStack_328;" (assignment_expression "pcVar26 = (code *)&uStack_328" identifier = (cast_expression "(code *)&uStack_328" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_328" & identifier))) ;) (expression_statement "pcVar13 = pcVar14 + (int)(pcVar25 + -2);" (assignment_expression "pcVar13 = pcVar14 + (int)(pcVar25 + -2)" identifier = (binary_expression "pcVar14 + (int)(pcVar25 + -2)" identifier + (cast_expression "(int)(pcVar25 + -2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar25 + -2)" ( (binary_expression "pcVar25 + -2" identifier + number_literal) ))))) ;) (expression_statement "pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fc4) + -0x45dc);" (assignment_expression "pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fc4) + -0x45dc)" identifier = (cast_expression "(code *)(*(int *)(pcStack_330 + -0x7fc4) + -0x45dc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_330 + -0x7fc4) + -0x45dc)" ( (binary_expression "*(int *)(pcStack_330 + -0x7fc4) + -0x45dc" (pointer_expression "*(int *)(pcStack_330 + -0x7fc4)" * (cast_expression "(int *)(pcStack_330 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_330 + -0x7fc4)" ( (binary_expression "pcStack_330 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar4 = *(int *)(pcStack_330 + -0x7fd8);" (assignment_expression "iVar4 = *(int *)(pcStack_330 + -0x7fd8)" identifier = (pointer_expression "*(int *)(pcStack_330 + -0x7fd8)" * (cast_expression "(int *)(pcStack_330 + -0x7fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_330 + -0x7fd8)" ( (binary_expression "pcStack_330 + -0x7fd8" identifier + number_literal) ))))) ;) (expression_statement "iVar27 = iVar4 + -0x840;" (assignment_expression "iVar27 = iVar4 + -0x840" identifier = (binary_expression "iVar4 + -0x840" identifier + number_literal)) ;) (goto_statement "goto LAB_000c51a4;" goto statement_identifier ;) })) (expression_statement "pcVar23 = (code *)0x190a;" (assignment_expression "pcVar23 = (code *)0x190a" identifier = (cast_expression "(code *)0x190a" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (pcVar3 == pcVar31) break;" if (parenthesized_expression "(pcVar3 == pcVar31)" ( (binary_expression "pcVar3 == pcVar31" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "pcVar5 = *(code **)pcVar3;" (assignment_expression "pcVar5 = *(code **)pcVar3" identifier = (pointer_expression "*(code **)pcVar3" * (cast_expression "(code **)pcVar3" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pcVar3 = pcVar3 + 4;" (assignment_expression "pcVar3 = pcVar3 + 4" identifier = (binary_expression "pcVar3 + 4" identifier + number_literal)) ;) })) (goto_statement "goto LAB_000c5230;" goto statement_identifier ;) (labeled_statement "joined_r0x000c5ce4:\n  if (param_4 == pcVar5) goto LAB_000c5d10;" statement_identifier : (if_statement "if (param_4 == pcVar5) goto LAB_000c5d10;" if (parenthesized_expression "(param_4 == pcVar5)" ( (binary_expression "param_4 == pcVar5" identifier == identifier) )) (goto_statement "goto LAB_000c5d10;" goto statement_identifier ;))) (expression_statement "piVar21 = (int *)piVar11[2];" (assignment_expression "piVar21 = (int *)piVar11[2]" identifier = (cast_expression "(int *)piVar11[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar11[2]" identifier [ number_literal ]))) ;) (if_statement "if (piVar21 == (int *)0x0) goto LAB_000c6494;" if (parenthesized_expression "(piVar21 == (int *)0x0)" ( (binary_expression "piVar21 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c6494;" goto statement_identifier ;)) (expression_statement "pcVar5 = (code *)piVar21[1];" (assignment_expression "pcVar5 = (code *)piVar21[1]" identifier = (cast_expression "(code *)piVar21[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar21[1]" identifier [ number_literal ]))) ;) (expression_statement "piVar12 = piVar11 + 2;" (assignment_expression "piVar12 = piVar11 + 2" identifier = (binary_expression "piVar11 + 2" identifier + number_literal)) ;) (expression_statement "piVar11 = piVar21;" (assignment_expression "piVar11 = piVar21" identifier = identifier) ;) (goto_statement "goto joined_r0x000c5ce4;" goto statement_identifier ;) (labeled_statement "LAB_000c5d10:\n  *piVar12 = piVar11[2];" statement_identifier : (expression_statement "*piVar12 = piVar11[2];" (assignment_expression "*piVar12 = piVar11[2]" (pointer_expression "*piVar12" * identifier) = (subscript_expression "piVar11[2]" identifier [ number_literal ])) ;)) (expression_statement "(**(code **)(pcVar22 + 0xca2ac))(piVar10[4]);" (call_expression "(**(code **)(pcVar22 + 0xca2ac))(piVar10[4])" (parenthesized_expression "(**(code **)(pcVar22 + 0xca2ac))" ( (pointer_expression "**(code **)(pcVar22 + 0xca2ac)" * (pointer_expression "*(code **)(pcVar22 + 0xca2ac)" * (cast_expression "(code **)(pcVar22 + 0xca2ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca2ac)" ( (binary_expression "pcVar22 + 0xca2ac" identifier + number_literal) ))))) )) (argument_list "(piVar10[4])" ( (subscript_expression "piVar10[4]" identifier [ number_literal ]) ))) ;) (expression_statement "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();" (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca25c) + 0x27b8)" ( (binary_expression "*(int *)(pcVar22 + 0xca25c) + 0x27b8" (pointer_expression "*(int *)(pcVar22 + 0xca25c)" * (cast_expression "(int *)(pcVar22 + 0xca25c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca25c)" ( (binary_expression "pcVar22 + 0xca25c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (expression_statement "iVar4 = *piVar11;" (assignment_expression "iVar4 = *piVar11" identifier = (pointer_expression "*piVar11" * identifier)) ;) (goto_statement "goto LAB_000c5d44;" goto statement_identifier ;) (labeled_statement "LAB_000c6494:\n  (**(code **)(pcVar22 + 0xca2ac))(piVar10[4]);" statement_identifier : (expression_statement "(**(code **)(pcVar22 + 0xca2ac))(piVar10[4]);" (call_expression "(**(code **)(pcVar22 + 0xca2ac))(piVar10[4])" (parenthesized_expression "(**(code **)(pcVar22 + 0xca2ac))" ( (pointer_expression "**(code **)(pcVar22 + 0xca2ac)" * (pointer_expression "*(code **)(pcVar22 + 0xca2ac)" * (cast_expression "(code **)(pcVar22 + 0xca2ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca2ac)" ( (binary_expression "pcVar22 + 0xca2ac" identifier + number_literal) ))))) )) (argument_list "(piVar10[4])" ( (subscript_expression "piVar10[4]" identifier [ number_literal ]) ))) ;)) (expression_statement "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();" (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca25c) + 0x27b8)" ( (binary_expression "*(int *)(pcVar22 + 0xca25c) + 0x27b8" (pointer_expression "*(int *)(pcVar22 + 0xca25c)" * (cast_expression "(int *)(pcVar22 + 0xca25c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca25c)" ( (binary_expression "pcVar22 + 0xca25c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_000c642c;" goto statement_identifier ;) (while_statement "while (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar14), iVar8 == 0) {\nLAB_000c51a4:\n    sqlite3_randomness(8,pcVar26);\n    *pcVar13 = (code)0x0;\n    uStack_338 = 0;\n    uStack_33c = uStack_324;\n    uStack_340 = uStack_328;\n    pcVar30 = pcVar14;\n    pcVar6 = pcVar31;\n    param_4 = pcVar5;\n    (**(code **)(pcStack_330 + -0x7ec4))(pcVar25);\n    pcVar3 = pcVar3 + -1;\n    if ((*pcVar13 != (code)0x0) || (pcVar30 = (code *)0x0, pcVar3 == (code *)0x0)) {\n      pcVar23 = (code *)0x1;\n      pcVar22 = pcStack_330;\n      goto LAB_000c5230;\n    }\n  }" while (parenthesized_expression "(iVar8 = (**(code **)(iVar4 + -0x824))(pcVar14), iVar8 == 0)" ( (comma_expression "iVar8 = (**(code **)(iVar4 + -0x824))(pcVar14), iVar8 == 0" (assignment_expression "iVar8 = (**(code **)(iVar4 + -0x824))(pcVar14)" identifier = (call_expression "(**(code **)(iVar4 + -0x824))(pcVar14)" (parenthesized_expression "(**(code **)(iVar4 + -0x824))" ( (pointer_expression "**(code **)(iVar4 + -0x824)" * (pointer_expression "*(code **)(iVar4 + -0x824)" * (cast_expression "(code **)(iVar4 + -0x824)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + -0x824)" ( (binary_expression "iVar4 + -0x824" identifier + number_literal) ))))) )) (argument_list "(pcVar14)" ( identifier )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) )) (compound_statement "{\nLAB_000c51a4:\n    sqlite3_randomness(8,pcVar26);\n    *pcVar13 = (code)0x0;\n    uStack_338 = 0;\n    uStack_33c = uStack_324;\n    uStack_340 = uStack_328;\n    pcVar30 = pcVar14;\n    pcVar6 = pcVar31;\n    param_4 = pcVar5;\n    (**(code **)(pcStack_330 + -0x7ec4))(pcVar25);\n    pcVar3 = pcVar3 + -1;\n    if ((*pcVar13 != (code)0x0) || (pcVar30 = (code *)0x0, pcVar3 == (code *)0x0)) {\n      pcVar23 = (code *)0x1;\n      pcVar22 = pcStack_330;\n      goto LAB_000c5230;\n    }\n  }" { (labeled_statement "LAB_000c51a4:\n    sqlite3_randomness(8,pcVar26);" statement_identifier : (expression_statement "sqlite3_randomness(8,pcVar26);" (call_expression "sqlite3_randomness(8,pcVar26)" identifier (argument_list "(8,pcVar26)" ( number_literal , identifier ))) ;)) (expression_statement "*pcVar13 = (code)0x0;" (assignment_expression "*pcVar13 = (code)0x0" (pointer_expression "*pcVar13" * identifier) = (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (expression_statement "uStack_338 = 0;" (assignment_expression "uStack_338 = 0" identifier = number_literal) ;) (expression_statement "uStack_33c = uStack_324;" (assignment_expression "uStack_33c = uStack_324" identifier = identifier) ;) (expression_statement "uStack_340 = uStack_328;" (assignment_expression "uStack_340 = uStack_328" identifier = identifier) ;) (expression_statement "pcVar30 = pcVar14;" (assignment_expression "pcVar30 = pcVar14" identifier = identifier) ;) (expression_statement "pcVar6 = pcVar31;" (assignment_expression "pcVar6 = pcVar31" identifier = identifier) ;) (expression_statement "param_4 = pcVar5;" (assignment_expression "param_4 = pcVar5" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_330 + -0x7ec4))(pcVar25);" (call_expression "(**(code **)(pcStack_330 + -0x7ec4))(pcVar25)" (parenthesized_expression "(**(code **)(pcStack_330 + -0x7ec4))" ( (pointer_expression "**(code **)(pcStack_330 + -0x7ec4)" * (pointer_expression "*(code **)(pcStack_330 + -0x7ec4)" * (cast_expression "(code **)(pcStack_330 + -0x7ec4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_330 + -0x7ec4)" ( (binary_expression "pcStack_330 + -0x7ec4" identifier + number_literal) ))))) )) (argument_list "(pcVar25)" ( identifier ))) ;) (expression_statement "pcVar3 = pcVar3 + -1;" (assignment_expression "pcVar3 = pcVar3 + -1" identifier = (binary_expression "pcVar3 + -1" identifier + number_literal)) ;) (if_statement "if ((*pcVar13 != (code)0x0) || (pcVar30 = (code *)0x0, pcVar3 == (code *)0x0)) {\n      pcVar23 = (code *)0x1;\n      pcVar22 = pcStack_330;\n      goto LAB_000c5230;\n    }" if (parenthesized_expression "((*pcVar13 != (code)0x0) || (pcVar30 = (code *)0x0, pcVar3 == (code *)0x0))" ( (binary_expression "(*pcVar13 != (code)0x0) || (pcVar30 = (code *)0x0, pcVar3 == (code *)0x0)" (parenthesized_expression "(*pcVar13 != (code)0x0)" ( (binary_expression "*pcVar13 != (code)0x0" (pointer_expression "*pcVar13" * identifier) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) || (parenthesized_expression "(pcVar30 = (code *)0x0, pcVar3 == (code *)0x0)" ( (comma_expression "pcVar30 = (code *)0x0, pcVar3 == (code *)0x0" (assignment_expression "pcVar30 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) , (binary_expression "pcVar3 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n      pcVar23 = (code *)0x1;\n      pcVar22 = pcStack_330;\n      goto LAB_000c5230;\n    }" { (expression_statement "pcVar23 = (code *)0x1;" (assignment_expression "pcVar23 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar22 = pcStack_330;" (assignment_expression "pcVar22 = pcStack_330" identifier = identifier) ;) (goto_statement "goto LAB_000c5230;" goto statement_identifier ;) })) })) (expression_statement "pcVar23 = (code *)0x0;" (assignment_expression "pcVar23 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar30 = pcVar26;" (assignment_expression "pcVar30 = pcVar26" identifier = identifier) ;) (expression_statement "pcVar22 = pcStack_330;" (assignment_expression "pcVar22 = pcStack_330" identifier = identifier) ;) (labeled_statement "LAB_000c5230:\n  if (iStack_27c == **(int **)(pcVar22 + -0x7a54)) {\n    return pcVar23;\n  }" statement_identifier : (if_statement "if (iStack_27c == **(int **)(pcVar22 + -0x7a54)) {\n    return pcVar23;\n  }" if (parenthesized_expression "(iStack_27c == **(int **)(pcVar22 + -0x7a54))" ( (binary_expression "iStack_27c == **(int **)(pcVar22 + -0x7a54)" identifier == (pointer_expression "**(int **)(pcVar22 + -0x7a54)" * (pointer_expression "*(int **)(pcVar22 + -0x7a54)" * (cast_expression "(int **)(pcVar22 + -0x7a54)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + -0x7a54)" ( (binary_expression "pcVar22 + -0x7a54" identifier + number_literal) )))))) )) (compound_statement "{\n    return pcVar23;\n  }" { (return_statement "return pcVar23;" return identifier ;) }))) (expression_statement "pcVar22 = *(code **)(pcVar22 + -0x7a80);" (assignment_expression "pcVar22 = *(code **)(pcVar22 + -0x7a80)" identifier = (pointer_expression "*(code **)(pcVar22 + -0x7a80)" * (cast_expression "(code **)(pcVar22 + -0x7a80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + -0x7a80)" ( (binary_expression "pcVar22 + -0x7a80" identifier + number_literal) ))))) ;) (expression_statement "uVar29 = 0xc527c;" (assignment_expression "uVar29 = 0xc527c" identifier = number_literal) ;) (expression_statement "iVar4 = iStack_27c;" (assignment_expression "iVar4 = iStack_27c" identifier = identifier) ;) (expression_statement "(*pcVar22)();" (call_expression "(*pcVar22)()" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_448 = pcVar22 + 0xd26a4;" (assignment_expression "pcStack_448 = pcVar22 + 0xd26a4" identifier = (binary_expression "pcVar22 + 0xd26a4" identifier + number_literal)) ;) (expression_statement "iVar8 = **(int **)(pcVar22 + 0xcac50);" (assignment_expression "iVar8 = **(int **)(pcVar22 + 0xcac50)" identifier = (pointer_expression "**(int **)(pcVar22 + 0xcac50)" * (pointer_expression "*(int **)(pcVar22 + 0xcac50)" * (cast_expression "(int **)(pcVar22 + 0xcac50)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xcac50)" ( (binary_expression "pcVar22 + 0xcac50" identifier + number_literal) )))))) ;) (expression_statement "iStack_37c = iVar8;" (assignment_expression "iStack_37c = iVar8" identifier = identifier) ;) (expression_statement "pcStack_378 = pcVar3;" (assignment_expression "pcStack_378 = pcVar3" identifier = identifier) ;) (expression_statement "pcStack_374 = pcVar5;" (assignment_expression "pcStack_374 = pcVar5" identifier = identifier) ;) (expression_statement "pcStack_370 = pcVar14;" (assignment_expression "pcStack_370 = pcVar14" identifier = identifier) ;) (expression_statement "pcStack_36c = pcVar13;" (assignment_expression "pcStack_36c = pcVar13" identifier = identifier) ;) (expression_statement "pcStack_368 = pcVar25;" (assignment_expression "pcStack_368 = pcVar25" identifier = identifier) ;) (expression_statement "pcStack_364 = pcVar31;" (assignment_expression "pcStack_364 = pcVar31" identifier = identifier) ;) (expression_statement "pcStack_360 = pcVar26;" (assignment_expression "pcStack_360 = pcVar26" identifier = identifier) ;) (expression_statement "pcStack_35c = pcVar23;" (assignment_expression "pcStack_35c = pcVar23" identifier = identifier) ;) (expression_statement "iStack_358 = iVar27;" (assignment_expression "iStack_358 = iVar27" identifier = identifier) ;) (expression_statement "uStack_354 = uVar29;" (assignment_expression "uStack_354 = uVar29" identifier = identifier) ;) (if_statement "if (pcVar30 < &DAT_00000015) {\n                    \n                    \n    pcVar22 = (code *)(*(pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)))();\n    return pcVar22;\n  }" if (parenthesized_expression "(pcVar30 < &DAT_00000015)" ( (binary_expression "pcVar30 < &DAT_00000015" identifier < (pointer_expression "&DAT_00000015" & identifier)) )) (compound_statement "{\n                    \n                    \n    pcVar22 = (code *)(*(pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)))();\n    return pcVar22;\n  }" { (expression_statement "pcVar22 = (code *)(*(pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)))();" (assignment_expression "pcVar22 = (code *)(*(pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)))()" identifier = (cast_expression "(code *)(*(pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)))()" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)))()" (parenthesized_expression "(*(pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)))" ( (pointer_expression "*(pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4))" * (parenthesized_expression "(pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4))" ( (binary_expression "pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)" identifier + (pointer_expression "*(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)" * (cast_expression "(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)" ( (binary_expression "*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4" (binary_expression "*(int *)(pcVar22 + 0xca6e0) + 0x37fc" (pointer_expression "*(int *)(pcVar22 + 0xca6e0)" * (cast_expression "(int *)(pcVar22 + 0xca6e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca6e0)" ( (binary_expression "pcVar22 + 0xca6e0" identifier + number_literal) )))) + number_literal) + (binary_expression "(int)pcVar30 * 4" (cast_expression "(int)pcVar30" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ))) )) (argument_list "()" ( ))))) ;) (return_statement "return pcVar22;" return identifier ;) })) (if_statement "if (iVar8 == **(int **)(pcVar22 + 0xcac50)) {\n    return (code *)&DAT_0000000c;\n  }" if (parenthesized_expression "(iVar8 == **(int **)(pcVar22 + 0xcac50))" ( (binary_expression "iVar8 == **(int **)(pcVar22 + 0xcac50)" identifier == (pointer_expression "**(int **)(pcVar22 + 0xcac50)" * (pointer_expression "*(int **)(pcVar22 + 0xcac50)" * (cast_expression "(int **)(pcVar22 + 0xcac50)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xcac50)" ( (binary_expression "pcVar22 + 0xcac50" identifier + number_literal) )))))) )) (compound_statement "{\n    return (code *)&DAT_0000000c;\n  }" { (return_statement "return (code *)&DAT_0000000c;" return (cast_expression "(code *)&DAT_0000000c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000000c" & identifier)) ;) })) (expression_statement "pcVar22 = *(code **)(pcVar22 + 0xcac24);" (assignment_expression "pcVar22 = *(code **)(pcVar22 + 0xcac24)" identifier = (pointer_expression "*(code **)(pcVar22 + 0xcac24)" * (cast_expression "(code **)(pcVar22 + 0xcac24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xcac24)" ( (binary_expression "pcVar22 + 0xcac24" identifier + number_literal) ))))) ;) (expression_statement "uVar29 = 0xc58fc;" (assignment_expression "uVar29 = 0xc58fc" identifier = number_literal) ;) (expression_statement "(*pcVar22)();" (call_expression "(*pcVar22)()" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iStack_494 = **(int **)(pcVar22 + 0xca5d0);" (assignment_expression "iStack_494 = **(int **)(pcVar22 + 0xca5d0)" identifier = (pointer_expression "**(int **)(pcVar22 + 0xca5d0)" * (pointer_expression "*(int **)(pcVar22 + 0xca5d0)" * (cast_expression "(int **)(pcVar22 + 0xca5d0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca5d0)" ( (binary_expression "pcVar22 + 0xca5d0" identifier + number_literal) )))))) ;) (expression_statement "uVar20 = (uint)param_4 & 0xffffff00;" (assignment_expression "uVar20 = (uint)param_4 & 0xffffff00" identifier = (binary_expression "(uint)param_4 & 0xffffff00" (cast_expression "(uint)param_4" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uVar18 = (uint)param_4 & 8;" (assignment_expression "uVar18 = (uint)param_4 & 8" identifier = (binary_expression "(uint)param_4 & 8" (cast_expression "(uint)param_4" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uStack_958 = (uint)param_4 & 1;" (assignment_expression "uStack_958 = (uint)param_4 & 1" identifier = (binary_expression "(uint)param_4 & 1" (cast_expression "(uint)param_4" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uVar9 = (uint)param_4 & 2;" (assignment_expression "uVar9 = (uint)param_4 & 2" identifier = (binary_expression "(uint)param_4 & 2" (cast_expression "(uint)param_4" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "pcStack_96c = pcVar30;" (assignment_expression "pcStack_96c = pcVar30" identifier = identifier) ;) (expression_statement "iStack_490 = iVar4;" (assignment_expression "iStack_490 = iVar4" identifier = identifier) ;) (expression_statement "pcStack_48c = pcVar5;" (assignment_expression "pcStack_48c = pcVar5" identifier = identifier) ;) (expression_statement "pcStack_488 = pcVar14;" (assignment_expression "pcStack_488 = pcVar14" identifier = identifier) ;) (expression_statement "pcStack_484 = pcVar13;" (assignment_expression "pcStack_484 = pcVar13" identifier = identifier) ;) (expression_statement "pcStack_480 = pcVar25;" (assignment_expression "pcStack_480 = pcVar25" identifier = identifier) ;) (expression_statement "pcStack_47c = pcVar31;" (assignment_expression "pcStack_47c = pcVar31" identifier = identifier) ;) (expression_statement "pcStack_478 = pcVar26;" (assignment_expression "pcStack_478 = pcVar26" identifier = identifier) ;) (expression_statement "pcStack_474 = pcVar23;" (assignment_expression "pcStack_474 = pcVar23" identifier = identifier) ;) (expression_statement "iStack_470 = iVar27;" (assignment_expression "iStack_470 = iVar27" identifier = identifier) ;) (expression_statement "uStack_46c = uVar29;" (assignment_expression "uStack_46c = uVar29" identifier = identifier) ;) (if_statement "if (((uint)param_4 & 4) == 0) {\nLAB_000c59a0:\n    iVar4 = (**(code **)(pcVar22 + 0xca564))();\n    if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {\n      bVar1 = false;\n      goto LAB_000c59cc;\n    }\n    bVar1 = false;\nLAB_000c59fc:\n    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);\n    if (uVar20 != 0x100) goto LAB_000c5a24;\n    (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n    if (*(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228) == 0) {\nLAB_000c6414:\n      iVar4 = *(int *)(pcVar22 + 0xca25c);\n    }\n    else {\n      iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(pcVar30,aiStack_940);\n      if ((iVar4 != 0) ||\n         (piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0))\n      goto LAB_000c6414;\n      do {\n        if ((((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c)) {\n          (**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);\n          piVar11 = (int *)piVar10[8];\n          if (piVar11 == (int *)0x0) goto LAB_000c6494;\n          pcVar5 = (code *)piVar11[1];\n          piVar12 = piVar10 + 8;\n          goto joined_r0x000c5ce4;\n        }\n        piVar10 = (int *)piVar10[0xb];\n        iVar4 = *(int *)(pcVar22 + 0xca25c);\n      } while (piVar10 != (int *)0x0);\n    }\n    (*(code *)(iVar4 + 0x27b8))();\nLAB_000c642c:\n    piVar11 = (int *)(**(code **)(pcVar22 + 0xca0d4))(0,0xc);\n    if (piVar11 == (int *)0x0) {\n      pcVar5 = (code *)&DAT_00000007;\n      goto LAB_000c602c;\n    }\n    iVar4 = -1;\nLAB_000c5d44:\n    *(int **)(pcVar6 + 0x1c) = piVar11;\nLAB_000c5a34:\n    uStack_968 = uVar9;\n    if (((uint)param_4 & 4) != 0) {\n      uStack_968 = uVar9 | 0x100;\n    }\n    if (((uint)param_4 & 0x10) != 0) {\n      uStack_968 = uStack_968 | 0x20400;\n    }\n    if (iVar4 < 0) {\n      if (((uint)param_4 & 0x80800) == 0) {\n        uVar28 = 0x180;\n        if ((uVar18 == 0) && (uVar28 = 0, ((uint)param_4 & 0x40) != 0)) {\n          iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }\n          uVar28 = 0;\n        }\nLAB_000c5e0c:\n        uStack_954 = 0;\n        uStack_960 = 0;\n      }\n      else {\n        iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c);\n        iVar27 = iVar4 + -1;\n        if (pcStack_96c[iVar27] != (code)0x2d) {\n          if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }\n          uVar28 = 0;\n          goto LAB_000c5e0c;\n        }\nLAB_000c5e78:\n        (**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201);\n        auStack_89c[iVar27] = 0;\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940);\n        if (iVar4 == 0) {\n          uVar28 = uStack_928 & 0x1ff;\n          uStack_960 = uStack_920;\n          uStack_954 = uStack_91c;\n          pcVar5 = (code *)0x0;\n        }\n        else {\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }\nLAB_000c5ee0:\n        if (pcVar5 != (code *)0x0) goto LAB_000c602c;\n      }\n      iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                        (pcStack_96c,uStack_968 | 0x2000,uVar28);\n      if (-1 < iVar4) {\nLAB_000c5e40:\n        if (((uint)param_4 & 0x80800) != 0) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);\n        }\n        goto LAB_000c5a6c;\n      }\n      pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n      if (bVar1) {\n        piVar10 = (int *)(*pcVar5)();\n        if (*piVar10 != 0xd) {\n          pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n          goto LAB_000c5fb8;\n        }\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))(pcStack_96c,0);\n        pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n        if (iVar4 == 0) goto LAB_000c5fb8;\n        uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n        (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                  (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634);\n        pcVar5 = (code *)0x608;\n      }\n      else {\nLAB_000c5fb8:\n        piVar10 = (int *)(*pcVar5)();\n        if ((*piVar10 == 0x15) || (uVar9 == 0)) {\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        else {\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        if (pcVar5 == (code *)0x0) goto LAB_000c602c;\n      }\nLAB_000c630c:\n      iVar4 = *(int *)(pcVar6 + 0x1c);\nLAB_000c6310:\n      (**(code **)(pcVar22 + 0xca07c))(iVar4);\n    }\n    else {\nLAB_000c5a6c:\n      if (puStack_458 != (undefined4 *)0x0) {\n        *puStack_458 = param_4;\n      }\n      if (*(int **)(pcVar6 + 0x1c) != (int *)0x0) {\n        **(int **)(pcVar6 + 0x1c) = iVar4;\n        *(code **)(*(int *)(pcVar6 + 0x1c) + 4) = param_4;\n      }\n      if (uVar18 != 0) {\n        (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))(pcStack_96c);\n        uVar18 = 0x20;\n      }\n      if (uStack_958 != 0) {\n        uVar18 = uVar18 | 2;\n      }\n      if (uVar20 != 0x100) {\n        uVar18 = uVar18 | 0x80;\n      }\n      if (bVar1) {\n        uVar18 = uVar18 | 8;\n      }\n      if (((uint)param_4 & 0x40) == 0) {\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = (code *)0x0;\n      }\n      else {\n        uVar18 = uVar18 | 0x40;\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = pcVar30;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca37c))(pcVar5,*(int *)(pcVar22 + 0xca060) + -0x45c0,1);\n      iVar16 = *(int *)(pcVar22 + 0xca060);\n      if (iVar27 != 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 0x10;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca610))(*(undefined4 *)(iVar8 + 0x10),iVar16 + -0x45b8);\n      if (iVar27 == 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 1;\n      }\n      if ((uVar18 & 0x80) == 0) {\n        iVar27 = (*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6);\n        if (iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n          iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);\n          if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n        }\n        else {\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }\n        *(int *)(pcVar6 + 0x14) = 0;\n        if (pcVar5 != (code *)0x0) {\n          if (iVar4 < 0) goto LAB_000c630c;\n          (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);\n          iVar4 = *(int *)(pcVar6 + 0x1c);\n          goto LAB_000c6310;\n        }\n      }\n      else {\n        iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4;\nLAB_000c6394:\n        *(int *)(pcVar6 + 0x14) = 0;\n      }\n      *(int *)pcVar6 = iVar27;\n      (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524))(pcVar6);\n      pcVar5 = (code *)0x0;\n    }\n  }\n  else {\n    if ((uVar20 == 0x4000) || (uVar20 == 0x800)) {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n    }\n    else {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n      if (uVar20 != 0x80000) goto LAB_000c59a0;\n    }\n    iVar4 = (*pcVar5)();\n    if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {\n      bVar1 = true;\nLAB_000c59cc:\n      uVar29 = (**(code **)(pcVar22 + 0xca564))();\n      *(undefined4 *)(*(int *)(pcVar22 + 0xca04c) + 0x230) = uVar29;\n      sqlite3_randomness(0,0);\n      goto LAB_000c59fc;\n    }\n    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);\n    bVar1 = true;\nLAB_000c5a24:\n    iVar4 = -1;\n    if (pcVar30 != (code *)0x0) goto LAB_000c5a34;\n    pcVar5 = (code *)FUN_000c5048(*(undefined4 *)(iVar8 + 8),auStack_698);\n    if (pcVar5 == (code *)0x0) {\n      iVar4 = -1;\n      pcStack_96c = (code *)auStack_698;\n      goto LAB_000c5a34;\n    }\n  }" if (parenthesized_expression "(((uint)param_4 & 4) == 0)" ( (binary_expression "((uint)param_4 & 4) == 0" (parenthesized_expression "((uint)param_4 & 4)" ( (binary_expression "(uint)param_4 & 4" (cast_expression "(uint)param_4" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_000c59a0:\n    iVar4 = (**(code **)(pcVar22 + 0xca564))();\n    if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {\n      bVar1 = false;\n      goto LAB_000c59cc;\n    }\n    bVar1 = false;\nLAB_000c59fc:\n    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);\n    if (uVar20 != 0x100) goto LAB_000c5a24;\n    (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n    if (*(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228) == 0) {\nLAB_000c6414:\n      iVar4 = *(int *)(pcVar22 + 0xca25c);\n    }\n    else {\n      iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(pcVar30,aiStack_940);\n      if ((iVar4 != 0) ||\n         (piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0))\n      goto LAB_000c6414;\n      do {\n        if ((((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c)) {\n          (**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);\n          piVar11 = (int *)piVar10[8];\n          if (piVar11 == (int *)0x0) goto LAB_000c6494;\n          pcVar5 = (code *)piVar11[1];\n          piVar12 = piVar10 + 8;\n          goto joined_r0x000c5ce4;\n        }\n        piVar10 = (int *)piVar10[0xb];\n        iVar4 = *(int *)(pcVar22 + 0xca25c);\n      } while (piVar10 != (int *)0x0);\n    }\n    (*(code *)(iVar4 + 0x27b8))();\nLAB_000c642c:\n    piVar11 = (int *)(**(code **)(pcVar22 + 0xca0d4))(0,0xc);\n    if (piVar11 == (int *)0x0) {\n      pcVar5 = (code *)&DAT_00000007;\n      goto LAB_000c602c;\n    }\n    iVar4 = -1;\nLAB_000c5d44:\n    *(int **)(pcVar6 + 0x1c) = piVar11;\nLAB_000c5a34:\n    uStack_968 = uVar9;\n    if (((uint)param_4 & 4) != 0) {\n      uStack_968 = uVar9 | 0x100;\n    }\n    if (((uint)param_4 & 0x10) != 0) {\n      uStack_968 = uStack_968 | 0x20400;\n    }\n    if (iVar4 < 0) {\n      if (((uint)param_4 & 0x80800) == 0) {\n        uVar28 = 0x180;\n        if ((uVar18 == 0) && (uVar28 = 0, ((uint)param_4 & 0x40) != 0)) {\n          iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }\n          uVar28 = 0;\n        }\nLAB_000c5e0c:\n        uStack_954 = 0;\n        uStack_960 = 0;\n      }\n      else {\n        iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c);\n        iVar27 = iVar4 + -1;\n        if (pcStack_96c[iVar27] != (code)0x2d) {\n          if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }\n          uVar28 = 0;\n          goto LAB_000c5e0c;\n        }\nLAB_000c5e78:\n        (**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201);\n        auStack_89c[iVar27] = 0;\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940);\n        if (iVar4 == 0) {\n          uVar28 = uStack_928 & 0x1ff;\n          uStack_960 = uStack_920;\n          uStack_954 = uStack_91c;\n          pcVar5 = (code *)0x0;\n        }\n        else {\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }\nLAB_000c5ee0:\n        if (pcVar5 != (code *)0x0) goto LAB_000c602c;\n      }\n      iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                        (pcStack_96c,uStack_968 | 0x2000,uVar28);\n      if (-1 < iVar4) {\nLAB_000c5e40:\n        if (((uint)param_4 & 0x80800) != 0) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);\n        }\n        goto LAB_000c5a6c;\n      }\n      pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n      if (bVar1) {\n        piVar10 = (int *)(*pcVar5)();\n        if (*piVar10 != 0xd) {\n          pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n          goto LAB_000c5fb8;\n        }\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))(pcStack_96c,0);\n        pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n        if (iVar4 == 0) goto LAB_000c5fb8;\n        uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n        (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                  (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634);\n        pcVar5 = (code *)0x608;\n      }\n      else {\nLAB_000c5fb8:\n        piVar10 = (int *)(*pcVar5)();\n        if ((*piVar10 == 0x15) || (uVar9 == 0)) {\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        else {\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        if (pcVar5 == (code *)0x0) goto LAB_000c602c;\n      }\nLAB_000c630c:\n      iVar4 = *(int *)(pcVar6 + 0x1c);\nLAB_000c6310:\n      (**(code **)(pcVar22 + 0xca07c))(iVar4);\n    }\n    else {\nLAB_000c5a6c:\n      if (puStack_458 != (undefined4 *)0x0) {\n        *puStack_458 = param_4;\n      }\n      if (*(int **)(pcVar6 + 0x1c) != (int *)0x0) {\n        **(int **)(pcVar6 + 0x1c) = iVar4;\n        *(code **)(*(int *)(pcVar6 + 0x1c) + 4) = param_4;\n      }\n      if (uVar18 != 0) {\n        (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))(pcStack_96c);\n        uVar18 = 0x20;\n      }\n      if (uStack_958 != 0) {\n        uVar18 = uVar18 | 2;\n      }\n      if (uVar20 != 0x100) {\n        uVar18 = uVar18 | 0x80;\n      }\n      if (bVar1) {\n        uVar18 = uVar18 | 8;\n      }\n      if (((uint)param_4 & 0x40) == 0) {\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = (code *)0x0;\n      }\n      else {\n        uVar18 = uVar18 | 0x40;\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = pcVar30;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca37c))(pcVar5,*(int *)(pcVar22 + 0xca060) + -0x45c0,1);\n      iVar16 = *(int *)(pcVar22 + 0xca060);\n      if (iVar27 != 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 0x10;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca610))(*(undefined4 *)(iVar8 + 0x10),iVar16 + -0x45b8);\n      if (iVar27 == 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 1;\n      }\n      if ((uVar18 & 0x80) == 0) {\n        iVar27 = (*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6);\n        if (iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n          iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);\n          if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n        }\n        else {\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }\n        *(int *)(pcVar6 + 0x14) = 0;\n        if (pcVar5 != (code *)0x0) {\n          if (iVar4 < 0) goto LAB_000c630c;\n          (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);\n          iVar4 = *(int *)(pcVar6 + 0x1c);\n          goto LAB_000c6310;\n        }\n      }\n      else {\n        iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4;\nLAB_000c6394:\n        *(int *)(pcVar6 + 0x14) = 0;\n      }\n      *(int *)pcVar6 = iVar27;\n      (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524))(pcVar6);\n      pcVar5 = (code *)0x0;\n    }\n  }" { (labeled_statement "LAB_000c59a0:\n    iVar4 = (**(code **)(pcVar22 + 0xca564))();" statement_identifier : (expression_statement "iVar4 = (**(code **)(pcVar22 + 0xca564))();" (assignment_expression "iVar4 = (**(code **)(pcVar22 + 0xca564))()" identifier = (call_expression "(**(code **)(pcVar22 + 0xca564))()" (parenthesized_expression "(**(code **)(pcVar22 + 0xca564))" ( (pointer_expression "**(code **)(pcVar22 + 0xca564)" * (pointer_expression "*(code **)(pcVar22 + 0xca564)" * (cast_expression "(code **)(pcVar22 + 0xca564)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca564)" ( (binary_expression "pcVar22 + 0xca564" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;)) (if_statement "if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {\n      bVar1 = false;\n      goto LAB_000c59cc;\n    }" if (parenthesized_expression "(iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230))" ( (binary_expression "iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)" identifier != (pointer_expression "*(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)" * (cast_expression "(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + 0x230)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + 0x230" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n      bVar1 = false;\n      goto LAB_000c59cc;\n    }" { (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (goto_statement "goto LAB_000c59cc;" goto statement_identifier ;) })) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (labeled_statement "LAB_000c59fc:\n    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);" statement_identifier : (expression_statement "(**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);" (call_expression "(**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca504))" ( (pointer_expression "**(code **)(pcVar22 + 0xca504)" * (pointer_expression "*(code **)(pcVar22 + 0xca504)" * (cast_expression "(code **)(pcVar22 + 0xca504)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca504)" ( (binary_expression "pcVar22 + 0xca504" identifier + number_literal) ))))) )) (argument_list "(pcVar6,0,0x58)" ( identifier , number_literal , number_literal ))) ;)) (if_statement "if (uVar20 != 0x100) goto LAB_000c5a24;" if (parenthesized_expression "(uVar20 != 0x100)" ( (binary_expression "uVar20 != 0x100" identifier != number_literal) )) (goto_statement "goto LAB_000c5a24;" goto statement_identifier ;)) (expression_statement "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();" (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca25c) + 0x277c)" ( (binary_expression "*(int *)(pcVar22 + 0xca25c) + 0x277c" (pointer_expression "*(int *)(pcVar22 + 0xca25c)" * (cast_expression "(int *)(pcVar22 + 0xca25c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca25c)" ( (binary_expression "pcVar22 + 0xca25c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (if_statement "if (*(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228) == 0) {\nLAB_000c6414:\n      iVar4 = *(int *)(pcVar22 + 0xca25c);\n    }\n    else {\n      iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(pcVar30,aiStack_940);\n      if ((iVar4 != 0) ||\n         (piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0))\n      goto LAB_000c6414;\n      do {\n        if ((((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c)) {\n          (**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);\n          piVar11 = (int *)piVar10[8];\n          if (piVar11 == (int *)0x0) goto LAB_000c6494;\n          pcVar5 = (code *)piVar11[1];\n          piVar12 = piVar10 + 8;\n          goto joined_r0x000c5ce4;\n        }\n        piVar10 = (int *)piVar10[0xb];\n        iVar4 = *(int *)(pcVar22 + 0xca25c);\n      } while (piVar10 != (int *)0x0);\n    }" if (parenthesized_expression "(*(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228) == 0)" ( (binary_expression "*(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228) == 0" (pointer_expression "*(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228)" * (cast_expression "(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + 0x228)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + 0x228" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_000c6414:\n      iVar4 = *(int *)(pcVar22 + 0xca25c);\n    }" { (labeled_statement "LAB_000c6414:\n      iVar4 = *(int *)(pcVar22 + 0xca25c);" statement_identifier : (expression_statement "iVar4 = *(int *)(pcVar22 + 0xca25c);" (assignment_expression "iVar4 = *(int *)(pcVar22 + 0xca25c)" identifier = (pointer_expression "*(int *)(pcVar22 + 0xca25c)" * (cast_expression "(int *)(pcVar22 + 0xca25c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca25c)" ( (binary_expression "pcVar22 + 0xca25c" identifier + number_literal) ))))) ;)) }) (else_clause "else {\n      iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(pcVar30,aiStack_940);\n      if ((iVar4 != 0) ||\n         (piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0))\n      goto LAB_000c6414;\n      do {\n        if ((((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c)) {\n          (**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);\n          piVar11 = (int *)piVar10[8];\n          if (piVar11 == (int *)0x0) goto LAB_000c6494;\n          pcVar5 = (code *)piVar11[1];\n          piVar12 = piVar10 + 8;\n          goto joined_r0x000c5ce4;\n        }\n        piVar10 = (int *)piVar10[0xb];\n        iVar4 = *(int *)(pcVar22 + 0xca25c);\n      } while (piVar10 != (int *)0x0);\n    }" else (compound_statement "{\n      iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(pcVar30,aiStack_940);\n      if ((iVar4 != 0) ||\n         (piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0))\n      goto LAB_000c6414;\n      do {\n        if ((((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c)) {\n          (**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);\n          piVar11 = (int *)piVar10[8];\n          if (piVar11 == (int *)0x0) goto LAB_000c6494;\n          pcVar5 = (code *)piVar11[1];\n          piVar12 = piVar10 + 8;\n          goto joined_r0x000c5ce4;\n        }\n        piVar10 = (int *)piVar10[0xb];\n        iVar4 = *(int *)(pcVar22 + 0xca25c);\n      } while (piVar10 != (int *)0x0);\n    }" { (expression_statement "iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(pcVar30,aiStack_940);" (assignment_expression "iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(pcVar30,aiStack_940)" identifier = (call_expression "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(pcVar30,aiStack_940)" (parenthesized_expression "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))" ( (pointer_expression "**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c)" * (pointer_expression "*(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c)" * (cast_expression "(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + -0x80c)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x80c" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(pcVar30,aiStack_940)" ( identifier , identifier )))) ;) (if_statement "if ((iVar4 != 0) ||\n         (piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0))\n      goto LAB_000c6414;" if (parenthesized_expression "((iVar4 != 0) ||\n         (piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0))" ( (binary_expression "(iVar4 != 0) ||\n         (piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0)" (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) || (parenthesized_expression "(piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0)" ( (comma_expression "piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0" (assignment_expression "piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228)" identifier = (pointer_expression "*(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228)" * (cast_expression "(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + 0x228)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + 0x228" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) ))))) , (binary_expression "piVar10 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_000c6414;" goto statement_identifier ;)) (do_statement "do {\n        if ((((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c)) {\n          (**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);\n          piVar11 = (int *)piVar10[8];\n          if (piVar11 == (int *)0x0) goto LAB_000c6494;\n          pcVar5 = (code *)piVar11[1];\n          piVar12 = piVar10 + 8;\n          goto joined_r0x000c5ce4;\n        }\n        piVar10 = (int *)piVar10[0xb];\n        iVar4 = *(int *)(pcVar22 + 0xca25c);\n      } while (piVar10 != (int *)0x0);" do (compound_statement "{\n        if ((((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c)) {\n          (**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);\n          piVar11 = (int *)piVar10[8];\n          if (piVar11 == (int *)0x0) goto LAB_000c6494;\n          pcVar5 = (code *)piVar11[1];\n          piVar12 = piVar10 + 8;\n          goto joined_r0x000c5ce4;\n        }\n        piVar10 = (int *)piVar10[0xb];\n        iVar4 = *(int *)(pcVar22 + 0xca25c);\n      }" { (if_statement "if ((((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c)) {\n          (**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);\n          piVar11 = (int *)piVar10[8];\n          if (piVar11 == (int *)0x0) goto LAB_000c6494;\n          pcVar5 = (code *)piVar11[1];\n          piVar12 = piVar10 + 8;\n          goto joined_r0x000c5ce4;\n        }" if (parenthesized_expression "((((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c))" ( (binary_expression "(((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c)" (parenthesized_expression "(((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930))" ( (binary_expression "((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)" (parenthesized_expression "((*piVar10 == 0) && (piVar10[1] == aiStack_940[0]))" ( (binary_expression "(*piVar10 == 0) && (piVar10[1] == aiStack_940[0])" (parenthesized_expression "(*piVar10 == 0)" ( (binary_expression "*piVar10 == 0" (pointer_expression "*piVar10" * identifier) == number_literal) )) && (parenthesized_expression "(piVar10[1] == aiStack_940[0])" ( (binary_expression "piVar10[1] == aiStack_940[0]" (subscript_expression "piVar10[1]" identifier [ number_literal ]) == (subscript_expression "aiStack_940[0]" identifier [ number_literal ])) ))) )) && (parenthesized_expression "(piVar10[2] == iStack_930)" ( (binary_expression "piVar10[2] == iStack_930" (subscript_expression "piVar10[2]" identifier [ number_literal ]) == identifier) ))) )) && (parenthesized_expression "(piVar10[3] == iStack_92c)" ( (binary_expression "piVar10[3] == iStack_92c" (subscript_expression "piVar10[3]" identifier [ number_literal ]) == identifier) ))) )) (compound_statement "{\n          (**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);\n          piVar11 = (int *)piVar10[8];\n          if (piVar11 == (int *)0x0) goto LAB_000c6494;\n          pcVar5 = (code *)piVar11[1];\n          piVar12 = piVar10 + 8;\n          goto joined_r0x000c5ce4;\n        }" { (expression_statement "(**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);" (call_expression "(**(code **)(pcVar22 + 0xca2b0))(piVar10[4])" (parenthesized_expression "(**(code **)(pcVar22 + 0xca2b0))" ( (pointer_expression "**(code **)(pcVar22 + 0xca2b0)" * (pointer_expression "*(code **)(pcVar22 + 0xca2b0)" * (cast_expression "(code **)(pcVar22 + 0xca2b0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca2b0)" ( (binary_expression "pcVar22 + 0xca2b0" identifier + number_literal) ))))) )) (argument_list "(piVar10[4])" ( (subscript_expression "piVar10[4]" identifier [ number_literal ]) ))) ;) (expression_statement "piVar11 = (int *)piVar10[8];" (assignment_expression "piVar11 = (int *)piVar10[8]" identifier = (cast_expression "(int *)piVar10[8]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar10[8]" identifier [ number_literal ]))) ;) (if_statement "if (piVar11 == (int *)0x0) goto LAB_000c6494;" if (parenthesized_expression "(piVar11 == (int *)0x0)" ( (binary_expression "piVar11 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c6494;" goto statement_identifier ;)) (expression_statement "pcVar5 = (code *)piVar11[1];" (assignment_expression "pcVar5 = (code *)piVar11[1]" identifier = (cast_expression "(code *)piVar11[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar11[1]" identifier [ number_literal ]))) ;) (expression_statement "piVar12 = piVar10 + 8;" (assignment_expression "piVar12 = piVar10 + 8" identifier = (binary_expression "piVar10 + 8" identifier + number_literal)) ;) (goto_statement "goto joined_r0x000c5ce4;" goto statement_identifier ;) })) (expression_statement "piVar10 = (int *)piVar10[0xb];" (assignment_expression "piVar10 = (int *)piVar10[0xb]" identifier = (cast_expression "(int *)piVar10[0xb]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar10[0xb]" identifier [ number_literal ]))) ;) (expression_statement "iVar4 = *(int *)(pcVar22 + 0xca25c);" (assignment_expression "iVar4 = *(int *)(pcVar22 + 0xca25c)" identifier = (pointer_expression "*(int *)(pcVar22 + 0xca25c)" * (cast_expression "(int *)(pcVar22 + 0xca25c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca25c)" ( (binary_expression "pcVar22 + 0xca25c" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(piVar10 != (int *)0x0)" ( (binary_expression "piVar10 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }))) (expression_statement "(*(code *)(iVar4 + 0x27b8))();" (call_expression "(*(code *)(iVar4 + 0x27b8))()" (parenthesized_expression "(*(code *)(iVar4 + 0x27b8))" ( (pointer_expression "*(code *)(iVar4 + 0x27b8)" * (cast_expression "(code *)(iVar4 + 0x27b8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x27b8)" ( (binary_expression "iVar4 + 0x27b8" identifier + number_literal) )))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_000c642c:\n    piVar11 = (int *)(**(code **)(pcVar22 + 0xca0d4))(0,0xc);" statement_identifier : (expression_statement "piVar11 = (int *)(**(code **)(pcVar22 + 0xca0d4))(0,0xc);" (assignment_expression "piVar11 = (int *)(**(code **)(pcVar22 + 0xca0d4))(0,0xc)" identifier = (cast_expression "(int *)(**(code **)(pcVar22 + 0xca0d4))(0,0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar22 + 0xca0d4))(0,0xc)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca0d4))" ( (pointer_expression "**(code **)(pcVar22 + 0xca0d4)" * (pointer_expression "*(code **)(pcVar22 + 0xca0d4)" * (cast_expression "(code **)(pcVar22 + 0xca0d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca0d4)" ( (binary_expression "pcVar22 + 0xca0d4" identifier + number_literal) ))))) )) (argument_list "(0,0xc)" ( number_literal , number_literal ))))) ;)) (if_statement "if (piVar11 == (int *)0x0) {\n      pcVar5 = (code *)&DAT_00000007;\n      goto LAB_000c602c;\n    }" if (parenthesized_expression "(piVar11 == (int *)0x0)" ( (binary_expression "piVar11 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar5 = (code *)&DAT_00000007;\n      goto LAB_000c602c;\n    }" { (expression_statement "pcVar5 = (code *)&DAT_00000007;" (assignment_expression "pcVar5 = (code *)&DAT_00000007" identifier = (cast_expression "(code *)&DAT_00000007" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (goto_statement "goto LAB_000c602c;" goto statement_identifier ;) })) (expression_statement "iVar4 = -1;" (assignment_expression "iVar4 = -1" identifier = number_literal) ;) (labeled_statement "LAB_000c5d44:\n    *(int **)(pcVar6 + 0x1c) = piVar11;" statement_identifier : (expression_statement "*(int **)(pcVar6 + 0x1c) = piVar11;" (assignment_expression "*(int **)(pcVar6 + 0x1c) = piVar11" (pointer_expression "*(int **)(pcVar6 + 0x1c)" * (cast_expression "(int **)(pcVar6 + 0x1c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0x1c)" ( (binary_expression "pcVar6 + 0x1c" identifier + number_literal) )))) = identifier) ;)) (labeled_statement "LAB_000c5a34:\n    uStack_968 = uVar9;" statement_identifier : (expression_statement "uStack_968 = uVar9;" (assignment_expression "uStack_968 = uVar9" identifier = identifier) ;)) (if_statement "if (((uint)param_4 & 4) != 0) {\n      uStack_968 = uVar9 | 0x100;\n    }" if (parenthesized_expression "(((uint)param_4 & 4) != 0)" ( (binary_expression "((uint)param_4 & 4) != 0" (parenthesized_expression "((uint)param_4 & 4)" ( (binary_expression "(uint)param_4 & 4" (cast_expression "(uint)param_4" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n      uStack_968 = uVar9 | 0x100;\n    }" { (expression_statement "uStack_968 = uVar9 | 0x100;" (assignment_expression "uStack_968 = uVar9 | 0x100" identifier = (binary_expression "uVar9 | 0x100" identifier | number_literal)) ;) })) (if_statement "if (((uint)param_4 & 0x10) != 0) {\n      uStack_968 = uStack_968 | 0x20400;\n    }" if (parenthesized_expression "(((uint)param_4 & 0x10) != 0)" ( (binary_expression "((uint)param_4 & 0x10) != 0" (parenthesized_expression "((uint)param_4 & 0x10)" ( (binary_expression "(uint)param_4 & 0x10" (cast_expression "(uint)param_4" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n      uStack_968 = uStack_968 | 0x20400;\n    }" { (expression_statement "uStack_968 = uStack_968 | 0x20400;" (assignment_expression "uStack_968 = uStack_968 | 0x20400" identifier = (binary_expression "uStack_968 | 0x20400" identifier | number_literal)) ;) })) (if_statement "if (iVar4 < 0) {\n      if (((uint)param_4 & 0x80800) == 0) {\n        uVar28 = 0x180;\n        if ((uVar18 == 0) && (uVar28 = 0, ((uint)param_4 & 0x40) != 0)) {\n          iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }\n          uVar28 = 0;\n        }\nLAB_000c5e0c:\n        uStack_954 = 0;\n        uStack_960 = 0;\n      }\n      else {\n        iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c);\n        iVar27 = iVar4 + -1;\n        if (pcStack_96c[iVar27] != (code)0x2d) {\n          if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }\n          uVar28 = 0;\n          goto LAB_000c5e0c;\n        }\nLAB_000c5e78:\n        (**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201);\n        auStack_89c[iVar27] = 0;\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940);\n        if (iVar4 == 0) {\n          uVar28 = uStack_928 & 0x1ff;\n          uStack_960 = uStack_920;\n          uStack_954 = uStack_91c;\n          pcVar5 = (code *)0x0;\n        }\n        else {\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }\nLAB_000c5ee0:\n        if (pcVar5 != (code *)0x0) goto LAB_000c602c;\n      }\n      iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                        (pcStack_96c,uStack_968 | 0x2000,uVar28);\n      if (-1 < iVar4) {\nLAB_000c5e40:\n        if (((uint)param_4 & 0x80800) != 0) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);\n        }\n        goto LAB_000c5a6c;\n      }\n      pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n      if (bVar1) {\n        piVar10 = (int *)(*pcVar5)();\n        if (*piVar10 != 0xd) {\n          pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n          goto LAB_000c5fb8;\n        }\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))(pcStack_96c,0);\n        pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n        if (iVar4 == 0) goto LAB_000c5fb8;\n        uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n        (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                  (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634);\n        pcVar5 = (code *)0x608;\n      }\n      else {\nLAB_000c5fb8:\n        piVar10 = (int *)(*pcVar5)();\n        if ((*piVar10 == 0x15) || (uVar9 == 0)) {\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        else {\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        if (pcVar5 == (code *)0x0) goto LAB_000c602c;\n      }\nLAB_000c630c:\n      iVar4 = *(int *)(pcVar6 + 0x1c);\nLAB_000c6310:\n      (**(code **)(pcVar22 + 0xca07c))(iVar4);\n    }\n    else {\nLAB_000c5a6c:\n      if (puStack_458 != (undefined4 *)0x0) {\n        *puStack_458 = param_4;\n      }\n      if (*(int **)(pcVar6 + 0x1c) != (int *)0x0) {\n        **(int **)(pcVar6 + 0x1c) = iVar4;\n        *(code **)(*(int *)(pcVar6 + 0x1c) + 4) = param_4;\n      }\n      if (uVar18 != 0) {\n        (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))(pcStack_96c);\n        uVar18 = 0x20;\n      }\n      if (uStack_958 != 0) {\n        uVar18 = uVar18 | 2;\n      }\n      if (uVar20 != 0x100) {\n        uVar18 = uVar18 | 0x80;\n      }\n      if (bVar1) {\n        uVar18 = uVar18 | 8;\n      }\n      if (((uint)param_4 & 0x40) == 0) {\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = (code *)0x0;\n      }\n      else {\n        uVar18 = uVar18 | 0x40;\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = pcVar30;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca37c))(pcVar5,*(int *)(pcVar22 + 0xca060) + -0x45c0,1);\n      iVar16 = *(int *)(pcVar22 + 0xca060);\n      if (iVar27 != 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 0x10;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca610))(*(undefined4 *)(iVar8 + 0x10),iVar16 + -0x45b8);\n      if (iVar27 == 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 1;\n      }\n      if ((uVar18 & 0x80) == 0) {\n        iVar27 = (*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6);\n        if (iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n          iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);\n          if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n        }\n        else {\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }\n        *(int *)(pcVar6 + 0x14) = 0;\n        if (pcVar5 != (code *)0x0) {\n          if (iVar4 < 0) goto LAB_000c630c;\n          (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);\n          iVar4 = *(int *)(pcVar6 + 0x1c);\n          goto LAB_000c6310;\n        }\n      }\n      else {\n        iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4;\nLAB_000c6394:\n        *(int *)(pcVar6 + 0x14) = 0;\n      }\n      *(int *)pcVar6 = iVar27;\n      (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524))(pcVar6);\n      pcVar5 = (code *)0x0;\n    }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n      if (((uint)param_4 & 0x80800) == 0) {\n        uVar28 = 0x180;\n        if ((uVar18 == 0) && (uVar28 = 0, ((uint)param_4 & 0x40) != 0)) {\n          iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }\n          uVar28 = 0;\n        }\nLAB_000c5e0c:\n        uStack_954 = 0;\n        uStack_960 = 0;\n      }\n      else {\n        iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c);\n        iVar27 = iVar4 + -1;\n        if (pcStack_96c[iVar27] != (code)0x2d) {\n          if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }\n          uVar28 = 0;\n          goto LAB_000c5e0c;\n        }\nLAB_000c5e78:\n        (**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201);\n        auStack_89c[iVar27] = 0;\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940);\n        if (iVar4 == 0) {\n          uVar28 = uStack_928 & 0x1ff;\n          uStack_960 = uStack_920;\n          uStack_954 = uStack_91c;\n          pcVar5 = (code *)0x0;\n        }\n        else {\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }\nLAB_000c5ee0:\n        if (pcVar5 != (code *)0x0) goto LAB_000c602c;\n      }\n      iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                        (pcStack_96c,uStack_968 | 0x2000,uVar28);\n      if (-1 < iVar4) {\nLAB_000c5e40:\n        if (((uint)param_4 & 0x80800) != 0) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);\n        }\n        goto LAB_000c5a6c;\n      }\n      pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n      if (bVar1) {\n        piVar10 = (int *)(*pcVar5)();\n        if (*piVar10 != 0xd) {\n          pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n          goto LAB_000c5fb8;\n        }\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))(pcStack_96c,0);\n        pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n        if (iVar4 == 0) goto LAB_000c5fb8;\n        uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n        (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                  (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634);\n        pcVar5 = (code *)0x608;\n      }\n      else {\nLAB_000c5fb8:\n        piVar10 = (int *)(*pcVar5)();\n        if ((*piVar10 == 0x15) || (uVar9 == 0)) {\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        else {\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        if (pcVar5 == (code *)0x0) goto LAB_000c602c;\n      }\nLAB_000c630c:\n      iVar4 = *(int *)(pcVar6 + 0x1c);\nLAB_000c6310:\n      (**(code **)(pcVar22 + 0xca07c))(iVar4);\n    }" { (if_statement "if (((uint)param_4 & 0x80800) == 0) {\n        uVar28 = 0x180;\n        if ((uVar18 == 0) && (uVar28 = 0, ((uint)param_4 & 0x40) != 0)) {\n          iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }\n          uVar28 = 0;\n        }\nLAB_000c5e0c:\n        uStack_954 = 0;\n        uStack_960 = 0;\n      }\n      else {\n        iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c);\n        iVar27 = iVar4 + -1;\n        if (pcStack_96c[iVar27] != (code)0x2d) {\n          if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }\n          uVar28 = 0;\n          goto LAB_000c5e0c;\n        }\nLAB_000c5e78:\n        (**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201);\n        auStack_89c[iVar27] = 0;\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940);\n        if (iVar4 == 0) {\n          uVar28 = uStack_928 & 0x1ff;\n          uStack_960 = uStack_920;\n          uStack_954 = uStack_91c;\n          pcVar5 = (code *)0x0;\n        }\n        else {\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }\nLAB_000c5ee0:\n        if (pcVar5 != (code *)0x0) goto LAB_000c602c;\n      }" if (parenthesized_expression "(((uint)param_4 & 0x80800) == 0)" ( (binary_expression "((uint)param_4 & 0x80800) == 0" (parenthesized_expression "((uint)param_4 & 0x80800)" ( (binary_expression "(uint)param_4 & 0x80800" (cast_expression "(uint)param_4" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n        uVar28 = 0x180;\n        if ((uVar18 == 0) && (uVar28 = 0, ((uint)param_4 & 0x40) != 0)) {\n          iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }\n          uVar28 = 0;\n        }\nLAB_000c5e0c:\n        uStack_954 = 0;\n        uStack_960 = 0;\n      }" { (expression_statement "uVar28 = 0x180;" (assignment_expression "uVar28 = 0x180" identifier = number_literal) ;) (if_statement "if ((uVar18 == 0) && (uVar28 = 0, ((uint)param_4 & 0x40) != 0)) {\n          iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }\n          uVar28 = 0;\n        }" if (parenthesized_expression "((uVar18 == 0) && (uVar28 = 0, ((uint)param_4 & 0x40) != 0))" ( (binary_expression "(uVar18 == 0) && (uVar28 = 0, ((uint)param_4 & 0x40) != 0)" (parenthesized_expression "(uVar18 == 0)" ( (binary_expression "uVar18 == 0" identifier == number_literal) )) && (parenthesized_expression "(uVar28 = 0, ((uint)param_4 & 0x40) != 0)" ( (comma_expression "uVar28 = 0, ((uint)param_4 & 0x40) != 0" (assignment_expression "uVar28 = 0" identifier = number_literal) , (binary_expression "((uint)param_4 & 0x40) != 0" (parenthesized_expression "((uint)param_4 & 0x40)" ( (binary_expression "(uint)param_4 & 0x40" (cast_expression "(uint)param_4" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n          iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }\n          uVar28 = 0;\n        }" { (expression_statement "iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8);" (assignment_expression "iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8)" identifier = (call_expression "(**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca2f4))" ( (pointer_expression "**(code **)(pcVar22 + 0xca2f4)" * (pointer_expression "*(code **)(pcVar22 + 0xca2f4)" * (cast_expression "(code **)(pcVar22 + 0xca2f4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca2f4)" ( (binary_expression "pcVar22 + 0xca2f4" identifier + number_literal) ))))) )) (argument_list "(pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8)" ( identifier , (binary_expression "*(int *)(pcVar22 + 0xca060) + -0x45c8" (pointer_expression "*(int *)(pcVar22 + 0xca060)" * (cast_expression "(int *)(pcVar22 + 0xca060)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca060)" ( (binary_expression "pcVar22 + 0xca060" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar4 != 0) {\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }" { (expression_statement "iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);" (assignment_expression "iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940)" identifier = (call_expression "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940)" (parenthesized_expression "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))" ( (pointer_expression "**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c)" * (pointer_expression "*(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c)" * (cast_expression "(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + -0x80c)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x80c" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(iVar4,aiStack_940)" ( identifier , identifier )))) ;) (if_statement "if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }" { (expression_statement "uVar28 = uStack_928 & 0x1ff;" (assignment_expression "uVar28 = uStack_928 & 0x1ff" identifier = (binary_expression "uStack_928 & 0x1ff" identifier & number_literal)) ;) (expression_statement "uStack_960 = uStack_920;" (assignment_expression "uStack_960 = uStack_920" identifier = identifier) ;) (expression_statement "uStack_954 = uStack_91c;" (assignment_expression "uStack_954 = uStack_91c" identifier = identifier) ;) (expression_statement "pcVar5 = (code *)0x0;" (assignment_expression "pcVar5 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }" else (compound_statement "{\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }" { (expression_statement "uStack_954 = 0;" (assignment_expression "uStack_954 = 0" identifier = number_literal) ;) (expression_statement "uStack_960 = 0;" (assignment_expression "uStack_960 = 0" identifier = number_literal) ;) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (expression_statement "pcVar5 = (code *)0x70a;" (assignment_expression "pcVar5 = (code *)0x70a" identifier = (cast_expression "(code *)0x70a" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (goto_statement "goto LAB_000c5ee0;" goto statement_identifier ;) })) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) })) (labeled_statement "LAB_000c5e0c:\n        uStack_954 = 0;" statement_identifier : (expression_statement "uStack_954 = 0;" (assignment_expression "uStack_954 = 0" identifier = number_literal) ;)) (expression_statement "uStack_960 = 0;" (assignment_expression "uStack_960 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c);\n        iVar27 = iVar4 + -1;\n        if (pcStack_96c[iVar27] != (code)0x2d) {\n          if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }\n          uVar28 = 0;\n          goto LAB_000c5e0c;\n        }\nLAB_000c5e78:\n        (**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201);\n        auStack_89c[iVar27] = 0;\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940);\n        if (iVar4 == 0) {\n          uVar28 = uStack_928 & 0x1ff;\n          uStack_960 = uStack_920;\n          uStack_954 = uStack_91c;\n          pcVar5 = (code *)0x0;\n        }\n        else {\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }\nLAB_000c5ee0:\n        if (pcVar5 != (code *)0x0) goto LAB_000c602c;\n      }" else (compound_statement "{\n        iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c);\n        iVar27 = iVar4 + -1;\n        if (pcStack_96c[iVar27] != (code)0x2d) {\n          if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }\n          uVar28 = 0;\n          goto LAB_000c5e0c;\n        }\nLAB_000c5e78:\n        (**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201);\n        auStack_89c[iVar27] = 0;\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940);\n        if (iVar4 == 0) {\n          uVar28 = uStack_928 & 0x1ff;\n          uStack_960 = uStack_920;\n          uStack_954 = uStack_91c;\n          pcVar5 = (code *)0x0;\n        }\n        else {\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }\nLAB_000c5ee0:\n        if (pcVar5 != (code *)0x0) goto LAB_000c602c;\n      }" { (expression_statement "iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c);" (assignment_expression "iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c)" identifier = (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8)" ( (binary_expression "*(int *)(pcVar22 + 0xca2d4) + -0x4bc8" (pointer_expression "*(int *)(pcVar22 + 0xca2d4)" * (cast_expression "(int *)(pcVar22 + 0xca2d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca2d4)" ( (binary_expression "pcVar22 + 0xca2d4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcStack_96c)" ( identifier )))) ;) (expression_statement "iVar27 = iVar4 + -1;" (assignment_expression "iVar27 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (if_statement "if (pcStack_96c[iVar27] != (code)0x2d) {\n          if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }\n          uVar28 = 0;\n          goto LAB_000c5e0c;\n        }" if (parenthesized_expression "(pcStack_96c[iVar27] != (code)0x2d)" ( (binary_expression "pcStack_96c[iVar27] != (code)0x2d" (subscript_expression "pcStack_96c[iVar27]" identifier [ identifier ]) != (cast_expression "(code)0x2d" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n          if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }\n          uVar28 = 0;\n          goto LAB_000c5e0c;\n        }" { (if_statement "if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }" if (parenthesized_expression "((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e))" ( (binary_expression "(iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)" (parenthesized_expression "(iVar27 != 0)" ( (binary_expression "iVar27 != 0" identifier != number_literal) )) && (parenthesized_expression "(pcStack_96c[iVar27] != (code)0x2e)" ( (binary_expression "pcStack_96c[iVar27] != (code)0x2e" (subscript_expression "pcStack_96c[iVar27]" identifier [ identifier ]) != (cast_expression "(code)0x2e" ( (type_descriptor "code" type_identifier) ) number_literal)) ))) )) (compound_statement "{\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }" { (expression_statement "iVar27 = iVar4 + -2;" (assignment_expression "iVar27 = iVar4 + -2" identifier = (binary_expression "iVar4 + -2" identifier + number_literal)) ;) (do_statement "do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);" do (compound_statement "{\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            }" { (expression_statement "pcVar5 = pcStack_96c + iVar27;" (assignment_expression "pcVar5 = pcStack_96c + iVar27" identifier = (binary_expression "pcStack_96c + iVar27" identifier + identifier)) ;) (if_statement "if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;" if (parenthesized_expression "(*pcVar5 == (code)0x2d)" ( (binary_expression "*pcVar5 == (code)0x2d" (pointer_expression "*pcVar5" * identifier) == (cast_expression "(code)0x2d" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_000c5e78;" goto statement_identifier ;)) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (if_statement "if (iVar27 == 0) goto LAB_000c5e0c;" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000c5e0c;" goto statement_identifier ;)) (expression_statement "iVar27 = iVar27 + -1;" (assignment_expression "iVar27 = iVar27 + -1" identifier = (binary_expression "iVar27 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pcVar5 != (code)0x2e)" ( (binary_expression "*pcVar5 != (code)0x2e" (pointer_expression "*pcVar5" * identifier) != (cast_expression "(code)0x2e" ( (type_descriptor "code" type_identifier) ) number_literal)) )) ;) })) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000c5e0c;" goto statement_identifier ;) })) (labeled_statement "LAB_000c5e78:\n        (**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201);" statement_identifier : (expression_statement "(**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201);" (call_expression "(**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca544))" ( (pointer_expression "**(code **)(pcVar22 + 0xca544)" * (pointer_expression "*(code **)(pcVar22 + 0xca544)" * (cast_expression "(code **)(pcVar22 + 0xca544)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca544)" ( (binary_expression "pcVar22 + 0xca544" identifier + number_literal) ))))) )) (argument_list "(auStack_89c,pcStack_96c,iVar27,0x201)" ( identifier , identifier , identifier , number_literal ))) ;)) (expression_statement "auStack_89c[iVar27] = 0;" (assignment_expression "auStack_89c[iVar27] = 0" (subscript_expression "auStack_89c[iVar27]" identifier [ identifier ]) = number_literal) ;) (expression_statement "iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940);" (assignment_expression "iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940)" identifier = (call_expression "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940)" (parenthesized_expression "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))" ( (pointer_expression "**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c)" * (pointer_expression "*(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c)" * (cast_expression "(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + -0x80c)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x80c" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(auStack_89c,aiStack_940)" ( identifier , identifier )))) ;) (if_statement "if (iVar4 == 0) {\n          uVar28 = uStack_928 & 0x1ff;\n          uStack_960 = uStack_920;\n          uStack_954 = uStack_91c;\n          pcVar5 = (code *)0x0;\n        }\n        else {\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar28 = uStack_928 & 0x1ff;\n          uStack_960 = uStack_920;\n          uStack_954 = uStack_91c;\n          pcVar5 = (code *)0x0;\n        }" { (expression_statement "uVar28 = uStack_928 & 0x1ff;" (assignment_expression "uVar28 = uStack_928 & 0x1ff" identifier = (binary_expression "uStack_928 & 0x1ff" identifier & number_literal)) ;) (expression_statement "uStack_960 = uStack_920;" (assignment_expression "uStack_960 = uStack_920" identifier = identifier) ;) (expression_statement "uStack_954 = uStack_91c;" (assignment_expression "uStack_954 = uStack_91c" identifier = identifier) ;) (expression_statement "pcVar5 = (code *)0x0;" (assignment_expression "pcVar5 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }" else (compound_statement "{\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }" { (expression_statement "uStack_954 = 0;" (assignment_expression "uStack_954 = 0" identifier = number_literal) ;) (expression_statement "uStack_960 = 0;" (assignment_expression "uStack_960 = 0" identifier = number_literal) ;) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (expression_statement "pcVar5 = (code *)0x70a;" (assignment_expression "pcVar5 = (code *)0x70a" identifier = (cast_expression "(code *)0x70a" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (labeled_statement "LAB_000c5ee0:\n        if (pcVar5 != (code *)0x0) goto LAB_000c602c;" statement_identifier : (if_statement "if (pcVar5 != (code *)0x0) goto LAB_000c602c;" if (parenthesized_expression "(pcVar5 != (code *)0x0)" ( (binary_expression "pcVar5 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c602c;" goto statement_identifier ;))) }))) (expression_statement "iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                        (pcStack_96c,uStack_968 | 0x2000,uVar28);" (assignment_expression "iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                        (pcStack_96c,uStack_968 | 0x2000,uVar28)" identifier = (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                        (pcStack_96c,uStack_968 | 0x2000,uVar28)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca2f8) + 0xf70)" ( (binary_expression "*(int *)(pcVar22 + 0xca2f8) + 0xf70" (pointer_expression "*(int *)(pcVar22 + 0xca2f8)" * (cast_expression "(int *)(pcVar22 + 0xca2f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca2f8)" ( (binary_expression "pcVar22 + 0xca2f8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcStack_96c,uStack_968 | 0x2000,uVar28)" ( identifier , (binary_expression "uStack_968 | 0x2000" identifier | number_literal) , identifier )))) ;) (if_statement "if (-1 < iVar4) {\nLAB_000c5e40:\n        if (((uint)param_4 & 0x80800) != 0) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);\n        }\n        goto LAB_000c5a6c;\n      }" if (parenthesized_expression "(-1 < iVar4)" ( (binary_expression "-1 < iVar4" number_literal < identifier) )) (compound_statement "{\nLAB_000c5e40:\n        if (((uint)param_4 & 0x80800) != 0) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);\n        }\n        goto LAB_000c5a6c;\n      }" { (labeled_statement "LAB_000c5e40:\n        if (((uint)param_4 & 0x80800) != 0) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);\n        }" statement_identifier : (if_statement "if (((uint)param_4 & 0x80800) != 0) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);\n        }" if (parenthesized_expression "(((uint)param_4 & 0x80800) != 0)" ( (binary_expression "((uint)param_4 & 0x80800) != 0" (parenthesized_expression "((uint)param_4 & 0x80800)" ( (binary_expression "(uint)param_4 & 0x80800" (cast_expression "(uint)param_4" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);\n        }" { (expression_statement "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);" (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca25c) + 0x26f0)" ( (binary_expression "*(int *)(pcVar22 + 0xca25c) + 0x26f0" (pointer_expression "*(int *)(pcVar22 + 0xca25c)" * (cast_expression "(int *)(pcVar22 + 0xca25c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca25c)" ( (binary_expression "pcVar22 + 0xca25c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(iVar4,uStack_960,uStack_954)" ( identifier , identifier , identifier ))) ;) }))) (goto_statement "goto LAB_000c5a6c;" goto statement_identifier ;) })) (expression_statement "pcVar5 = *(code **)(pcVar22 + 0xca4f8);" (assignment_expression "pcVar5 = *(code **)(pcVar22 + 0xca4f8)" identifier = (pointer_expression "*(code **)(pcVar22 + 0xca4f8)" * (cast_expression "(code **)(pcVar22 + 0xca4f8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca4f8)" ( (binary_expression "pcVar22 + 0xca4f8" identifier + number_literal) ))))) ;) (if_statement "if (bVar1) {\n        piVar10 = (int *)(*pcVar5)();\n        if (*piVar10 != 0xd) {\n          pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n          goto LAB_000c5fb8;\n        }\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))(pcStack_96c,0);\n        pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n        if (iVar4 == 0) goto LAB_000c5fb8;\n        uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n        (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                  (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634);\n        pcVar5 = (code *)0x608;\n      }\n      else {\nLAB_000c5fb8:\n        piVar10 = (int *)(*pcVar5)();\n        if ((*piVar10 == 0x15) || (uVar9 == 0)) {\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        else {\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        if (pcVar5 == (code *)0x0) goto LAB_000c602c;\n      }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n        piVar10 = (int *)(*pcVar5)();\n        if (*piVar10 != 0xd) {\n          pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n          goto LAB_000c5fb8;\n        }\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))(pcStack_96c,0);\n        pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n        if (iVar4 == 0) goto LAB_000c5fb8;\n        uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n        (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                  (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634);\n        pcVar5 = (code *)0x608;\n      }" { (expression_statement "piVar10 = (int *)(*pcVar5)();" (assignment_expression "piVar10 = (int *)(*pcVar5)()" identifier = (cast_expression "(int *)(*pcVar5)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar5)()" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "()" ( ))))) ;) (if_statement "if (*piVar10 != 0xd) {\n          pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n          goto LAB_000c5fb8;\n        }" if (parenthesized_expression "(*piVar10 != 0xd)" ( (binary_expression "*piVar10 != 0xd" (pointer_expression "*piVar10" * identifier) != number_literal) )) (compound_statement "{\n          pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n          goto LAB_000c5fb8;\n        }" { (expression_statement "pcVar5 = *(code **)(pcVar22 + 0xca4f8);" (assignment_expression "pcVar5 = *(code **)(pcVar22 + 0xca4f8)" identifier = (pointer_expression "*(code **)(pcVar22 + 0xca4f8)" * (cast_expression "(code **)(pcVar22 + 0xca4f8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca4f8)" ( (binary_expression "pcVar22 + 0xca4f8" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000c5fb8;" goto statement_identifier ;) })) (expression_statement "iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))(pcStack_96c,0);" (assignment_expression "iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))(pcStack_96c,0)" identifier = (call_expression "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))(pcStack_96c,0)" (parenthesized_expression "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))" ( (pointer_expression "**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824)" * (pointer_expression "*(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824)" * (cast_expression "(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + -0x824)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x824" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(pcStack_96c,0)" ( identifier , number_literal )))) ;) (expression_statement "pcVar5 = *(code **)(pcVar22 + 0xca4f8);" (assignment_expression "pcVar5 = *(code **)(pcVar22 + 0xca4f8)" identifier = (pointer_expression "*(code **)(pcVar22 + 0xca4f8)" * (cast_expression "(code **)(pcVar22 + 0xca4f8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca4f8)" ( (binary_expression "pcVar22 + 0xca4f8" identifier + number_literal) ))))) ;) (if_statement "if (iVar4 == 0) goto LAB_000c5fb8;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000c5fb8;" goto statement_identifier ;)) (expression_statement "uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);" (assignment_expression "uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634)" identifier = (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca2f8) + 0x7538)" ( (binary_expression "*(int *)(pcVar22 + 0xca2f8) + 0x7538" (pointer_expression "*(int *)(pcVar22 + 0xca2f8)" * (cast_expression "(int *)(pcVar22 + 0xca2f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca2f8)" ( (binary_expression "pcVar22 + 0xca2f8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(0x9634)" ( number_literal )))) ;) (expression_statement "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                  (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634);" (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                  (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca2f8) + 0x114c)" ( (binary_expression "*(int *)(pcVar22 + 0xca2f8) + 0x114c" (pointer_expression "*(int *)(pcVar22 + 0xca2f8)" * (cast_expression "(int *)(pcVar22 + 0xca2f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca2f8)" ( (binary_expression "pcVar22 + 0xca2f8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634)" ( identifier , (binary_expression "*(int *)(pcVar22 + 0xca05c) + 0x1738" (pointer_expression "*(int *)(pcVar22 + 0xca05c)" * (cast_expression "(int *)(pcVar22 + 0xca05c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca05c)" ( (binary_expression "pcVar22 + 0xca05c" identifier + number_literal) )))) + number_literal) , identifier , number_literal ))) ;) (expression_statement "pcVar5 = (code *)0x608;" (assignment_expression "pcVar5 = (code *)0x608" identifier = (cast_expression "(code *)0x608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\nLAB_000c5fb8:\n        piVar10 = (int *)(*pcVar5)();\n        if ((*piVar10 == 0x15) || (uVar9 == 0)) {\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        else {\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        if (pcVar5 == (code *)0x0) goto LAB_000c602c;\n      }" else (compound_statement "{\nLAB_000c5fb8:\n        piVar10 = (int *)(*pcVar5)();\n        if ((*piVar10 == 0x15) || (uVar9 == 0)) {\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        else {\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        if (pcVar5 == (code *)0x0) goto LAB_000c602c;\n      }" { (labeled_statement "LAB_000c5fb8:\n        piVar10 = (int *)(*pcVar5)();" statement_identifier : (expression_statement "piVar10 = (int *)(*pcVar5)();" (assignment_expression "piVar10 = (int *)(*pcVar5)()" identifier = (cast_expression "(int *)(*pcVar5)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar5)()" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "()" ( ))))) ;)) (if_statement "if ((*piVar10 == 0x15) || (uVar9 == 0)) {\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        else {\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }" if (parenthesized_expression "((*piVar10 == 0x15) || (uVar9 == 0))" ( (binary_expression "(*piVar10 == 0x15) || (uVar9 == 0)" (parenthesized_expression "(*piVar10 == 0x15)" ( (binary_expression "*piVar10 == 0x15" (pointer_expression "*piVar10" * identifier) == number_literal) )) || (parenthesized_expression "(uVar9 == 0)" ( (binary_expression "uVar9 == 0" identifier == number_literal) ))) )) (compound_statement "{\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }" { (expression_statement "uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);" (assignment_expression "uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634)" identifier = (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca2f8) + 0x7538)" ( (binary_expression "*(int *)(pcVar22 + 0xca2f8) + 0x7538" (pointer_expression "*(int *)(pcVar22 + 0xca2f8)" * (cast_expression "(int *)(pcVar22 + 0xca2f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca2f8)" ( (binary_expression "pcVar22 + 0xca2f8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(0x9634)" ( number_literal )))) ;) (expression_statement "pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );" (assignment_expression "pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     )" identifier = (cast_expression "(code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     )" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     )" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca2f8) + 0x114c)" ( (binary_expression "*(int *)(pcVar22 + 0xca2f8) + 0x114c" (pointer_expression "*(int *)(pcVar22 + 0xca2f8)" * (cast_expression "(int *)(pcVar22 + 0xca2f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca2f8)" ( (binary_expression "pcVar22 + 0xca2f8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     )" ( identifier , (binary_expression "*(int *)(pcVar22 + 0xca05c) + 0x1738" (pointer_expression "*(int *)(pcVar22 + 0xca05c)" * (cast_expression "(int *)(pcVar22 + 0xca05c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca05c)" ( (binary_expression "pcVar22 + 0xca05c" identifier + number_literal) )))) + number_literal) , identifier , number_literal ))))) ;) }) (else_clause "else {\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }" else (compound_statement "{\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }" { (expression_statement "param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);" (assignment_expression "param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1)" identifier = (cast_expression "(code *)((uint)param_4 & 0xfffffff9 | 1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)param_4 & 0xfffffff9 | 1)" ( (binary_expression "(uint)param_4 & 0xfffffff9 | 1" (binary_expression "(uint)param_4 & 0xfffffff9" (cast_expression "(uint)param_4" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) | number_literal) )))) ;) (expression_statement "iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);" (assignment_expression "iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28)" identifier = (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca2f8) + 0xf70)" ( (binary_expression "*(int *)(pcVar22 + 0xca2f8) + 0xf70" (pointer_expression "*(int *)(pcVar22 + 0xca2f8)" * (cast_expression "(int *)(pcVar22 + 0xca2f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca2f8)" ( (binary_expression "pcVar22 + 0xca2f8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28)" ( identifier , (binary_expression "uStack_968 & 0xfffffefd | 0x2000" (binary_expression "uStack_968 & 0xfffffefd" identifier & number_literal) | number_literal) , identifier )))) ;) (if_statement "if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }" if (parenthesized_expression "(-1 < iVar4)" ( (binary_expression "-1 < iVar4" number_literal < identifier) )) (compound_statement "{\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }" { (expression_statement "uStack_958 = 1;" (assignment_expression "uStack_958 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_000c5e40;" goto statement_identifier ;) })) (expression_statement "uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);" (assignment_expression "uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634)" identifier = (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca2f8) + 0x7538)" ( (binary_expression "*(int *)(pcVar22 + 0xca2f8) + 0x7538" (pointer_expression "*(int *)(pcVar22 + 0xca2f8)" * (cast_expression "(int *)(pcVar22 + 0xca2f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca2f8)" ( (binary_expression "pcVar22 + 0xca2f8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(0x9634)" ( number_literal )))) ;) (expression_statement "pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );" (assignment_expression "pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     )" identifier = (cast_expression "(code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     )" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     )" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca2f8) + 0x114c)" ( (binary_expression "*(int *)(pcVar22 + 0xca2f8) + 0x114c" (pointer_expression "*(int *)(pcVar22 + 0xca2f8)" * (cast_expression "(int *)(pcVar22 + 0xca2f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca2f8)" ( (binary_expression "pcVar22 + 0xca2f8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     )" ( identifier , (binary_expression "*(int *)(pcVar22 + 0xca05c) + 0x1738" (pointer_expression "*(int *)(pcVar22 + 0xca05c)" * (cast_expression "(int *)(pcVar22 + 0xca05c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca05c)" ( (binary_expression "pcVar22 + 0xca05c" identifier + number_literal) )))) + number_literal) , identifier , number_literal ))))) ;) }))) (if_statement "if (pcVar5 == (code *)0x0) goto LAB_000c602c;" if (parenthesized_expression "(pcVar5 == (code *)0x0)" ( (binary_expression "pcVar5 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c602c;" goto statement_identifier ;)) }))) (labeled_statement "LAB_000c630c:\n      iVar4 = *(int *)(pcVar6 + 0x1c);" statement_identifier : (expression_statement "iVar4 = *(int *)(pcVar6 + 0x1c);" (assignment_expression "iVar4 = *(int *)(pcVar6 + 0x1c)" identifier = (pointer_expression "*(int *)(pcVar6 + 0x1c)" * (cast_expression "(int *)(pcVar6 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x1c)" ( (binary_expression "pcVar6 + 0x1c" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_000c6310:\n      (**(code **)(pcVar22 + 0xca07c))(iVar4);" statement_identifier : (expression_statement "(**(code **)(pcVar22 + 0xca07c))(iVar4);" (call_expression "(**(code **)(pcVar22 + 0xca07c))(iVar4)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca07c))" ( (pointer_expression "**(code **)(pcVar22 + 0xca07c)" * (pointer_expression "*(code **)(pcVar22 + 0xca07c)" * (cast_expression "(code **)(pcVar22 + 0xca07c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca07c)" ( (binary_expression "pcVar22 + 0xca07c" identifier + number_literal) ))))) )) (argument_list "(iVar4)" ( identifier ))) ;)) }) (else_clause "else {\nLAB_000c5a6c:\n      if (puStack_458 != (undefined4 *)0x0) {\n        *puStack_458 = param_4;\n      }\n      if (*(int **)(pcVar6 + 0x1c) != (int *)0x0) {\n        **(int **)(pcVar6 + 0x1c) = iVar4;\n        *(code **)(*(int *)(pcVar6 + 0x1c) + 4) = param_4;\n      }\n      if (uVar18 != 0) {\n        (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))(pcStack_96c);\n        uVar18 = 0x20;\n      }\n      if (uStack_958 != 0) {\n        uVar18 = uVar18 | 2;\n      }\n      if (uVar20 != 0x100) {\n        uVar18 = uVar18 | 0x80;\n      }\n      if (bVar1) {\n        uVar18 = uVar18 | 8;\n      }\n      if (((uint)param_4 & 0x40) == 0) {\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = (code *)0x0;\n      }\n      else {\n        uVar18 = uVar18 | 0x40;\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = pcVar30;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca37c))(pcVar5,*(int *)(pcVar22 + 0xca060) + -0x45c0,1);\n      iVar16 = *(int *)(pcVar22 + 0xca060);\n      if (iVar27 != 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 0x10;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca610))(*(undefined4 *)(iVar8 + 0x10),iVar16 + -0x45b8);\n      if (iVar27 == 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 1;\n      }\n      if ((uVar18 & 0x80) == 0) {\n        iVar27 = (*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6);\n        if (iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n          iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);\n          if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n        }\n        else {\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }\n        *(int *)(pcVar6 + 0x14) = 0;\n        if (pcVar5 != (code *)0x0) {\n          if (iVar4 < 0) goto LAB_000c630c;\n          (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);\n          iVar4 = *(int *)(pcVar6 + 0x1c);\n          goto LAB_000c6310;\n        }\n      }\n      else {\n        iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4;\nLAB_000c6394:\n        *(int *)(pcVar6 + 0x14) = 0;\n      }\n      *(int *)pcVar6 = iVar27;\n      (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524))(pcVar6);\n      pcVar5 = (code *)0x0;\n    }" else (compound_statement "{\nLAB_000c5a6c:\n      if (puStack_458 != (undefined4 *)0x0) {\n        *puStack_458 = param_4;\n      }\n      if (*(int **)(pcVar6 + 0x1c) != (int *)0x0) {\n        **(int **)(pcVar6 + 0x1c) = iVar4;\n        *(code **)(*(int *)(pcVar6 + 0x1c) + 4) = param_4;\n      }\n      if (uVar18 != 0) {\n        (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))(pcStack_96c);\n        uVar18 = 0x20;\n      }\n      if (uStack_958 != 0) {\n        uVar18 = uVar18 | 2;\n      }\n      if (uVar20 != 0x100) {\n        uVar18 = uVar18 | 0x80;\n      }\n      if (bVar1) {\n        uVar18 = uVar18 | 8;\n      }\n      if (((uint)param_4 & 0x40) == 0) {\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = (code *)0x0;\n      }\n      else {\n        uVar18 = uVar18 | 0x40;\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = pcVar30;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca37c))(pcVar5,*(int *)(pcVar22 + 0xca060) + -0x45c0,1);\n      iVar16 = *(int *)(pcVar22 + 0xca060);\n      if (iVar27 != 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 0x10;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca610))(*(undefined4 *)(iVar8 + 0x10),iVar16 + -0x45b8);\n      if (iVar27 == 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 1;\n      }\n      if ((uVar18 & 0x80) == 0) {\n        iVar27 = (*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6);\n        if (iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n          iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);\n          if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n        }\n        else {\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }\n        *(int *)(pcVar6 + 0x14) = 0;\n        if (pcVar5 != (code *)0x0) {\n          if (iVar4 < 0) goto LAB_000c630c;\n          (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);\n          iVar4 = *(int *)(pcVar6 + 0x1c);\n          goto LAB_000c6310;\n        }\n      }\n      else {\n        iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4;\nLAB_000c6394:\n        *(int *)(pcVar6 + 0x14) = 0;\n      }\n      *(int *)pcVar6 = iVar27;\n      (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524))(pcVar6);\n      pcVar5 = (code *)0x0;\n    }" { (labeled_statement "LAB_000c5a6c:\n      if (puStack_458 != (undefined4 *)0x0) {\n        *puStack_458 = param_4;\n      }" statement_identifier : (if_statement "if (puStack_458 != (undefined4 *)0x0) {\n        *puStack_458 = param_4;\n      }" if (parenthesized_expression "(puStack_458 != (undefined4 *)0x0)" ( (binary_expression "puStack_458 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *puStack_458 = param_4;\n      }" { (expression_statement "*puStack_458 = param_4;" (assignment_expression "*puStack_458 = param_4" (pointer_expression "*puStack_458" * identifier) = identifier) ;) }))) (if_statement "if (*(int **)(pcVar6 + 0x1c) != (int *)0x0) {\n        **(int **)(pcVar6 + 0x1c) = iVar4;\n        *(code **)(*(int *)(pcVar6 + 0x1c) + 4) = param_4;\n      }" if (parenthesized_expression "(*(int **)(pcVar6 + 0x1c) != (int *)0x0)" ( (binary_expression "*(int **)(pcVar6 + 0x1c) != (int *)0x0" (pointer_expression "*(int **)(pcVar6 + 0x1c)" * (cast_expression "(int **)(pcVar6 + 0x1c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0x1c)" ( (binary_expression "pcVar6 + 0x1c" identifier + number_literal) )))) != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        **(int **)(pcVar6 + 0x1c) = iVar4;\n        *(code **)(*(int *)(pcVar6 + 0x1c) + 4) = param_4;\n      }" { (expression_statement "**(int **)(pcVar6 + 0x1c) = iVar4;" (assignment_expression "**(int **)(pcVar6 + 0x1c) = iVar4" (pointer_expression "**(int **)(pcVar6 + 0x1c)" * (pointer_expression "*(int **)(pcVar6 + 0x1c)" * (cast_expression "(int **)(pcVar6 + 0x1c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0x1c)" ( (binary_expression "pcVar6 + 0x1c" identifier + number_literal) ))))) = identifier) ;) (expression_statement "*(code **)(*(int *)(pcVar6 + 0x1c) + 4) = param_4;" (assignment_expression "*(code **)(*(int *)(pcVar6 + 0x1c) + 4) = param_4" (pointer_expression "*(code **)(*(int *)(pcVar6 + 0x1c) + 4)" * (cast_expression "(code **)(*(int *)(pcVar6 + 0x1c) + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar6 + 0x1c) + 4)" ( (binary_expression "*(int *)(pcVar6 + 0x1c) + 4" (pointer_expression "*(int *)(pcVar6 + 0x1c)" * (cast_expression "(int *)(pcVar6 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x1c)" ( (binary_expression "pcVar6 + 0x1c" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) })) (if_statement "if (uVar18 != 0) {\n        (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))(pcStack_96c);\n        uVar18 = 0x20;\n      }" if (parenthesized_expression "(uVar18 != 0)" ( (binary_expression "uVar18 != 0" identifier != number_literal) )) (compound_statement "{\n        (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))(pcStack_96c);\n        uVar18 = 0x20;\n      }" { (expression_statement "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))(pcStack_96c);" (call_expression "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))(pcStack_96c)" (parenthesized_expression "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))" ( (pointer_expression "**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c)" * (pointer_expression "*(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c)" * (cast_expression "(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + -0x77c)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x77c" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(pcStack_96c)" ( identifier ))) ;) (expression_statement "uVar18 = 0x20;" (assignment_expression "uVar18 = 0x20" identifier = number_literal) ;) })) (if_statement "if (uStack_958 != 0) {\n        uVar18 = uVar18 | 2;\n      }" if (parenthesized_expression "(uStack_958 != 0)" ( (binary_expression "uStack_958 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar18 = uVar18 | 2;\n      }" { (expression_statement "uVar18 = uVar18 | 2;" (assignment_expression "uVar18 = uVar18 | 2" identifier = (binary_expression "uVar18 | 2" identifier | number_literal)) ;) })) (if_statement "if (uVar20 != 0x100) {\n        uVar18 = uVar18 | 0x80;\n      }" if (parenthesized_expression "(uVar20 != 0x100)" ( (binary_expression "uVar20 != 0x100" identifier != number_literal) )) (compound_statement "{\n        uVar18 = uVar18 | 0x80;\n      }" { (expression_statement "uVar18 = uVar18 | 0x80;" (assignment_expression "uVar18 = uVar18 | 0x80" identifier = (binary_expression "uVar18 | 0x80" identifier | number_literal)) ;) })) (if_statement "if (bVar1) {\n        uVar18 = uVar18 | 8;\n      }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n        uVar18 = uVar18 | 8;\n      }" { (expression_statement "uVar18 = uVar18 | 8;" (assignment_expression "uVar18 = uVar18 | 8" identifier = (binary_expression "uVar18 | 8" identifier | number_literal)) ;) })) (if_statement "if (((uint)param_4 & 0x40) == 0) {\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = (code *)0x0;\n      }\n      else {\n        uVar18 = uVar18 | 0x40;\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = pcVar30;\n      }" if (parenthesized_expression "(((uint)param_4 & 0x40) == 0)" ( (binary_expression "((uint)param_4 & 0x40) == 0" (parenthesized_expression "((uint)param_4 & 0x40)" ( (binary_expression "(uint)param_4 & 0x40" (cast_expression "(uint)param_4" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = (code *)0x0;\n      }" { (expression_statement "*(int *)(pcVar6 + 0xc) = iVar4;" (assignment_expression "*(int *)(pcVar6 + 0xc) = iVar4" (pointer_expression "*(int *)(pcVar6 + 0xc)" * (cast_expression "(int *)(pcVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xc)" ( (binary_expression "pcVar6 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(pcVar6 + 4) = iVar8;" (assignment_expression "*(int *)(pcVar6 + 4) = iVar8" (pointer_expression "*(int *)(pcVar6 + 4)" * (cast_expression "(int *)(pcVar6 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 4)" ( (binary_expression "pcVar6 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(pcVar6 + 0x20) = pcVar30;" (assignment_expression "*(code **)(pcVar6 + 0x20) = pcVar30" (pointer_expression "*(code **)(pcVar6 + 0x20)" * (cast_expression "(code **)(pcVar6 + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0x20)" ( (binary_expression "pcVar6 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(short *)(pcVar6 + 0x12) = (short)uVar18;" (assignment_expression "*(short *)(pcVar6 + 0x12) = (short)uVar18" (pointer_expression "*(short *)(pcVar6 + 0x12)" * (cast_expression "(short *)(pcVar6 + 0x12)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x12)" ( (binary_expression "pcVar6 + 0x12" identifier + number_literal) )))) = (cast_expression "(short)uVar18" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;) (expression_statement "iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);" (assignment_expression "iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0)" identifier = (pointer_expression "*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0)" * (cast_expression "(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + -0x1ac0)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x1ac0" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);" (assignment_expression "*(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc)" (pointer_expression "*(int *)(pcVar6 + 0x44)" * (cast_expression "(int *)(pcVar6 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x44)" ( (binary_expression "pcVar6 + 0x44" identifier + number_literal) )))) = (pointer_expression "*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc)" * (cast_expression "(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + -0x1abc)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x1abc" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(int *)(pcVar6 + 0x40) = iVar27;" (assignment_expression "*(int *)(pcVar6 + 0x40) = iVar27" (pointer_expression "*(int *)(pcVar6 + 0x40)" * (cast_expression "(int *)(pcVar6 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x40)" ( (binary_expression "pcVar6 + 0x40" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar5 = (code *)0x0;" (assignment_expression "pcVar5 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n        uVar18 = uVar18 | 0x40;\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = pcVar30;\n      }" else (compound_statement "{\n        uVar18 = uVar18 | 0x40;\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = pcVar30;\n      }" { (expression_statement "uVar18 = uVar18 | 0x40;" (assignment_expression "uVar18 = uVar18 | 0x40" identifier = (binary_expression "uVar18 | 0x40" identifier | number_literal)) ;) (expression_statement "*(int *)(pcVar6 + 0xc) = iVar4;" (assignment_expression "*(int *)(pcVar6 + 0xc) = iVar4" (pointer_expression "*(int *)(pcVar6 + 0xc)" * (cast_expression "(int *)(pcVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xc)" ( (binary_expression "pcVar6 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(pcVar6 + 4) = iVar8;" (assignment_expression "*(int *)(pcVar6 + 4) = iVar8" (pointer_expression "*(int *)(pcVar6 + 4)" * (cast_expression "(int *)(pcVar6 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 4)" ( (binary_expression "pcVar6 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(pcVar6 + 0x20) = pcVar30;" (assignment_expression "*(code **)(pcVar6 + 0x20) = pcVar30" (pointer_expression "*(code **)(pcVar6 + 0x20)" * (cast_expression "(code **)(pcVar6 + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0x20)" ( (binary_expression "pcVar6 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(short *)(pcVar6 + 0x12) = (short)uVar18;" (assignment_expression "*(short *)(pcVar6 + 0x12) = (short)uVar18" (pointer_expression "*(short *)(pcVar6 + 0x12)" * (cast_expression "(short *)(pcVar6 + 0x12)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x12)" ( (binary_expression "pcVar6 + 0x12" identifier + number_literal) )))) = (cast_expression "(short)uVar18" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;) (expression_statement "iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);" (assignment_expression "iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0)" identifier = (pointer_expression "*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0)" * (cast_expression "(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + -0x1ac0)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x1ac0" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);" (assignment_expression "*(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc)" (pointer_expression "*(int *)(pcVar6 + 0x44)" * (cast_expression "(int *)(pcVar6 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x44)" ( (binary_expression "pcVar6 + 0x44" identifier + number_literal) )))) = (pointer_expression "*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc)" * (cast_expression "(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + -0x1abc)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x1abc" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(int *)(pcVar6 + 0x40) = iVar27;" (assignment_expression "*(int *)(pcVar6 + 0x40) = iVar27" (pointer_expression "*(int *)(pcVar6 + 0x40)" * (cast_expression "(int *)(pcVar6 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x40)" ( (binary_expression "pcVar6 + 0x40" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar5 = pcVar30;" (assignment_expression "pcVar5 = pcVar30" identifier = identifier) ;) }))) (expression_statement "iVar27 = (**(code **)(pcVar22 + 0xca37c))(pcVar5,*(int *)(pcVar22 + 0xca060) + -0x45c0,1);" (assignment_expression "iVar27 = (**(code **)(pcVar22 + 0xca37c))(pcVar5,*(int *)(pcVar22 + 0xca060) + -0x45c0,1)" identifier = (call_expression "(**(code **)(pcVar22 + 0xca37c))(pcVar5,*(int *)(pcVar22 + 0xca060) + -0x45c0,1)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca37c))" ( (pointer_expression "**(code **)(pcVar22 + 0xca37c)" * (pointer_expression "*(code **)(pcVar22 + 0xca37c)" * (cast_expression "(code **)(pcVar22 + 0xca37c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca37c)" ( (binary_expression "pcVar22 + 0xca37c" identifier + number_literal) ))))) )) (argument_list "(pcVar5,*(int *)(pcVar22 + 0xca060) + -0x45c0,1)" ( identifier , (binary_expression "*(int *)(pcVar22 + 0xca060) + -0x45c0" (pointer_expression "*(int *)(pcVar22 + 0xca060)" * (cast_expression "(int *)(pcVar22 + 0xca060)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca060)" ( (binary_expression "pcVar22 + 0xca060" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "iVar16 = *(int *)(pcVar22 + 0xca060);" (assignment_expression "iVar16 = *(int *)(pcVar22 + 0xca060)" identifier = (pointer_expression "*(int *)(pcVar22 + 0xca060)" * (cast_expression "(int *)(pcVar22 + 0xca060)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca060)" ( (binary_expression "pcVar22 + 0xca060" identifier + number_literal) ))))) ;) (if_statement "if (iVar27 != 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 0x10;\n      }" if (parenthesized_expression "(iVar27 != 0)" ( (binary_expression "iVar27 != 0" identifier != number_literal) )) (compound_statement "{\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 0x10;\n      }" { (expression_statement "*(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 0x10;" (assignment_expression "*(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 0x10" (pointer_expression "*(ushort *)(pcVar6 + 0x12)" * (cast_expression "(ushort *)(pcVar6 + 0x12)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x12)" ( (binary_expression "pcVar6 + 0x12" identifier + number_literal) )))) = (binary_expression "*(ushort *)(pcVar6 + 0x12) | 0x10" (pointer_expression "*(ushort *)(pcVar6 + 0x12)" * (cast_expression "(ushort *)(pcVar6 + 0x12)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x12)" ( (binary_expression "pcVar6 + 0x12" identifier + number_literal) )))) | number_literal)) ;) })) (expression_statement "iVar27 = (**(code **)(pcVar22 + 0xca610))(*(undefined4 *)(iVar8 + 0x10),iVar16 + -0x45b8);" (assignment_expression "iVar27 = (**(code **)(pcVar22 + 0xca610))(*(undefined4 *)(iVar8 + 0x10),iVar16 + -0x45b8)" identifier = (call_expression "(**(code **)(pcVar22 + 0xca610))(*(undefined4 *)(iVar8 + 0x10),iVar16 + -0x45b8)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca610))" ( (pointer_expression "**(code **)(pcVar22 + 0xca610)" * (pointer_expression "*(code **)(pcVar22 + 0xca610)" * (cast_expression "(code **)(pcVar22 + 0xca610)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca610)" ( (binary_expression "pcVar22 + 0xca610" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar8 + 0x10),iVar16 + -0x45b8)" ( (pointer_expression "*(undefined4 *)(iVar8 + 0x10)" * (cast_expression "(undefined4 *)(iVar8 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x10)" ( (binary_expression "iVar8 + 0x10" identifier + number_literal) )))) , (binary_expression "iVar16 + -0x45b8" identifier + number_literal) )))) ;) (if_statement "if (iVar27 == 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 1;\n      }" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (compound_statement "{\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 1;\n      }" { (expression_statement "*(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 1;" (assignment_expression "*(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 1" (pointer_expression "*(ushort *)(pcVar6 + 0x12)" * (cast_expression "(ushort *)(pcVar6 + 0x12)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x12)" ( (binary_expression "pcVar6 + 0x12" identifier + number_literal) )))) = (binary_expression "*(ushort *)(pcVar6 + 0x12) | 1" (pointer_expression "*(ushort *)(pcVar6 + 0x12)" * (cast_expression "(ushort *)(pcVar6 + 0x12)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x12)" ( (binary_expression "pcVar6 + 0x12" identifier + number_literal) )))) | number_literal)) ;) })) (if_statement "if ((uVar18 & 0x80) == 0) {\n        iVar27 = (*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6);\n        if (iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n          iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);\n          if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n        }\n        else {\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }\n        *(int *)(pcVar6 + 0x14) = 0;\n        if (pcVar5 != (code *)0x0) {\n          if (iVar4 < 0) goto LAB_000c630c;\n          (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);\n          iVar4 = *(int *)(pcVar6 + 0x1c);\n          goto LAB_000c6310;\n        }\n      }\n      else {\n        iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4;\nLAB_000c6394:\n        *(int *)(pcVar6 + 0x14) = 0;\n      }" if (parenthesized_expression "((uVar18 & 0x80) == 0)" ( (binary_expression "(uVar18 & 0x80) == 0" (parenthesized_expression "(uVar18 & 0x80)" ( (binary_expression "uVar18 & 0x80" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        iVar27 = (*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6);\n        if (iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n          iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);\n          if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n        }\n        else {\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }\n        *(int *)(pcVar6 + 0x14) = 0;\n        if (pcVar5 != (code *)0x0) {\n          if (iVar4 < 0) goto LAB_000c630c;\n          (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);\n          iVar4 = *(int *)(pcVar6 + 0x1c);\n          goto LAB_000c6310;\n        }\n      }" { (expression_statement "iVar27 = (*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6);" (assignment_expression "iVar27 = (*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6)" identifier = (call_expression "(*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6)" (parenthesized_expression "(*(code *)**(undefined4 **)(iVar8 + 0x14))" ( (pointer_expression "*(code *)**(undefined4 **)(iVar8 + 0x14)" * (cast_expression "(code *)**(undefined4 **)(iVar8 + 0x14)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(iVar8 + 0x14)" * (pointer_expression "*(undefined4 **)(iVar8 + 0x14)" * (cast_expression "(undefined4 **)(iVar8 + 0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x14)" ( (binary_expression "iVar8 + 0x14" identifier + number_literal) ))))))) )) (argument_list "(pcVar30,pcVar6)" ( identifier , identifier )))) ;) (if_statement "if (iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n          iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);\n          if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n        }\n        else {\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }" if (parenthesized_expression "(iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154)" ( (binary_expression "iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154" identifier == (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x2154" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal)) )) (compound_statement "{\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n          iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);\n          if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n        }" { (expression_statement "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();" (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca25c) + 0x277c)" ( (binary_expression "*(int *)(pcVar22 + 0xca25c) + 0x277c" (pointer_expression "*(int *)(pcVar22 + 0xca25c)" * (cast_expression "(int *)(pcVar22 + 0xca25c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca25c)" ( (binary_expression "pcVar22 + 0xca25c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (expression_statement "iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);" (assignment_expression "iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940)" identifier = (call_expression "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940)" (parenthesized_expression "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))" ( (pointer_expression "**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800)" * (pointer_expression "*(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800)" * (cast_expression "(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + -0x800)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x800" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(*(int *)(pcVar6 + 0xc),aiStack_940)" ( (pointer_expression "*(int *)(pcVar6 + 0xc)" * (cast_expression "(int *)(pcVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xc)" ( (binary_expression "pcVar6 + 0xc" identifier + number_literal) )))) , identifier )))) ;) (if_statement "if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }" { (expression_statement "uStack_950 = 0;" (assignment_expression "uStack_950 = 0" identifier = number_literal) ;) (expression_statement "iStack_94c = aiStack_940[0];" (assignment_expression "iStack_94c = aiStack_940[0]" identifier = (subscript_expression "aiStack_940[0]" identifier [ number_literal ])) ;) (expression_statement "iStack_944 = iStack_92c;" (assignment_expression "iStack_944 = iStack_92c" identifier = identifier) ;) (expression_statement "iStack_948 = iStack_930;" (assignment_expression "iStack_948 = iStack_930" identifier = identifier) ;) (for_statement "for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }" for ( (assignment_expression "puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228)" identifier = (pointer_expression "*(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228)" * (cast_expression "(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + 0x228)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + 0x228" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) ))))) ; (binary_expression "puVar19 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar19 = (undefined4 *)puVar19[0xb]" identifier = (cast_expression "(undefined4 *)puVar19[0xb]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar19[0xb]" identifier [ number_literal ]))) ) (compound_statement "{\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }" { (expression_statement "iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);" (assignment_expression "iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10)" identifier = (call_expression "(**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca5b8))" ( (pointer_expression "**(code **)(pcVar22 + 0xca5b8)" * (pointer_expression "*(code **)(pcVar22 + 0xca5b8)" * (cast_expression "(code **)(pcVar22 + 0xca5b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca5b8)" ( (binary_expression "pcVar22 + 0xca5b8" identifier + number_literal) ))))) )) (argument_list "(&uStack_950,puVar19,0x10)" ( (pointer_expression "&uStack_950" & identifier) , identifier , number_literal )))) ;) (if_statement "if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }" { (if_statement "if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }" if (parenthesized_expression "(puVar19 != (undefined4 *)0x0)" ( (binary_expression "puVar19 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }" { (expression_statement "puVar19[9] = puVar19[9] + 1;" (assignment_expression "puVar19[9] = puVar19[9] + 1" (subscript_expression "puVar19[9]" identifier [ number_literal ]) = (binary_expression "puVar19[9] + 1" (subscript_expression "puVar19[9]" identifier [ number_literal ]) + number_literal)) ;) (goto_statement "goto LAB_000c62e4;" goto statement_identifier ;) })) (break_statement "break;" break ;) })) })) (expression_statement "puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);" (assignment_expression "puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38)" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar22 + 0xca0d4))(0,0x38)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca0d4))" ( (pointer_expression "**(code **)(pcVar22 + 0xca0d4)" * (pointer_expression "*(code **)(pcVar22 + 0xca0d4)" * (cast_expression "(code **)(pcVar22 + 0xca0d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca0d4)" ( (binary_expression "pcVar22 + 0xca0d4" identifier + number_literal) ))))) )) (argument_list "(0,0x38)" ( number_literal , number_literal ))))) ;) (if_statement "if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }" if (parenthesized_expression "(puVar19 == (undefined4 *)0x0)" ( (binary_expression "puVar19 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }" { (expression_statement "pcVar5 = (code *)&DAT_00000007;" (assignment_expression "pcVar5 = (code *)&DAT_00000007" identifier = (cast_expression "(code *)&DAT_00000007" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (goto_statement "goto LAB_000c62a8;" goto statement_identifier ;) })) (expression_statement "(**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);" (call_expression "(**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca504))" ( (pointer_expression "**(code **)(pcVar22 + 0xca504)" * (pointer_expression "*(code **)(pcVar22 + 0xca504)" * (cast_expression "(code **)(pcVar22 + 0xca504)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca504)" ( (binary_expression "pcVar22 + 0xca504" identifier + number_literal) ))))) )) (argument_list "(puVar19 + 4,0,0x28)" ( (binary_expression "puVar19 + 4" identifier + number_literal) , number_literal , number_literal ))) ;) (expression_statement "*puVar19 = uStack_950;" (assignment_expression "*puVar19 = uStack_950" (pointer_expression "*puVar19" * identifier) = identifier) ;) (expression_statement "puVar19[1] = iStack_94c;" (assignment_expression "puVar19[1] = iStack_94c" (subscript_expression "puVar19[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar19[2] = iStack_948;" (assignment_expression "puVar19[2] = iStack_948" (subscript_expression "puVar19[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar19[3] = iStack_944;" (assignment_expression "puVar19[3] = iStack_944" (subscript_expression "puVar19[3]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }" if (parenthesized_expression "(*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0)" ( (binary_expression "*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0" (pointer_expression "*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74)" * (cast_expression "(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + -0x1b74)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x1b74" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }" { (expression_statement "iVar8 = (**(code **)(pcVar22 + 0xca380))(0);" (assignment_expression "iVar8 = (**(code **)(pcVar22 + 0xca380))(0)" identifier = (call_expression "(**(code **)(pcVar22 + 0xca380))(0)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca380))" ( (pointer_expression "**(code **)(pcVar22 + 0xca380)" * (pointer_expression "*(code **)(pcVar22 + 0xca380)" * (cast_expression "(code **)(pcVar22 + 0xca380)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca380)" ( (binary_expression "pcVar22 + 0xca380" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal )))) ;) (expression_statement "puVar19[4] = iVar8;" (assignment_expression "puVar19[4] = iVar8" (subscript_expression "puVar19[4]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }" { (expression_statement "(**(code **)(pcVar22 + 0xca07c))(puVar19);" (call_expression "(**(code **)(pcVar22 + 0xca07c))(puVar19)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca07c))" ( (pointer_expression "**(code **)(pcVar22 + 0xca07c)" * (pointer_expression "*(code **)(pcVar22 + 0xca07c)" * (cast_expression "(code **)(pcVar22 + 0xca07c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca07c)" ( (binary_expression "pcVar22 + 0xca07c" identifier + number_literal) ))))) )) (argument_list "(puVar19)" ( identifier ))) ;) (expression_statement "pcVar5 = (code *)&DAT_00000007;" (assignment_expression "pcVar5 = (code *)&DAT_00000007" identifier = (cast_expression "(code *)&DAT_00000007" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (goto_statement "goto LAB_000c62a8;" goto statement_identifier ;) })) })) (expression_statement "puVar19[9] = 1;" (assignment_expression "puVar19[9] = 1" (subscript_expression "puVar19[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);" (assignment_expression "iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228)" identifier = (pointer_expression "*(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228)" * (cast_expression "(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + 0x228)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + 0x228" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "puVar19[0xb] = iVar8;" (assignment_expression "puVar19[0xb] = iVar8" (subscript_expression "puVar19[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar19[0xc] = 0;" (assignment_expression "puVar19[0xc] = 0" (subscript_expression "puVar19[0xc]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }" { (expression_statement "*(undefined4 **)(iVar8 + 0x30) = puVar19;" (assignment_expression "*(undefined4 **)(iVar8 + 0x30) = puVar19" (pointer_expression "*(undefined4 **)(iVar8 + 0x30)" * (cast_expression "(undefined4 **)(iVar8 + 0x30)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x30)" ( (binary_expression "iVar8 + 0x30" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "*(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;" (assignment_expression "*(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19" (pointer_expression "*(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228)" * (cast_expression "(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + 0x228)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + 0x228" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) (labeled_statement "LAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;" statement_identifier : (expression_statement "*(undefined4 **)(pcVar6 + 8) = puVar19;" (assignment_expression "*(undefined4 **)(pcVar6 + 8) = puVar19" (pointer_expression "*(undefined4 **)(pcVar6 + 8)" * (cast_expression "(undefined4 **)(pcVar6 + 8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 8)" ( (binary_expression "pcVar6 + 8" identifier + number_literal) )))) = identifier) ;)) (expression_statement "pcVar5 = (code *)0x0;" (assignment_expression "pcVar5 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }" else (compound_statement "{\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }" { (expression_statement "piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();" (assignment_expression "piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))()" identifier = (cast_expression "(int *)(**(code **)(pcVar22 + 0xca4f8))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar22 + 0xca4f8))()" (parenthesized_expression "(**(code **)(pcVar22 + 0xca4f8))" ( (pointer_expression "**(code **)(pcVar22 + 0xca4f8)" * (pointer_expression "*(code **)(pcVar22 + 0xca4f8)" * (cast_expression "(code **)(pcVar22 + 0xca4f8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca4f8)" ( (binary_expression "pcVar22 + 0xca4f8" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "*(int *)(pcVar6 + 0x14) = *piVar10;" (assignment_expression "*(int *)(pcVar6 + 0x14) = *piVar10" (pointer_expression "*(int *)(pcVar6 + 0x14)" * (cast_expression "(int *)(pcVar6 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x14)" ( (binary_expression "pcVar6 + 0x14" identifier + number_literal) )))) = (pointer_expression "*piVar10" * identifier)) ;) (expression_statement "pcVar5 = (code *)&DAT_0000000a;" (assignment_expression "pcVar5 = (code *)&DAT_0000000a" identifier = (cast_expression "(code *)&DAT_0000000a" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000000a" & identifier))) ;) (labeled_statement "LAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);" statement_identifier : (expression_statement "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);" (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca2f8) + 0x158c)" ( (binary_expression "*(int *)(pcVar22 + 0xca2f8) + 0x158c" (pointer_expression "*(int *)(pcVar22 + 0xca2f8)" * (cast_expression "(int *)(pcVar22 + 0xca2f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca2f8)" ( (binary_expression "pcVar22 + 0xca2f8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcVar6,iVar4,0x9442)" ( identifier , identifier , number_literal ))) ;)) (expression_statement "iVar4 = -1;" (assignment_expression "iVar4 = -1" identifier = number_literal) ;) }))) (expression_statement "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();" (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca25c) + 0x27b8)" ( (binary_expression "*(int *)(pcVar22 + 0xca25c) + 0x27b8" (pointer_expression "*(int *)(pcVar22 + 0xca25c)" * (cast_expression "(int *)(pcVar22 + 0xca25c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca25c)" ( (binary_expression "pcVar22 + 0xca25c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) }) (else_clause "else {\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }" else (compound_statement "{\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }" { (if_statement "if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;" if (parenthesized_expression "(iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4)" ( (binary_expression "iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4" identifier != (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x21f4" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal)) )) (goto_statement "goto LAB_000c6394;" goto statement_identifier ;)) (expression_statement "iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);" (assignment_expression "iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30)" identifier = (call_expression "(**(code **)(pcVar22 + 0xca52c))(pcVar30)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca52c))" ( (pointer_expression "**(code **)(pcVar22 + 0xca52c)" * (pointer_expression "*(code **)(pcVar22 + 0xca52c)" * (cast_expression "(code **)(pcVar22 + 0xca52c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca52c)" ( (binary_expression "pcVar22 + 0xca52c" identifier + number_literal) ))))) )) (argument_list "(pcVar30)" ( identifier )))) ;) (expression_statement "iVar8 = iVar8 + 6;" (assignment_expression "iVar8 = iVar8 + 6" identifier = (binary_expression "iVar8 + 6" identifier + number_literal)) ;) (expression_statement "iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);" (assignment_expression "iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8)" identifier = (call_expression "(**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca0d4))" ( (pointer_expression "**(code **)(pcVar22 + 0xca0d4)" * (pointer_expression "*(code **)(pcVar22 + 0xca0d4)" * (cast_expression "(code **)(pcVar22 + 0xca0d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca0d4)" ( (binary_expression "pcVar22 + 0xca0d4" identifier + number_literal) ))))) )) (argument_list "(iVar8 >> 0x1f,iVar8)" ( (binary_expression "iVar8 >> 0x1f" identifier >> number_literal) , identifier )))) ;) (if_statement "if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n            pcVar5 = (code *)&DAT_00000007;\n          }" { (expression_statement "pcVar5 = (code *)&DAT_00000007;" (assignment_expression "pcVar5 = (code *)&DAT_00000007" identifier = (cast_expression "(code *)&DAT_00000007" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) }) (else_clause "else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }" else (compound_statement "{\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }" { (expression_statement "(**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);" (call_expression "(**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca160))" ( (pointer_expression "**(code **)(pcVar22 + 0xca160)" * (pointer_expression "*(code **)(pcVar22 + 0xca160)" * (cast_expression "(code **)(pcVar22 + 0xca160)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca160)" ( (binary_expression "pcVar22 + 0xca160" identifier + number_literal) ))))) )) (argument_list "(iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30)" ( identifier , identifier , (binary_expression "*(int *)(pcVar22 + 0xca060) + -0x45ac" (pointer_expression "*(int *)(pcVar22 + 0xca060)" * (cast_expression "(int *)(pcVar22 + 0xca060)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca060)" ( (binary_expression "pcVar22 + 0xca060" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (expression_statement "pcVar5 = (code *)0x0;" (assignment_expression "pcVar5 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "*(int *)(pcVar6 + 0x18) = iVar16;" (assignment_expression "*(int *)(pcVar6 + 0x18) = iVar16" (pointer_expression "*(int *)(pcVar6 + 0x18)" * (cast_expression "(int *)(pcVar6 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x18)" ( (binary_expression "pcVar6 + 0x18" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "*(int *)(pcVar6 + 0x14) = 0;" (assignment_expression "*(int *)(pcVar6 + 0x14) = 0" (pointer_expression "*(int *)(pcVar6 + 0x14)" * (cast_expression "(int *)(pcVar6 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x14)" ( (binary_expression "pcVar6 + 0x14" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (pcVar5 != (code *)0x0) {\n          if (iVar4 < 0) goto LAB_000c630c;\n          (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);\n          iVar4 = *(int *)(pcVar6 + 0x1c);\n          goto LAB_000c6310;\n        }" if (parenthesized_expression "(pcVar5 != (code *)0x0)" ( (binary_expression "pcVar5 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (iVar4 < 0) goto LAB_000c630c;\n          (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);\n          iVar4 = *(int *)(pcVar6 + 0x1c);\n          goto LAB_000c6310;\n        }" { (if_statement "if (iVar4 < 0) goto LAB_000c630c;" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (goto_statement "goto LAB_000c630c;" goto statement_identifier ;)) (expression_statement "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);" (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca2f8) + 0x158c)" ( (binary_expression "*(int *)(pcVar22 + 0xca2f8) + 0x158c" (pointer_expression "*(int *)(pcVar22 + 0xca2f8)" * (cast_expression "(int *)(pcVar22 + 0xca2f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca2f8)" ( (binary_expression "pcVar22 + 0xca2f8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcVar6,iVar4,0x9497)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar4 = *(int *)(pcVar6 + 0x1c);" (assignment_expression "iVar4 = *(int *)(pcVar6 + 0x1c)" identifier = (pointer_expression "*(int *)(pcVar6 + 0x1c)" * (cast_expression "(int *)(pcVar6 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x1c)" ( (binary_expression "pcVar6 + 0x1c" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000c6310;" goto statement_identifier ;) })) }) (else_clause "else {\n        iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4;\nLAB_000c6394:\n        *(int *)(pcVar6 + 0x14) = 0;\n      }" else (compound_statement "{\n        iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4;\nLAB_000c6394:\n        *(int *)(pcVar6 + 0x14) = 0;\n      }" { (expression_statement "iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4;" (assignment_expression "iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4" identifier = (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x21a4" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal)) ;) (labeled_statement "LAB_000c6394:\n        *(int *)(pcVar6 + 0x14) = 0;" statement_identifier : (expression_statement "*(int *)(pcVar6 + 0x14) = 0;" (assignment_expression "*(int *)(pcVar6 + 0x14) = 0" (pointer_expression "*(int *)(pcVar6 + 0x14)" * (cast_expression "(int *)(pcVar6 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x14)" ( (binary_expression "pcVar6 + 0x14" identifier + number_literal) )))) = number_literal) ;)) }))) (expression_statement "*(int *)pcVar6 = iVar27;" (assignment_expression "*(int *)pcVar6 = iVar27" (pointer_expression "*(int *)pcVar6" * (cast_expression "(int *)pcVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524))(pcVar6);" (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524))(pcVar6)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca2f8) + 0x2524)" ( (binary_expression "*(int *)(pcVar22 + 0xca2f8) + 0x2524" (pointer_expression "*(int *)(pcVar22 + 0xca2f8)" * (cast_expression "(int *)(pcVar22 + 0xca2f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca2f8)" ( (binary_expression "pcVar22 + 0xca2f8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcVar6)" ( identifier ))) ;) (expression_statement "pcVar5 = (code *)0x0;" (assignment_expression "pcVar5 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) }) (else_clause "else {\n    if ((uVar20 == 0x4000) || (uVar20 == 0x800)) {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n    }\n    else {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n      if (uVar20 != 0x80000) goto LAB_000c59a0;\n    }\n    iVar4 = (*pcVar5)();\n    if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {\n      bVar1 = true;\nLAB_000c59cc:\n      uVar29 = (**(code **)(pcVar22 + 0xca564))();\n      *(undefined4 *)(*(int *)(pcVar22 + 0xca04c) + 0x230) = uVar29;\n      sqlite3_randomness(0,0);\n      goto LAB_000c59fc;\n    }\n    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);\n    bVar1 = true;\nLAB_000c5a24:\n    iVar4 = -1;\n    if (pcVar30 != (code *)0x0) goto LAB_000c5a34;\n    pcVar5 = (code *)FUN_000c5048(*(undefined4 *)(iVar8 + 8),auStack_698);\n    if (pcVar5 == (code *)0x0) {\n      iVar4 = -1;\n      pcStack_96c = (code *)auStack_698;\n      goto LAB_000c5a34;\n    }\n  }" else (compound_statement "{\n    if ((uVar20 == 0x4000) || (uVar20 == 0x800)) {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n    }\n    else {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n      if (uVar20 != 0x80000) goto LAB_000c59a0;\n    }\n    iVar4 = (*pcVar5)();\n    if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {\n      bVar1 = true;\nLAB_000c59cc:\n      uVar29 = (**(code **)(pcVar22 + 0xca564))();\n      *(undefined4 *)(*(int *)(pcVar22 + 0xca04c) + 0x230) = uVar29;\n      sqlite3_randomness(0,0);\n      goto LAB_000c59fc;\n    }\n    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);\n    bVar1 = true;\nLAB_000c5a24:\n    iVar4 = -1;\n    if (pcVar30 != (code *)0x0) goto LAB_000c5a34;\n    pcVar5 = (code *)FUN_000c5048(*(undefined4 *)(iVar8 + 8),auStack_698);\n    if (pcVar5 == (code *)0x0) {\n      iVar4 = -1;\n      pcStack_96c = (code *)auStack_698;\n      goto LAB_000c5a34;\n    }\n  }" { (if_statement "if ((uVar20 == 0x4000) || (uVar20 == 0x800)) {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n    }\n    else {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n      if (uVar20 != 0x80000) goto LAB_000c59a0;\n    }" if (parenthesized_expression "((uVar20 == 0x4000) || (uVar20 == 0x800))" ( (binary_expression "(uVar20 == 0x4000) || (uVar20 == 0x800)" (parenthesized_expression "(uVar20 == 0x4000)" ( (binary_expression "uVar20 == 0x4000" identifier == number_literal) )) || (parenthesized_expression "(uVar20 == 0x800)" ( (binary_expression "uVar20 == 0x800" identifier == number_literal) ))) )) (compound_statement "{\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n    }" { (expression_statement "pcVar5 = *(code **)(pcVar22 + 0xca564);" (assignment_expression "pcVar5 = *(code **)(pcVar22 + 0xca564)" identifier = (pointer_expression "*(code **)(pcVar22 + 0xca564)" * (cast_expression "(code **)(pcVar22 + 0xca564)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca564)" ( (binary_expression "pcVar22 + 0xca564" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n      if (uVar20 != 0x80000) goto LAB_000c59a0;\n    }" else (compound_statement "{\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n      if (uVar20 != 0x80000) goto LAB_000c59a0;\n    }" { (expression_statement "pcVar5 = *(code **)(pcVar22 + 0xca564);" (assignment_expression "pcVar5 = *(code **)(pcVar22 + 0xca564)" identifier = (pointer_expression "*(code **)(pcVar22 + 0xca564)" * (cast_expression "(code **)(pcVar22 + 0xca564)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca564)" ( (binary_expression "pcVar22 + 0xca564" identifier + number_literal) ))))) ;) (if_statement "if (uVar20 != 0x80000) goto LAB_000c59a0;" if (parenthesized_expression "(uVar20 != 0x80000)" ( (binary_expression "uVar20 != 0x80000" identifier != number_literal) )) (goto_statement "goto LAB_000c59a0;" goto statement_identifier ;)) }))) (expression_statement "iVar4 = (*pcVar5)();" (assignment_expression "iVar4 = (*pcVar5)()" identifier = (call_expression "(*pcVar5)()" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {\n      bVar1 = true;\nLAB_000c59cc:\n      uVar29 = (**(code **)(pcVar22 + 0xca564))();\n      *(undefined4 *)(*(int *)(pcVar22 + 0xca04c) + 0x230) = uVar29;\n      sqlite3_randomness(0,0);\n      goto LAB_000c59fc;\n    }" if (parenthesized_expression "(iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230))" ( (binary_expression "iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)" identifier != (pointer_expression "*(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)" * (cast_expression "(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + 0x230)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + 0x230" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n      bVar1 = true;\nLAB_000c59cc:\n      uVar29 = (**(code **)(pcVar22 + 0xca564))();\n      *(undefined4 *)(*(int *)(pcVar22 + 0xca04c) + 0x230) = uVar29;\n      sqlite3_randomness(0,0);\n      goto LAB_000c59fc;\n    }" { (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (labeled_statement "LAB_000c59cc:\n      uVar29 = (**(code **)(pcVar22 + 0xca564))();" statement_identifier : (expression_statement "uVar29 = (**(code **)(pcVar22 + 0xca564))();" (assignment_expression "uVar29 = (**(code **)(pcVar22 + 0xca564))()" identifier = (call_expression "(**(code **)(pcVar22 + 0xca564))()" (parenthesized_expression "(**(code **)(pcVar22 + 0xca564))" ( (pointer_expression "**(code **)(pcVar22 + 0xca564)" * (pointer_expression "*(code **)(pcVar22 + 0xca564)" * (cast_expression "(code **)(pcVar22 + 0xca564)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca564)" ( (binary_expression "pcVar22 + 0xca564" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;)) (expression_statement "*(undefined4 *)(*(int *)(pcVar22 + 0xca04c) + 0x230) = uVar29;" (assignment_expression "*(undefined4 *)(*(int *)(pcVar22 + 0xca04c) + 0x230) = uVar29" (pointer_expression "*(undefined4 *)(*(int *)(pcVar22 + 0xca04c) + 0x230)" * (cast_expression "(undefined4 *)(*(int *)(pcVar22 + 0xca04c) + 0x230)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + 0x230)" ( (binary_expression "*(int *)(pcVar22 + 0xca04c) + 0x230" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" * (cast_expression "(int *)(pcVar22 + 0xca04c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xca04c)" ( (binary_expression "pcVar22 + 0xca04c" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) (expression_statement "sqlite3_randomness(0,0);" (call_expression "sqlite3_randomness(0,0)" identifier (argument_list "(0,0)" ( number_literal , number_literal ))) ;) (goto_statement "goto LAB_000c59fc;" goto statement_identifier ;) })) (expression_statement "(**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);" (call_expression "(**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca504))" ( (pointer_expression "**(code **)(pcVar22 + 0xca504)" * (pointer_expression "*(code **)(pcVar22 + 0xca504)" * (cast_expression "(code **)(pcVar22 + 0xca504)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca504)" ( (binary_expression "pcVar22 + 0xca504" identifier + number_literal) ))))) )) (argument_list "(pcVar6,0,0x58)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (labeled_statement "LAB_000c5a24:\n    iVar4 = -1;" statement_identifier : (expression_statement "iVar4 = -1;" (assignment_expression "iVar4 = -1" identifier = number_literal) ;)) (if_statement "if (pcVar30 != (code *)0x0) goto LAB_000c5a34;" if (parenthesized_expression "(pcVar30 != (code *)0x0)" ( (binary_expression "pcVar30 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c5a34;" goto statement_identifier ;)) (expression_statement "pcVar5 = (code *)FUN_000c5048(*(undefined4 *)(iVar8 + 8),auStack_698);" (assignment_expression "pcVar5 = (code *)FUN_000c5048(*(undefined4 *)(iVar8 + 8),auStack_698)" identifier = (cast_expression "(code *)FUN_000c5048(*(undefined4 *)(iVar8 + 8),auStack_698)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000c5048(*(undefined4 *)(iVar8 + 8),auStack_698)" identifier (argument_list "(*(undefined4 *)(iVar8 + 8),auStack_698)" ( (pointer_expression "*(undefined4 *)(iVar8 + 8)" * (cast_expression "(undefined4 *)(iVar8 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 8)" ( (binary_expression "iVar8 + 8" identifier + number_literal) )))) , identifier ))))) ;) (if_statement "if (pcVar5 == (code *)0x0) {\n      iVar4 = -1;\n      pcStack_96c = (code *)auStack_698;\n      goto LAB_000c5a34;\n    }" if (parenthesized_expression "(pcVar5 == (code *)0x0)" ( (binary_expression "pcVar5 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar4 = -1;\n      pcStack_96c = (code *)auStack_698;\n      goto LAB_000c5a34;\n    }" { (expression_statement "iVar4 = -1;" (assignment_expression "iVar4 = -1" identifier = number_literal) ;) (expression_statement "pcStack_96c = (code *)auStack_698;" (assignment_expression "pcStack_96c = (code *)auStack_698" identifier = (cast_expression "(code *)auStack_698" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto LAB_000c5a34;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_000c602c:\n  if (iStack_494 == **(int **)(pcVar22 + 0xca5d0)) {\n    return pcVar5;\n  }" statement_identifier : (if_statement "if (iStack_494 == **(int **)(pcVar22 + 0xca5d0)) {\n    return pcVar5;\n  }" if (parenthesized_expression "(iStack_494 == **(int **)(pcVar22 + 0xca5d0))" ( (binary_expression "iStack_494 == **(int **)(pcVar22 + 0xca5d0)" identifier == (pointer_expression "**(int **)(pcVar22 + 0xca5d0)" * (pointer_expression "*(int **)(pcVar22 + 0xca5d0)" * (cast_expression "(int **)(pcVar22 + 0xca5d0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca5d0)" ( (binary_expression "pcVar22 + 0xca5d0" identifier + number_literal) )))))) )) (compound_statement "{\n    return pcVar5;\n  }" { (return_statement "return pcVar5;" return identifier ;) }))) (expression_statement "pcVar22 = *(code **)(pcVar22 + 0xca5a4);" (assignment_expression "pcVar22 = *(code **)(pcVar22 + 0xca5a4)" identifier = (pointer_expression "*(code **)(pcVar22 + 0xca5a4)" * (cast_expression "(code **)(pcVar22 + 0xca5a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xca5a4)" ( (binary_expression "pcVar22 + 0xca5a4" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = iStack_494;" (assignment_expression "iVar4 = iStack_494" identifier = identifier) ;) (expression_statement "(*pcVar22)();" (call_expression "(*pcVar22)()" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "uVar9 = *(uint *)(iVar4 + 0x98);" (assignment_expression "uVar9 = *(uint *)(iVar4 + 0x98)" identifier = (pointer_expression "*(uint *)(iVar4 + 0x98)" * (cast_expression "(uint *)(iVar4 + 0x98)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x98)" ( (binary_expression "iVar4 + 0x98" identifier + number_literal) ))))) ;) (if_statement "if (*(uint *)(iVar4 + 0x94) <= *(uint *)(iVar4 + 0x98)) {\n    uVar9 = *(uint *)(iVar4 + 0x94);\n  }" if (parenthesized_expression "(*(uint *)(iVar4 + 0x94) <= *(uint *)(iVar4 + 0x98))" ( (binary_expression "*(uint *)(iVar4 + 0x94) <= *(uint *)(iVar4 + 0x98)" (pointer_expression "*(uint *)(iVar4 + 0x94)" * (cast_expression "(uint *)(iVar4 + 0x94)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x94)" ( (binary_expression "iVar4 + 0x94" identifier + number_literal) )))) <= (pointer_expression "*(uint *)(iVar4 + 0x98)" * (cast_expression "(uint *)(iVar4 + 0x98)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x98)" ( (binary_expression "iVar4 + 0x98" identifier + number_literal) ))))) )) (compound_statement "{\n    uVar9 = *(uint *)(iVar4 + 0x94);\n  }" { (expression_statement "uVar9 = *(uint *)(iVar4 + 0x94);" (assignment_expression "uVar9 = *(uint *)(iVar4 + 0x94)" identifier = (pointer_expression "*(uint *)(iVar4 + 0x94)" * (cast_expression "(uint *)(iVar4 + 0x94)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x94)" ( (binary_expression "iVar4 + 0x94" identifier + number_literal) ))))) ;) })) (expression_statement "puVar19 = *(undefined4 **)(iVar4 + 0xd0);" (assignment_expression "puVar19 = *(undefined4 **)(iVar4 + 0xd0)" identifier = (pointer_expression "*(undefined4 **)(iVar4 + 0xd0)" * (cast_expression "(undefined4 **)(iVar4 + 0xd0)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xd0)" ( (binary_expression "iVar4 + 0xd0" identifier + number_literal) ))))) ;) (if_statement "if (0 < *(int *)(iVar4 + 0x60)) {\n    iVar8 = 0;\n    iVar27 = 0;\n    do {\n      iVar16 = *(int *)(iVar4 + 0x5c) + iVar8;\n      if (*(int *)(iVar16 + 8) == 0 && *(int *)(iVar16 + 0xc) == 0) {\n        uVar29 = *(undefined4 *)(iVar4 + 0x48);\n        *(undefined4 *)(iVar16 + 0xc) = *(undefined4 *)(iVar4 + 0x4c);\n        *(undefined4 *)(iVar16 + 8) = uVar29;\n      }\n      iVar27 = iVar27 + 1;\n      iVar8 = iVar8 + 0x30;\n    } while (iVar27 < *(int *)(iVar4 + 0x60));\n  }" if (parenthesized_expression "(0 < *(int *)(iVar4 + 0x60))" ( (binary_expression "0 < *(int *)(iVar4 + 0x60)" number_literal < (pointer_expression "*(int *)(iVar4 + 0x60)" * (cast_expression "(int *)(iVar4 + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x60)" ( (binary_expression "iVar4 + 0x60" identifier + number_literal) ))))) )) (compound_statement "{\n    iVar8 = 0;\n    iVar27 = 0;\n    do {\n      iVar16 = *(int *)(iVar4 + 0x5c) + iVar8;\n      if (*(int *)(iVar16 + 8) == 0 && *(int *)(iVar16 + 0xc) == 0) {\n        uVar29 = *(undefined4 *)(iVar4 + 0x48);\n        *(undefined4 *)(iVar16 + 0xc) = *(undefined4 *)(iVar4 + 0x4c);\n        *(undefined4 *)(iVar16 + 8) = uVar29;\n      }\n      iVar27 = iVar27 + 1;\n      iVar8 = iVar8 + 0x30;\n    } while (iVar27 < *(int *)(iVar4 + 0x60));\n  }" { (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" identifier = number_literal) ;) (do_statement "do {\n      iVar16 = *(int *)(iVar4 + 0x5c) + iVar8;\n      if (*(int *)(iVar16 + 8) == 0 && *(int *)(iVar16 + 0xc) == 0) {\n        uVar29 = *(undefined4 *)(iVar4 + 0x48);\n        *(undefined4 *)(iVar16 + 0xc) = *(undefined4 *)(iVar4 + 0x4c);\n        *(undefined4 *)(iVar16 + 8) = uVar29;\n      }\n      iVar27 = iVar27 + 1;\n      iVar8 = iVar8 + 0x30;\n    } while (iVar27 < *(int *)(iVar4 + 0x60));" do (compound_statement "{\n      iVar16 = *(int *)(iVar4 + 0x5c) + iVar8;\n      if (*(int *)(iVar16 + 8) == 0 && *(int *)(iVar16 + 0xc) == 0) {\n        uVar29 = *(undefined4 *)(iVar4 + 0x48);\n        *(undefined4 *)(iVar16 + 0xc) = *(undefined4 *)(iVar4 + 0x4c);\n        *(undefined4 *)(iVar16 + 8) = uVar29;\n      }\n      iVar27 = iVar27 + 1;\n      iVar8 = iVar8 + 0x30;\n    }" { (expression_statement "iVar16 = *(int *)(iVar4 + 0x5c) + iVar8;" (assignment_expression "iVar16 = *(int *)(iVar4 + 0x5c) + iVar8" identifier = (binary_expression "*(int *)(iVar4 + 0x5c) + iVar8" (pointer_expression "*(int *)(iVar4 + 0x5c)" * (cast_expression "(int *)(iVar4 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x5c)" ( (binary_expression "iVar4 + 0x5c" identifier + number_literal) )))) + identifier)) ;) (if_statement "if (*(int *)(iVar16 + 8) == 0 && *(int *)(iVar16 + 0xc) == 0) {\n        uVar29 = *(undefined4 *)(iVar4 + 0x48);\n        *(undefined4 *)(iVar16 + 0xc) = *(undefined4 *)(iVar4 + 0x4c);\n        *(undefined4 *)(iVar16 + 8) = uVar29;\n      }" if (parenthesized_expression "(*(int *)(iVar16 + 8) == 0 && *(int *)(iVar16 + 0xc) == 0)" ( (binary_expression "*(int *)(iVar16 + 8) == 0 && *(int *)(iVar16 + 0xc) == 0" (binary_expression "*(int *)(iVar16 + 8) == 0" (pointer_expression "*(int *)(iVar16 + 8)" * (cast_expression "(int *)(iVar16 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 8)" ( (binary_expression "iVar16 + 8" identifier + number_literal) )))) == number_literal) && (binary_expression "*(int *)(iVar16 + 0xc) == 0" (pointer_expression "*(int *)(iVar16 + 0xc)" * (cast_expression "(int *)(iVar16 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0xc)" ( (binary_expression "iVar16 + 0xc" identifier + number_literal) )))) == number_literal)) )) (compound_statement "{\n        uVar29 = *(undefined4 *)(iVar4 + 0x48);\n        *(undefined4 *)(iVar16 + 0xc) = *(undefined4 *)(iVar4 + 0x4c);\n        *(undefined4 *)(iVar16 + 8) = uVar29;\n      }" { (expression_statement "uVar29 = *(undefined4 *)(iVar4 + 0x48);" (assignment_expression "uVar29 = *(undefined4 *)(iVar4 + 0x48)" identifier = (pointer_expression "*(undefined4 *)(iVar4 + 0x48)" * (cast_expression "(undefined4 *)(iVar4 + 0x48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x48)" ( (binary_expression "iVar4 + 0x48" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar16 + 0xc) = *(undefined4 *)(iVar4 + 0x4c);" (assignment_expression "*(undefined4 *)(iVar16 + 0xc) = *(undefined4 *)(iVar4 + 0x4c)" (pointer_expression "*(undefined4 *)(iVar16 + 0xc)" * (cast_expression "(undefined4 *)(iVar16 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0xc)" ( (binary_expression "iVar16 + 0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x4c)" * (cast_expression "(undefined4 *)(iVar4 + 0x4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x4c)" ( (binary_expression "iVar4 + 0x4c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar16 + 8) = uVar29;" (assignment_expression "*(undefined4 *)(iVar16 + 8) = uVar29" (pointer_expression "*(undefined4 *)(iVar16 + 8)" * (cast_expression "(undefined4 *)(iVar16 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 8)" ( (binary_expression "iVar16 + 8" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "iVar27 = iVar27 + 1;" (assignment_expression "iVar27 = iVar27 + 1" identifier = (binary_expression "iVar27 + 1" identifier + number_literal)) ;) (expression_statement "iVar8 = iVar8 + 0x30;" (assignment_expression "iVar8 = iVar8 + 0x30" identifier = (binary_expression "iVar8 + 0x30" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar27 < *(int *)(iVar4 + 0x60))" ( (binary_expression "iVar27 < *(int *)(iVar4 + 0x60)" identifier < (pointer_expression "*(int *)(iVar4 + 0x60)" * (cast_expression "(int *)(iVar4 + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x60)" ( (binary_expression "iVar4 + 0x60" identifier + number_literal) ))))) )) ;) })) (expression_statement "uVar32 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x43ec))(iVar4);" (assignment_expression "uVar32 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x43ec))(iVar4)" identifier = (call_expression "(*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x43ec))(iVar4)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x43ec))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x43ec)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xc9688) + 0x43ec)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xc9688) + 0x43ec)" ( (binary_expression "*(int *)(pcVar22 + 0xc9688) + 0x43ec" (pointer_expression "*(int *)(pcVar22 + 0xc9688)" * (cast_expression "(int *)(pcVar22 + 0xc9688)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xc9688)" ( (binary_expression "pcVar22 + 0xc9688" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(iVar4)" ( identifier )))) ;) (expression_statement "*(undefined8 *)(iVar4 + 0x48) = uVar32;" (assignment_expression "*(undefined8 *)(iVar4 + 0x48) = uVar32" (pointer_expression "*(undefined8 *)(iVar4 + 0x48)" * (cast_expression "(undefined8 *)(iVar4 + 0x48)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x48)" ( (binary_expression "iVar4 + 0x48" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(iVar4 + 0x50) = uVar32;" (assignment_expression "*(undefined8 *)(iVar4 + 0x50) = uVar32" (pointer_expression "*(undefined8 *)(iVar4 + 0x50)" * (cast_expression "(undefined8 *)(iVar4 + 0x50)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x50)" ( (binary_expression "iVar4 + 0x50" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((*(char *)(iVar4 + 7) == '\0') && (*(char *)(iVar4 + 5) != '\x04')) {\n    uVar18 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0xaf8))(*(undefined4 *)(iVar4 + 0x3c));\n    iVar27 = *(int *)(pcVar22 + 0xc96e0);\n    if ((uVar18 & 0x200) == 0) {\n      *(undefined1 *)puVar19 = 0;\n      *(undefined1 *)((int)puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 3) = 0;\n      *(undefined1 *)(puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 5) = 0;\n      *(undefined1 *)((int)puVar19 + 6) = 0;\n      *(undefined1 *)((int)puVar19 + 7) = 0;\n      *(undefined1 *)(puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 9) = 0;\n      *(undefined1 *)((int)puVar19 + 10) = 0;\n      *(undefined1 *)((int)puVar19 + 0xb) = 0;\n      goto LAB_000c65ec;\n    }\n  }\n  else {\n    iVar27 = *(int *)(pcVar22 + 0xc96e0);\n  }" if (parenthesized_expression "((*(char *)(iVar4 + 7) == '\0') && (*(char *)(iVar4 + 5) != '\x04'))" ( (binary_expression "(*(char *)(iVar4 + 7) == '\0') && (*(char *)(iVar4 + 5) != '\x04')" (parenthesized_expression "(*(char *)(iVar4 + 7) == '\0')" ( (binary_expression "*(char *)(iVar4 + 7) == '\0'" (pointer_expression "*(char *)(iVar4 + 7)" * (cast_expression "(char *)(iVar4 + 7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 7)" ( (binary_expression "iVar4 + 7" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)(iVar4 + 5) != '\x04')" ( (binary_expression "*(char *)(iVar4 + 5) != '\x04'" (pointer_expression "*(char *)(iVar4 + 5)" * (cast_expression "(char *)(iVar4 + 5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 5)" ( (binary_expression "iVar4 + 5" identifier + number_literal) )))) != (char_literal "'\x04'" ' escape_sequence ')) ))) )) (compound_statement "{\n    uVar18 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0xaf8))(*(undefined4 *)(iVar4 + 0x3c));\n    iVar27 = *(int *)(pcVar22 + 0xc96e0);\n    if ((uVar18 & 0x200) == 0) {\n      *(undefined1 *)puVar19 = 0;\n      *(undefined1 *)((int)puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 3) = 0;\n      *(undefined1 *)(puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 5) = 0;\n      *(undefined1 *)((int)puVar19 + 6) = 0;\n      *(undefined1 *)((int)puVar19 + 7) = 0;\n      *(undefined1 *)(puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 9) = 0;\n      *(undefined1 *)((int)puVar19 + 10) = 0;\n      *(undefined1 *)((int)puVar19 + 0xb) = 0;\n      goto LAB_000c65ec;\n    }\n  }" { (expression_statement "uVar18 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0xaf8))(*(undefined4 *)(iVar4 + 0x3c));" (assignment_expression "uVar18 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0xaf8))(*(undefined4 *)(iVar4 + 0x3c))" identifier = (call_expression "(*(code *)(*(int *)(pcVar22 + 0xc9688) + 0xaf8))(*(undefined4 *)(iVar4 + 0x3c))" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xc9688) + 0xaf8))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xc9688) + 0xaf8)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xc9688) + 0xaf8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xc9688) + 0xaf8)" ( (binary_expression "*(int *)(pcVar22 + 0xc9688) + 0xaf8" (pointer_expression "*(int *)(pcVar22 + 0xc9688)" * (cast_expression "(int *)(pcVar22 + 0xc9688)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xc9688)" ( (binary_expression "pcVar22 + 0xc9688" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(*(undefined4 *)(iVar4 + 0x3c))" ( (pointer_expression "*(undefined4 *)(iVar4 + 0x3c)" * (cast_expression "(undefined4 *)(iVar4 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x3c)" ( (binary_expression "iVar4 + 0x3c" identifier + number_literal) )))) )))) ;) (expression_statement "iVar27 = *(int *)(pcVar22 + 0xc96e0);" (assignment_expression "iVar27 = *(int *)(pcVar22 + 0xc96e0)" identifier = (pointer_expression "*(int *)(pcVar22 + 0xc96e0)" * (cast_expression "(int *)(pcVar22 + 0xc96e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xc96e0)" ( (binary_expression "pcVar22 + 0xc96e0" identifier + number_literal) ))))) ;) (if_statement "if ((uVar18 & 0x200) == 0) {\n      *(undefined1 *)puVar19 = 0;\n      *(undefined1 *)((int)puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 3) = 0;\n      *(undefined1 *)(puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 5) = 0;\n      *(undefined1 *)((int)puVar19 + 6) = 0;\n      *(undefined1 *)((int)puVar19 + 7) = 0;\n      *(undefined1 *)(puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 9) = 0;\n      *(undefined1 *)((int)puVar19 + 10) = 0;\n      *(undefined1 *)((int)puVar19 + 0xb) = 0;\n      goto LAB_000c65ec;\n    }" if (parenthesized_expression "((uVar18 & 0x200) == 0)" ( (binary_expression "(uVar18 & 0x200) == 0" (parenthesized_expression "(uVar18 & 0x200)" ( (binary_expression "uVar18 & 0x200" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      *(undefined1 *)puVar19 = 0;\n      *(undefined1 *)((int)puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 3) = 0;\n      *(undefined1 *)(puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 5) = 0;\n      *(undefined1 *)((int)puVar19 + 6) = 0;\n      *(undefined1 *)((int)puVar19 + 7) = 0;\n      *(undefined1 *)(puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 9) = 0;\n      *(undefined1 *)((int)puVar19 + 10) = 0;\n      *(undefined1 *)((int)puVar19 + 0xb) = 0;\n      goto LAB_000c65ec;\n    }" { (expression_statement "*(undefined1 *)puVar19 = 0;" (assignment_expression "*(undefined1 *)puVar19 = 0" (pointer_expression "*(undefined1 *)puVar19" * (cast_expression "(undefined1 *)puVar19" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "*(undefined1 *)((int)puVar19 + 1) = 0;" (assignment_expression "*(undefined1 *)((int)puVar19 + 1) = 0" (pointer_expression "*(undefined1 *)((int)puVar19 + 1)" * (cast_expression "(undefined1 *)((int)puVar19 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + 1)" ( (binary_expression "(int)puVar19 + 1" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)puVar19 + 2) = 0;" (assignment_expression "*(undefined1 *)((int)puVar19 + 2) = 0" (pointer_expression "*(undefined1 *)((int)puVar19 + 2)" * (cast_expression "(undefined1 *)((int)puVar19 + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + 2)" ( (binary_expression "(int)puVar19 + 2" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)puVar19 + 3) = 0;" (assignment_expression "*(undefined1 *)((int)puVar19 + 3) = 0" (pointer_expression "*(undefined1 *)((int)puVar19 + 3)" * (cast_expression "(undefined1 *)((int)puVar19 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + 3)" ( (binary_expression "(int)puVar19 + 3" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar19 + 1) = 0;" (assignment_expression "*(undefined1 *)(puVar19 + 1) = 0" (pointer_expression "*(undefined1 *)(puVar19 + 1)" * (cast_expression "(undefined1 *)(puVar19 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 1)" ( (binary_expression "puVar19 + 1" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)puVar19 + 5) = 0;" (assignment_expression "*(undefined1 *)((int)puVar19 + 5) = 0" (pointer_expression "*(undefined1 *)((int)puVar19 + 5)" * (cast_expression "(undefined1 *)((int)puVar19 + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + 5)" ( (binary_expression "(int)puVar19 + 5" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)puVar19 + 6) = 0;" (assignment_expression "*(undefined1 *)((int)puVar19 + 6) = 0" (pointer_expression "*(undefined1 *)((int)puVar19 + 6)" * (cast_expression "(undefined1 *)((int)puVar19 + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + 6)" ( (binary_expression "(int)puVar19 + 6" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)puVar19 + 7) = 0;" (assignment_expression "*(undefined1 *)((int)puVar19 + 7) = 0" (pointer_expression "*(undefined1 *)((int)puVar19 + 7)" * (cast_expression "(undefined1 *)((int)puVar19 + 7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + 7)" ( (binary_expression "(int)puVar19 + 7" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar19 + 2) = 0;" (assignment_expression "*(undefined1 *)(puVar19 + 2) = 0" (pointer_expression "*(undefined1 *)(puVar19 + 2)" * (cast_expression "(undefined1 *)(puVar19 + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 2)" ( (binary_expression "puVar19 + 2" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)puVar19 + 9) = 0;" (assignment_expression "*(undefined1 *)((int)puVar19 + 9) = 0" (pointer_expression "*(undefined1 *)((int)puVar19 + 9)" * (cast_expression "(undefined1 *)((int)puVar19 + 9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + 9)" ( (binary_expression "(int)puVar19 + 9" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)puVar19 + 10) = 0;" (assignment_expression "*(undefined1 *)((int)puVar19 + 10) = 0" (pointer_expression "*(undefined1 *)((int)puVar19 + 10)" * (cast_expression "(undefined1 *)((int)puVar19 + 10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + 10)" ( (binary_expression "(int)puVar19 + 10" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)puVar19 + 0xb) = 0;" (assignment_expression "*(undefined1 *)((int)puVar19 + 0xb) = 0" (pointer_expression "*(undefined1 *)((int)puVar19 + 0xb)" * (cast_expression "(undefined1 *)((int)puVar19 + 0xb)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + 0xb)" ( (binary_expression "(int)puVar19 + 0xb" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_000c65ec;" goto statement_identifier ;) })) }) (else_clause "else {\n    iVar27 = *(int *)(pcVar22 + 0xc96e0);\n  }" else (compound_statement "{\n    iVar27 = *(int *)(pcVar22 + 0xc96e0);\n  }" { (expression_statement "iVar27 = *(int *)(pcVar22 + 0xc96e0);" (assignment_expression "iVar27 = *(int *)(pcVar22 + 0xc96e0)" identifier = (pointer_expression "*(int *)(pcVar22 + 0xc96e0)" * (cast_expression "(int *)(pcVar22 + 0xc96e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xc96e0)" ( (binary_expression "pcVar22 + 0xc96e0" identifier + number_literal) ))))) ;) }))) (expression_statement "uVar29 = *(undefined4 *)(iVar27 + -0x4394);" (assignment_expression "uVar29 = *(undefined4 *)(iVar27 + -0x4394)" identifier = (pointer_expression "*(undefined4 *)(iVar27 + -0x4394)" * (cast_expression "(undefined4 *)(iVar27 + -0x4394)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + -0x4394)" ( (binary_expression "iVar27 + -0x4394" identifier + number_literal) ))))) ;) (expression_statement "*puVar19 = *(undefined4 *)(iVar27 + -0x4398);" (assignment_expression "*puVar19 = *(undefined4 *)(iVar27 + -0x4398)" (pointer_expression "*puVar19" * identifier) = (pointer_expression "*(undefined4 *)(iVar27 + -0x4398)" * (cast_expression "(undefined4 *)(iVar27 + -0x4398)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + -0x4398)" ( (binary_expression "iVar27 + -0x4398" identifier + number_literal) ))))) ;) (expression_statement "puVar19[1] = uVar29;" (assignment_expression "puVar19[1] = uVar29" (subscript_expression "puVar19[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c))(puVar19 + 2,0xffffffff);" (call_expression "(*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c))(puVar19 + 2,0xffffffff)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xc9688) + 0x224c)" ( (binary_expression "*(int *)(pcVar22 + 0xc9688) + 0x224c" (pointer_expression "*(int *)(pcVar22 + 0xc9688)" * (cast_expression "(int *)(pcVar22 + 0xc9688)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xc9688)" ( (binary_expression "pcVar22 + 0xc9688" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar19 + 2,0xffffffff)" ( (binary_expression "puVar19 + 2" identifier + number_literal) , number_literal ))) ;) (labeled_statement "LAB_000c65ec:\n  sqlite3_randomness(4,iVar4 + 0x30);" statement_identifier : (expression_statement "sqlite3_randomness(4,iVar4 + 0x30);" (call_expression "sqlite3_randomness(4,iVar4 + 0x30)" identifier (argument_list "(4,iVar4 + 0x30)" ( number_literal , (binary_expression "iVar4 + 0x30" identifier + number_literal) ))) ;)) (expression_statement "pcVar5 = (code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c);" (assignment_expression "pcVar5 = (code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c)" identifier = (cast_expression "(code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0xc9688) + 0x224c)" ( (binary_expression "*(int *)(pcVar22 + 0xc9688) + 0x224c" (pointer_expression "*(int *)(pcVar22 + 0xc9688)" * (cast_expression "(int *)(pcVar22 + 0xc9688)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xc9688)" ( (binary_expression "pcVar22 + 0xc9688" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar5)(puVar19 + 3,*(undefined4 *)(iVar4 + 0x30));" (call_expression "(*pcVar5)(puVar19 + 3,*(undefined4 *)(iVar4 + 0x30))" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "(puVar19 + 3,*(undefined4 *)(iVar4 + 0x30))" ( (binary_expression "puVar19 + 3" identifier + number_literal) , (pointer_expression "*(undefined4 *)(iVar4 + 0x30)" * (cast_expression "(undefined4 *)(iVar4 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x30)" ( (binary_expression "iVar4 + 0x30" identifier + number_literal) )))) ))) ;) (expression_statement "(*pcVar5)(puVar19 + 4,*(undefined4 *)(iVar4 + 0x1c));" (call_expression "(*pcVar5)(puVar19 + 4,*(undefined4 *)(iVar4 + 0x1c))" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "(puVar19 + 4,*(undefined4 *)(iVar4 + 0x1c))" ( (binary_expression "puVar19 + 4" identifier + number_literal) , (pointer_expression "*(undefined4 *)(iVar4 + 0x1c)" * (cast_expression "(undefined4 *)(iVar4 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1c)" ( (binary_expression "iVar4 + 0x1c" identifier + number_literal) )))) ))) ;) (expression_statement "(*pcVar5)(puVar19 + 5,*(undefined4 *)(iVar4 + 0x94));" (call_expression "(*pcVar5)(puVar19 + 5,*(undefined4 *)(iVar4 + 0x94))" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "(puVar19 + 5,*(undefined4 *)(iVar4 + 0x94))" ( (binary_expression "puVar19 + 5" identifier + number_literal) , (pointer_expression "*(undefined4 *)(iVar4 + 0x94)" * (cast_expression "(undefined4 *)(iVar4 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x94)" ( (binary_expression "iVar4 + 0x94" identifier + number_literal) )))) ))) ;) (expression_statement "(*pcVar5)(puVar19 + 6,*(undefined4 *)(iVar4 + 0x98));" (call_expression "(*pcVar5)(puVar19 + 6,*(undefined4 *)(iVar4 + 0x98))" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "(puVar19 + 6,*(undefined4 *)(iVar4 + 0x98))" ( (binary_expression "puVar19 + 6" identifier + number_literal) , (pointer_expression "*(undefined4 *)(iVar4 + 0x98)" * (cast_expression "(undefined4 *)(iVar4 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x98)" ( (binary_expression "iVar4 + 0x98" identifier + number_literal) )))) ))) ;) (expression_statement "(**(code **)(pcVar22 + 0xc9930))(puVar19 + 7,0,uVar9 - 0x1c);" (call_expression "(**(code **)(pcVar22 + 0xc9930))(puVar19 + 7,0,uVar9 - 0x1c)" (parenthesized_expression "(**(code **)(pcVar22 + 0xc9930))" ( (pointer_expression "**(code **)(pcVar22 + 0xc9930)" * (pointer_expression "*(code **)(pcVar22 + 0xc9930)" * (cast_expression "(code **)(pcVar22 + 0xc9930)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0xc9930)" ( (binary_expression "pcVar22 + 0xc9930" identifier + number_literal) ))))) )) (argument_list "(puVar19 + 7,0,uVar9 - 0x1c)" ( (binary_expression "puVar19 + 7" identifier + number_literal) , number_literal , (binary_expression "uVar9 - 0x1c" identifier - number_literal) ))) ;) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (if_statement "if (*(int *)(iVar4 + 0x94) != 0) {\n    iVar27 = *(int *)(pcVar22 + 0xc9688);\n    do {\n      pcVar22 = (code *)(*(code *)(iVar27 + 0x9e0))(*(undefined4 *)(iVar4 + 0x40),puVar19,uVar9);\n      uVar20 = *(uint *)(iVar4 + 0x4c) + uVar9;\n      *(uint *)(iVar4 + 0x48) = (uint)(uVar20 < *(uint *)(iVar4 + 0x4c)) + *(int *)(iVar4 + 0x48);\n      *(uint *)(iVar4 + 0x4c) = uVar20;\n      uVar18 = uVar18 + uVar9;\n      if (pcVar22 != (code *)0x0) {\n        return pcVar22;\n      }\n    } while (uVar18 < *(uint *)(iVar4 + 0x94));\n  }" if (parenthesized_expression "(*(int *)(iVar4 + 0x94) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x94) != 0" (pointer_expression "*(int *)(iVar4 + 0x94)" * (cast_expression "(int *)(iVar4 + 0x94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x94)" ( (binary_expression "iVar4 + 0x94" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    iVar27 = *(int *)(pcVar22 + 0xc9688);\n    do {\n      pcVar22 = (code *)(*(code *)(iVar27 + 0x9e0))(*(undefined4 *)(iVar4 + 0x40),puVar19,uVar9);\n      uVar20 = *(uint *)(iVar4 + 0x4c) + uVar9;\n      *(uint *)(iVar4 + 0x48) = (uint)(uVar20 < *(uint *)(iVar4 + 0x4c)) + *(int *)(iVar4 + 0x48);\n      *(uint *)(iVar4 + 0x4c) = uVar20;\n      uVar18 = uVar18 + uVar9;\n      if (pcVar22 != (code *)0x0) {\n        return pcVar22;\n      }\n    } while (uVar18 < *(uint *)(iVar4 + 0x94));\n  }" { (expression_statement "iVar27 = *(int *)(pcVar22 + 0xc9688);" (assignment_expression "iVar27 = *(int *)(pcVar22 + 0xc9688)" identifier = (pointer_expression "*(int *)(pcVar22 + 0xc9688)" * (cast_expression "(int *)(pcVar22 + 0xc9688)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0xc9688)" ( (binary_expression "pcVar22 + 0xc9688" identifier + number_literal) ))))) ;) (do_statement "do {\n      pcVar22 = (code *)(*(code *)(iVar27 + 0x9e0))(*(undefined4 *)(iVar4 + 0x40),puVar19,uVar9);\n      uVar20 = *(uint *)(iVar4 + 0x4c) + uVar9;\n      *(uint *)(iVar4 + 0x48) = (uint)(uVar20 < *(uint *)(iVar4 + 0x4c)) + *(int *)(iVar4 + 0x48);\n      *(uint *)(iVar4 + 0x4c) = uVar20;\n      uVar18 = uVar18 + uVar9;\n      if (pcVar22 != (code *)0x0) {\n        return pcVar22;\n      }\n    } while (uVar18 < *(uint *)(iVar4 + 0x94));" do (compound_statement "{\n      pcVar22 = (code *)(*(code *)(iVar27 + 0x9e0))(*(undefined4 *)(iVar4 + 0x40),puVar19,uVar9);\n      uVar20 = *(uint *)(iVar4 + 0x4c) + uVar9;\n      *(uint *)(iVar4 + 0x48) = (uint)(uVar20 < *(uint *)(iVar4 + 0x4c)) + *(int *)(iVar4 + 0x48);\n      *(uint *)(iVar4 + 0x4c) = uVar20;\n      uVar18 = uVar18 + uVar9;\n      if (pcVar22 != (code *)0x0) {\n        return pcVar22;\n      }\n    }" { (expression_statement "pcVar22 = (code *)(*(code *)(iVar27 + 0x9e0))(*(undefined4 *)(iVar4 + 0x40),puVar19,uVar9);" (assignment_expression "pcVar22 = (code *)(*(code *)(iVar27 + 0x9e0))(*(undefined4 *)(iVar4 + 0x40),puVar19,uVar9)" identifier = (cast_expression "(code *)(*(code *)(iVar27 + 0x9e0))(*(undefined4 *)(iVar4 + 0x40),puVar19,uVar9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(iVar27 + 0x9e0))(*(undefined4 *)(iVar4 + 0x40),puVar19,uVar9)" (parenthesized_expression "(*(code *)(iVar27 + 0x9e0))" ( (pointer_expression "*(code *)(iVar27 + 0x9e0)" * (cast_expression "(code *)(iVar27 + 0x9e0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x9e0)" ( (binary_expression "iVar27 + 0x9e0" identifier + number_literal) )))) )) (argument_list "(*(undefined4 *)(iVar4 + 0x40),puVar19,uVar9)" ( (pointer_expression "*(undefined4 *)(iVar4 + 0x40)" * (cast_expression "(undefined4 *)(iVar4 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x40)" ( (binary_expression "iVar4 + 0x40" identifier + number_literal) )))) , identifier , identifier ))))) ;) (expression_statement "uVar20 = *(uint *)(iVar4 + 0x4c) + uVar9;" (assignment_expression "uVar20 = *(uint *)(iVar4 + 0x4c) + uVar9" identifier = (binary_expression "*(uint *)(iVar4 + 0x4c) + uVar9" (pointer_expression "*(uint *)(iVar4 + 0x4c)" * (cast_expression "(uint *)(iVar4 + 0x4c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x4c)" ( (binary_expression "iVar4 + 0x4c" identifier + number_literal) )))) + identifier)) ;) (expression_statement "*(uint *)(iVar4 + 0x48) = (uint)(uVar20 < *(uint *)(iVar4 + 0x4c)) + *(int *)(iVar4 + 0x48);" (assignment_expression "*(uint *)(iVar4 + 0x48) = (uint)(uVar20 < *(uint *)(iVar4 + 0x4c)) + *(int *)(iVar4 + 0x48)" (pointer_expression "*(uint *)(iVar4 + 0x48)" * (cast_expression "(uint *)(iVar4 + 0x48)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x48)" ( (binary_expression "iVar4 + 0x48" identifier + number_literal) )))) = (binary_expression "(uint)(uVar20 < *(uint *)(iVar4 + 0x4c)) + *(int *)(iVar4 + 0x48)" (call_expression "(uint)(uVar20 < *(uint *)(iVar4 + 0x4c))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar20 < *(uint *)(iVar4 + 0x4c))" ( (binary_expression "uVar20 < *(uint *)(iVar4 + 0x4c)" identifier < (pointer_expression "*(uint *)(iVar4 + 0x4c)" * (cast_expression "(uint *)(iVar4 + 0x4c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x4c)" ( (binary_expression "iVar4 + 0x4c" identifier + number_literal) ))))) ))) + (pointer_expression "*(int *)(iVar4 + 0x48)" * (cast_expression "(int *)(iVar4 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x48)" ( (binary_expression "iVar4 + 0x48" identifier + number_literal) )))))) ;) (expression_statement "*(uint *)(iVar4 + 0x4c) = uVar20;" (assignment_expression "*(uint *)(iVar4 + 0x4c) = uVar20" (pointer_expression "*(uint *)(iVar4 + 0x4c)" * (cast_expression "(uint *)(iVar4 + 0x4c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x4c)" ( (binary_expression "iVar4 + 0x4c" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar18 = uVar18 + uVar9;" (assignment_expression "uVar18 = uVar18 + uVar9" identifier = (binary_expression "uVar18 + uVar9" identifier + identifier)) ;) (if_statement "if (pcVar22 != (code *)0x0) {\n        return pcVar22;\n      }" if (parenthesized_expression "(pcVar22 != (code *)0x0)" ( (binary_expression "pcVar22 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        return pcVar22;\n      }" { (return_statement "return pcVar22;" return identifier ;) })) }) while (parenthesized_expression "(uVar18 < *(uint *)(iVar4 + 0x94))" ( (binary_expression "uVar18 < *(uint *)(iVar4 + 0x94)" identifier < (pointer_expression "*(uint *)(iVar4 + 0x94)" * (cast_expression "(uint *)(iVar4 + 0x94)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x94)" ( (binary_expression "iVar4 + 0x94" identifier + number_literal) ))))) )) ;) })) (return_statement "return (code *)0x0;" return (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE 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 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 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 (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 (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (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 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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (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 IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (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 { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (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 = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (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 *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 *)) ) 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 *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + 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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_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 < 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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }))) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (compound_statement { (return_statement return (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (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 = (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) ))))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (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 (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 (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == 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 = (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) )))) ;) }) (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 (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (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 ( (pointer_expression * (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 = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (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 *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 *)) ) 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 * (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (do_statement do (compound_statement { (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 *)) ) IDENT)) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) || (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_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 < IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;)) (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 ( ))) ;) })) }))) })) (if_statement if (parenthesized_expression ( (binary_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) ))))))) )) (compound_statement { (return_statement return (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) )))))) ;) })) (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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (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) ))))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (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 ( ))) ;) (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 * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (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 ( (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 = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = 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 *)) ) (pointer_expression & IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , (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)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( 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 (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE) ) 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 * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT )))) ;) (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 == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (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 = (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)) ;) (if_statement if (parenthesized_expression ( 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 *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (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 ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = 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 *)) ) (pointer_expression & IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (cast_expression ( (type_descriptor TYPE) ) 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (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) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (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) )))) != 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 = (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 = (binary_expression (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)) ;)) (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 = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 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) )))) = 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 (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) + LIT)) ;) (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 (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE) ) 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 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 + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))))) ;) (expression_statement (assignment_expression (subscript_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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (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 (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (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) ;) (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 *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) }))) (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 ))) ;) }))) }))) }))) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_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) ))))))) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (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) ))))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (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 ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( LIT ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( 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 LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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) )))) = 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 = (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 ( LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( 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 = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (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 = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 = (binary_expression (binary_expression IDENT + (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) + (binary_expression (parenthesized_expression ( IDENT )) * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (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) )))) = (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (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)) ;) (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) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression IDENT + LIT) ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + 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 [ (binary_expression IDENT + LIT) ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (subscript_expression IDENT [ (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) + (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (binary_expression IDENT + LIT) ])))) & LIT) )) + LIT) ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + (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 IDENT = (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 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) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 (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 * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_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) ))))))) )) (compound_statement { (return_statement return (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) )))))) ;) }))) (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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (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 (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) (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) ))))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (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 = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == LIT) )) (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 ( (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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) )))) + 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 *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (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 )))) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == LIT))) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) , (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ))) )) && (parenthesized_expression ( (comma_expression (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 )))) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (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 = (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)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (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 *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_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 ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ 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 ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ 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 ( ))) ;) (goto_statement goto statement_identifier ;) (while_statement while (parenthesized_expression ( (comma_expression (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 )))) , (binary_expression IDENT == LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (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 = (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 (abstract_pointer_declarator *)) ) LIT)) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) )) (compound_statement { (return_statement return 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 = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression & IDENT)) )) (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 + (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) )))) + LIT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) ))) )) (argument_list ( ))))) ;) (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) )) (compound_statement { (return_statement return (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 IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (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 = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 { (labeled_statement statement_identifier : (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 ( )))) ;)) (if_statement if (parenthesized_expression ( (binary_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) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = BOOL) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == 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) ))))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (goto_statement goto statement_identifier ;)) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (subscript_expression IDENT [ LIT ])) ))) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == IDENT) ))) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == IDENT) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (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 IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) while (parenthesized_expression ( (binary_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 ( ))) ;) (labeled_statement statement_identifier : (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 ( 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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (labeled_statement statement_identifier : (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 { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (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 (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT)) ))) )) (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 , (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) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (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 )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ IDENT ]) != (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ IDENT ]) != (cast_expression ( (type_descriptor TYPE) ) LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (cast_expression ( (type_descriptor TYPE) ) LIT)) )) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT , LIT ))) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) (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 = (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) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 , IDENT ))) ;) }))) (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) ))))) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_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) ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) (argument_list ( 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 == 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 ( 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 , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) || (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 ( 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 , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , LIT ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , (binary_expression (binary_expression IDENT & LIT) | LIT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_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 ( 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 , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , LIT ))))) ;) }))) (if_statement if (parenthesized_expression ( (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 = (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 * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;)) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) = IDENT) ;) (expression_statement (assignment_expression (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) )))) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (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 = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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) )))) = 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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor (sized_type_specifier short)) ) IDENT)) ;) (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) ))))) ;) (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 (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 *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + 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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor (sized_type_specifier short)) ) IDENT)) ;) (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) ))))) ;) (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 (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 = IDENT) ;) }))) (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 , (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) ))))) ;) (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) )))) | LIT)) ;) })) (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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (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 IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (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) ))))))) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + 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 ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (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 == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ; (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ; (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ) (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 ( (pointer_expression & IDENT) , 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 *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (goto_statement goto statement_identifier ;) })) (break_statement break ;) })) })) (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 ( 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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , LIT ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != LIT) )) (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 ( LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = 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 * (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression 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 *)) ) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , IDENT , LIT ))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (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 = (binary_expression IDENT + LIT)) ;) (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 ( (binary_expression IDENT >> LIT) , 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 *)) ) (pointer_expression & IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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) )))) = 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 < 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 , LIT ))) ;) (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 ;) })) }) (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)) ;) (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 *)) ) IDENT)) = IDENT) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) }) (else_clause else (compound_statement { (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) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_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) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;)) (expression_statement (assignment_expression (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) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , LIT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (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 = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (goto_statement goto statement_identifier ;) })) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (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) ))))) ;) (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) ))))) )) (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_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 = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (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) )))) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_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 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 (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) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor 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 (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 *)) ) (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 (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) (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 ( (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 (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( (binary_expression IDENT + LIT) , LIT ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( LIT , (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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT - LIT) ))) ;) (expression_statement (assignment_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 = (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 *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT ))))) ;) (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) )))) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression 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) )))))) ;) (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 IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return IDENT ;) })) }) while (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) ;) })) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })))
(function_definition "code * FUN_000c44e8(code *param_1,code *param_2,code *param_3,code *param_4)\n\n{\n  bool bVar1;\n  code cVar2;\n  code *pcVar3;\n  int iVar4;\n  code *pcVar5;\n  code *pcVar6;\n  byte *pbVar7;\n  int iVar8;\n  uint uVar9;\n  int *piVar10;\n  int *piVar11;\n  int *piVar12;\n  code *pcVar13;\n  code *pcVar14;\n  byte *pbVar15;\n  int iVar16;\n  byte bVar17;\n  code *unaff_s0;\n  code *unaff_s1;\n  uint uVar18;\n  undefined4 *puVar19;\n  code *unaff_s3;\n  code *unaff_s4;\n  uint uVar20;\n  code *unaff_s5;\n  code *unaff_s6;\n  int *piVar21;\n  code *unaff_s7;\n  code *pcVar22;\n  code *pcVar23;\n  undefined *puVar24;\n  code *pcVar25;\n  code *pcVar26;\n  code *unaff_s8;\n  int iVar27;\n  uint uVar28;\n  undefined4 uVar29;\n  code *pcVar30;\n  code *pcVar31;\n  undefined8 uVar32;\n  code *pcStack_96c;\n  uint uStack_968;\n  undefined4 uStack_960;\n  uint uStack_958;\n  undefined4 uStack_954;\n  undefined4 uStack_950;\n  int iStack_94c;\n  int iStack_948;\n  int iStack_944;\n  int aiStack_940 [4];\n  int iStack_930;\n  int iStack_92c;\n  uint uStack_928;\n  undefined4 uStack_920;\n  undefined4 uStack_91c;\n  undefined1 auStack_89c [516];\n  undefined1 auStack_698 [516];\n  int iStack_494;\n  int iStack_490;\n  code *pcStack_48c;\n  code *pcStack_488;\n  code *pcStack_484;\n  code *pcStack_480;\n  code *pcStack_47c;\n  code *pcStack_478;\n  code *pcStack_474;\n  int iStack_470;\n  undefined4 uStack_46c;\n  undefined4 *puStack_458;\n  code *pcStack_448;\n  int iStack_37c;\n  code *pcStack_378;\n  code *pcStack_374;\n  code *pcStack_370;\n  code *pcStack_36c;\n  code *pcStack_368;\n  code *pcStack_364;\n  code *pcStack_360;\n  code *pcStack_35c;\n  int iStack_358;\n  undefined4 uStack_354;\n  undefined4 uStack_340;\n  undefined4 uStack_33c;\n  undefined4 uStack_338;\n  code *pcStack_330;\n  undefined4 uStack_328;\n  undefined4 uStack_324;\n  undefined1 auStack_320 [24];\n  uint uStack_308;\n  int iStack_27c;\n  int iStack_278;\n  code *pcStack_274;\n  code *pcStack_270;\n  code *pcStack_26c;\n  code *pcStack_268;\n  code *pcStack_264;\n  code *pcStack_260;\n  code *pcStack_25c;\n  code *pcStack_258;\n  code *pcStack_254;\n  code *pcStack_240;\n  byte abStack_234 [256];\n  code *pcStack_134;\n  code *pcStack_12c;\n  code *pcStack_128;\n  code *pcStack_124;\n  code *pcStack_120;\n  code *pcStack_11c;\n  code **local_108;\n  code *local_100;\n  code *local_f8;\n  code *local_f4;\n  code *local_f0;\n  code *local_ec;\n  code *local_e8;\n  code *local_e4;\n  code *local_e0;\n  undefined4 local_dc;\n  code *local_c8;\n  code *local_bc;\n  int local_b8;\n  undefined1 auStack_b4 [8];\n  int local_ac;\n  char local_a0;\n  char local_9f;\n  code *local_94;\n  code *local_90;\n  code *local_8c;\n  code *local_88;\n  code *local_84;\n  code *local_80;\n  code *local_7c;\n  code *local_78;\n  code *local_74;\n  undefined1 local_4c [8];\n  int local_44;\n  char local_37;\n  code *local_2c;\n  \n  local_2c = *(code **)PTR___stack_chk_guard_0018fecc;\n  pcVar22 = param_1;\n  pcVar5 = param_2;\n  pcVar3 = param_3;\n  if (0 < (int)param_2) {\n    unaff_s0 = param_2;\n    unaff_s7 = param_3;\n    if (((uint)param_2 & 1) == 0) {\n      pcVar5 = (code *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824);\n      FUN_000c4464();\n    }\n    else {\n      pcVar3 = (code *)(*(code *)PTR_sqlite3_value_text_0018f97c)(*(int *)param_3);\n      pcVar22 = (code *)local_4c;\n      pcVar5 = param_1;\n      iVar4 = FUN_000b4580();\n      puVar24 = PTR_sqlite3_value_text_0018f97c;\n      unaff_s6 = param_2;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(param_2 < (code *)0x2);\n        unaff_s1 = param_3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s4 = (code *)local_4c;\n          unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);\n          do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);\n        }\n        if ((*(byte *)(local_44 + 1) & 8) == 0) {\n          pcVar5 = param_1;\n          pcVar3 = param_3;\n          FUN_000b63c4();\n        }\n        else {\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }\nLAB_000c4674:\n        pcVar22 = (code *)local_4c;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = param_3;\n      }\n    }\n  }\n  if (local_2c == *(code **)PTR___stack_chk_guard_0018fecc) {\n    return *(code **)PTR___stack_chk_guard_0018fecc;\n  }\n  puVar24 = PTR___stack_chk_fail_0018fea0;\n  (*(code *)PTR___stack_chk_fail_0018fea0)();\n  local_74 = unaff_s7;\n  local_78 = unaff_s6;\n  local_7c = unaff_s5;\n  local_80 = unaff_s4;\n  local_84 = unaff_s3;\n  local_88 = param_1;\n  local_8c = unaff_s1;\n  local_90 = unaff_s0;\n  local_c8 = (code *)(puVar24 + 0xd3230);\n  local_bc = pcVar3;\n  pcVar3 = local_bc;\n  local_94 = (code *)**(int **)(puVar24 + 0xcb7dc);\n  pcVar31 = pcVar22;\n  pcVar13 = pcVar5;\n  pcVar6 = pcVar3;\n  if (0 < (int)pcVar5) {\n    unaff_s3 = (code *)**(undefined4 **)(*(int *)(pcVar22 + 4) + 8);\n    unaff_s0 = pcVar5;\n    if (((uint)pcVar5 & 1) == 0) {\n      if (unaff_s3 == (code *)0x0) {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb268) + 0x4920);\n      }\n      else {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8);\n      }\n      FUN_000c4464();\n      pcVar6 = pcVar3;\n    }\n    else {\n      pcVar6 = (code *)(**(code **)(puVar24 + 0xcb28c))(*(int *)pcVar3);\n      pcVar31 = (code *)auStack_b4;\n      pcVar13 = pcVar22;\n      iVar4 = FUN_000b4580();\n      unaff_s1 = pcVar3;\n      unaff_s7 = pcVar5;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(pcVar5 < (code *)0x2);\n        unaff_s1 = pcVar3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s6 = *(code **)(local_c8 + -0x7fa4);\n          unaff_s5 = (code *)&local_b8;\n          unaff_s4 = (code *)auStack_b4;\n          unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);\n          do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);\n        }\n        pcVar6 = local_bc;\n        if ((*(byte *)(local_ac + 1) & 8) == 0) {\n          pcVar13 = pcVar22;\n          FUN_000b63c4();\n        }\n        else {\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }\nLAB_000c484c:\n        pcVar31 = (code *)auStack_b4;\n        (*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))();\n      }\n    }\n  }\n  if (local_94 == (code *)**(int **)(local_c8 + -0x7a54)) {\n    return (code *)**(int **)(local_c8 + -0x7a54);\n  }\n  pcVar25 = *(code **)(local_c8 + -0x7a80);\n  uVar29 = 0xc4960;\n  (*pcVar25)();\n  pcVar5 = local_c8;\n  local_100 = pcVar25 + 0xd2fc0;\n  local_f4 = (code *)**(undefined4 **)(pcVar25 + 0xcb56c);\n  pcVar3 = pcVar13;\n  local_f0 = unaff_s0;\n  local_ec = unaff_s1;\n  local_e8 = pcVar22;\n  local_e4 = unaff_s3;\n  local_e0 = unaff_s4;\n  local_dc = uVar29;\n  (*(code *)(*(int *)(pcVar25 + 0xcb2a4) + 0x3d3c))();\n  if (pcVar13 != (code *)0x0) {\n    unaff_s4 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)pcVar5);\n    if (unaff_s4 == (code *)0x0) {\n      pcVar13 = (code *)0x0;\n    }\n    else {\n      unaff_s3 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)pcVar5);\n      pcVar3 = unaff_s3 + 1;\n      iVar4 = (**(code **)(local_100 + -0x7f50))\n                        ((uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f));\n      *(int *)(pcVar31 + 0x18) = iVar4;\n      if (iVar4 == 0) {\n        pcVar13 = (code *)&DAT_00000007;\n      }\n      else {\n        (**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1);\n        unaff_s4 = pcVar31 + 0x20;\n        pcVar6 = *(code **)(pcVar31 + 0x18);\n        pcVar3 = (code *)0x0;\n        unaff_s3 = (code *)FUN_000b4580(unaff_s4);\n        if (unaff_s3 == (code *)0x0) {\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }\n      }\n    }\n  }\nLAB_000c49c4:\n  if (local_f4 == (code *)**(undefined4 **)(local_100 + -0x7a54)) {\n    return pcVar13;\n  }\n  pcVar26 = *(code **)(local_100 + -0x7a80);\n  pcVar30 = sqlite3_randomness;\n  pcVar22 = local_f4;\n  (*pcVar26)();\n  pcStack_240 = pcVar26 + 0xd2b38;\n  pcStack_134 = (code *)**(int **)(pcVar26 + 0xcb0e4);\n  pcVar25 = pcVar22;\n  pcVar14 = pcVar3;\n  pcStack_12c = pcVar13;\n  pcStack_128 = pcVar31;\n  pcStack_124 = pcVar5;\n  pcStack_120 = unaff_s3;\n  pcStack_11c = pcVar30;\n  iVar4 = (**(code **)(pcVar26 + 0xcadb8))();\n  if (iVar4 == 0) {\n    unaff_s3 = (code *)(*(code *)(*(int *)(pcStack_240 + -0x7dc8) + 0xe00))(5);\n    (**(code **)(pcStack_240 + -0x7d74))(unaff_s3);\n    iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n    pcVar25 = unaff_s3;\n    if (0 < (int)pcVar22) {\n      if (pcVar3 != (code *)0x0) {\n        iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n        if (*(char *)(iVar27 + 0x338) == '\0') {\n          *(undefined1 *)(iVar8 + 0x33a) = 0;\n          *(undefined1 *)(iVar8 + 0x339) = 0;\n          iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0);\n          (**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234);\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          iVar4 = 0;\n          do {\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          } while (iVar4 != 0x100);\n          iVar4 = *(int *)(pcStack_240 + -0x7fd8);\n          uVar9 = (uint)*(byte *)(iVar4 + 0x33a);\n          pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b);\n          pbVar15 = abStack_234;\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          do {\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          } while (pbVar7 != (byte *)(iVar4 + 0x43b));\n          iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n          *(char *)(iVar8 + 0x33a) = (char)uVar18;\n          *(undefined1 *)(iVar8 + 0x338) = 1;\n          iVar4 = 0x100;\n        }\n        pcVar6 = (code *)(iVar8 + 0x338);\n        uVar9 = (uint)*(byte *)(iVar8 + 0x33a);\n        bVar17 = *(char *)(iVar8 + 0x339) + 1;\n        pcVar13 = (code *)((uint)bVar17 - (int)pcVar3);\n        pcVar5 = pcVar3;\n        do {\n          uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff;\n          cVar2 = pcVar6[uVar18 + 3];\n          uVar20 = (byte)cVar2 + uVar9;\n          uVar9 = uVar20 & 0xff;\n          param_4 = pcVar6 + uVar9;\n          pcVar6[uVar18 + 3] = param_4[3];\n          param_4[3] = cVar2;\n          pcVar14 = pcVar5 + 1;\n          *pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3];\n          pcVar5 = pcVar14;\n        } while (pcVar14 != pcVar3 + (int)pcVar22);\n        iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n        pcVar22 = pcVar22 + -1;\n        *(byte *)(iVar27 + 0x339) = bVar17 + (char)pcVar22;\n        *(char *)(iVar27 + 0x33a) = (char)uVar20;\n        (**(code **)(pcStack_240 + -0x7d78))();\n        pcVar3 = pcVar13;\n        goto LAB_000c4e3c;\n      }\n      iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n    }\n    *(undefined1 *)(iVar27 + 0x338) = 0;\n    (**(code **)(pcStack_240 + -0x7d78))();\n  }\nLAB_000c4e3c:\n  if (pcStack_134 == (code *)**(int **)(pcStack_240 + -0x7a54)) {\n    return (code *)**(int **)(pcStack_240 + -0x7a54);\n  }\n  pcVar13 = *(code **)(pcStack_240 + -0x7a80);\n  pcVar31 = FUN_000c5048;\n  (*pcVar13)();\n  pcStack_330 = pcVar13 + 0xd28d8;\n  iStack_27c = **(int **)(pcVar13 + 0xcae84);\n  *pcVar14 = (code)0x0;\n  pcVar5 = (code *)**(undefined4 **)(pcVar13 + 0xcac68);\n  iStack_278 = iVar4;\n  pcStack_274 = pcVar3;\n  pcStack_270 = pcVar22;\n  pcStack_26c = unaff_s3;\n  pcStack_268 = unaff_s4;\n  pcStack_264 = unaff_s5;\n  pcStack_260 = unaff_s6;\n  pcStack_25c = unaff_s7;\n  pcStack_258 = unaff_s8;\n  pcStack_254 = pcVar31;\n  if (*(int *)(*(int *)(pcVar13 + 0xca900) + -0xb90) == 0) {\n    uVar29 = (**(code **)(pcVar13 + 0xcae0c))(*(int *)(pcVar13 + 0xca914) + -0x45f4);\n    *(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90) = uVar29;\n  }\n  if (*(int *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) == 0) {\n    uVar29 = (**(code **)(pcStack_330 + -0x7acc))(*(int *)(pcStack_330 + -0x7fc4) + -0x45e4);\n    *(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) = uVar29;\n  }\n  pcVar3 = (code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90);\n  pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb78);\n  pcVar26 = (code *)auStack_320;\n  iVar4 = *(int *)(pcStack_330 + -0x7fd8);\n  pcVar13 = (code *)(iVar4 + -0x840);\n  iVar27 = 0x4000;\n  pcVar22 = pcStack_330;\n  while( true ) {\n    pcVar30 = pcVar26;\n    if ((((pcVar5 != (code *)0x0) &&\n         (iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) &&\n        (pcVar30 = (code *)0x3, (uStack_308 & 0xf000) == 0x4000)) &&\n       (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) {\n      pcVar3 = (code *)&DAT_0000000c;\n      pcVar26 = (code *)&uStack_328;\n      pcVar13 = pcVar14 + (int)(pcVar25 + -2);\n      pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fc4) + -0x45dc);\n      iVar4 = *(int *)(pcStack_330 + -0x7fd8);\n      iVar27 = iVar4 + -0x840;\n      goto LAB_000c51a4;\n    }\n    pcVar23 = (code *)0x190a;\n    if (pcVar3 == pcVar31) break;\n    pcVar5 = *(code **)pcVar3;\n    pcVar3 = pcVar3 + 4;\n  }\n  goto LAB_000c5230;\njoined_r0x000c5ce4:\n  if (param_4 == pcVar5) goto LAB_000c5d10;\n  piVar21 = (int *)piVar11[2];\n  if (piVar21 == (int *)0x0) goto LAB_000c6494;\n  pcVar5 = (code *)piVar21[1];\n  piVar12 = piVar11 + 2;\n  piVar11 = piVar21;\n  goto joined_r0x000c5ce4;\nLAB_000c5d10:\n  *piVar12 = piVar11[2];\n  (**(code **)(pcVar22 + 0xca2ac))(piVar10[4]);\n  (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n  iVar4 = *piVar11;\n  goto LAB_000c5d44;\nLAB_000c6494:\n  (**(code **)(pcVar22 + 0xca2ac))(piVar10[4]);\n  (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n  goto LAB_000c642c;\n  while (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar14), iVar8 == 0) {\nLAB_000c51a4:\n    sqlite3_randomness(8,pcVar26);\n    *pcVar13 = (code)0x0;\n    uStack_338 = 0;\n    uStack_33c = uStack_324;\n    uStack_340 = uStack_328;\n    pcVar30 = pcVar14;\n    pcVar6 = pcVar31;\n    param_4 = pcVar5;\n    (**(code **)(pcStack_330 + -0x7ec4))(pcVar25);\n    pcVar3 = pcVar3 + -1;\n    if ((*pcVar13 != (code)0x0) || (pcVar30 = (code *)0x0, pcVar3 == (code *)0x0)) {\n      pcVar23 = (code *)0x1;\n      pcVar22 = pcStack_330;\n      goto LAB_000c5230;\n    }\n  }\n  pcVar23 = (code *)0x0;\n  pcVar30 = pcVar26;\n  pcVar22 = pcStack_330;\nLAB_000c5230:\n  if (iStack_27c == **(int **)(pcVar22 + -0x7a54)) {\n    return pcVar23;\n  }\n  pcVar22 = *(code **)(pcVar22 + -0x7a80);\n  uVar29 = 0xc527c;\n  iVar4 = iStack_27c;\n  (*pcVar22)();\n  pcStack_448 = pcVar22 + 0xd26a4;\n  iVar8 = **(int **)(pcVar22 + 0xcac50);\n  iStack_37c = iVar8;\n  pcStack_378 = pcVar3;\n  pcStack_374 = pcVar5;\n  pcStack_370 = pcVar14;\n  pcStack_36c = pcVar13;\n  pcStack_368 = pcVar25;\n  pcStack_364 = pcVar31;\n  pcStack_360 = pcVar26;\n  pcStack_35c = pcVar23;\n  iStack_358 = iVar27;\n  uStack_354 = uVar29;\n  if (pcVar30 < &DAT_00000015) {\n                    \n                    \n    pcVar22 = (code *)(*(pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)))();\n    return pcVar22;\n  }\n  if (iVar8 == **(int **)(pcVar22 + 0xcac50)) {\n    return (code *)&DAT_0000000c;\n  }\n  pcVar22 = *(code **)(pcVar22 + 0xcac24);\n  uVar29 = 0xc58fc;\n  (*pcVar22)();\n  iStack_494 = **(int **)(pcVar22 + 0xca5d0);\n  uVar20 = (uint)param_4 & 0xffffff00;\n  uVar18 = (uint)param_4 & 8;\n  uStack_958 = (uint)param_4 & 1;\n  uVar9 = (uint)param_4 & 2;\n  pcStack_96c = pcVar30;\n  iStack_490 = iVar4;\n  pcStack_48c = pcVar5;\n  pcStack_488 = pcVar14;\n  pcStack_484 = pcVar13;\n  pcStack_480 = pcVar25;\n  pcStack_47c = pcVar31;\n  pcStack_478 = pcVar26;\n  pcStack_474 = pcVar23;\n  iStack_470 = iVar27;\n  uStack_46c = uVar29;\n  if (((uint)param_4 & 4) == 0) {\nLAB_000c59a0:\n    iVar4 = (**(code **)(pcVar22 + 0xca564))();\n    if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {\n      bVar1 = false;\n      goto LAB_000c59cc;\n    }\n    bVar1 = false;\nLAB_000c59fc:\n    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);\n    if (uVar20 != 0x100) goto LAB_000c5a24;\n    (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n    if (*(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228) == 0) {\nLAB_000c6414:\n      iVar4 = *(int *)(pcVar22 + 0xca25c);\n    }\n    else {\n      iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(pcVar30,aiStack_940);\n      if ((iVar4 != 0) ||\n         (piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0))\n      goto LAB_000c6414;\n      do {\n        if ((((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c)) {\n          (**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);\n          piVar11 = (int *)piVar10[8];\n          if (piVar11 == (int *)0x0) goto LAB_000c6494;\n          pcVar5 = (code *)piVar11[1];\n          piVar12 = piVar10 + 8;\n          goto joined_r0x000c5ce4;\n        }\n        piVar10 = (int *)piVar10[0xb];\n        iVar4 = *(int *)(pcVar22 + 0xca25c);\n      } while (piVar10 != (int *)0x0);\n    }\n    (*(code *)(iVar4 + 0x27b8))();\nLAB_000c642c:\n    piVar11 = (int *)(**(code **)(pcVar22 + 0xca0d4))(0,0xc);\n    if (piVar11 == (int *)0x0) {\n      pcVar5 = (code *)&DAT_00000007;\n      goto LAB_000c602c;\n    }\n    iVar4 = -1;\nLAB_000c5d44:\n    *(int **)(pcVar6 + 0x1c) = piVar11;\nLAB_000c5a34:\n    uStack_968 = uVar9;\n    if (((uint)param_4 & 4) != 0) {\n      uStack_968 = uVar9 | 0x100;\n    }\n    if (((uint)param_4 & 0x10) != 0) {\n      uStack_968 = uStack_968 | 0x20400;\n    }\n    if (iVar4 < 0) {\n      if (((uint)param_4 & 0x80800) == 0) {\n        uVar28 = 0x180;\n        if ((uVar18 == 0) && (uVar28 = 0, ((uint)param_4 & 0x40) != 0)) {\n          iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }\n          uVar28 = 0;\n        }\nLAB_000c5e0c:\n        uStack_954 = 0;\n        uStack_960 = 0;\n      }\n      else {\n        iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c);\n        iVar27 = iVar4 + -1;\n        if (pcStack_96c[iVar27] != (code)0x2d) {\n          if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }\n          uVar28 = 0;\n          goto LAB_000c5e0c;\n        }\nLAB_000c5e78:\n        (**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201);\n        auStack_89c[iVar27] = 0;\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940);\n        if (iVar4 == 0) {\n          uVar28 = uStack_928 & 0x1ff;\n          uStack_960 = uStack_920;\n          uStack_954 = uStack_91c;\n          pcVar5 = (code *)0x0;\n        }\n        else {\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }\nLAB_000c5ee0:\n        if (pcVar5 != (code *)0x0) goto LAB_000c602c;\n      }\n      iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                        (pcStack_96c,uStack_968 | 0x2000,uVar28);\n      if (-1 < iVar4) {\nLAB_000c5e40:\n        if (((uint)param_4 & 0x80800) != 0) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);\n        }\n        goto LAB_000c5a6c;\n      }\n      pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n      if (bVar1) {\n        piVar10 = (int *)(*pcVar5)();\n        if (*piVar10 != 0xd) {\n          pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n          goto LAB_000c5fb8;\n        }\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))(pcStack_96c,0);\n        pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n        if (iVar4 == 0) goto LAB_000c5fb8;\n        uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n        (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                  (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634);\n        pcVar5 = (code *)0x608;\n      }\n      else {\nLAB_000c5fb8:\n        piVar10 = (int *)(*pcVar5)();\n        if ((*piVar10 == 0x15) || (uVar9 == 0)) {\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        else {\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        if (pcVar5 == (code *)0x0) goto LAB_000c602c;\n      }\nLAB_000c630c:\n      iVar4 = *(int *)(pcVar6 + 0x1c);\nLAB_000c6310:\n      (**(code **)(pcVar22 + 0xca07c))(iVar4);\n    }\n    else {\nLAB_000c5a6c:\n      if (puStack_458 != (undefined4 *)0x0) {\n        *puStack_458 = param_4;\n      }\n      if (*(int **)(pcVar6 + 0x1c) != (int *)0x0) {\n        **(int **)(pcVar6 + 0x1c) = iVar4;\n        *(code **)(*(int *)(pcVar6 + 0x1c) + 4) = param_4;\n      }\n      if (uVar18 != 0) {\n        (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))(pcStack_96c);\n        uVar18 = 0x20;\n      }\n      if (uStack_958 != 0) {\n        uVar18 = uVar18 | 2;\n      }\n      if (uVar20 != 0x100) {\n        uVar18 = uVar18 | 0x80;\n      }\n      if (bVar1) {\n        uVar18 = uVar18 | 8;\n      }\n      if (((uint)param_4 & 0x40) == 0) {\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = (code *)0x0;\n      }\n      else {\n        uVar18 = uVar18 | 0x40;\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = pcVar30;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca37c))(pcVar5,*(int *)(pcVar22 + 0xca060) + -0x45c0,1);\n      iVar16 = *(int *)(pcVar22 + 0xca060);\n      if (iVar27 != 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 0x10;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca610))(*(undefined4 *)(iVar8 + 0x10),iVar16 + -0x45b8);\n      if (iVar27 == 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 1;\n      }\n      if ((uVar18 & 0x80) == 0) {\n        iVar27 = (*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6);\n        if (iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n          iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);\n          if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n        }\n        else {\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }\n        *(int *)(pcVar6 + 0x14) = 0;\n        if (pcVar5 != (code *)0x0) {\n          if (iVar4 < 0) goto LAB_000c630c;\n          (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);\n          iVar4 = *(int *)(pcVar6 + 0x1c);\n          goto LAB_000c6310;\n        }\n      }\n      else {\n        iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4;\nLAB_000c6394:\n        *(int *)(pcVar6 + 0x14) = 0;\n      }\n      *(int *)pcVar6 = iVar27;\n      (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524))(pcVar6);\n      pcVar5 = (code *)0x0;\n    }\n  }\n  else {\n    if ((uVar20 == 0x4000) || (uVar20 == 0x800)) {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n    }\n    else {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n      if (uVar20 != 0x80000) goto LAB_000c59a0;\n    }\n    iVar4 = (*pcVar5)();\n    if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {\n      bVar1 = true;\nLAB_000c59cc:\n      uVar29 = (**(code **)(pcVar22 + 0xca564))();\n      *(undefined4 *)(*(int *)(pcVar22 + 0xca04c) + 0x230) = uVar29;\n      sqlite3_randomness(0,0);\n      goto LAB_000c59fc;\n    }\n    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);\n    bVar1 = true;\nLAB_000c5a24:\n    iVar4 = -1;\n    if (pcVar30 != (code *)0x0) goto LAB_000c5a34;\n    pcVar5 = (code *)FUN_000c5048(*(undefined4 *)(iVar8 + 8),auStack_698);\n    if (pcVar5 == (code *)0x0) {\n      iVar4 = -1;\n      pcStack_96c = (code *)auStack_698;\n      goto LAB_000c5a34;\n    }\n  }\nLAB_000c602c:\n  if (iStack_494 == **(int **)(pcVar22 + 0xca5d0)) {\n    return pcVar5;\n  }\n  pcVar22 = *(code **)(pcVar22 + 0xca5a4);\n  iVar4 = iStack_494;\n  (*pcVar22)();\n  uVar9 = *(uint *)(iVar4 + 0x98);\n  if (*(uint *)(iVar4 + 0x94) <= *(uint *)(iVar4 + 0x98)) {\n    uVar9 = *(uint *)(iVar4 + 0x94);\n  }\n  puVar19 = *(undefined4 **)(iVar4 + 0xd0);\n  if (0 < *(int *)(iVar4 + 0x60)) {\n    iVar8 = 0;\n    iVar27 = 0;\n    do {\n      iVar16 = *(int *)(iVar4 + 0x5c) + iVar8;\n      if (*(int *)(iVar16 + 8) == 0 && *(int *)(iVar16 + 0xc) == 0) {\n        uVar29 = *(undefined4 *)(iVar4 + 0x48);\n        *(undefined4 *)(iVar16 + 0xc) = *(undefined4 *)(iVar4 + 0x4c);\n        *(undefined4 *)(iVar16 + 8) = uVar29;\n      }\n      iVar27 = iVar27 + 1;\n      iVar8 = iVar8 + 0x30;\n    } while (iVar27 < *(int *)(iVar4 + 0x60));\n  }\n  uVar32 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x43ec))(iVar4);\n  *(undefined8 *)(iVar4 + 0x48) = uVar32;\n  *(undefined8 *)(iVar4 + 0x50) = uVar32;\n  if ((*(char *)(iVar4 + 7) == '\0') && (*(char *)(iVar4 + 5) != '\x04')) {\n    uVar18 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0xaf8))(*(undefined4 *)(iVar4 + 0x3c));\n    iVar27 = *(int *)(pcVar22 + 0xc96e0);\n    if ((uVar18 & 0x200) == 0) {\n      *(undefined1 *)puVar19 = 0;\n      *(undefined1 *)((int)puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 3) = 0;\n      *(undefined1 *)(puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 5) = 0;\n      *(undefined1 *)((int)puVar19 + 6) = 0;\n      *(undefined1 *)((int)puVar19 + 7) = 0;\n      *(undefined1 *)(puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 9) = 0;\n      *(undefined1 *)((int)puVar19 + 10) = 0;\n      *(undefined1 *)((int)puVar19 + 0xb) = 0;\n      goto LAB_000c65ec;\n    }\n  }\n  else {\n    iVar27 = *(int *)(pcVar22 + 0xc96e0);\n  }\n  uVar29 = *(undefined4 *)(iVar27 + -0x4394);\n  *puVar19 = *(undefined4 *)(iVar27 + -0x4398);\n  puVar19[1] = uVar29;\n  (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c))(puVar19 + 2,0xffffffff);\nLAB_000c65ec:\n  sqlite3_randomness(4,iVar4 + 0x30);\n  pcVar5 = (code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c);\n  (*pcVar5)(puVar19 + 3,*(undefined4 *)(iVar4 + 0x30));\n  (*pcVar5)(puVar19 + 4,*(undefined4 *)(iVar4 + 0x1c));\n  (*pcVar5)(puVar19 + 5,*(undefined4 *)(iVar4 + 0x94));\n  (*pcVar5)(puVar19 + 6,*(undefined4 *)(iVar4 + 0x98));\n  (**(code **)(pcVar22 + 0xc9930))(puVar19 + 7,0,uVar9 - 0x1c);\n  uVar18 = 0;\n  if (*(int *)(iVar4 + 0x94) != 0) {\n    iVar27 = *(int *)(pcVar22 + 0xc9688);\n    do {\n      pcVar22 = (code *)(*(code *)(iVar27 + 0x9e0))(*(undefined4 *)(iVar4 + 0x40),puVar19,uVar9);\n      uVar20 = *(uint *)(iVar4 + 0x4c) + uVar9;\n      *(uint *)(iVar4 + 0x48) = (uint)(uVar20 < *(uint *)(iVar4 + 0x4c)) + *(int *)(iVar4 + 0x48);\n      *(uint *)(iVar4 + 0x4c) = uVar20;\n      uVar18 = uVar18 + uVar9;\n      if (pcVar22 != (code *)0x0) {\n        return pcVar22;\n      }\n    } while (uVar18 < *(uint *)(iVar4 + 0x94));\n  }\n  return (code *)0x0;\n}" (type_identifier "code") (pointer_declarator "* FUN_000c44e8(code *param_1,code *param_2,code *param_3,code *param_4)" (* "*") (function_declarator "FUN_000c44e8(code *param_1,code *param_2,code *param_3,code *param_4)" (identifier "FUN_000c44e8") (parameter_list "(code *param_1,code *param_2,code *param_3,code *param_4)" (( "(") (parameter_declaration "code *param_1" (type_identifier "code") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "code *param_2" (type_identifier "code") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "code *param_3" (type_identifier "code") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "code *param_4" (type_identifier "code") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) () ")")))) (compound_statement "{\n  bool bVar1;\n  code cVar2;\n  code *pcVar3;\n  int iVar4;\n  code *pcVar5;\n  code *pcVar6;\n  byte *pbVar7;\n  int iVar8;\n  uint uVar9;\n  int *piVar10;\n  int *piVar11;\n  int *piVar12;\n  code *pcVar13;\n  code *pcVar14;\n  byte *pbVar15;\n  int iVar16;\n  byte bVar17;\n  code *unaff_s0;\n  code *unaff_s1;\n  uint uVar18;\n  undefined4 *puVar19;\n  code *unaff_s3;\n  code *unaff_s4;\n  uint uVar20;\n  code *unaff_s5;\n  code *unaff_s6;\n  int *piVar21;\n  code *unaff_s7;\n  code *pcVar22;\n  code *pcVar23;\n  undefined *puVar24;\n  code *pcVar25;\n  code *pcVar26;\n  code *unaff_s8;\n  int iVar27;\n  uint uVar28;\n  undefined4 uVar29;\n  code *pcVar30;\n  code *pcVar31;\n  undefined8 uVar32;\n  code *pcStack_96c;\n  uint uStack_968;\n  undefined4 uStack_960;\n  uint uStack_958;\n  undefined4 uStack_954;\n  undefined4 uStack_950;\n  int iStack_94c;\n  int iStack_948;\n  int iStack_944;\n  int aiStack_940 [4];\n  int iStack_930;\n  int iStack_92c;\n  uint uStack_928;\n  undefined4 uStack_920;\n  undefined4 uStack_91c;\n  undefined1 auStack_89c [516];\n  undefined1 auStack_698 [516];\n  int iStack_494;\n  int iStack_490;\n  code *pcStack_48c;\n  code *pcStack_488;\n  code *pcStack_484;\n  code *pcStack_480;\n  code *pcStack_47c;\n  code *pcStack_478;\n  code *pcStack_474;\n  int iStack_470;\n  undefined4 uStack_46c;\n  undefined4 *puStack_458;\n  code *pcStack_448;\n  int iStack_37c;\n  code *pcStack_378;\n  code *pcStack_374;\n  code *pcStack_370;\n  code *pcStack_36c;\n  code *pcStack_368;\n  code *pcStack_364;\n  code *pcStack_360;\n  code *pcStack_35c;\n  int iStack_358;\n  undefined4 uStack_354;\n  undefined4 uStack_340;\n  undefined4 uStack_33c;\n  undefined4 uStack_338;\n  code *pcStack_330;\n  undefined4 uStack_328;\n  undefined4 uStack_324;\n  undefined1 auStack_320 [24];\n  uint uStack_308;\n  int iStack_27c;\n  int iStack_278;\n  code *pcStack_274;\n  code *pcStack_270;\n  code *pcStack_26c;\n  code *pcStack_268;\n  code *pcStack_264;\n  code *pcStack_260;\n  code *pcStack_25c;\n  code *pcStack_258;\n  code *pcStack_254;\n  code *pcStack_240;\n  byte abStack_234 [256];\n  code *pcStack_134;\n  code *pcStack_12c;\n  code *pcStack_128;\n  code *pcStack_124;\n  code *pcStack_120;\n  code *pcStack_11c;\n  code **local_108;\n  code *local_100;\n  code *local_f8;\n  code *local_f4;\n  code *local_f0;\n  code *local_ec;\n  code *local_e8;\n  code *local_e4;\n  code *local_e0;\n  undefined4 local_dc;\n  code *local_c8;\n  code *local_bc;\n  int local_b8;\n  undefined1 auStack_b4 [8];\n  int local_ac;\n  char local_a0;\n  char local_9f;\n  code *local_94;\n  code *local_90;\n  code *local_8c;\n  code *local_88;\n  code *local_84;\n  code *local_80;\n  code *local_7c;\n  code *local_78;\n  code *local_74;\n  undefined1 local_4c [8];\n  int local_44;\n  char local_37;\n  code *local_2c;\n  \n  local_2c = *(code **)PTR___stack_chk_guard_0018fecc;\n  pcVar22 = param_1;\n  pcVar5 = param_2;\n  pcVar3 = param_3;\n  if (0 < (int)param_2) {\n    unaff_s0 = param_2;\n    unaff_s7 = param_3;\n    if (((uint)param_2 & 1) == 0) {\n      pcVar5 = (code *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824);\n      FUN_000c4464();\n    }\n    else {\n      pcVar3 = (code *)(*(code *)PTR_sqlite3_value_text_0018f97c)(*(int *)param_3);\n      pcVar22 = (code *)local_4c;\n      pcVar5 = param_1;\n      iVar4 = FUN_000b4580();\n      puVar24 = PTR_sqlite3_value_text_0018f97c;\n      unaff_s6 = param_2;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(param_2 < (code *)0x2);\n        unaff_s1 = param_3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s4 = (code *)local_4c;\n          unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);\n          do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);\n        }\n        if ((*(byte *)(local_44 + 1) & 8) == 0) {\n          pcVar5 = param_1;\n          pcVar3 = param_3;\n          FUN_000b63c4();\n        }\n        else {\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }\nLAB_000c4674:\n        pcVar22 = (code *)local_4c;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = param_3;\n      }\n    }\n  }\n  if (local_2c == *(code **)PTR___stack_chk_guard_0018fecc) {\n    return *(code **)PTR___stack_chk_guard_0018fecc;\n  }\n  puVar24 = PTR___stack_chk_fail_0018fea0;\n  (*(code *)PTR___stack_chk_fail_0018fea0)();\n  local_74 = unaff_s7;\n  local_78 = unaff_s6;\n  local_7c = unaff_s5;\n  local_80 = unaff_s4;\n  local_84 = unaff_s3;\n  local_88 = param_1;\n  local_8c = unaff_s1;\n  local_90 = unaff_s0;\n  local_c8 = (code *)(puVar24 + 0xd3230);\n  local_bc = pcVar3;\n  pcVar3 = local_bc;\n  local_94 = (code *)**(int **)(puVar24 + 0xcb7dc);\n  pcVar31 = pcVar22;\n  pcVar13 = pcVar5;\n  pcVar6 = pcVar3;\n  if (0 < (int)pcVar5) {\n    unaff_s3 = (code *)**(undefined4 **)(*(int *)(pcVar22 + 4) + 8);\n    unaff_s0 = pcVar5;\n    if (((uint)pcVar5 & 1) == 0) {\n      if (unaff_s3 == (code *)0x0) {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb268) + 0x4920);\n      }\n      else {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8);\n      }\n      FUN_000c4464();\n      pcVar6 = pcVar3;\n    }\n    else {\n      pcVar6 = (code *)(**(code **)(puVar24 + 0xcb28c))(*(int *)pcVar3);\n      pcVar31 = (code *)auStack_b4;\n      pcVar13 = pcVar22;\n      iVar4 = FUN_000b4580();\n      unaff_s1 = pcVar3;\n      unaff_s7 = pcVar5;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(pcVar5 < (code *)0x2);\n        unaff_s1 = pcVar3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s6 = *(code **)(local_c8 + -0x7fa4);\n          unaff_s5 = (code *)&local_b8;\n          unaff_s4 = (code *)auStack_b4;\n          unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);\n          do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);\n        }\n        pcVar6 = local_bc;\n        if ((*(byte *)(local_ac + 1) & 8) == 0) {\n          pcVar13 = pcVar22;\n          FUN_000b63c4();\n        }\n        else {\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }\nLAB_000c484c:\n        pcVar31 = (code *)auStack_b4;\n        (*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))();\n      }\n    }\n  }\n  if (local_94 == (code *)**(int **)(local_c8 + -0x7a54)) {\n    return (code *)**(int **)(local_c8 + -0x7a54);\n  }\n  pcVar25 = *(code **)(local_c8 + -0x7a80);\n  uVar29 = 0xc4960;\n  (*pcVar25)();\n  pcVar5 = local_c8;\n  local_100 = pcVar25 + 0xd2fc0;\n  local_f4 = (code *)**(undefined4 **)(pcVar25 + 0xcb56c);\n  pcVar3 = pcVar13;\n  local_f0 = unaff_s0;\n  local_ec = unaff_s1;\n  local_e8 = pcVar22;\n  local_e4 = unaff_s3;\n  local_e0 = unaff_s4;\n  local_dc = uVar29;\n  (*(code *)(*(int *)(pcVar25 + 0xcb2a4) + 0x3d3c))();\n  if (pcVar13 != (code *)0x0) {\n    unaff_s4 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)pcVar5);\n    if (unaff_s4 == (code *)0x0) {\n      pcVar13 = (code *)0x0;\n    }\n    else {\n      unaff_s3 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)pcVar5);\n      pcVar3 = unaff_s3 + 1;\n      iVar4 = (**(code **)(local_100 + -0x7f50))\n                        ((uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f));\n      *(int *)(pcVar31 + 0x18) = iVar4;\n      if (iVar4 == 0) {\n        pcVar13 = (code *)&DAT_00000007;\n      }\n      else {\n        (**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1);\n        unaff_s4 = pcVar31 + 0x20;\n        pcVar6 = *(code **)(pcVar31 + 0x18);\n        pcVar3 = (code *)0x0;\n        unaff_s3 = (code *)FUN_000b4580(unaff_s4);\n        if (unaff_s3 == (code *)0x0) {\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }\n      }\n    }\n  }\nLAB_000c49c4:\n  if (local_f4 == (code *)**(undefined4 **)(local_100 + -0x7a54)) {\n    return pcVar13;\n  }\n  pcVar26 = *(code **)(local_100 + -0x7a80);\n  pcVar30 = sqlite3_randomness;\n  pcVar22 = local_f4;\n  (*pcVar26)();\n  pcStack_240 = pcVar26 + 0xd2b38;\n  pcStack_134 = (code *)**(int **)(pcVar26 + 0xcb0e4);\n  pcVar25 = pcVar22;\n  pcVar14 = pcVar3;\n  pcStack_12c = pcVar13;\n  pcStack_128 = pcVar31;\n  pcStack_124 = pcVar5;\n  pcStack_120 = unaff_s3;\n  pcStack_11c = pcVar30;\n  iVar4 = (**(code **)(pcVar26 + 0xcadb8))();\n  if (iVar4 == 0) {\n    unaff_s3 = (code *)(*(code *)(*(int *)(pcStack_240 + -0x7dc8) + 0xe00))(5);\n    (**(code **)(pcStack_240 + -0x7d74))(unaff_s3);\n    iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n    pcVar25 = unaff_s3;\n    if (0 < (int)pcVar22) {\n      if (pcVar3 != (code *)0x0) {\n        iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n        if (*(char *)(iVar27 + 0x338) == '\0') {\n          *(undefined1 *)(iVar8 + 0x33a) = 0;\n          *(undefined1 *)(iVar8 + 0x339) = 0;\n          iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0);\n          (**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234);\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          iVar4 = 0;\n          do {\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          } while (iVar4 != 0x100);\n          iVar4 = *(int *)(pcStack_240 + -0x7fd8);\n          uVar9 = (uint)*(byte *)(iVar4 + 0x33a);\n          pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b);\n          pbVar15 = abStack_234;\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          do {\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          } while (pbVar7 != (byte *)(iVar4 + 0x43b));\n          iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n          *(char *)(iVar8 + 0x33a) = (char)uVar18;\n          *(undefined1 *)(iVar8 + 0x338) = 1;\n          iVar4 = 0x100;\n        }\n        pcVar6 = (code *)(iVar8 + 0x338);\n        uVar9 = (uint)*(byte *)(iVar8 + 0x33a);\n        bVar17 = *(char *)(iVar8 + 0x339) + 1;\n        pcVar13 = (code *)((uint)bVar17 - (int)pcVar3);\n        pcVar5 = pcVar3;\n        do {\n          uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff;\n          cVar2 = pcVar6[uVar18 + 3];\n          uVar20 = (byte)cVar2 + uVar9;\n          uVar9 = uVar20 & 0xff;\n          param_4 = pcVar6 + uVar9;\n          pcVar6[uVar18 + 3] = param_4[3];\n          param_4[3] = cVar2;\n          pcVar14 = pcVar5 + 1;\n          *pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3];\n          pcVar5 = pcVar14;\n        } while (pcVar14 != pcVar3 + (int)pcVar22);\n        iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n        pcVar22 = pcVar22 + -1;\n        *(byte *)(iVar27 + 0x339) = bVar17 + (char)pcVar22;\n        *(char *)(iVar27 + 0x33a) = (char)uVar20;\n        (**(code **)(pcStack_240 + -0x7d78))();\n        pcVar3 = pcVar13;\n        goto LAB_000c4e3c;\n      }\n      iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n    }\n    *(undefined1 *)(iVar27 + 0x338) = 0;\n    (**(code **)(pcStack_240 + -0x7d78))();\n  }\nLAB_000c4e3c:\n  if (pcStack_134 == (code *)**(int **)(pcStack_240 + -0x7a54)) {\n    return (code *)**(int **)(pcStack_240 + -0x7a54);\n  }\n  pcVar13 = *(code **)(pcStack_240 + -0x7a80);\n  pcVar31 = FUN_000c5048;\n  (*pcVar13)();\n  pcStack_330 = pcVar13 + 0xd28d8;\n  iStack_27c = **(int **)(pcVar13 + 0xcae84);\n  *pcVar14 = (code)0x0;\n  pcVar5 = (code *)**(undefined4 **)(pcVar13 + 0xcac68);\n  iStack_278 = iVar4;\n  pcStack_274 = pcVar3;\n  pcStack_270 = pcVar22;\n  pcStack_26c = unaff_s3;\n  pcStack_268 = unaff_s4;\n  pcStack_264 = unaff_s5;\n  pcStack_260 = unaff_s6;\n  pcStack_25c = unaff_s7;\n  pcStack_258 = unaff_s8;\n  pcStack_254 = pcVar31;\n  if (*(int *)(*(int *)(pcVar13 + 0xca900) + -0xb90) == 0) {\n    uVar29 = (**(code **)(pcVar13 + 0xcae0c))(*(int *)(pcVar13 + 0xca914) + -0x45f4);\n    *(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90) = uVar29;\n  }\n  if (*(int *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) == 0) {\n    uVar29 = (**(code **)(pcStack_330 + -0x7acc))(*(int *)(pcStack_330 + -0x7fc4) + -0x45e4);\n    *(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) = uVar29;\n  }\n  pcVar3 = (code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90);\n  pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb78);\n  pcVar26 = (code *)auStack_320;\n  iVar4 = *(int *)(pcStack_330 + -0x7fd8);\n  pcVar13 = (code *)(iVar4 + -0x840);\n  iVar27 = 0x4000;\n  pcVar22 = pcStack_330;\n  while( true ) {\n    pcVar30 = pcVar26;\n    if ((((pcVar5 != (code *)0x0) &&\n         (iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) &&\n        (pcVar30 = (code *)0x3, (uStack_308 & 0xf000) == 0x4000)) &&\n       (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) {\n      pcVar3 = (code *)&DAT_0000000c;\n      pcVar26 = (code *)&uStack_328;\n      pcVar13 = pcVar14 + (int)(pcVar25 + -2);\n      pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fc4) + -0x45dc);\n      iVar4 = *(int *)(pcStack_330 + -0x7fd8);\n      iVar27 = iVar4 + -0x840;\n      goto LAB_000c51a4;\n    }\n    pcVar23 = (code *)0x190a;\n    if (pcVar3 == pcVar31) break;\n    pcVar5 = *(code **)pcVar3;\n    pcVar3 = pcVar3 + 4;\n  }\n  goto LAB_000c5230;\njoined_r0x000c5ce4:\n  if (param_4 == pcVar5) goto LAB_000c5d10;\n  piVar21 = (int *)piVar11[2];\n  if (piVar21 == (int *)0x0) goto LAB_000c6494;\n  pcVar5 = (code *)piVar21[1];\n  piVar12 = piVar11 + 2;\n  piVar11 = piVar21;\n  goto joined_r0x000c5ce4;\nLAB_000c5d10:\n  *piVar12 = piVar11[2];\n  (**(code **)(pcVar22 + 0xca2ac))(piVar10[4]);\n  (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n  iVar4 = *piVar11;\n  goto LAB_000c5d44;\nLAB_000c6494:\n  (**(code **)(pcVar22 + 0xca2ac))(piVar10[4]);\n  (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n  goto LAB_000c642c;\n  while (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar14), iVar8 == 0) {\nLAB_000c51a4:\n    sqlite3_randomness(8,pcVar26);\n    *pcVar13 = (code)0x0;\n    uStack_338 = 0;\n    uStack_33c = uStack_324;\n    uStack_340 = uStack_328;\n    pcVar30 = pcVar14;\n    pcVar6 = pcVar31;\n    param_4 = pcVar5;\n    (**(code **)(pcStack_330 + -0x7ec4))(pcVar25);\n    pcVar3 = pcVar3 + -1;\n    if ((*pcVar13 != (code)0x0) || (pcVar30 = (code *)0x0, pcVar3 == (code *)0x0)) {\n      pcVar23 = (code *)0x1;\n      pcVar22 = pcStack_330;\n      goto LAB_000c5230;\n    }\n  }\n  pcVar23 = (code *)0x0;\n  pcVar30 = pcVar26;\n  pcVar22 = pcStack_330;\nLAB_000c5230:\n  if (iStack_27c == **(int **)(pcVar22 + -0x7a54)) {\n    return pcVar23;\n  }\n  pcVar22 = *(code **)(pcVar22 + -0x7a80);\n  uVar29 = 0xc527c;\n  iVar4 = iStack_27c;\n  (*pcVar22)();\n  pcStack_448 = pcVar22 + 0xd26a4;\n  iVar8 = **(int **)(pcVar22 + 0xcac50);\n  iStack_37c = iVar8;\n  pcStack_378 = pcVar3;\n  pcStack_374 = pcVar5;\n  pcStack_370 = pcVar14;\n  pcStack_36c = pcVar13;\n  pcStack_368 = pcVar25;\n  pcStack_364 = pcVar31;\n  pcStack_360 = pcVar26;\n  pcStack_35c = pcVar23;\n  iStack_358 = iVar27;\n  uStack_354 = uVar29;\n  if (pcVar30 < &DAT_00000015) {\n                    \n                    \n    pcVar22 = (code *)(*(pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)))();\n    return pcVar22;\n  }\n  if (iVar8 == **(int **)(pcVar22 + 0xcac50)) {\n    return (code *)&DAT_0000000c;\n  }\n  pcVar22 = *(code **)(pcVar22 + 0xcac24);\n  uVar29 = 0xc58fc;\n  (*pcVar22)();\n  iStack_494 = **(int **)(pcVar22 + 0xca5d0);\n  uVar20 = (uint)param_4 & 0xffffff00;\n  uVar18 = (uint)param_4 & 8;\n  uStack_958 = (uint)param_4 & 1;\n  uVar9 = (uint)param_4 & 2;\n  pcStack_96c = pcVar30;\n  iStack_490 = iVar4;\n  pcStack_48c = pcVar5;\n  pcStack_488 = pcVar14;\n  pcStack_484 = pcVar13;\n  pcStack_480 = pcVar25;\n  pcStack_47c = pcVar31;\n  pcStack_478 = pcVar26;\n  pcStack_474 = pcVar23;\n  iStack_470 = iVar27;\n  uStack_46c = uVar29;\n  if (((uint)param_4 & 4) == 0) {\nLAB_000c59a0:\n    iVar4 = (**(code **)(pcVar22 + 0xca564))();\n    if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {\n      bVar1 = false;\n      goto LAB_000c59cc;\n    }\n    bVar1 = false;\nLAB_000c59fc:\n    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);\n    if (uVar20 != 0x100) goto LAB_000c5a24;\n    (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n    if (*(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228) == 0) {\nLAB_000c6414:\n      iVar4 = *(int *)(pcVar22 + 0xca25c);\n    }\n    else {\n      iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(pcVar30,aiStack_940);\n      if ((iVar4 != 0) ||\n         (piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0))\n      goto LAB_000c6414;\n      do {\n        if ((((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c)) {\n          (**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);\n          piVar11 = (int *)piVar10[8];\n          if (piVar11 == (int *)0x0) goto LAB_000c6494;\n          pcVar5 = (code *)piVar11[1];\n          piVar12 = piVar10 + 8;\n          goto joined_r0x000c5ce4;\n        }\n        piVar10 = (int *)piVar10[0xb];\n        iVar4 = *(int *)(pcVar22 + 0xca25c);\n      } while (piVar10 != (int *)0x0);\n    }\n    (*(code *)(iVar4 + 0x27b8))();\nLAB_000c642c:\n    piVar11 = (int *)(**(code **)(pcVar22 + 0xca0d4))(0,0xc);\n    if (piVar11 == (int *)0x0) {\n      pcVar5 = (code *)&DAT_00000007;\n      goto LAB_000c602c;\n    }\n    iVar4 = -1;\nLAB_000c5d44:\n    *(int **)(pcVar6 + 0x1c) = piVar11;\nLAB_000c5a34:\n    uStack_968 = uVar9;\n    if (((uint)param_4 & 4) != 0) {\n      uStack_968 = uVar9 | 0x100;\n    }\n    if (((uint)param_4 & 0x10) != 0) {\n      uStack_968 = uStack_968 | 0x20400;\n    }\n    if (iVar4 < 0) {\n      if (((uint)param_4 & 0x80800) == 0) {\n        uVar28 = 0x180;\n        if ((uVar18 == 0) && (uVar28 = 0, ((uint)param_4 & 0x40) != 0)) {\n          iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }\n          uVar28 = 0;\n        }\nLAB_000c5e0c:\n        uStack_954 = 0;\n        uStack_960 = 0;\n      }\n      else {\n        iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c);\n        iVar27 = iVar4 + -1;\n        if (pcStack_96c[iVar27] != (code)0x2d) {\n          if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }\n          uVar28 = 0;\n          goto LAB_000c5e0c;\n        }\nLAB_000c5e78:\n        (**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201);\n        auStack_89c[iVar27] = 0;\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940);\n        if (iVar4 == 0) {\n          uVar28 = uStack_928 & 0x1ff;\n          uStack_960 = uStack_920;\n          uStack_954 = uStack_91c;\n          pcVar5 = (code *)0x0;\n        }\n        else {\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }\nLAB_000c5ee0:\n        if (pcVar5 != (code *)0x0) goto LAB_000c602c;\n      }\n      iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                        (pcStack_96c,uStack_968 | 0x2000,uVar28);\n      if (-1 < iVar4) {\nLAB_000c5e40:\n        if (((uint)param_4 & 0x80800) != 0) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);\n        }\n        goto LAB_000c5a6c;\n      }\n      pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n      if (bVar1) {\n        piVar10 = (int *)(*pcVar5)();\n        if (*piVar10 != 0xd) {\n          pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n          goto LAB_000c5fb8;\n        }\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))(pcStack_96c,0);\n        pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n        if (iVar4 == 0) goto LAB_000c5fb8;\n        uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n        (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                  (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634);\n        pcVar5 = (code *)0x608;\n      }\n      else {\nLAB_000c5fb8:\n        piVar10 = (int *)(*pcVar5)();\n        if ((*piVar10 == 0x15) || (uVar9 == 0)) {\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        else {\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        if (pcVar5 == (code *)0x0) goto LAB_000c602c;\n      }\nLAB_000c630c:\n      iVar4 = *(int *)(pcVar6 + 0x1c);\nLAB_000c6310:\n      (**(code **)(pcVar22 + 0xca07c))(iVar4);\n    }\n    else {\nLAB_000c5a6c:\n      if (puStack_458 != (undefined4 *)0x0) {\n        *puStack_458 = param_4;\n      }\n      if (*(int **)(pcVar6 + 0x1c) != (int *)0x0) {\n        **(int **)(pcVar6 + 0x1c) = iVar4;\n        *(code **)(*(int *)(pcVar6 + 0x1c) + 4) = param_4;\n      }\n      if (uVar18 != 0) {\n        (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))(pcStack_96c);\n        uVar18 = 0x20;\n      }\n      if (uStack_958 != 0) {\n        uVar18 = uVar18 | 2;\n      }\n      if (uVar20 != 0x100) {\n        uVar18 = uVar18 | 0x80;\n      }\n      if (bVar1) {\n        uVar18 = uVar18 | 8;\n      }\n      if (((uint)param_4 & 0x40) == 0) {\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = (code *)0x0;\n      }\n      else {\n        uVar18 = uVar18 | 0x40;\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = pcVar30;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca37c))(pcVar5,*(int *)(pcVar22 + 0xca060) + -0x45c0,1);\n      iVar16 = *(int *)(pcVar22 + 0xca060);\n      if (iVar27 != 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 0x10;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca610))(*(undefined4 *)(iVar8 + 0x10),iVar16 + -0x45b8);\n      if (iVar27 == 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 1;\n      }\n      if ((uVar18 & 0x80) == 0) {\n        iVar27 = (*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6);\n        if (iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n          iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);\n          if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n        }\n        else {\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }\n        *(int *)(pcVar6 + 0x14) = 0;\n        if (pcVar5 != (code *)0x0) {\n          if (iVar4 < 0) goto LAB_000c630c;\n          (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);\n          iVar4 = *(int *)(pcVar6 + 0x1c);\n          goto LAB_000c6310;\n        }\n      }\n      else {\n        iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4;\nLAB_000c6394:\n        *(int *)(pcVar6 + 0x14) = 0;\n      }\n      *(int *)pcVar6 = iVar27;\n      (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524))(pcVar6);\n      pcVar5 = (code *)0x0;\n    }\n  }\n  else {\n    if ((uVar20 == 0x4000) || (uVar20 == 0x800)) {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n    }\n    else {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n      if (uVar20 != 0x80000) goto LAB_000c59a0;\n    }\n    iVar4 = (*pcVar5)();\n    if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {\n      bVar1 = true;\nLAB_000c59cc:\n      uVar29 = (**(code **)(pcVar22 + 0xca564))();\n      *(undefined4 *)(*(int *)(pcVar22 + 0xca04c) + 0x230) = uVar29;\n      sqlite3_randomness(0,0);\n      goto LAB_000c59fc;\n    }\n    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);\n    bVar1 = true;\nLAB_000c5a24:\n    iVar4 = -1;\n    if (pcVar30 != (code *)0x0) goto LAB_000c5a34;\n    pcVar5 = (code *)FUN_000c5048(*(undefined4 *)(iVar8 + 8),auStack_698);\n    if (pcVar5 == (code *)0x0) {\n      iVar4 = -1;\n      pcStack_96c = (code *)auStack_698;\n      goto LAB_000c5a34;\n    }\n  }\nLAB_000c602c:\n  if (iStack_494 == **(int **)(pcVar22 + 0xca5d0)) {\n    return pcVar5;\n  }\n  pcVar22 = *(code **)(pcVar22 + 0xca5a4);\n  iVar4 = iStack_494;\n  (*pcVar22)();\n  uVar9 = *(uint *)(iVar4 + 0x98);\n  if (*(uint *)(iVar4 + 0x94) <= *(uint *)(iVar4 + 0x98)) {\n    uVar9 = *(uint *)(iVar4 + 0x94);\n  }\n  puVar19 = *(undefined4 **)(iVar4 + 0xd0);\n  if (0 < *(int *)(iVar4 + 0x60)) {\n    iVar8 = 0;\n    iVar27 = 0;\n    do {\n      iVar16 = *(int *)(iVar4 + 0x5c) + iVar8;\n      if (*(int *)(iVar16 + 8) == 0 && *(int *)(iVar16 + 0xc) == 0) {\n        uVar29 = *(undefined4 *)(iVar4 + 0x48);\n        *(undefined4 *)(iVar16 + 0xc) = *(undefined4 *)(iVar4 + 0x4c);\n        *(undefined4 *)(iVar16 + 8) = uVar29;\n      }\n      iVar27 = iVar27 + 1;\n      iVar8 = iVar8 + 0x30;\n    } while (iVar27 < *(int *)(iVar4 + 0x60));\n  }\n  uVar32 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x43ec))(iVar4);\n  *(undefined8 *)(iVar4 + 0x48) = uVar32;\n  *(undefined8 *)(iVar4 + 0x50) = uVar32;\n  if ((*(char *)(iVar4 + 7) == '\0') && (*(char *)(iVar4 + 5) != '\x04')) {\n    uVar18 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0xaf8))(*(undefined4 *)(iVar4 + 0x3c));\n    iVar27 = *(int *)(pcVar22 + 0xc96e0);\n    if ((uVar18 & 0x200) == 0) {\n      *(undefined1 *)puVar19 = 0;\n      *(undefined1 *)((int)puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 3) = 0;\n      *(undefined1 *)(puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 5) = 0;\n      *(undefined1 *)((int)puVar19 + 6) = 0;\n      *(undefined1 *)((int)puVar19 + 7) = 0;\n      *(undefined1 *)(puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 9) = 0;\n      *(undefined1 *)((int)puVar19 + 10) = 0;\n      *(undefined1 *)((int)puVar19 + 0xb) = 0;\n      goto LAB_000c65ec;\n    }\n  }\n  else {\n    iVar27 = *(int *)(pcVar22 + 0xc96e0);\n  }\n  uVar29 = *(undefined4 *)(iVar27 + -0x4394);\n  *puVar19 = *(undefined4 *)(iVar27 + -0x4398);\n  puVar19[1] = uVar29;\n  (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c))(puVar19 + 2,0xffffffff);\nLAB_000c65ec:\n  sqlite3_randomness(4,iVar4 + 0x30);\n  pcVar5 = (code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c);\n  (*pcVar5)(puVar19 + 3,*(undefined4 *)(iVar4 + 0x30));\n  (*pcVar5)(puVar19 + 4,*(undefined4 *)(iVar4 + 0x1c));\n  (*pcVar5)(puVar19 + 5,*(undefined4 *)(iVar4 + 0x94));\n  (*pcVar5)(puVar19 + 6,*(undefined4 *)(iVar4 + 0x98));\n  (**(code **)(pcVar22 + 0xc9930))(puVar19 + 7,0,uVar9 - 0x1c);\n  uVar18 = 0;\n  if (*(int *)(iVar4 + 0x94) != 0) {\n    iVar27 = *(int *)(pcVar22 + 0xc9688);\n    do {\n      pcVar22 = (code *)(*(code *)(iVar27 + 0x9e0))(*(undefined4 *)(iVar4 + 0x40),puVar19,uVar9);\n      uVar20 = *(uint *)(iVar4 + 0x4c) + uVar9;\n      *(uint *)(iVar4 + 0x48) = (uint)(uVar20 < *(uint *)(iVar4 + 0x4c)) + *(int *)(iVar4 + 0x48);\n      *(uint *)(iVar4 + 0x4c) = uVar20;\n      uVar18 = uVar18 + uVar9;\n      if (pcVar22 != (code *)0x0) {\n        return pcVar22;\n      }\n    } while (uVar18 < *(uint *)(iVar4 + 0x94));\n  }\n  return (code *)0x0;\n}" ({ "{") (declaration "bool bVar1;" (primitive_type "bool") (identifier "bVar1") (; ";")) (declaration "code cVar2;" (type_identifier "code") (identifier "cVar2") (; ";")) (declaration "code *pcVar3;" (type_identifier "code") (pointer_declarator "*pcVar3" (* "*") (identifier "pcVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "code *pcVar5;" (type_identifier "code") (pointer_declarator "*pcVar5" (* "*") (identifier "pcVar5")) (; ";")) (declaration "code *pcVar6;" (type_identifier "code") (pointer_declarator "*pcVar6" (* "*") (identifier "pcVar6")) (; ";")) (declaration "byte *pbVar7;" (type_identifier "byte") (pointer_declarator "*pbVar7" (* "*") (identifier "pbVar7")) (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "int *piVar10;" (primitive_type "int") (pointer_declarator "*piVar10" (* "*") (identifier "piVar10")) (; ";")) (declaration "int *piVar11;" (primitive_type "int") (pointer_declarator "*piVar11" (* "*") (identifier "piVar11")) (; ";")) (declaration "int *piVar12;" (primitive_type "int") (pointer_declarator "*piVar12" (* "*") (identifier "piVar12")) (; ";")) (declaration "code *pcVar13;" (type_identifier "code") (pointer_declarator "*pcVar13" (* "*") (identifier "pcVar13")) (; ";")) (declaration "code *pcVar14;" (type_identifier "code") (pointer_declarator "*pcVar14" (* "*") (identifier "pcVar14")) (; ";")) (declaration "byte *pbVar15;" (type_identifier "byte") (pointer_declarator "*pbVar15" (* "*") (identifier "pbVar15")) (; ";")) (declaration "int iVar16;" (primitive_type "int") (identifier "iVar16") (; ";")) (declaration "byte bVar17;" (type_identifier "byte") (identifier "bVar17") (; ";")) (declaration "code *unaff_s0;" (type_identifier "code") (pointer_declarator "*unaff_s0" (* "*") (identifier "unaff_s0")) (; ";")) (declaration "code *unaff_s1;" (type_identifier "code") (pointer_declarator "*unaff_s1" (* "*") (identifier "unaff_s1")) (; ";")) (declaration "uint uVar18;" (type_identifier "uint") (identifier "uVar18") (; ";")) (declaration "undefined4 *puVar19;" (type_identifier "undefined4") (pointer_declarator "*puVar19" (* "*") (identifier "puVar19")) (; ";")) (declaration "code *unaff_s3;" (type_identifier "code") (pointer_declarator "*unaff_s3" (* "*") (identifier "unaff_s3")) (; ";")) (declaration "code *unaff_s4;" (type_identifier "code") (pointer_declarator "*unaff_s4" (* "*") (identifier "unaff_s4")) (; ";")) (declaration "uint uVar20;" (type_identifier "uint") (identifier "uVar20") (; ";")) (declaration "code *unaff_s5;" (type_identifier "code") (pointer_declarator "*unaff_s5" (* "*") (identifier "unaff_s5")) (; ";")) (declaration "code *unaff_s6;" (type_identifier "code") (pointer_declarator "*unaff_s6" (* "*") (identifier "unaff_s6")) (; ";")) (declaration "int *piVar21;" (primitive_type "int") (pointer_declarator "*piVar21" (* "*") (identifier "piVar21")) (; ";")) (declaration "code *unaff_s7;" (type_identifier "code") (pointer_declarator "*unaff_s7" (* "*") (identifier "unaff_s7")) (; ";")) (declaration "code *pcVar22;" (type_identifier "code") (pointer_declarator "*pcVar22" (* "*") (identifier "pcVar22")) (; ";")) (declaration "code *pcVar23;" (type_identifier "code") (pointer_declarator "*pcVar23" (* "*") (identifier "pcVar23")) (; ";")) (declaration "undefined *puVar24;" (type_identifier "undefined") (pointer_declarator "*puVar24" (* "*") (identifier "puVar24")) (; ";")) (declaration "code *pcVar25;" (type_identifier "code") (pointer_declarator "*pcVar25" (* "*") (identifier "pcVar25")) (; ";")) (declaration "code *pcVar26;" (type_identifier "code") (pointer_declarator "*pcVar26" (* "*") (identifier "pcVar26")) (; ";")) (declaration "code *unaff_s8;" (type_identifier "code") (pointer_declarator "*unaff_s8" (* "*") (identifier "unaff_s8")) (; ";")) (declaration "int iVar27;" (primitive_type "int") (identifier "iVar27") (; ";")) (declaration "uint uVar28;" (type_identifier "uint") (identifier "uVar28") (; ";")) (declaration "undefined4 uVar29;" (type_identifier "undefined4") (identifier "uVar29") (; ";")) (declaration "code *pcVar30;" (type_identifier "code") (pointer_declarator "*pcVar30" (* "*") (identifier "pcVar30")) (; ";")) (declaration "code *pcVar31;" (type_identifier "code") (pointer_declarator "*pcVar31" (* "*") (identifier "pcVar31")) (; ";")) (declaration "undefined8 uVar32;" (type_identifier "undefined8") (identifier "uVar32") (; ";")) (declaration "code *pcStack_96c;" (type_identifier "code") (pointer_declarator "*pcStack_96c" (* "*") (identifier "pcStack_96c")) (; ";")) (declaration "uint uStack_968;" (type_identifier "uint") (identifier "uStack_968") (; ";")) (declaration "undefined4 uStack_960;" (type_identifier "undefined4") (identifier "uStack_960") (; ";")) (declaration "uint uStack_958;" (type_identifier "uint") (identifier "uStack_958") (; ";")) (declaration "undefined4 uStack_954;" (type_identifier "undefined4") (identifier "uStack_954") (; ";")) (declaration "undefined4 uStack_950;" (type_identifier "undefined4") (identifier "uStack_950") (; ";")) (declaration "int iStack_94c;" (primitive_type "int") (identifier "iStack_94c") (; ";")) (declaration "int iStack_948;" (primitive_type "int") (identifier "iStack_948") (; ";")) (declaration "int iStack_944;" (primitive_type "int") (identifier "iStack_944") (; ";")) (declaration "int aiStack_940 [4];" (primitive_type "int") (array_declarator "aiStack_940 [4]" (identifier "aiStack_940") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "int iStack_930;" (primitive_type "int") (identifier "iStack_930") (; ";")) (declaration "int iStack_92c;" (primitive_type "int") (identifier "iStack_92c") (; ";")) (declaration "uint uStack_928;" (type_identifier "uint") (identifier "uStack_928") (; ";")) (declaration "undefined4 uStack_920;" (type_identifier "undefined4") (identifier "uStack_920") (; ";")) (declaration "undefined4 uStack_91c;" (type_identifier "undefined4") (identifier "uStack_91c") (; ";")) (declaration "undefined1 auStack_89c [516];" (type_identifier "undefined1") (array_declarator "auStack_89c [516]" (identifier "auStack_89c") ([ "[") (number_literal "516") (] "]")) (; ";")) (declaration "undefined1 auStack_698 [516];" (type_identifier "undefined1") (array_declarator "auStack_698 [516]" (identifier "auStack_698") ([ "[") (number_literal "516") (] "]")) (; ";")) (declaration "int iStack_494;" (primitive_type "int") (identifier "iStack_494") (; ";")) (declaration "int iStack_490;" (primitive_type "int") (identifier "iStack_490") (; ";")) (declaration "code *pcStack_48c;" (type_identifier "code") (pointer_declarator "*pcStack_48c" (* "*") (identifier "pcStack_48c")) (; ";")) (declaration "code *pcStack_488;" (type_identifier "code") (pointer_declarator "*pcStack_488" (* "*") (identifier "pcStack_488")) (; ";")) (declaration "code *pcStack_484;" (type_identifier "code") (pointer_declarator "*pcStack_484" (* "*") (identifier "pcStack_484")) (; ";")) (declaration "code *pcStack_480;" (type_identifier "code") (pointer_declarator "*pcStack_480" (* "*") (identifier "pcStack_480")) (; ";")) (declaration "code *pcStack_47c;" (type_identifier "code") (pointer_declarator "*pcStack_47c" (* "*") (identifier "pcStack_47c")) (; ";")) (declaration "code *pcStack_478;" (type_identifier "code") (pointer_declarator "*pcStack_478" (* "*") (identifier "pcStack_478")) (; ";")) (declaration "code *pcStack_474;" (type_identifier "code") (pointer_declarator "*pcStack_474" (* "*") (identifier "pcStack_474")) (; ";")) (declaration "int iStack_470;" (primitive_type "int") (identifier "iStack_470") (; ";")) (declaration "undefined4 uStack_46c;" (type_identifier "undefined4") (identifier "uStack_46c") (; ";")) (declaration "undefined4 *puStack_458;" (type_identifier "undefined4") (pointer_declarator "*puStack_458" (* "*") (identifier "puStack_458")) (; ";")) (declaration "code *pcStack_448;" (type_identifier "code") (pointer_declarator "*pcStack_448" (* "*") (identifier "pcStack_448")) (; ";")) (declaration "int iStack_37c;" (primitive_type "int") (identifier "iStack_37c") (; ";")) (declaration "code *pcStack_378;" (type_identifier "code") (pointer_declarator "*pcStack_378" (* "*") (identifier "pcStack_378")) (; ";")) (declaration "code *pcStack_374;" (type_identifier "code") (pointer_declarator "*pcStack_374" (* "*") (identifier "pcStack_374")) (; ";")) (declaration "code *pcStack_370;" (type_identifier "code") (pointer_declarator "*pcStack_370" (* "*") (identifier "pcStack_370")) (; ";")) (declaration "code *pcStack_36c;" (type_identifier "code") (pointer_declarator "*pcStack_36c" (* "*") (identifier "pcStack_36c")) (; ";")) (declaration "code *pcStack_368;" (type_identifier "code") (pointer_declarator "*pcStack_368" (* "*") (identifier "pcStack_368")) (; ";")) (declaration "code *pcStack_364;" (type_identifier "code") (pointer_declarator "*pcStack_364" (* "*") (identifier "pcStack_364")) (; ";")) (declaration "code *pcStack_360;" (type_identifier "code") (pointer_declarator "*pcStack_360" (* "*") (identifier "pcStack_360")) (; ";")) (declaration "code *pcStack_35c;" (type_identifier "code") (pointer_declarator "*pcStack_35c" (* "*") (identifier "pcStack_35c")) (; ";")) (declaration "int iStack_358;" (primitive_type "int") (identifier "iStack_358") (; ";")) (declaration "undefined4 uStack_354;" (type_identifier "undefined4") (identifier "uStack_354") (; ";")) (declaration "undefined4 uStack_340;" (type_identifier "undefined4") (identifier "uStack_340") (; ";")) (declaration "undefined4 uStack_33c;" (type_identifier "undefined4") (identifier "uStack_33c") (; ";")) (declaration "undefined4 uStack_338;" (type_identifier "undefined4") (identifier "uStack_338") (; ";")) (declaration "code *pcStack_330;" (type_identifier "code") (pointer_declarator "*pcStack_330" (* "*") (identifier "pcStack_330")) (; ";")) (declaration "undefined4 uStack_328;" (type_identifier "undefined4") (identifier "uStack_328") (; ";")) (declaration "undefined4 uStack_324;" (type_identifier "undefined4") (identifier "uStack_324") (; ";")) (declaration "undefined1 auStack_320 [24];" (type_identifier "undefined1") (array_declarator "auStack_320 [24]" (identifier "auStack_320") ([ "[") (number_literal "24") (] "]")) (; ";")) (declaration "uint uStack_308;" (type_identifier "uint") (identifier "uStack_308") (; ";")) (declaration "int iStack_27c;" (primitive_type "int") (identifier "iStack_27c") (; ";")) (declaration "int iStack_278;" (primitive_type "int") (identifier "iStack_278") (; ";")) (declaration "code *pcStack_274;" (type_identifier "code") (pointer_declarator "*pcStack_274" (* "*") (identifier "pcStack_274")) (; ";")) (declaration "code *pcStack_270;" (type_identifier "code") (pointer_declarator "*pcStack_270" (* "*") (identifier "pcStack_270")) (; ";")) (declaration "code *pcStack_26c;" (type_identifier "code") (pointer_declarator "*pcStack_26c" (* "*") (identifier "pcStack_26c")) (; ";")) (declaration "code *pcStack_268;" (type_identifier "code") (pointer_declarator "*pcStack_268" (* "*") (identifier "pcStack_268")) (; ";")) (declaration "code *pcStack_264;" (type_identifier "code") (pointer_declarator "*pcStack_264" (* "*") (identifier "pcStack_264")) (; ";")) (declaration "code *pcStack_260;" (type_identifier "code") (pointer_declarator "*pcStack_260" (* "*") (identifier "pcStack_260")) (; ";")) (declaration "code *pcStack_25c;" (type_identifier "code") (pointer_declarator "*pcStack_25c" (* "*") (identifier "pcStack_25c")) (; ";")) (declaration "code *pcStack_258;" (type_identifier "code") (pointer_declarator "*pcStack_258" (* "*") (identifier "pcStack_258")) (; ";")) (declaration "code *pcStack_254;" (type_identifier "code") (pointer_declarator "*pcStack_254" (* "*") (identifier "pcStack_254")) (; ";")) (declaration "code *pcStack_240;" (type_identifier "code") (pointer_declarator "*pcStack_240" (* "*") (identifier "pcStack_240")) (; ";")) (declaration "byte abStack_234 [256];" (type_identifier "byte") (array_declarator "abStack_234 [256]" (identifier "abStack_234") ([ "[") (number_literal "256") (] "]")) (; ";")) (declaration "code *pcStack_134;" (type_identifier "code") (pointer_declarator "*pcStack_134" (* "*") (identifier "pcStack_134")) (; ";")) (declaration "code *pcStack_12c;" (type_identifier "code") (pointer_declarator "*pcStack_12c" (* "*") (identifier "pcStack_12c")) (; ";")) (declaration "code *pcStack_128;" (type_identifier "code") (pointer_declarator "*pcStack_128" (* "*") (identifier "pcStack_128")) (; ";")) (declaration "code *pcStack_124;" (type_identifier "code") (pointer_declarator "*pcStack_124" (* "*") (identifier "pcStack_124")) (; ";")) (declaration "code *pcStack_120;" (type_identifier "code") (pointer_declarator "*pcStack_120" (* "*") (identifier "pcStack_120")) (; ";")) (declaration "code *pcStack_11c;" (type_identifier "code") (pointer_declarator "*pcStack_11c" (* "*") (identifier "pcStack_11c")) (; ";")) (declaration "code **local_108;" (type_identifier "code") (pointer_declarator "**local_108" (* "*") (pointer_declarator "*local_108" (* "*") (identifier "local_108"))) (; ";")) (declaration "code *local_100;" (type_identifier "code") (pointer_declarator "*local_100" (* "*") (identifier "local_100")) (; ";")) (declaration "code *local_f8;" (type_identifier "code") (pointer_declarator "*local_f8" (* "*") (identifier "local_f8")) (; ";")) (declaration "code *local_f4;" (type_identifier "code") (pointer_declarator "*local_f4" (* "*") (identifier "local_f4")) (; ";")) (declaration "code *local_f0;" (type_identifier "code") (pointer_declarator "*local_f0" (* "*") (identifier "local_f0")) (; ";")) (declaration "code *local_ec;" (type_identifier "code") (pointer_declarator "*local_ec" (* "*") (identifier "local_ec")) (; ";")) (declaration "code *local_e8;" (type_identifier "code") (pointer_declarator "*local_e8" (* "*") (identifier "local_e8")) (; ";")) (declaration "code *local_e4;" (type_identifier "code") (pointer_declarator "*local_e4" (* "*") (identifier "local_e4")) (; ";")) (declaration "code *local_e0;" (type_identifier "code") (pointer_declarator "*local_e0" (* "*") (identifier "local_e0")) (; ";")) (declaration "undefined4 local_dc;" (type_identifier "undefined4") (identifier "local_dc") (; ";")) (declaration "code *local_c8;" (type_identifier "code") (pointer_declarator "*local_c8" (* "*") (identifier "local_c8")) (; ";")) (declaration "code *local_bc;" (type_identifier "code") (pointer_declarator "*local_bc" (* "*") (identifier "local_bc")) (; ";")) (declaration "int local_b8;" (primitive_type "int") (identifier "local_b8") (; ";")) (declaration "undefined1 auStack_b4 [8];" (type_identifier "undefined1") (array_declarator "auStack_b4 [8]" (identifier "auStack_b4") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "int local_ac;" (primitive_type "int") (identifier "local_ac") (; ";")) (declaration "char local_a0;" (primitive_type "char") (identifier "local_a0") (; ";")) (declaration "char local_9f;" (primitive_type "char") (identifier "local_9f") (; ";")) (declaration "code *local_94;" (type_identifier "code") (pointer_declarator "*local_94" (* "*") (identifier "local_94")) (; ";")) (declaration "code *local_90;" (type_identifier "code") (pointer_declarator "*local_90" (* "*") (identifier "local_90")) (; ";")) (declaration "code *local_8c;" (type_identifier "code") (pointer_declarator "*local_8c" (* "*") (identifier "local_8c")) (; ";")) (declaration "code *local_88;" (type_identifier "code") (pointer_declarator "*local_88" (* "*") (identifier "local_88")) (; ";")) (declaration "code *local_84;" (type_identifier "code") (pointer_declarator "*local_84" (* "*") (identifier "local_84")) (; ";")) (declaration "code *local_80;" (type_identifier "code") (pointer_declarator "*local_80" (* "*") (identifier "local_80")) (; ";")) (declaration "code *local_7c;" (type_identifier "code") (pointer_declarator "*local_7c" (* "*") (identifier "local_7c")) (; ";")) (declaration "code *local_78;" (type_identifier "code") (pointer_declarator "*local_78" (* "*") (identifier "local_78")) (; ";")) (declaration "code *local_74;" (type_identifier "code") (pointer_declarator "*local_74" (* "*") (identifier "local_74")) (; ";")) (declaration "undefined1 local_4c [8];" (type_identifier "undefined1") (array_declarator "local_4c [8]" (identifier "local_4c") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "int local_44;" (primitive_type "int") (identifier "local_44") (; ";")) (declaration "char local_37;" (primitive_type "char") (identifier "local_37") (; ";")) (declaration "code *local_2c;" (type_identifier "code") (pointer_declarator "*local_2c" (* "*") (identifier "local_2c")) (; ";")) (expression_statement "local_2c = *(code **)PTR___stack_chk_guard_0018fecc;" (assignment_expression "local_2c = *(code **)PTR___stack_chk_guard_0018fecc" (identifier "local_2c") (= "=") (pointer_expression "*(code **)PTR___stack_chk_guard_0018fecc" (* "*") (cast_expression "(code **)PTR___stack_chk_guard_0018fecc" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR___stack_chk_guard_0018fecc")))) (; ";")) (expression_statement "pcVar22 = param_1;" (assignment_expression "pcVar22 = param_1" (identifier "pcVar22") (= "=") (identifier "param_1")) (; ";")) (expression_statement "pcVar5 = param_2;" (assignment_expression "pcVar5 = param_2" (identifier "pcVar5") (= "=") (identifier "param_2")) (; ";")) (expression_statement "pcVar3 = param_3;" (assignment_expression "pcVar3 = param_3" (identifier "pcVar3") (= "=") (identifier "param_3")) (; ";")) (if_statement "if (0 < (int)param_2) {\n    unaff_s0 = param_2;\n    unaff_s7 = param_3;\n    if (((uint)param_2 & 1) == 0) {\n      pcVar5 = (code *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824);\n      FUN_000c4464();\n    }\n    else {\n      pcVar3 = (code *)(*(code *)PTR_sqlite3_value_text_0018f97c)(*(int *)param_3);\n      pcVar22 = (code *)local_4c;\n      pcVar5 = param_1;\n      iVar4 = FUN_000b4580();\n      puVar24 = PTR_sqlite3_value_text_0018f97c;\n      unaff_s6 = param_2;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(param_2 < (code *)0x2);\n        unaff_s1 = param_3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s4 = (code *)local_4c;\n          unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);\n          do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);\n        }\n        if ((*(byte *)(local_44 + 1) & 8) == 0) {\n          pcVar5 = param_1;\n          pcVar3 = param_3;\n          FUN_000b63c4();\n        }\n        else {\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }\nLAB_000c4674:\n        pcVar22 = (code *)local_4c;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = param_3;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(0 < (int)param_2)" (( "(") (binary_expression "0 < (int)param_2" (number_literal "0") (< "<") (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2"))) () ")")) (compound_statement "{\n    unaff_s0 = param_2;\n    unaff_s7 = param_3;\n    if (((uint)param_2 & 1) == 0) {\n      pcVar5 = (code *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824);\n      FUN_000c4464();\n    }\n    else {\n      pcVar3 = (code *)(*(code *)PTR_sqlite3_value_text_0018f97c)(*(int *)param_3);\n      pcVar22 = (code *)local_4c;\n      pcVar5 = param_1;\n      iVar4 = FUN_000b4580();\n      puVar24 = PTR_sqlite3_value_text_0018f97c;\n      unaff_s6 = param_2;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(param_2 < (code *)0x2);\n        unaff_s1 = param_3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s4 = (code *)local_4c;\n          unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);\n          do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);\n        }\n        if ((*(byte *)(local_44 + 1) & 8) == 0) {\n          pcVar5 = param_1;\n          pcVar3 = param_3;\n          FUN_000b63c4();\n        }\n        else {\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }\nLAB_000c4674:\n        pcVar22 = (code *)local_4c;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = param_3;\n      }\n    }\n  }" ({ "{") (expression_statement "unaff_s0 = param_2;" (assignment_expression "unaff_s0 = param_2" (identifier "unaff_s0") (= "=") (identifier "param_2")) (; ";")) (expression_statement "unaff_s7 = param_3;" (assignment_expression "unaff_s7 = param_3" (identifier "unaff_s7") (= "=") (identifier "param_3")) (; ";")) (if_statement "if (((uint)param_2 & 1) == 0) {\n      pcVar5 = (code *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824);\n      FUN_000c4464();\n    }\n    else {\n      pcVar3 = (code *)(*(code *)PTR_sqlite3_value_text_0018f97c)(*(int *)param_3);\n      pcVar22 = (code *)local_4c;\n      pcVar5 = param_1;\n      iVar4 = FUN_000b4580();\n      puVar24 = PTR_sqlite3_value_text_0018f97c;\n      unaff_s6 = param_2;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(param_2 < (code *)0x2);\n        unaff_s1 = param_3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s4 = (code *)local_4c;\n          unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);\n          do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);\n        }\n        if ((*(byte *)(local_44 + 1) & 8) == 0) {\n          pcVar5 = param_1;\n          pcVar3 = param_3;\n          FUN_000b63c4();\n        }\n        else {\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }\nLAB_000c4674:\n        pcVar22 = (code *)local_4c;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = param_3;\n      }\n    }" (if "if") (parenthesized_expression "(((uint)param_2 & 1) == 0)" (( "(") (binary_expression "((uint)param_2 & 1) == 0" (parenthesized_expression "((uint)param_2 & 1)" (( "(") (binary_expression "(uint)param_2 & 1" (cast_expression "(uint)param_2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_2")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      pcVar5 = (code *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824);\n      FUN_000c4464();\n    }" ({ "{") (expression_statement "pcVar5 = (code *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824);" (assignment_expression "pcVar5 = (code *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824)" (identifier "pcVar5") (= "=") (cast_expression "(code *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824)" (( "(") (binary_expression "PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824" (identifier "PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c") (+ "+") (number_literal "-0x6824")) () ")")))) (; ";")) (expression_statement "FUN_000c4464();" (call_expression "FUN_000c4464()" (identifier "FUN_000c4464") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n      pcVar3 = (code *)(*(code *)PTR_sqlite3_value_text_0018f97c)(*(int *)param_3);\n      pcVar22 = (code *)local_4c;\n      pcVar5 = param_1;\n      iVar4 = FUN_000b4580();\n      puVar24 = PTR_sqlite3_value_text_0018f97c;\n      unaff_s6 = param_2;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(param_2 < (code *)0x2);\n        unaff_s1 = param_3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s4 = (code *)local_4c;\n          unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);\n          do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);\n        }\n        if ((*(byte *)(local_44 + 1) & 8) == 0) {\n          pcVar5 = param_1;\n          pcVar3 = param_3;\n          FUN_000b63c4();\n        }\n        else {\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }\nLAB_000c4674:\n        pcVar22 = (code *)local_4c;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = param_3;\n      }\n    }" (else "else") (compound_statement "{\n      pcVar3 = (code *)(*(code *)PTR_sqlite3_value_text_0018f97c)(*(int *)param_3);\n      pcVar22 = (code *)local_4c;\n      pcVar5 = param_1;\n      iVar4 = FUN_000b4580();\n      puVar24 = PTR_sqlite3_value_text_0018f97c;\n      unaff_s6 = param_2;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(param_2 < (code *)0x2);\n        unaff_s1 = param_3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s4 = (code *)local_4c;\n          unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);\n          do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);\n        }\n        if ((*(byte *)(local_44 + 1) & 8) == 0) {\n          pcVar5 = param_1;\n          pcVar3 = param_3;\n          FUN_000b63c4();\n        }\n        else {\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }\nLAB_000c4674:\n        pcVar22 = (code *)local_4c;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = param_3;\n      }\n    }" ({ "{") (expression_statement "pcVar3 = (code *)(*(code *)PTR_sqlite3_value_text_0018f97c)(*(int *)param_3);" (assignment_expression "pcVar3 = (code *)(*(code *)PTR_sqlite3_value_text_0018f97c)(*(int *)param_3)" (identifier "pcVar3") (= "=") (cast_expression "(code *)(*(code *)PTR_sqlite3_value_text_0018f97c)(*(int *)param_3)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_sqlite3_value_text_0018f97c)(*(int *)param_3)" (parenthesized_expression "(*(code *)PTR_sqlite3_value_text_0018f97c)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_value_text_0018f97c" (* "*") (cast_expression "(code *)PTR_sqlite3_value_text_0018f97c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_value_text_0018f97c"))) () ")")) (argument_list "(*(int *)param_3)" (( "(") (pointer_expression "*(int *)param_3" (* "*") (cast_expression "(int *)param_3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_3"))) () ")"))))) (; ";")) (expression_statement "pcVar22 = (code *)local_4c;" (assignment_expression "pcVar22 = (code *)local_4c" (identifier "pcVar22") (= "=") (cast_expression "(code *)local_4c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_4c"))) (; ";")) (expression_statement "pcVar5 = param_1;" (assignment_expression "pcVar5 = param_1" (identifier "pcVar5") (= "=") (identifier "param_1")) (; ";")) (expression_statement "iVar4 = FUN_000b4580();" (assignment_expression "iVar4 = FUN_000b4580()" (identifier "iVar4") (= "=") (call_expression "FUN_000b4580()" (identifier "FUN_000b4580") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar24 = PTR_sqlite3_value_text_0018f97c;" (assignment_expression "puVar24 = PTR_sqlite3_value_text_0018f97c" (identifier "puVar24") (= "=") (identifier "PTR_sqlite3_value_text_0018f97c")) (; ";")) (expression_statement "unaff_s6 = param_2;" (assignment_expression "unaff_s6 = param_2" (identifier "unaff_s6") (= "=") (identifier "param_2")) (; ";")) (if_statement "if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(param_2 < (code *)0x2);\n        unaff_s1 = param_3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s4 = (code *)local_4c;\n          unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);\n          do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);\n        }\n        if ((*(byte *)(local_44 + 1) & 8) == 0) {\n          pcVar5 = param_1;\n          pcVar3 = param_3;\n          FUN_000b63c4();\n        }\n        else {\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }\nLAB_000c4674:\n        pcVar22 = (code *)local_4c;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = param_3;\n      }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        unaff_s0 = (code *)(uint)(param_2 < (code *)0x2);\n        unaff_s1 = param_3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s4 = (code *)local_4c;\n          unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);\n          do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);\n        }\n        if ((*(byte *)(local_44 + 1) & 8) == 0) {\n          pcVar5 = param_1;\n          pcVar3 = param_3;\n          FUN_000b63c4();\n        }\n        else {\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }\nLAB_000c4674:\n        pcVar22 = (code *)local_4c;\n        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();\n        unaff_s7 = param_3;\n      }" ({ "{") (expression_statement "unaff_s0 = (code *)(uint)(param_2 < (code *)0x2);" (assignment_expression "unaff_s0 = (code *)(uint)(param_2 < (code *)0x2)" (identifier "unaff_s0") (= "=") (cast_expression "(code *)(uint)(param_2 < (code *)0x2)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)(param_2 < (code *)0x2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(param_2 < (code *)0x2)" (( "(") (binary_expression "param_2 < (code *)0x2" (identifier "param_2") (< "<") (cast_expression "(code *)0x2" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2"))) () ")"))))) (; ";")) (expression_statement "unaff_s1 = param_3 + 4;" (assignment_expression "unaff_s1 = param_3 + 4" (identifier "unaff_s1") (= "=") (binary_expression "param_3 + 4" (identifier "param_3") (+ "+") (number_literal "4"))) (; ";")) (if_statement "if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s4 = (code *)local_4c;\n          unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);\n          do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);\n        }" (if "if") (parenthesized_expression "(unaff_s0 == (code *)0x0)" (( "(") (binary_expression "unaff_s0 == (code *)0x0" (identifier "unaff_s0") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          unaff_s0 = (code *)0x1;\n          unaff_s4 = (code *)local_4c;\n          unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);\n          do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);\n        }" ({ "{") (expression_statement "unaff_s0 = (code *)0x1;" (assignment_expression "unaff_s0 = (code *)0x1" (identifier "unaff_s0") (= "=") (cast_expression "(code *)0x1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "unaff_s4 = (code *)local_4c;" (assignment_expression "unaff_s4 = (code *)local_4c" (identifier "unaff_s4") (= "=") (cast_expression "(code *)local_4c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_4c"))) (; ";")) (expression_statement "unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);" (assignment_expression "unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48)" (identifier "unaff_s3") (= "=") (cast_expression "(code *)(PTR_DAT_0018fbc8 + 0x3c48)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0018fbc8 + 0x3c48)" (( "(") (binary_expression "PTR_DAT_0018fbc8 + 0x3c48" (identifier "PTR_DAT_0018fbc8") (+ "+") (number_literal "0x3c48")) () ")")))) (; ";")) (do_statement "do {\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < param_2);" (do "do") (compound_statement "{\n            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);\n            pcVar3 = (code *)0x0;\n            param_4 = param_1;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            unaff_s5 = (code *)puVar24;\n            if (local_37 != '\0') goto LAB_000c4674;\n            if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          }" ({ "{") (expression_statement "pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);" (assignment_expression "pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1)" (identifier "pcVar5") (= "=") (cast_expression "(code *)(*(code *)puVar24)(*(int *)unaff_s1)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)puVar24)(*(int *)unaff_s1)" (parenthesized_expression "(*(code *)puVar24)" (( "(") (pointer_expression "*(code *)puVar24" (* "*") (cast_expression "(code *)puVar24" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar24"))) () ")")) (argument_list "(*(int *)unaff_s1)" (( "(") (pointer_expression "*(int *)unaff_s1" (* "*") (cast_expression "(int *)unaff_s1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "unaff_s1"))) () ")"))))) (; ";")) (expression_statement "pcVar3 = (code *)0x0;" (assignment_expression "pcVar3 = (code *)0x0" (identifier "pcVar3") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "param_4 = param_1;" (assignment_expression "param_4 = param_1" (identifier "param_4") (= "=") (identifier "param_1")) (; ";")) (expression_statement "iVar4 = FUN_000c3c48(unaff_s4);" (assignment_expression "iVar4 = FUN_000c3c48(unaff_s4)" (identifier "iVar4") (= "=") (call_expression "FUN_000c3c48(unaff_s4)" (identifier "FUN_000c3c48") (argument_list "(unaff_s4)" (( "(") (identifier "unaff_s4") () ")")))) (; ";")) (expression_statement "unaff_s5 = (code *)puVar24;" (assignment_expression "unaff_s5 = (code *)puVar24" (identifier "unaff_s5") (= "=") (cast_expression "(code *)puVar24" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar24"))) (; ";")) (if_statement "if (local_37 != '\0') goto LAB_000c4674;" (if "if") (parenthesized_expression "(local_37 != '\0')" (( "(") (binary_expression "local_37 != '\0'" (identifier "local_37") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_000c4674;" (goto "goto") (statement_identifier "LAB_000c4674") (; ";"))) (if_statement "if (iVar4 != 0) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }" ({ "{") (expression_statement "*(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;" (assignment_expression "*(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8" (pointer_expression "*(byte *)(iVar4 + 1)" (* "*") (cast_expression "(byte *)(iVar4 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 1)" (( "(") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1")) () ")")))) (= "=") (binary_expression "*(byte *)(iVar4 + 1) | 8" (pointer_expression "*(byte *)(iVar4 + 1)" (* "*") (cast_expression "(byte *)(iVar4 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 1)" (( "(") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1")) () ")")))) (| "|") (number_literal "8"))) (; ";")) (expression_statement "*(code **)(iVar4 + 8) = unaff_s0 + 1;" (assignment_expression "*(code **)(iVar4 + 8) = unaff_s0 + 1" (pointer_expression "*(code **)(iVar4 + 8)" (* "*") (cast_expression "(code **)(iVar4 + 8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 8)" (( "(") (binary_expression "iVar4 + 8" (identifier "iVar4") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "unaff_s0 + 1" (identifier "unaff_s0") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "unaff_s0 = unaff_s0 + 2;" (assignment_expression "unaff_s0 = unaff_s0 + 2" (identifier "unaff_s0") (= "=") (binary_expression "unaff_s0 + 2" (identifier "unaff_s0") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "unaff_s1 = unaff_s1 + 8;" (assignment_expression "unaff_s1 = unaff_s1 + 8" (identifier "unaff_s1") (= "=") (binary_expression "unaff_s1 + 8" (identifier "unaff_s1") (+ "+") (number_literal "8"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(unaff_s0 < param_2)" (( "(") (binary_expression "unaff_s0 < param_2" (identifier "unaff_s0") (< "<") (identifier "param_2")) () ")")) (; ";")) (} "}"))) (if_statement "if ((*(byte *)(local_44 + 1) & 8) == 0) {\n          pcVar5 = param_1;\n          pcVar3 = param_3;\n          FUN_000b63c4();\n        }\n        else {\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }" (if "if") (parenthesized_expression "((*(byte *)(local_44 + 1) & 8) == 0)" (( "(") (binary_expression "(*(byte *)(local_44 + 1) & 8) == 0" (parenthesized_expression "(*(byte *)(local_44 + 1) & 8)" (( "(") (binary_expression "*(byte *)(local_44 + 1) & 8" (pointer_expression "*(byte *)(local_44 + 1)" (* "*") (cast_expression "(byte *)(local_44 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_44 + 1)" (( "(") (binary_expression "local_44 + 1" (identifier "local_44") (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          pcVar5 = param_1;\n          pcVar3 = param_3;\n          FUN_000b63c4();\n        }" ({ "{") (expression_statement "pcVar5 = param_1;" (assignment_expression "pcVar5 = param_1" (identifier "pcVar5") (= "=") (identifier "param_1")) (; ";")) (expression_statement "pcVar3 = param_3;" (assignment_expression "pcVar3 = param_3" (identifier "pcVar3") (= "=") (identifier "param_3")) (; ";")) (expression_statement "FUN_000b63c4();" (call_expression "FUN_000b63c4()" (identifier "FUN_000b63c4") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }" (else "else") (compound_statement "{\n          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;\n          pcVar5 = *(code **)pcVar22;\n          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);\n          pcVar3 = param_3;\n          param_3 = pcVar22;\n        }" ({ "{") (expression_statement "pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;" (assignment_expression "pcVar22 = param_3 + *(int *)(local_44 + 8) * 4" (identifier "pcVar22") (= "=") (binary_expression "param_3 + *(int *)(local_44 + 8) * 4" (identifier "param_3") (+ "+") (binary_expression "*(int *)(local_44 + 8) * 4" (pointer_expression "*(int *)(local_44 + 8)" (* "*") (cast_expression "(int *)(local_44 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_44 + 8)" (( "(") (binary_expression "local_44 + 8" (identifier "local_44") (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4")))) (; ";")) (expression_statement "pcVar5 = *(code **)pcVar22;" (assignment_expression "pcVar5 = *(code **)pcVar22" (identifier "pcVar5") (= "=") (pointer_expression "*(code **)pcVar22" (* "*") (cast_expression "(code **)pcVar22" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pcVar22")))) (; ";")) (expression_statement "(*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);" (call_expression "(*(code *)PTR_sqlite3_result_value_0018fa38)(param_1)" (parenthesized_expression "(*(code *)PTR_sqlite3_result_value_0018fa38)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_result_value_0018fa38" (* "*") (cast_expression "(code *)PTR_sqlite3_result_value_0018fa38" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_result_value_0018fa38"))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (expression_statement "pcVar3 = param_3;" (assignment_expression "pcVar3 = param_3" (identifier "pcVar3") (= "=") (identifier "param_3")) (; ";")) (expression_statement "param_3 = pcVar22;" (assignment_expression "param_3 = pcVar22" (identifier "param_3") (= "=") (identifier "pcVar22")) (; ";")) (} "}")))) (labeled_statement "LAB_000c4674:\n        pcVar22 = (code *)local_4c;" (statement_identifier "LAB_000c4674") (: ":") (expression_statement "pcVar22 = (code *)local_4c;" (assignment_expression "pcVar22 = (code *)local_4c" (identifier "pcVar22") (= "=") (cast_expression "(code *)local_4c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_4c"))) (; ";"))) (expression_statement "(*(code *)(PTR_LAB_0018fc04 + 0x3c38))();" (call_expression "(*(code *)(PTR_LAB_0018fc04 + 0x3c38))()" (parenthesized_expression "(*(code *)(PTR_LAB_0018fc04 + 0x3c38))" (( "(") (pointer_expression "*(code *)(PTR_LAB_0018fc04 + 0x3c38)" (* "*") (cast_expression "(code *)(PTR_LAB_0018fc04 + 0x3c38)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0018fc04 + 0x3c38)" (( "(") (binary_expression "PTR_LAB_0018fc04 + 0x3c38" (identifier "PTR_LAB_0018fc04") (+ "+") (number_literal "0x3c38")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "unaff_s7 = param_3;" (assignment_expression "unaff_s7 = param_3" (identifier "unaff_s7") (= "=") (identifier "param_3")) (; ";")) (} "}"))) (} "}")))) (} "}"))) (if_statement "if (local_2c == *(code **)PTR___stack_chk_guard_0018fecc) {\n    return *(code **)PTR___stack_chk_guard_0018fecc;\n  }" (if "if") (parenthesized_expression "(local_2c == *(code **)PTR___stack_chk_guard_0018fecc)" (( "(") (binary_expression "local_2c == *(code **)PTR___stack_chk_guard_0018fecc" (identifier "local_2c") (== "==") (pointer_expression "*(code **)PTR___stack_chk_guard_0018fecc" (* "*") (cast_expression "(code **)PTR___stack_chk_guard_0018fecc" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR___stack_chk_guard_0018fecc")))) () ")")) (compound_statement "{\n    return *(code **)PTR___stack_chk_guard_0018fecc;\n  }" ({ "{") (return_statement "return *(code **)PTR___stack_chk_guard_0018fecc;" (return "return") (pointer_expression "*(code **)PTR___stack_chk_guard_0018fecc" (* "*") (cast_expression "(code **)PTR___stack_chk_guard_0018fecc" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR___stack_chk_guard_0018fecc"))) (; ";")) (} "}"))) (expression_statement "puVar24 = PTR___stack_chk_fail_0018fea0;" (assignment_expression "puVar24 = PTR___stack_chk_fail_0018fea0" (identifier "puVar24") (= "=") (identifier "PTR___stack_chk_fail_0018fea0")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_0018fea0)();" (call_expression "(*(code *)PTR___stack_chk_fail_0018fea0)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0018fea0)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_0018fea0" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_0018fea0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_0018fea0"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_74 = unaff_s7;" (assignment_expression "local_74 = unaff_s7" (identifier "local_74") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "local_78 = unaff_s6;" (assignment_expression "local_78 = unaff_s6" (identifier "local_78") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "local_7c = unaff_s5;" (assignment_expression "local_7c = unaff_s5" (identifier "local_7c") (= "=") (identifier "unaff_s5")) (; ";")) (expression_statement "local_80 = unaff_s4;" (assignment_expression "local_80 = unaff_s4" (identifier "local_80") (= "=") (identifier "unaff_s4")) (; ";")) (expression_statement "local_84 = unaff_s3;" (assignment_expression "local_84 = unaff_s3" (identifier "local_84") (= "=") (identifier "unaff_s3")) (; ";")) (expression_statement "local_88 = param_1;" (assignment_expression "local_88 = param_1" (identifier "local_88") (= "=") (identifier "param_1")) (; ";")) (expression_statement "local_8c = unaff_s1;" (assignment_expression "local_8c = unaff_s1" (identifier "local_8c") (= "=") (identifier "unaff_s1")) (; ";")) (expression_statement "local_90 = unaff_s0;" (assignment_expression "local_90 = unaff_s0" (identifier "local_90") (= "=") (identifier "unaff_s0")) (; ";")) (expression_statement "local_c8 = (code *)(puVar24 + 0xd3230);" (assignment_expression "local_c8 = (code *)(puVar24 + 0xd3230)" (identifier "local_c8") (= "=") (cast_expression "(code *)(puVar24 + 0xd3230)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar24 + 0xd3230)" (( "(") (binary_expression "puVar24 + 0xd3230" (identifier "puVar24") (+ "+") (number_literal "0xd3230")) () ")")))) (; ";")) (expression_statement "local_bc = pcVar3;" (assignment_expression "local_bc = pcVar3" (identifier "local_bc") (= "=") (identifier "pcVar3")) (; ";")) (expression_statement "pcVar3 = local_bc;" (assignment_expression "pcVar3 = local_bc" (identifier "pcVar3") (= "=") (identifier "local_bc")) (; ";")) (expression_statement "local_94 = (code *)**(int **)(puVar24 + 0xcb7dc);" (assignment_expression "local_94 = (code *)**(int **)(puVar24 + 0xcb7dc)" (identifier "local_94") (= "=") (cast_expression "(code *)**(int **)(puVar24 + 0xcb7dc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(int **)(puVar24 + 0xcb7dc)" (* "*") (pointer_expression "*(int **)(puVar24 + 0xcb7dc)" (* "*") (cast_expression "(int **)(puVar24 + 0xcb7dc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0xcb7dc)" (( "(") (binary_expression "puVar24 + 0xcb7dc" (identifier "puVar24") (+ "+") (number_literal "0xcb7dc")) () ")"))))))) (; ";")) (expression_statement "pcVar31 = pcVar22;" (assignment_expression "pcVar31 = pcVar22" (identifier "pcVar31") (= "=") (identifier "pcVar22")) (; ";")) (expression_statement "pcVar13 = pcVar5;" (assignment_expression "pcVar13 = pcVar5" (identifier "pcVar13") (= "=") (identifier "pcVar5")) (; ";")) (expression_statement "pcVar6 = pcVar3;" (assignment_expression "pcVar6 = pcVar3" (identifier "pcVar6") (= "=") (identifier "pcVar3")) (; ";")) (if_statement "if (0 < (int)pcVar5) {\n    unaff_s3 = (code *)**(undefined4 **)(*(int *)(pcVar22 + 4) + 8);\n    unaff_s0 = pcVar5;\n    if (((uint)pcVar5 & 1) == 0) {\n      if (unaff_s3 == (code *)0x0) {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb268) + 0x4920);\n      }\n      else {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8);\n      }\n      FUN_000c4464();\n      pcVar6 = pcVar3;\n    }\n    else {\n      pcVar6 = (code *)(**(code **)(puVar24 + 0xcb28c))(*(int *)pcVar3);\n      pcVar31 = (code *)auStack_b4;\n      pcVar13 = pcVar22;\n      iVar4 = FUN_000b4580();\n      unaff_s1 = pcVar3;\n      unaff_s7 = pcVar5;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(pcVar5 < (code *)0x2);\n        unaff_s1 = pcVar3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s6 = *(code **)(local_c8 + -0x7fa4);\n          unaff_s5 = (code *)&local_b8;\n          unaff_s4 = (code *)auStack_b4;\n          unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);\n          do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);\n        }\n        pcVar6 = local_bc;\n        if ((*(byte *)(local_ac + 1) & 8) == 0) {\n          pcVar13 = pcVar22;\n          FUN_000b63c4();\n        }\n        else {\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }\nLAB_000c484c:\n        pcVar31 = (code *)auStack_b4;\n        (*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))();\n      }\n    }\n  }" (if "if") (parenthesized_expression "(0 < (int)pcVar5)" (( "(") (binary_expression "0 < (int)pcVar5" (number_literal "0") (< "<") (cast_expression "(int)pcVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar5"))) () ")")) (compound_statement "{\n    unaff_s3 = (code *)**(undefined4 **)(*(int *)(pcVar22 + 4) + 8);\n    unaff_s0 = pcVar5;\n    if (((uint)pcVar5 & 1) == 0) {\n      if (unaff_s3 == (code *)0x0) {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb268) + 0x4920);\n      }\n      else {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8);\n      }\n      FUN_000c4464();\n      pcVar6 = pcVar3;\n    }\n    else {\n      pcVar6 = (code *)(**(code **)(puVar24 + 0xcb28c))(*(int *)pcVar3);\n      pcVar31 = (code *)auStack_b4;\n      pcVar13 = pcVar22;\n      iVar4 = FUN_000b4580();\n      unaff_s1 = pcVar3;\n      unaff_s7 = pcVar5;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(pcVar5 < (code *)0x2);\n        unaff_s1 = pcVar3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s6 = *(code **)(local_c8 + -0x7fa4);\n          unaff_s5 = (code *)&local_b8;\n          unaff_s4 = (code *)auStack_b4;\n          unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);\n          do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);\n        }\n        pcVar6 = local_bc;\n        if ((*(byte *)(local_ac + 1) & 8) == 0) {\n          pcVar13 = pcVar22;\n          FUN_000b63c4();\n        }\n        else {\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }\nLAB_000c484c:\n        pcVar31 = (code *)auStack_b4;\n        (*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))();\n      }\n    }\n  }" ({ "{") (expression_statement "unaff_s3 = (code *)**(undefined4 **)(*(int *)(pcVar22 + 4) + 8);" (assignment_expression "unaff_s3 = (code *)**(undefined4 **)(*(int *)(pcVar22 + 4) + 8)" (identifier "unaff_s3") (= "=") (cast_expression "(code *)**(undefined4 **)(*(int *)(pcVar22 + 4) + 8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(*(int *)(pcVar22 + 4) + 8)" (* "*") (pointer_expression "*(undefined4 **)(*(int *)(pcVar22 + 4) + 8)" (* "*") (cast_expression "(undefined4 **)(*(int *)(pcVar22 + 4) + 8)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 4) + 8)" (( "(") (binary_expression "*(int *)(pcVar22 + 4) + 8" (pointer_expression "*(int *)(pcVar22 + 4)" (* "*") (cast_expression "(int *)(pcVar22 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 4)" (( "(") (binary_expression "pcVar22 + 4" (identifier "pcVar22") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "8")) () ")"))))))) (; ";")) (expression_statement "unaff_s0 = pcVar5;" (assignment_expression "unaff_s0 = pcVar5" (identifier "unaff_s0") (= "=") (identifier "pcVar5")) (; ";")) (if_statement "if (((uint)pcVar5 & 1) == 0) {\n      if (unaff_s3 == (code *)0x0) {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb268) + 0x4920);\n      }\n      else {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8);\n      }\n      FUN_000c4464();\n      pcVar6 = pcVar3;\n    }\n    else {\n      pcVar6 = (code *)(**(code **)(puVar24 + 0xcb28c))(*(int *)pcVar3);\n      pcVar31 = (code *)auStack_b4;\n      pcVar13 = pcVar22;\n      iVar4 = FUN_000b4580();\n      unaff_s1 = pcVar3;\n      unaff_s7 = pcVar5;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(pcVar5 < (code *)0x2);\n        unaff_s1 = pcVar3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s6 = *(code **)(local_c8 + -0x7fa4);\n          unaff_s5 = (code *)&local_b8;\n          unaff_s4 = (code *)auStack_b4;\n          unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);\n          do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);\n        }\n        pcVar6 = local_bc;\n        if ((*(byte *)(local_ac + 1) & 8) == 0) {\n          pcVar13 = pcVar22;\n          FUN_000b63c4();\n        }\n        else {\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }\nLAB_000c484c:\n        pcVar31 = (code *)auStack_b4;\n        (*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))();\n      }\n    }" (if "if") (parenthesized_expression "(((uint)pcVar5 & 1) == 0)" (( "(") (binary_expression "((uint)pcVar5 & 1) == 0" (parenthesized_expression "((uint)pcVar5 & 1)" (( "(") (binary_expression "(uint)pcVar5 & 1" (cast_expression "(uint)pcVar5" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pcVar5")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (unaff_s3 == (code *)0x0) {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb268) + 0x4920);\n      }\n      else {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8);\n      }\n      FUN_000c4464();\n      pcVar6 = pcVar3;\n    }" ({ "{") (if_statement "if (unaff_s3 == (code *)0x0) {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb268) + 0x4920);\n      }\n      else {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8);\n      }" (if "if") (parenthesized_expression "(unaff_s3 == (code *)0x0)" (( "(") (binary_expression "unaff_s3 == (code *)0x0" (identifier "unaff_s3") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb268) + 0x4920);\n      }" ({ "{") (expression_statement "pcVar13 = (code *)(*(int *)(puVar24 + 0xcb268) + 0x4920);" (assignment_expression "pcVar13 = (code *)(*(int *)(puVar24 + 0xcb268) + 0x4920)" (identifier "pcVar13") (= "=") (cast_expression "(code *)(*(int *)(puVar24 + 0xcb268) + 0x4920)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar24 + 0xcb268) + 0x4920)" (( "(") (binary_expression "*(int *)(puVar24 + 0xcb268) + 0x4920" (pointer_expression "*(int *)(puVar24 + 0xcb268)" (* "*") (cast_expression "(int *)(puVar24 + 0xcb268)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar24 + 0xcb268)" (( "(") (binary_expression "puVar24 + 0xcb268" (identifier "puVar24") (+ "+") (number_literal "0xcb268")) () ")")))) (+ "+") (number_literal "0x4920")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8);\n      }" (else "else") (compound_statement "{\n        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8);\n      }" ({ "{") (expression_statement "pcVar13 = (code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8);" (assignment_expression "pcVar13 = (code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8)" (identifier "pcVar13") (= "=") (cast_expression "(code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar24 + 0xcb26c) + 0x6e8)" (( "(") (binary_expression "*(int *)(puVar24 + 0xcb26c) + 0x6e8" (pointer_expression "*(int *)(puVar24 + 0xcb26c)" (* "*") (cast_expression "(int *)(puVar24 + 0xcb26c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar24 + 0xcb26c)" (( "(") (binary_expression "puVar24 + 0xcb26c" (identifier "puVar24") (+ "+") (number_literal "0xcb26c")) () ")")))) (+ "+") (number_literal "0x6e8")) () ")")))) (; ";")) (} "}")))) (expression_statement "FUN_000c4464();" (call_expression "FUN_000c4464()" (identifier "FUN_000c4464") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar6 = pcVar3;" (assignment_expression "pcVar6 = pcVar3" (identifier "pcVar6") (= "=") (identifier "pcVar3")) (; ";")) (} "}")) (else_clause "else {\n      pcVar6 = (code *)(**(code **)(puVar24 + 0xcb28c))(*(int *)pcVar3);\n      pcVar31 = (code *)auStack_b4;\n      pcVar13 = pcVar22;\n      iVar4 = FUN_000b4580();\n      unaff_s1 = pcVar3;\n      unaff_s7 = pcVar5;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(pcVar5 < (code *)0x2);\n        unaff_s1 = pcVar3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s6 = *(code **)(local_c8 + -0x7fa4);\n          unaff_s5 = (code *)&local_b8;\n          unaff_s4 = (code *)auStack_b4;\n          unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);\n          do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);\n        }\n        pcVar6 = local_bc;\n        if ((*(byte *)(local_ac + 1) & 8) == 0) {\n          pcVar13 = pcVar22;\n          FUN_000b63c4();\n        }\n        else {\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }\nLAB_000c484c:\n        pcVar31 = (code *)auStack_b4;\n        (*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))();\n      }\n    }" (else "else") (compound_statement "{\n      pcVar6 = (code *)(**(code **)(puVar24 + 0xcb28c))(*(int *)pcVar3);\n      pcVar31 = (code *)auStack_b4;\n      pcVar13 = pcVar22;\n      iVar4 = FUN_000b4580();\n      unaff_s1 = pcVar3;\n      unaff_s7 = pcVar5;\n      if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(pcVar5 < (code *)0x2);\n        unaff_s1 = pcVar3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s6 = *(code **)(local_c8 + -0x7fa4);\n          unaff_s5 = (code *)&local_b8;\n          unaff_s4 = (code *)auStack_b4;\n          unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);\n          do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);\n        }\n        pcVar6 = local_bc;\n        if ((*(byte *)(local_ac + 1) & 8) == 0) {\n          pcVar13 = pcVar22;\n          FUN_000b63c4();\n        }\n        else {\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }\nLAB_000c484c:\n        pcVar31 = (code *)auStack_b4;\n        (*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))();\n      }\n    }" ({ "{") (expression_statement "pcVar6 = (code *)(**(code **)(puVar24 + 0xcb28c))(*(int *)pcVar3);" (assignment_expression "pcVar6 = (code *)(**(code **)(puVar24 + 0xcb28c))(*(int *)pcVar3)" (identifier "pcVar6") (= "=") (cast_expression "(code *)(**(code **)(puVar24 + 0xcb28c))(*(int *)pcVar3)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar24 + 0xcb28c))(*(int *)pcVar3)" (parenthesized_expression "(**(code **)(puVar24 + 0xcb28c))" (( "(") (pointer_expression "**(code **)(puVar24 + 0xcb28c)" (* "*") (pointer_expression "*(code **)(puVar24 + 0xcb28c)" (* "*") (cast_expression "(code **)(puVar24 + 0xcb28c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0xcb28c)" (( "(") (binary_expression "puVar24 + 0xcb28c" (identifier "puVar24") (+ "+") (number_literal "0xcb28c")) () ")"))))) () ")")) (argument_list "(*(int *)pcVar3)" (( "(") (pointer_expression "*(int *)pcVar3" (* "*") (cast_expression "(int *)pcVar3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar3"))) () ")"))))) (; ";")) (expression_statement "pcVar31 = (code *)auStack_b4;" (assignment_expression "pcVar31 = (code *)auStack_b4" (identifier "pcVar31") (= "=") (cast_expression "(code *)auStack_b4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "auStack_b4"))) (; ";")) (expression_statement "pcVar13 = pcVar22;" (assignment_expression "pcVar13 = pcVar22" (identifier "pcVar13") (= "=") (identifier "pcVar22")) (; ";")) (expression_statement "iVar4 = FUN_000b4580();" (assignment_expression "iVar4 = FUN_000b4580()" (identifier "iVar4") (= "=") (call_expression "FUN_000b4580()" (identifier "FUN_000b4580") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "unaff_s1 = pcVar3;" (assignment_expression "unaff_s1 = pcVar3" (identifier "unaff_s1") (= "=") (identifier "pcVar3")) (; ";")) (expression_statement "unaff_s7 = pcVar5;" (assignment_expression "unaff_s7 = pcVar5" (identifier "unaff_s7") (= "=") (identifier "pcVar5")) (; ";")) (if_statement "if (iVar4 == 0) {\n        unaff_s0 = (code *)(uint)(pcVar5 < (code *)0x2);\n        unaff_s1 = pcVar3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s6 = *(code **)(local_c8 + -0x7fa4);\n          unaff_s5 = (code *)&local_b8;\n          unaff_s4 = (code *)auStack_b4;\n          unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);\n          do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);\n        }\n        pcVar6 = local_bc;\n        if ((*(byte *)(local_ac + 1) & 8) == 0) {\n          pcVar13 = pcVar22;\n          FUN_000b63c4();\n        }\n        else {\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }\nLAB_000c484c:\n        pcVar31 = (code *)auStack_b4;\n        (*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))();\n      }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        unaff_s0 = (code *)(uint)(pcVar5 < (code *)0x2);\n        unaff_s1 = pcVar3 + 4;\n        if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s6 = *(code **)(local_c8 + -0x7fa4);\n          unaff_s5 = (code *)&local_b8;\n          unaff_s4 = (code *)auStack_b4;\n          unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);\n          do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);\n        }\n        pcVar6 = local_bc;\n        if ((*(byte *)(local_ac + 1) & 8) == 0) {\n          pcVar13 = pcVar22;\n          FUN_000b63c4();\n        }\n        else {\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }\nLAB_000c484c:\n        pcVar31 = (code *)auStack_b4;\n        (*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))();\n      }" ({ "{") (expression_statement "unaff_s0 = (code *)(uint)(pcVar5 < (code *)0x2);" (assignment_expression "unaff_s0 = (code *)(uint)(pcVar5 < (code *)0x2)" (identifier "unaff_s0") (= "=") (cast_expression "(code *)(uint)(pcVar5 < (code *)0x2)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)(pcVar5 < (code *)0x2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pcVar5 < (code *)0x2)" (( "(") (binary_expression "pcVar5 < (code *)0x2" (identifier "pcVar5") (< "<") (cast_expression "(code *)0x2" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2"))) () ")"))))) (; ";")) (expression_statement "unaff_s1 = pcVar3 + 4;" (assignment_expression "unaff_s1 = pcVar3 + 4" (identifier "unaff_s1") (= "=") (binary_expression "pcVar3 + 4" (identifier "pcVar3") (+ "+") (number_literal "4"))) (; ";")) (if_statement "if (unaff_s0 == (code *)0x0) {\n          unaff_s0 = (code *)0x1;\n          unaff_s6 = *(code **)(local_c8 + -0x7fa4);\n          unaff_s5 = (code *)&local_b8;\n          unaff_s4 = (code *)auStack_b4;\n          unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);\n          do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);\n        }" (if "if") (parenthesized_expression "(unaff_s0 == (code *)0x0)" (( "(") (binary_expression "unaff_s0 == (code *)0x0" (identifier "unaff_s0") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          unaff_s0 = (code *)0x1;\n          unaff_s6 = *(code **)(local_c8 + -0x7fa4);\n          unaff_s5 = (code *)&local_b8;\n          unaff_s4 = (code *)auStack_b4;\n          unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);\n          do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);\n        }" ({ "{") (expression_statement "unaff_s0 = (code *)0x1;" (assignment_expression "unaff_s0 = (code *)0x1" (identifier "unaff_s0") (= "=") (cast_expression "(code *)0x1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "unaff_s6 = *(code **)(local_c8 + -0x7fa4);" (assignment_expression "unaff_s6 = *(code **)(local_c8 + -0x7fa4)" (identifier "unaff_s6") (= "=") (pointer_expression "*(code **)(local_c8 + -0x7fa4)" (* "*") (cast_expression "(code **)(local_c8 + -0x7fa4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_c8 + -0x7fa4)" (( "(") (binary_expression "local_c8 + -0x7fa4" (identifier "local_c8") (+ "+") (number_literal "-0x7fa4")) () ")"))))) (; ";")) (expression_statement "unaff_s5 = (code *)&local_b8;" (assignment_expression "unaff_s5 = (code *)&local_b8" (identifier "unaff_s5") (= "=") (cast_expression "(code *)&local_b8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&local_b8" (& "&") (identifier "local_b8")))) (; ";")) (expression_statement "unaff_s4 = (code *)auStack_b4;" (assignment_expression "unaff_s4 = (code *)auStack_b4" (identifier "unaff_s4") (= "=") (cast_expression "(code *)auStack_b4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "auStack_b4"))) (; ";")) (expression_statement "unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);" (assignment_expression "unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48)" (identifier "unaff_s8") (= "=") (cast_expression "(code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(local_c8 + -0x7d58) + 0x3c48)" (( "(") (binary_expression "*(int *)(local_c8 + -0x7d58) + 0x3c48" (pointer_expression "*(int *)(local_c8 + -0x7d58)" (* "*") (cast_expression "(int *)(local_c8 + -0x7d58)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_c8 + -0x7d58)" (( "(") (binary_expression "local_c8 + -0x7d58" (identifier "local_c8") (+ "+") (number_literal "-0x7d58")) () ")")))) (+ "+") (number_literal "0x3c48")) () ")")))) (; ";")) (do_statement "do {\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          } while (unaff_s0 < pcVar5);" (do "do") (compound_statement "{\n            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);\n            local_b8 = 0;\n            pcVar6 = unaff_s5;\n            param_4 = pcVar22;\n            iVar4 = FUN_000c3c48(unaff_s4);\n            if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }\n            if (local_9f != '\0') goto LAB_000c484c;\n            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }\n            unaff_s0 = unaff_s0 + 2;\n            unaff_s1 = unaff_s1 + 8;\n          }" ({ "{") (expression_statement "pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);" (assignment_expression "pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1)" (identifier "pcVar13") (= "=") (cast_expression "(code *)(*unaff_s6)(*(int *)unaff_s1)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*unaff_s6)(*(int *)unaff_s1)" (parenthesized_expression "(*unaff_s6)" (( "(") (pointer_expression "*unaff_s6" (* "*") (identifier "unaff_s6")) () ")")) (argument_list "(*(int *)unaff_s1)" (( "(") (pointer_expression "*(int *)unaff_s1" (* "*") (cast_expression "(int *)unaff_s1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "unaff_s1"))) () ")"))))) (; ";")) (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar6 = unaff_s5;" (assignment_expression "pcVar6 = unaff_s5" (identifier "pcVar6") (= "=") (identifier "unaff_s5")) (; ";")) (expression_statement "param_4 = pcVar22;" (assignment_expression "param_4 = pcVar22" (identifier "param_4") (= "=") (identifier "pcVar22")) (; ";")) (expression_statement "iVar4 = FUN_000c3c48(unaff_s4);" (assignment_expression "iVar4 = FUN_000c3c48(unaff_s4)" (identifier "iVar4") (= "=") (call_expression "FUN_000c3c48(unaff_s4)" (identifier "FUN_000c3c48") (argument_list "(unaff_s4)" (( "(") (identifier "unaff_s4") () ")")))) (; ";")) (if_statement "if (local_a0 != '\0') {\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }" (if "if") (parenthesized_expression "(local_a0 != '\0')" (( "(") (binary_expression "local_a0 != '\0'" (identifier "local_a0") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              (**(code **)(local_c8 + -0x7f44))(pcVar22);\n              goto LAB_000c484c;\n            }" ({ "{") (expression_statement "(**(code **)(local_c8 + -0x7f44))(pcVar22);" (call_expression "(**(code **)(local_c8 + -0x7f44))(pcVar22)" (parenthesized_expression "(**(code **)(local_c8 + -0x7f44))" (( "(") (pointer_expression "**(code **)(local_c8 + -0x7f44)" (* "*") (pointer_expression "*(code **)(local_c8 + -0x7f44)" (* "*") (cast_expression "(code **)(local_c8 + -0x7f44)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_c8 + -0x7f44)" (( "(") (binary_expression "local_c8 + -0x7f44" (identifier "local_c8") (+ "+") (number_literal "-0x7f44")) () ")"))))) () ")")) (argument_list "(pcVar22)" (( "(") (identifier "pcVar22") () ")"))) (; ";")) (goto_statement "goto LAB_000c484c;" (goto "goto") (statement_identifier "LAB_000c484c") (; ";")) (} "}"))) (if_statement "if (local_9f != '\0') goto LAB_000c484c;" (if "if") (parenthesized_expression "(local_9f != '\0')" (( "(") (binary_expression "local_9f != '\0'" (identifier "local_9f") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_000c484c;" (goto "goto") (statement_identifier "LAB_000c484c") (; ";"))) (if_statement "if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }" (if "if") (parenthesized_expression "((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0))" (( "(") (binary_expression "(iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)" (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(unaff_s3 != (code *)0x0 || local_b8 != 0)" (( "(") (binary_expression "unaff_s3 != (code *)0x0 || local_b8 != 0" (binary_expression "unaff_s3 != (code *)0x0" (identifier "unaff_s3") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (|| "||") (binary_expression "local_b8 != 0" (identifier "local_b8") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;\n              *(code **)(iVar4 + 8) = unaff_s0 + 1;\n            }" ({ "{") (expression_statement "*(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;" (assignment_expression "*(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8" (pointer_expression "*(byte *)(iVar4 + 1)" (* "*") (cast_expression "(byte *)(iVar4 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 1)" (( "(") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1")) () ")")))) (= "=") (binary_expression "*(byte *)(iVar4 + 1) | 8" (pointer_expression "*(byte *)(iVar4 + 1)" (* "*") (cast_expression "(byte *)(iVar4 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 1)" (( "(") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1")) () ")")))) (| "|") (number_literal "8"))) (; ";")) (expression_statement "*(code **)(iVar4 + 8) = unaff_s0 + 1;" (assignment_expression "*(code **)(iVar4 + 8) = unaff_s0 + 1" (pointer_expression "*(code **)(iVar4 + 8)" (* "*") (cast_expression "(code **)(iVar4 + 8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 8)" (( "(") (binary_expression "iVar4 + 8" (identifier "iVar4") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "unaff_s0 + 1" (identifier "unaff_s0") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "unaff_s0 = unaff_s0 + 2;" (assignment_expression "unaff_s0 = unaff_s0 + 2" (identifier "unaff_s0") (= "=") (binary_expression "unaff_s0 + 2" (identifier "unaff_s0") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "unaff_s1 = unaff_s1 + 8;" (assignment_expression "unaff_s1 = unaff_s1 + 8" (identifier "unaff_s1") (= "=") (binary_expression "unaff_s1 + 8" (identifier "unaff_s1") (+ "+") (number_literal "8"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(unaff_s0 < pcVar5)" (( "(") (binary_expression "unaff_s0 < pcVar5" (identifier "unaff_s0") (< "<") (identifier "pcVar5")) () ")")) (; ";")) (} "}"))) (expression_statement "pcVar6 = local_bc;" (assignment_expression "pcVar6 = local_bc" (identifier "pcVar6") (= "=") (identifier "local_bc")) (; ";")) (if_statement "if ((*(byte *)(local_ac + 1) & 8) == 0) {\n          pcVar13 = pcVar22;\n          FUN_000b63c4();\n        }\n        else {\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }" (if "if") (parenthesized_expression "((*(byte *)(local_ac + 1) & 8) == 0)" (( "(") (binary_expression "(*(byte *)(local_ac + 1) & 8) == 0" (parenthesized_expression "(*(byte *)(local_ac + 1) & 8)" (( "(") (binary_expression "*(byte *)(local_ac + 1) & 8" (pointer_expression "*(byte *)(local_ac + 1)" (* "*") (cast_expression "(byte *)(local_ac + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_ac + 1)" (( "(") (binary_expression "local_ac + 1" (identifier "local_ac") (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          pcVar13 = pcVar22;\n          FUN_000b63c4();\n        }" ({ "{") (expression_statement "pcVar13 = pcVar22;" (assignment_expression "pcVar13 = pcVar22" (identifier "pcVar13") (= "=") (identifier "pcVar22")) (; ";")) (expression_statement "FUN_000b63c4();" (call_expression "FUN_000b63c4()" (identifier "FUN_000b63c4") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }" (else "else") (compound_statement "{\n          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;\n          pcVar13 = *(code **)unaff_s8;\n          (**(code **)(local_c8 + -0x7ee8))(pcVar22);\n        }" ({ "{") (expression_statement "unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;" (assignment_expression "unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4" (identifier "unaff_s8") (= "=") (binary_expression "local_bc + *(int *)(local_ac + 8) * 4" (identifier "local_bc") (+ "+") (binary_expression "*(int *)(local_ac + 8) * 4" (pointer_expression "*(int *)(local_ac + 8)" (* "*") (cast_expression "(int *)(local_ac + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_ac + 8)" (( "(") (binary_expression "local_ac + 8" (identifier "local_ac") (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4")))) (; ";")) (expression_statement "pcVar13 = *(code **)unaff_s8;" (assignment_expression "pcVar13 = *(code **)unaff_s8" (identifier "pcVar13") (= "=") (pointer_expression "*(code **)unaff_s8" (* "*") (cast_expression "(code **)unaff_s8" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "unaff_s8")))) (; ";")) (expression_statement "(**(code **)(local_c8 + -0x7ee8))(pcVar22);" (call_expression "(**(code **)(local_c8 + -0x7ee8))(pcVar22)" (parenthesized_expression "(**(code **)(local_c8 + -0x7ee8))" (( "(") (pointer_expression "**(code **)(local_c8 + -0x7ee8)" (* "*") (pointer_expression "*(code **)(local_c8 + -0x7ee8)" (* "*") (cast_expression "(code **)(local_c8 + -0x7ee8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_c8 + -0x7ee8)" (( "(") (binary_expression "local_c8 + -0x7ee8" (identifier "local_c8") (+ "+") (number_literal "-0x7ee8")) () ")"))))) () ")")) (argument_list "(pcVar22)" (( "(") (identifier "pcVar22") () ")"))) (; ";")) (} "}")))) (labeled_statement "LAB_000c484c:\n        pcVar31 = (code *)auStack_b4;" (statement_identifier "LAB_000c484c") (: ":") (expression_statement "pcVar31 = (code *)auStack_b4;" (assignment_expression "pcVar31 = (code *)auStack_b4" (identifier "pcVar31") (= "=") (cast_expression "(code *)auStack_b4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "auStack_b4"))) (; ";"))) (expression_statement "(*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))();" (call_expression "(*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))()" (parenthesized_expression "(*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))" (( "(") (pointer_expression "*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38)" (* "*") (cast_expression "(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(local_c8 + -0x7d1c) + 0x3c38)" (( "(") (binary_expression "*(int *)(local_c8 + -0x7d1c) + 0x3c38" (pointer_expression "*(int *)(local_c8 + -0x7d1c)" (* "*") (cast_expression "(int *)(local_c8 + -0x7d1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_c8 + -0x7d1c)" (( "(") (binary_expression "local_c8 + -0x7d1c" (identifier "local_c8") (+ "+") (number_literal "-0x7d1c")) () ")")))) (+ "+") (number_literal "0x3c38")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")))) (} "}"))) (if_statement "if (local_94 == (code *)**(int **)(local_c8 + -0x7a54)) {\n    return (code *)**(int **)(local_c8 + -0x7a54);\n  }" (if "if") (parenthesized_expression "(local_94 == (code *)**(int **)(local_c8 + -0x7a54))" (( "(") (binary_expression "local_94 == (code *)**(int **)(local_c8 + -0x7a54)" (identifier "local_94") (== "==") (cast_expression "(code *)**(int **)(local_c8 + -0x7a54)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(int **)(local_c8 + -0x7a54)" (* "*") (pointer_expression "*(int **)(local_c8 + -0x7a54)" (* "*") (cast_expression "(int **)(local_c8 + -0x7a54)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_c8 + -0x7a54)" (( "(") (binary_expression "local_c8 + -0x7a54" (identifier "local_c8") (+ "+") (number_literal "-0x7a54")) () ")"))))))) () ")")) (compound_statement "{\n    return (code *)**(int **)(local_c8 + -0x7a54);\n  }" ({ "{") (return_statement "return (code *)**(int **)(local_c8 + -0x7a54);" (return "return") (cast_expression "(code *)**(int **)(local_c8 + -0x7a54)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(int **)(local_c8 + -0x7a54)" (* "*") (pointer_expression "*(int **)(local_c8 + -0x7a54)" (* "*") (cast_expression "(int **)(local_c8 + -0x7a54)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_c8 + -0x7a54)" (( "(") (binary_expression "local_c8 + -0x7a54" (identifier "local_c8") (+ "+") (number_literal "-0x7a54")) () ")")))))) (; ";")) (} "}"))) (expression_statement "pcVar25 = *(code **)(local_c8 + -0x7a80);" (assignment_expression "pcVar25 = *(code **)(local_c8 + -0x7a80)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(local_c8 + -0x7a80)" (* "*") (cast_expression "(code **)(local_c8 + -0x7a80)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_c8 + -0x7a80)" (( "(") (binary_expression "local_c8 + -0x7a80" (identifier "local_c8") (+ "+") (number_literal "-0x7a80")) () ")"))))) (; ";")) (expression_statement "uVar29 = 0xc4960;" (assignment_expression "uVar29 = 0xc4960" (identifier "uVar29") (= "=") (number_literal "0xc4960")) (; ";")) (expression_statement "(*pcVar25)();" (call_expression "(*pcVar25)()" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar5 = local_c8;" (assignment_expression "pcVar5 = local_c8" (identifier "pcVar5") (= "=") (identifier "local_c8")) (; ";")) (expression_statement "local_100 = pcVar25 + 0xd2fc0;" (assignment_expression "local_100 = pcVar25 + 0xd2fc0" (identifier "local_100") (= "=") (binary_expression "pcVar25 + 0xd2fc0" (identifier "pcVar25") (+ "+") (number_literal "0xd2fc0"))) (; ";")) (expression_statement "local_f4 = (code *)**(undefined4 **)(pcVar25 + 0xcb56c);" (assignment_expression "local_f4 = (code *)**(undefined4 **)(pcVar25 + 0xcb56c)" (identifier "local_f4") (= "=") (cast_expression "(code *)**(undefined4 **)(pcVar25 + 0xcb56c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(pcVar25 + 0xcb56c)" (* "*") (pointer_expression "*(undefined4 **)(pcVar25 + 0xcb56c)" (* "*") (cast_expression "(undefined4 **)(pcVar25 + 0xcb56c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xcb56c)" (( "(") (binary_expression "pcVar25 + 0xcb56c" (identifier "pcVar25") (+ "+") (number_literal "0xcb56c")) () ")"))))))) (; ";")) (expression_statement "pcVar3 = pcVar13;" (assignment_expression "pcVar3 = pcVar13" (identifier "pcVar3") (= "=") (identifier "pcVar13")) (; ";")) (expression_statement "local_f0 = unaff_s0;" (assignment_expression "local_f0 = unaff_s0" (identifier "local_f0") (= "=") (identifier "unaff_s0")) (; ";")) (expression_statement "local_ec = unaff_s1;" (assignment_expression "local_ec = unaff_s1" (identifier "local_ec") (= "=") (identifier "unaff_s1")) (; ";")) (expression_statement "local_e8 = pcVar22;" (assignment_expression "local_e8 = pcVar22" (identifier "local_e8") (= "=") (identifier "pcVar22")) (; ";")) (expression_statement "local_e4 = unaff_s3;" (assignment_expression "local_e4 = unaff_s3" (identifier "local_e4") (= "=") (identifier "unaff_s3")) (; ";")) (expression_statement "local_e0 = unaff_s4;" (assignment_expression "local_e0 = unaff_s4" (identifier "local_e0") (= "=") (identifier "unaff_s4")) (; ";")) (expression_statement "local_dc = uVar29;" (assignment_expression "local_dc = uVar29" (identifier "local_dc") (= "=") (identifier "uVar29")) (; ";")) (expression_statement "(*(code *)(*(int *)(pcVar25 + 0xcb2a4) + 0x3d3c))();" (call_expression "(*(code *)(*(int *)(pcVar25 + 0xcb2a4) + 0x3d3c))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar25 + 0xcb2a4) + 0x3d3c))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar25 + 0xcb2a4) + 0x3d3c)" (* "*") (cast_expression "(code *)(*(int *)(pcVar25 + 0xcb2a4) + 0x3d3c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar25 + 0xcb2a4) + 0x3d3c)" (( "(") (binary_expression "*(int *)(pcVar25 + 0xcb2a4) + 0x3d3c" (pointer_expression "*(int *)(pcVar25 + 0xcb2a4)" (* "*") (cast_expression "(int *)(pcVar25 + 0xcb2a4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xcb2a4)" (( "(") (binary_expression "pcVar25 + 0xcb2a4" (identifier "pcVar25") (+ "+") (number_literal "0xcb2a4")) () ")")))) (+ "+") (number_literal "0x3d3c")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (pcVar13 != (code *)0x0) {\n    unaff_s4 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)pcVar5);\n    if (unaff_s4 == (code *)0x0) {\n      pcVar13 = (code *)0x0;\n    }\n    else {\n      unaff_s3 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)pcVar5);\n      pcVar3 = unaff_s3 + 1;\n      iVar4 = (**(code **)(local_100 + -0x7f50))\n                        ((uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f));\n      *(int *)(pcVar31 + 0x18) = iVar4;\n      if (iVar4 == 0) {\n        pcVar13 = (code *)&DAT_00000007;\n      }\n      else {\n        (**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1);\n        unaff_s4 = pcVar31 + 0x20;\n        pcVar6 = *(code **)(pcVar31 + 0x18);\n        pcVar3 = (code *)0x0;\n        unaff_s3 = (code *)FUN_000b4580(unaff_s4);\n        if (unaff_s3 == (code *)0x0) {\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }\n      }\n    }\n  }" (if "if") (parenthesized_expression "(pcVar13 != (code *)0x0)" (( "(") (binary_expression "pcVar13 != (code *)0x0" (identifier "pcVar13") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    unaff_s4 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)pcVar5);\n    if (unaff_s4 == (code *)0x0) {\n      pcVar13 = (code *)0x0;\n    }\n    else {\n      unaff_s3 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)pcVar5);\n      pcVar3 = unaff_s3 + 1;\n      iVar4 = (**(code **)(local_100 + -0x7f50))\n                        ((uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f));\n      *(int *)(pcVar31 + 0x18) = iVar4;\n      if (iVar4 == 0) {\n        pcVar13 = (code *)&DAT_00000007;\n      }\n      else {\n        (**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1);\n        unaff_s4 = pcVar31 + 0x20;\n        pcVar6 = *(code **)(pcVar31 + 0x18);\n        pcVar3 = (code *)0x0;\n        unaff_s3 = (code *)FUN_000b4580(unaff_s4);\n        if (unaff_s3 == (code *)0x0) {\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }\n      }\n    }\n  }" ({ "{") (expression_statement "unaff_s4 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)pcVar5);" (assignment_expression "unaff_s4 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)pcVar5)" (identifier "unaff_s4") (= "=") (cast_expression "(code *)(**(code **)(local_100 + -0x7fa4))(*(int *)pcVar5)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(local_100 + -0x7fa4))(*(int *)pcVar5)" (parenthesized_expression "(**(code **)(local_100 + -0x7fa4))" (( "(") (pointer_expression "**(code **)(local_100 + -0x7fa4)" (* "*") (pointer_expression "*(code **)(local_100 + -0x7fa4)" (* "*") (cast_expression "(code **)(local_100 + -0x7fa4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_100 + -0x7fa4)" (( "(") (binary_expression "local_100 + -0x7fa4" (identifier "local_100") (+ "+") (number_literal "-0x7fa4")) () ")"))))) () ")")) (argument_list "(*(int *)pcVar5)" (( "(") (pointer_expression "*(int *)pcVar5" (* "*") (cast_expression "(int *)pcVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar5"))) () ")"))))) (; ";")) (if_statement "if (unaff_s4 == (code *)0x0) {\n      pcVar13 = (code *)0x0;\n    }\n    else {\n      unaff_s3 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)pcVar5);\n      pcVar3 = unaff_s3 + 1;\n      iVar4 = (**(code **)(local_100 + -0x7f50))\n                        ((uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f));\n      *(int *)(pcVar31 + 0x18) = iVar4;\n      if (iVar4 == 0) {\n        pcVar13 = (code *)&DAT_00000007;\n      }\n      else {\n        (**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1);\n        unaff_s4 = pcVar31 + 0x20;\n        pcVar6 = *(code **)(pcVar31 + 0x18);\n        pcVar3 = (code *)0x0;\n        unaff_s3 = (code *)FUN_000b4580(unaff_s4);\n        if (unaff_s3 == (code *)0x0) {\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }\n      }\n    }" (if "if") (parenthesized_expression "(unaff_s4 == (code *)0x0)" (( "(") (binary_expression "unaff_s4 == (code *)0x0" (identifier "unaff_s4") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      pcVar13 = (code *)0x0;\n    }" ({ "{") (expression_statement "pcVar13 = (code *)0x0;" (assignment_expression "pcVar13 = (code *)0x0" (identifier "pcVar13") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n      unaff_s3 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)pcVar5);\n      pcVar3 = unaff_s3 + 1;\n      iVar4 = (**(code **)(local_100 + -0x7f50))\n                        ((uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f));\n      *(int *)(pcVar31 + 0x18) = iVar4;\n      if (iVar4 == 0) {\n        pcVar13 = (code *)&DAT_00000007;\n      }\n      else {\n        (**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1);\n        unaff_s4 = pcVar31 + 0x20;\n        pcVar6 = *(code **)(pcVar31 + 0x18);\n        pcVar3 = (code *)0x0;\n        unaff_s3 = (code *)FUN_000b4580(unaff_s4);\n        if (unaff_s3 == (code *)0x0) {\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }\n      }\n    }" (else "else") (compound_statement "{\n      unaff_s3 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)pcVar5);\n      pcVar3 = unaff_s3 + 1;\n      iVar4 = (**(code **)(local_100 + -0x7f50))\n                        ((uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f));\n      *(int *)(pcVar31 + 0x18) = iVar4;\n      if (iVar4 == 0) {\n        pcVar13 = (code *)&DAT_00000007;\n      }\n      else {\n        (**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1);\n        unaff_s4 = pcVar31 + 0x20;\n        pcVar6 = *(code **)(pcVar31 + 0x18);\n        pcVar3 = (code *)0x0;\n        unaff_s3 = (code *)FUN_000b4580(unaff_s4);\n        if (unaff_s3 == (code *)0x0) {\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }\n      }\n    }" ({ "{") (expression_statement "unaff_s3 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)pcVar5);" (assignment_expression "unaff_s3 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)pcVar5)" (identifier "unaff_s3") (= "=") (cast_expression "(code *)(**(code **)(local_100 + -0x7f60))(*(int *)pcVar5)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(local_100 + -0x7f60))(*(int *)pcVar5)" (parenthesized_expression "(**(code **)(local_100 + -0x7f60))" (( "(") (pointer_expression "**(code **)(local_100 + -0x7f60)" (* "*") (pointer_expression "*(code **)(local_100 + -0x7f60)" (* "*") (cast_expression "(code **)(local_100 + -0x7f60)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_100 + -0x7f60)" (( "(") (binary_expression "local_100 + -0x7f60" (identifier "local_100") (+ "+") (number_literal "-0x7f60")) () ")"))))) () ")")) (argument_list "(*(int *)pcVar5)" (( "(") (pointer_expression "*(int *)pcVar5" (* "*") (cast_expression "(int *)pcVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar5"))) () ")"))))) (; ";")) (expression_statement "pcVar3 = unaff_s3 + 1;" (assignment_expression "pcVar3 = unaff_s3 + 1" (identifier "pcVar3") (= "=") (binary_expression "unaff_s3 + 1" (identifier "unaff_s3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar4 = (**(code **)(local_100 + -0x7f50))\n                        ((uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f));" (assignment_expression "iVar4 = (**(code **)(local_100 + -0x7f50))\n                        ((uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f))" (identifier "iVar4") (= "=") (call_expression "(**(code **)(local_100 + -0x7f50))\n                        ((uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f))" (parenthesized_expression "(**(code **)(local_100 + -0x7f50))" (( "(") (pointer_expression "**(code **)(local_100 + -0x7f50)" (* "*") (pointer_expression "*(code **)(local_100 + -0x7f50)" (* "*") (cast_expression "(code **)(local_100 + -0x7f50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_100 + -0x7f50)" (( "(") (binary_expression "local_100 + -0x7f50" (identifier "local_100") (+ "+") (number_literal "-0x7f50")) () ")"))))) () ")")) (argument_list "((uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f))" (( "(") (binary_expression "(uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f)" (call_expression "(uint)(pcVar3 < unaff_s3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pcVar3 < unaff_s3)" (( "(") (binary_expression "pcVar3 < unaff_s3" (identifier "pcVar3") (< "<") (identifier "unaff_s3")) () ")"))) (+ "+") (parenthesized_expression "((int)unaff_s3 >> 0x1f)" (( "(") (binary_expression "(int)unaff_s3 >> 0x1f" (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3")) (>> ">>") (number_literal "0x1f")) () ")"))) () ")")))) (; ";")) (expression_statement "*(int *)(pcVar31 + 0x18) = iVar4;" (assignment_expression "*(int *)(pcVar31 + 0x18) = iVar4" (pointer_expression "*(int *)(pcVar31 + 0x18)" (* "*") (cast_expression "(int *)(pcVar31 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar31 + 0x18)" (( "(") (binary_expression "pcVar31 + 0x18" (identifier "pcVar31") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (if_statement "if (iVar4 == 0) {\n        pcVar13 = (code *)&DAT_00000007;\n      }\n      else {\n        (**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1);\n        unaff_s4 = pcVar31 + 0x20;\n        pcVar6 = *(code **)(pcVar31 + 0x18);\n        pcVar3 = (code *)0x0;\n        unaff_s3 = (code *)FUN_000b4580(unaff_s4);\n        if (unaff_s3 == (code *)0x0) {\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }\n      }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        pcVar13 = (code *)&DAT_00000007;\n      }" ({ "{") (expression_statement "pcVar13 = (code *)&DAT_00000007;" (assignment_expression "pcVar13 = (code *)&DAT_00000007" (identifier "pcVar13") (= "=") (cast_expression "(code *)&DAT_00000007" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000007" (& "&") (identifier "DAT_00000007")))) (; ";")) (} "}")) (else_clause "else {\n        (**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1);\n        unaff_s4 = pcVar31 + 0x20;\n        pcVar6 = *(code **)(pcVar31 + 0x18);\n        pcVar3 = (code *)0x0;\n        unaff_s3 = (code *)FUN_000b4580(unaff_s4);\n        if (unaff_s3 == (code *)0x0) {\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }\n      }" (else "else") (compound_statement "{\n        (**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1);\n        unaff_s4 = pcVar31 + 0x20;\n        pcVar6 = *(code **)(pcVar31 + 0x18);\n        pcVar3 = (code *)0x0;\n        unaff_s3 = (code *)FUN_000b4580(unaff_s4);\n        if (unaff_s3 == (code *)0x0) {\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }\n      }" ({ "{") (expression_statement "(**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1);" (call_expression "(**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1)" (parenthesized_expression "(**(code **)(local_100 + -0x7a4c))" (( "(") (pointer_expression "**(code **)(local_100 + -0x7a4c)" (* "*") (pointer_expression "*(code **)(local_100 + -0x7a4c)" (* "*") (cast_expression "(code **)(local_100 + -0x7a4c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_100 + -0x7a4c)" (( "(") (binary_expression "local_100 + -0x7a4c" (identifier "local_100") (+ "+") (number_literal "-0x7a4c")) () ")"))))) () ")")) (argument_list "(iVar4,unaff_s4,unaff_s3 + 1)" (( "(") (identifier "iVar4") (, ",") (identifier "unaff_s4") (, ",") (binary_expression "unaff_s3 + 1" (identifier "unaff_s3") (+ "+") (number_literal "1")) () ")"))) (; ";")) (expression_statement "unaff_s4 = pcVar31 + 0x20;" (assignment_expression "unaff_s4 = pcVar31 + 0x20" (identifier "unaff_s4") (= "=") (binary_expression "pcVar31 + 0x20" (identifier "pcVar31") (+ "+") (number_literal "0x20"))) (; ";")) (expression_statement "pcVar6 = *(code **)(pcVar31 + 0x18);" (assignment_expression "pcVar6 = *(code **)(pcVar31 + 0x18)" (identifier "pcVar6") (= "=") (pointer_expression "*(code **)(pcVar31 + 0x18)" (* "*") (cast_expression "(code **)(pcVar31 + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar31 + 0x18)" (( "(") (binary_expression "pcVar31 + 0x18" (identifier "pcVar31") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "pcVar3 = (code *)0x0;" (assignment_expression "pcVar3 = (code *)0x0" (identifier "pcVar3") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "unaff_s3 = (code *)FUN_000b4580(unaff_s4);" (assignment_expression "unaff_s3 = (code *)FUN_000b4580(unaff_s4)" (identifier "unaff_s3") (= "=") (cast_expression "(code *)FUN_000b4580(unaff_s4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_000b4580(unaff_s4)" (identifier "FUN_000b4580") (argument_list "(unaff_s4)" (( "(") (identifier "unaff_s4") () ")"))))) (; ";")) (if_statement "if (unaff_s3 == (code *)0x0) {\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }\n        else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }" (if "if") (parenthesized_expression "(unaff_s3 == (code *)0x0)" (( "(") (binary_expression "unaff_s3 == (code *)0x0" (identifier "unaff_s3") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }\n          bVar1 = pcVar13 == (code *)0x3;\n          pcVar13 = (code *)0x0;\n          if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }\n        }" ({ "{") (if_statement "if (pcVar31[0x15] != (code)0x0) {\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }" (if "if") (parenthesized_expression "(pcVar31[0x15] != (code)0x0)" (( "(") (binary_expression "pcVar31[0x15] != (code)0x0" (subscript_expression "pcVar31[0x15]" (identifier "pcVar31") ([ "[") (number_literal "0x15") (] "]")) (!= "!=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);\n            iVar4 = (**(code **)(local_100 + -0x7f50))(0);\n            *(int *)(pcVar31 + 0x30) = iVar4;\n            if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }\n            pcVar6 = (code *)0x0;\n            pcVar3 = (code *)0x0;\n            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);\n          }" ({ "{") (expression_statement "pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);" (assignment_expression "pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2)" (identifier "pcVar3") (= "=") (cast_expression "(code *)(*(int *)(pcVar31 + 0x20) << 2)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar31 + 0x20) << 2)" (( "(") (binary_expression "*(int *)(pcVar31 + 0x20) << 2" (pointer_expression "*(int *)(pcVar31 + 0x20)" (* "*") (cast_expression "(int *)(pcVar31 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar31 + 0x20)" (( "(") (binary_expression "pcVar31 + 0x20" (identifier "pcVar31") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "2")) () ")")))) (; ";")) (expression_statement "iVar4 = (**(code **)(local_100 + -0x7f50))(0);" (assignment_expression "iVar4 = (**(code **)(local_100 + -0x7f50))(0)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(local_100 + -0x7f50))(0)" (parenthesized_expression "(**(code **)(local_100 + -0x7f50))" (( "(") (pointer_expression "**(code **)(local_100 + -0x7f50)" (* "*") (pointer_expression "*(code **)(local_100 + -0x7f50)" (* "*") (cast_expression "(code **)(local_100 + -0x7f50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_100 + -0x7f50)" (( "(") (binary_expression "local_100 + -0x7f50" (identifier "local_100") (+ "+") (number_literal "-0x7f50")) () ")"))))) () ")")) (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "*(int *)(pcVar31 + 0x30) = iVar4;" (assignment_expression "*(int *)(pcVar31 + 0x30) = iVar4" (pointer_expression "*(int *)(pcVar31 + 0x30)" (* "*") (cast_expression "(int *)(pcVar31 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar31 + 0x30)" (( "(") (binary_expression "pcVar31 + 0x30" (identifier "pcVar31") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (if_statement "if (iVar4 == 0) {\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              pcVar31[0x34] = (code)0x1;\n              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n              pcVar13 = (code *)&DAT_00000007;\n              goto LAB_000c49c4;\n            }" ({ "{") (expression_statement "pcVar31[0x34] = (code)0x1;" (assignment_expression "pcVar31[0x34] = (code)0x1" (subscript_expression "pcVar31[0x34]" (identifier "pcVar31") ([ "[") (number_literal "0x34") (] "]")) (= "=") (cast_expression "(code)0x1" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "(*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);" (call_expression "(*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31)" (parenthesized_expression "(*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))" (( "(") (pointer_expression "*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c)" (* "*") (cast_expression "(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(local_100 + -0x7d1c) + 0x3d3c)" (( "(") (binary_expression "*(int *)(local_100 + -0x7d1c) + 0x3d3c" (pointer_expression "*(int *)(local_100 + -0x7d1c)" (* "*") (cast_expression "(int *)(local_100 + -0x7d1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_100 + -0x7d1c)" (( "(") (binary_expression "local_100 + -0x7d1c" (identifier "local_100") (+ "+") (number_literal "-0x7d1c")) () ")")))) (+ "+") (number_literal "0x3d3c")) () ")")))) () ")")) (argument_list "(pcVar31)" (( "(") (identifier "pcVar31") () ")"))) (; ";")) (expression_statement "pcVar13 = (code *)&DAT_00000007;" (assignment_expression "pcVar13 = (code *)&DAT_00000007" (identifier "pcVar13") (= "=") (cast_expression "(code *)&DAT_00000007" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000007" (& "&") (identifier "DAT_00000007")))) (; ";")) (goto_statement "goto LAB_000c49c4;" (goto "goto") (statement_identifier "LAB_000c49c4") (; ";")) (} "}"))) (expression_statement "pcVar6 = (code *)0x0;" (assignment_expression "pcVar6 = (code *)0x0" (identifier "pcVar6") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pcVar3 = (code *)0x0;" (assignment_expression "pcVar3 = (code *)0x0" (identifier "pcVar3") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "(*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);" (call_expression "(*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4)" (parenthesized_expression "(*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))" (( "(") (pointer_expression "*(code *)(*(int *)(local_100 + -0x7d64) + 0x604)" (* "*") (cast_expression "(code *)(*(int *)(local_100 + -0x7d64) + 0x604)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(local_100 + -0x7d64) + 0x604)" (( "(") (binary_expression "*(int *)(local_100 + -0x7d64) + 0x604" (pointer_expression "*(int *)(local_100 + -0x7d64)" (* "*") (cast_expression "(int *)(local_100 + -0x7d64)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_100 + -0x7d64)" (( "(") (binary_expression "local_100 + -0x7d64" (identifier "local_100") (+ "+") (number_literal "-0x7d64")) () ")")))) (+ "+") (number_literal "0x604")) () ")")))) () ")")) (argument_list "(unaff_s4)" (( "(") (identifier "unaff_s4") () ")"))) (; ";")) (} "}"))) (expression_statement "bVar1 = pcVar13 == (code *)0x3;" (assignment_expression "bVar1 = pcVar13 == (code *)0x3" (identifier "bVar1") (= "=") (binary_expression "pcVar13 == (code *)0x3" (identifier "pcVar13") (== "==") (cast_expression "(code *)0x3" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3")))) (; ";")) (expression_statement "pcVar13 = (code *)0x0;" (assignment_expression "pcVar13 = (code *)0x0" (identifier "pcVar13") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (bVar1) {\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }\n          else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }" (if "if") (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (compound_statement "{\n            local_f8 = (code *)0x0;\n            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));\n            if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }\n          }" ({ "{") (expression_statement "local_f8 = (code *)0x0;" (assignment_expression "local_f8 = (code *)0x0" (identifier "local_f8") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));" (assignment_expression "pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4))" (identifier "pcVar22") (= "=") (cast_expression "(code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4))" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4))" (parenthesized_expression "(**(code **)(local_100 + -0x7fa4))" (( "(") (pointer_expression "**(code **)(local_100 + -0x7fa4)" (* "*") (pointer_expression "*(code **)(local_100 + -0x7fa4)" (* "*") (cast_expression "(code **)(local_100 + -0x7fa4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_100 + -0x7fa4)" (( "(") (binary_expression "local_100 + -0x7fa4" (identifier "local_100") (+ "+") (number_literal "-0x7fa4")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar5 + 4))" (( "(") (pointer_expression "*(int *)(pcVar5 + 4)" (* "*") (cast_expression "(int *)(pcVar5 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar5 + 4)" (( "(") (binary_expression "pcVar5 + 4" (identifier "pcVar5") (+ "+") (number_literal "4")) () ")")))) () ")"))))) (; ";")) (if_statement "if (pcVar22 != (code *)0x0) {\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }" (if "if") (parenthesized_expression "(pcVar22 != (code *)0x0)" (( "(") (binary_expression "pcVar22 != (code *)0x0" (identifier "pcVar22") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));\n              pcVar3 = pcVar5 + 1;\n              iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));\n              *(int *)(pcVar31 + 0x1c) = iVar4;\n              if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }\n            }" ({ "{") (expression_statement "pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));" (assignment_expression "pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4))" (identifier "pcVar5") (= "=") (cast_expression "(code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4))" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4))" (parenthesized_expression "(**(code **)(local_100 + -0x7f60))" (( "(") (pointer_expression "**(code **)(local_100 + -0x7f60)" (* "*") (pointer_expression "*(code **)(local_100 + -0x7f60)" (* "*") (cast_expression "(code **)(local_100 + -0x7f60)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_100 + -0x7f60)" (( "(") (binary_expression "local_100 + -0x7f60" (identifier "local_100") (+ "+") (number_literal "-0x7f60")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar5 + 4))" (( "(") (pointer_expression "*(int *)(pcVar5 + 4)" (* "*") (cast_expression "(int *)(pcVar5 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar5 + 4)" (( "(") (binary_expression "pcVar5 + 4" (identifier "pcVar5") (+ "+") (number_literal "4")) () ")")))) () ")"))))) (; ";")) (expression_statement "pcVar3 = pcVar5 + 1;" (assignment_expression "pcVar3 = pcVar5 + 1" (identifier "pcVar3") (= "=") (binary_expression "pcVar5 + 1" (identifier "pcVar5") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));" (assignment_expression "iVar4 = (**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f))" (identifier "iVar4") (= "=") (call_expression "(**(code **)(local_100 + -0x7f50))\n                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f))" (parenthesized_expression "(**(code **)(local_100 + -0x7f50))" (( "(") (pointer_expression "**(code **)(local_100 + -0x7f50)" (* "*") (pointer_expression "*(code **)(local_100 + -0x7f50)" (* "*") (cast_expression "(code **)(local_100 + -0x7f50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_100 + -0x7f50)" (( "(") (binary_expression "local_100 + -0x7f50" (identifier "local_100") (+ "+") (number_literal "-0x7f50")) () ")"))))) () ")")) (argument_list "((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f))" (( "(") (binary_expression "(uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f)" (call_expression "(uint)(pcVar3 < pcVar5)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pcVar3 < pcVar5)" (( "(") (binary_expression "pcVar3 < pcVar5" (identifier "pcVar3") (< "<") (identifier "pcVar5")) () ")"))) (+ "+") (parenthesized_expression "((int)pcVar5 >> 0x1f)" (( "(") (binary_expression "(int)pcVar5 >> 0x1f" (cast_expression "(int)pcVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar5")) (>> ">>") (number_literal "0x1f")) () ")"))) () ")")))) (; ";")) (expression_statement "*(int *)(pcVar31 + 0x1c) = iVar4;" (assignment_expression "*(int *)(pcVar31 + 0x1c) = iVar4" (pointer_expression "*(int *)(pcVar31 + 0x1c)" (* "*") (cast_expression "(int *)(pcVar31 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar31 + 0x1c)" (( "(") (binary_expression "pcVar31 + 0x1c" (identifier "pcVar31") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (if_statement "if (iVar4 == 0) {\n                pcVar13 = (code *)&DAT_00000007;\n              }\n              else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                pcVar13 = (code *)&DAT_00000007;\n              }" ({ "{") (expression_statement "pcVar13 = (code *)&DAT_00000007;" (assignment_expression "pcVar13 = (code *)&DAT_00000007" (identifier "pcVar13") (= "=") (cast_expression "(code *)&DAT_00000007" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000007" (& "&") (identifier "DAT_00000007")))) (; ";")) (} "}")) (else_clause "else {\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }" (else "else") (compound_statement "{\n                pcVar6 = pcVar5 + 1;\n                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);\n                if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }\n                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n                iVar4 = *(int *)pcVar31;\n                pcVar3 = local_f8;\n                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);\n                *(undefined4 *)(iVar4 + 8) = uVar29;\n                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n                pcVar13 = (code *)&DAT_00000007;\n                if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }\n              }" ({ "{") (expression_statement "pcVar6 = pcVar5 + 1;" (assignment_expression "pcVar6 = pcVar5 + 1" (identifier "pcVar6") (= "=") (binary_expression "pcVar5 + 1" (identifier "pcVar5") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "(**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);" (call_expression "(**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22)" (parenthesized_expression "(**(code **)(local_100 + -0x7a4c))" (( "(") (pointer_expression "**(code **)(local_100 + -0x7a4c)" (* "*") (pointer_expression "*(code **)(local_100 + -0x7a4c)" (* "*") (cast_expression "(code **)(local_100 + -0x7a4c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_100 + -0x7a4c)" (( "(") (binary_expression "local_100 + -0x7a4c" (identifier "local_100") (+ "+") (number_literal "-0x7a4c")) () ")"))))) () ")")) (argument_list "(iVar4,pcVar22)" (( "(") (identifier "iVar4") (, ",") (identifier "pcVar22") () ")"))) (; ";")) (if_statement "if (*pcVar22 == (code)0x24) {\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }\n                else {\n                  local_f8 = pcVar22;\n                }" (if "if") (parenthesized_expression "(*pcVar22 == (code)0x24)" (( "(") (binary_expression "*pcVar22 == (code)0x24" (pointer_expression "*pcVar22" (* "*") (identifier "pcVar22")) (== "==") (cast_expression "(code)0x24" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x24"))) () ")")) (compound_statement "{\n                  param_4 = (code *)0x0;\n                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);\n                  pcVar3 = (code *)0x0;\n                  local_108 = &local_f8;\n                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);\n                  if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }\n                }" ({ "{") (expression_statement "param_4 = (code *)0x0;" (assignment_expression "param_4 = (code *)0x0" (identifier "param_4") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);" (assignment_expression "pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1)" (identifier "pcVar6") (= "=") (cast_expression "(code *)(*(int *)(pcVar31 + 0x1c) + 1)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar31 + 0x1c) + 1)" (( "(") (binary_expression "*(int *)(pcVar31 + 0x1c) + 1" (pointer_expression "*(int *)(pcVar31 + 0x1c)" (* "*") (cast_expression "(int *)(pcVar31 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar31 + 0x1c)" (( "(") (binary_expression "pcVar31 + 0x1c" (identifier "pcVar31") (+ "+") (number_literal "0x1c")) () ")")))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pcVar3 = (code *)0x0;" (assignment_expression "pcVar3 = (code *)0x0" (identifier "pcVar3") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_108 = &local_f8;" (assignment_expression "local_108 = &local_f8" (identifier "local_108") (= "=") (pointer_expression "&local_f8" (& "&") (identifier "local_f8"))) (; ";")) (expression_statement "pcVar22 = (code *)FUN_000b4b70(unaff_s4);" (assignment_expression "pcVar22 = (code *)FUN_000b4b70(unaff_s4)" (identifier "pcVar22") (= "=") (cast_expression "(code *)FUN_000b4b70(unaff_s4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_000b4b70(unaff_s4)" (identifier "FUN_000b4b70") (argument_list "(unaff_s4)" (( "(") (identifier "unaff_s4") () ")"))))) (; ";")) (if_statement "if (local_f8 == (code *)0x0) {\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }" (if "if") (parenthesized_expression "(local_f8 == (code *)0x0)" (( "(") (binary_expression "local_f8 == (code *)0x0" (identifier "local_f8") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;\n                    goto LAB_000c49c4;\n                  }" ({ "{") (if_statement "if (pcVar22 != (code *)0x0) goto LAB_000c4aac;" (if "if") (parenthesized_expression "(pcVar22 != (code *)0x0)" (( "(") (binary_expression "pcVar22 != (code *)0x0" (identifier "pcVar22") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000c4aac;" (goto "goto") (statement_identifier "LAB_000c4aac") (; ";"))) (goto_statement "goto LAB_000c49c4;" (goto "goto") (statement_identifier "LAB_000c49c4") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                  local_f8 = pcVar22;\n                }" (else "else") (compound_statement "{\n                  local_f8 = pcVar22;\n                }" ({ "{") (expression_statement "local_f8 = pcVar22;" (assignment_expression "local_f8 = pcVar22" (identifier "local_f8") (= "=") (identifier "pcVar22")) (; ";")) (} "}")))) (expression_statement "(**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));" (call_expression "(**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8))" (parenthesized_expression "(**(code **)(local_100 + -0x7fa8))" (( "(") (pointer_expression "**(code **)(local_100 + -0x7fa8)" (* "*") (pointer_expression "*(code **)(local_100 + -0x7fa8)" (* "*") (cast_expression "(code **)(local_100 + -0x7fa8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_100 + -0x7fa8)" (( "(") (binary_expression "local_100 + -0x7fa8" (identifier "local_100") (+ "+") (number_literal "-0x7fa8")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(*(int *)pcVar31 + 8))" (( "(") (pointer_expression "*(undefined4 *)(*(int *)pcVar31 + 8)" (* "*") (cast_expression "(undefined4 *)(*(int *)pcVar31 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)pcVar31 + 8)" (( "(") (binary_expression "*(int *)pcVar31 + 8" (pointer_expression "*(int *)pcVar31" (* "*") (cast_expression "(int *)pcVar31" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar31"))) (+ "+") (number_literal "8")) () ")")))) () ")"))) (; ";")) (expression_statement "iVar4 = *(int *)pcVar31;" (assignment_expression "iVar4 = *(int *)pcVar31" (identifier "iVar4") (= "=") (pointer_expression "*(int *)pcVar31" (* "*") (cast_expression "(int *)pcVar31" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar31")))) (; ";")) (expression_statement "pcVar3 = local_f8;" (assignment_expression "pcVar3 = local_f8" (identifier "pcVar3") (= "=") (identifier "local_f8")) (; ";")) (expression_statement "uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);" (assignment_expression "uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c)" (identifier "uVar29") (= "=") (call_expression "sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c)" (identifier "sqlite3_mprintf") (argument_list "(*(int *)(local_100 + -0x7fc4) + -0x463c)" (( "(") (binary_expression "*(int *)(local_100 + -0x7fc4) + -0x463c" (pointer_expression "*(int *)(local_100 + -0x7fc4)" (* "*") (cast_expression "(int *)(local_100 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_100 + -0x7fc4)" (( "(") (binary_expression "local_100 + -0x7fc4" (identifier "local_100") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x463c")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar4 + 8) = uVar29;" (assignment_expression "*(undefined4 *)(iVar4 + 8) = uVar29" (pointer_expression "*(undefined4 *)(iVar4 + 8)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 8)" (( "(") (binary_expression "iVar4 + 8" (identifier "iVar4") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "uVar29")) (; ";")) (expression_statement "(*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);" (call_expression "(*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31)" (parenthesized_expression "(*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))" (( "(") (pointer_expression "*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c)" (* "*") (cast_expression "(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(local_100 + -0x7d1c) + 0x3d3c)" (( "(") (binary_expression "*(int *)(local_100 + -0x7d1c) + 0x3d3c" (pointer_expression "*(int *)(local_100 + -0x7d1c)" (* "*") (cast_expression "(int *)(local_100 + -0x7d1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_100 + -0x7d1c)" (( "(") (binary_expression "local_100 + -0x7d1c" (identifier "local_100") (+ "+") (number_literal "-0x7d1c")) () ")")))) (+ "+") (number_literal "0x3d3c")) () ")")))) () ")")) (argument_list "(pcVar31)" (( "(") (identifier "pcVar31") () ")"))) (; ";")) (expression_statement "pcVar13 = (code *)&DAT_00000007;" (assignment_expression "pcVar13 = (code *)&DAT_00000007" (identifier "pcVar13") (= "=") (cast_expression "(code *)&DAT_00000007" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000007" (& "&") (identifier "DAT_00000007")))) (; ";")) (if_statement "if (*(int *)(*(int *)pcVar31 + 8) != 0) {\n                  pcVar13 = (code *)0x1;\n                }" (if "if") (parenthesized_expression "(*(int *)(*(int *)pcVar31 + 8) != 0)" (( "(") (binary_expression "*(int *)(*(int *)pcVar31 + 8) != 0" (pointer_expression "*(int *)(*(int *)pcVar31 + 8)" (* "*") (cast_expression "(int *)(*(int *)pcVar31 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)pcVar31 + 8)" (( "(") (binary_expression "*(int *)pcVar31 + 8" (pointer_expression "*(int *)pcVar31" (* "*") (cast_expression "(int *)pcVar31" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar31"))) (+ "+") (number_literal "8")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  pcVar13 = (code *)0x1;\n                }" ({ "{") (expression_statement "pcVar13 = (code *)0x1;" (assignment_expression "pcVar13 = (code *)0x1" (identifier "pcVar13") (= "=") (cast_expression "(code *)0x1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (} "}"))) (} "}")))) (} "}"))) (} "}")) (else_clause "else {\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }" (else "else") (compound_statement "{\n            pcVar22 = *(code **)(pcVar31 + 0x28);\nLAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;\n            *(int *)(pcVar31 + 0xc) = iVar4;\n            *(int *)(pcVar31 + 8) = iVar4;\n            cVar2 = *pcVar22;\n            pcVar31[0x14] = cVar2;\n            if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }\n          }" ({ "{") (expression_statement "pcVar22 = *(code **)(pcVar31 + 0x28);" (assignment_expression "pcVar22 = *(code **)(pcVar31 + 0x28)" (identifier "pcVar22") (= "=") (pointer_expression "*(code **)(pcVar31 + 0x28)" (* "*") (cast_expression "(code **)(pcVar31 + 0x28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar31 + 0x28)" (( "(") (binary_expression "pcVar31 + 0x28" (identifier "pcVar31") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (labeled_statement "LAB_000c4aac:\n            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;" (statement_identifier "LAB_000c4aac") (: ":") (expression_statement "iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;" (assignment_expression "iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555" (identifier "iVar4") (= "=") (binary_expression "((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555" (parenthesized_expression "((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2)" (( "(") (binary_expression "(int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2" (binary_expression "(int)pcVar22 - *(int *)(pcVar31 + 0x28)" (cast_expression "(int)pcVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar22")) (- "-") (pointer_expression "*(int *)(pcVar31 + 0x28)" (* "*") (cast_expression "(int *)(pcVar31 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar31 + 0x28)" (( "(") (binary_expression "pcVar31 + 0x28" (identifier "pcVar31") (+ "+") (number_literal "0x28")) () ")"))))) (>> ">>") (number_literal "2")) () ")")) (* "*") (number_literal "-0x55555555"))) (; ";"))) (expression_statement "*(int *)(pcVar31 + 0xc) = iVar4;" (assignment_expression "*(int *)(pcVar31 + 0xc) = iVar4" (pointer_expression "*(int *)(pcVar31 + 0xc)" (* "*") (cast_expression "(int *)(pcVar31 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar31 + 0xc)" (( "(") (binary_expression "pcVar31 + 0xc" (identifier "pcVar31") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "*(int *)(pcVar31 + 8) = iVar4;" (assignment_expression "*(int *)(pcVar31 + 8) = iVar4" (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")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "cVar2 = *pcVar22;" (assignment_expression "cVar2 = *pcVar22" (identifier "cVar2") (= "=") (pointer_expression "*pcVar22" (* "*") (identifier "pcVar22"))) (; ";")) (expression_statement "pcVar31[0x14] = cVar2;" (assignment_expression "pcVar31[0x14] = cVar2" (subscript_expression "pcVar31[0x14]" (identifier "pcVar31") ([ "[") (number_literal "0x14") (] "]")) (= "=") (identifier "cVar2")) (; ";")) (if_statement "if ((byte)cVar2 < 6) {\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }\n            else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }" (if "if") (parenthesized_expression "((byte)cVar2 < 6)" (( "(") (binary_expression "(byte)cVar2 < 6" (cast_expression "(byte)cVar2" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "cVar2")) (< "<") (number_literal "6")) () ")")) (compound_statement "{\n              *(int *)(pcVar31 + 0x10) = iVar4 + 1;\n            }" ({ "{") (expression_statement "*(int *)(pcVar31 + 0x10) = iVar4 + 1;" (assignment_expression "*(int *)(pcVar31 + 0x10) = iVar4 + 1" (pointer_expression "*(int *)(pcVar31 + 0x10)" (* "*") (cast_expression "(int *)(pcVar31 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar31 + 0x10)" (( "(") (binary_expression "pcVar31 + 0x10" (identifier "pcVar31") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }" (else "else") (compound_statement "{\n              *(undefined4 *)(pcVar22 + 8) = 0;\n              iVar4 = *(int *)(pcVar31 + 0xc);\n              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;\n              pcVar3 = (code *)(iVar4 * 4);\n              if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }\n            }" ({ "{") (expression_statement "*(undefined4 *)(pcVar22 + 8) = 0;" (assignment_expression "*(undefined4 *)(pcVar22 + 8) = 0" (pointer_expression "*(undefined4 *)(pcVar22 + 8)" (* "*") (cast_expression "(undefined4 *)(pcVar22 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 8)" (( "(") (binary_expression "pcVar22 + 8" (identifier "pcVar22") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar4 = *(int *)(pcVar31 + 0xc);" (assignment_expression "iVar4 = *(int *)(pcVar31 + 0xc)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(pcVar31 + 0xc)" (* "*") (cast_expression "(int *)(pcVar31 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar31 + 0xc)" (( "(") (binary_expression "pcVar31 + 0xc" (identifier "pcVar31") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;" (assignment_expression "*(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1" (pointer_expression "*(int *)(pcVar31 + 0x10)" (* "*") (cast_expression "(int *)(pcVar31 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar31 + 0x10)" (( "(") (binary_expression "pcVar31 + 0x10" (identifier "pcVar31") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "*(int *)(pcVar22 + 4) + iVar4 + 1" (binary_expression "*(int *)(pcVar22 + 4) + iVar4" (pointer_expression "*(int *)(pcVar22 + 4)" (* "*") (cast_expression "(int *)(pcVar22 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 4)" (( "(") (binary_expression "pcVar22 + 4" (identifier "pcVar22") (+ "+") (number_literal "4")) () ")")))) (+ "+") (identifier "iVar4")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar3 = (code *)(iVar4 * 4);" (assignment_expression "pcVar3 = (code *)(iVar4 * 4)" (identifier "pcVar3") (= "=") (cast_expression "(code *)(iVar4 * 4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 * 4)" (( "(") (binary_expression "iVar4 * 4" (identifier "iVar4") (* "*") (number_literal "4")) () ")")))) (; ";")) (if_statement "if (pcVar31[0x15] == (code)0x0) {\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }\n              else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }" (if "if") (parenthesized_expression "(pcVar31[0x15] == (code)0x0)" (( "(") (binary_expression "pcVar31[0x15] == (code)0x0" (subscript_expression "pcVar31[0x15]" (identifier "pcVar31") ([ "[") (number_literal "0x15") (] "]")) (== "==") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                *(int *)(pcVar31 + 0xc) = iVar4 + 1;\n              }" ({ "{") (expression_statement "*(int *)(pcVar31 + 0xc) = iVar4 + 1;" (assignment_expression "*(int *)(pcVar31 + 0xc) = iVar4 + 1" (pointer_expression "*(int *)(pcVar31 + 0xc)" (* "*") (cast_expression "(int *)(pcVar31 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar31 + 0xc)" (( "(") (binary_expression "pcVar31 + 0xc" (identifier "pcVar31") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }" (else "else") (compound_statement "{\n                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));\n                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);\n                if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }\n              }" ({ "{") (expression_statement "pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));" (assignment_expression "pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30))" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(pcVar3 + *(int *)(pcVar31 + 0x30))" (* "*") (cast_expression "(code **)(pcVar3 + *(int *)(pcVar31 + 0x30))" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar3 + *(int *)(pcVar31 + 0x30))" (( "(") (binary_expression "pcVar3 + *(int *)(pcVar31 + 0x30)" (identifier "pcVar3") (+ "+") (pointer_expression "*(int *)(pcVar31 + 0x30)" (* "*") (cast_expression "(int *)(pcVar31 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar31 + 0x30)" (( "(") (binary_expression "pcVar31 + 0x30" (identifier "pcVar31") (+ "+") (number_literal "0x30")) () ")"))))) () ")"))))) (; ";")) (expression_statement "pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);" (assignment_expression "pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc)" (subscript_expression "pcVar31[0x14]" (identifier "pcVar31") ([ "[") (number_literal "0x14") (] "]")) (= "=") (pointer_expression "*(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc)" (* "*") (cast_expression "(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc)" (( "(") (binary_expression "*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc" (pointer_expression "*(int *)(pcVar31 + 0x28)" (* "*") (cast_expression "(int *)(pcVar31 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar31 + 0x28)" (( "(") (binary_expression "pcVar31 + 0x28" (identifier "pcVar31") (+ "+") (number_literal "0x28")) () ")")))) (+ "+") (binary_expression "(int)pcVar3 * 0xc" (cast_expression "(int)pcVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar3")) (* "*") (number_literal "0xc"))) () ")"))))) (; ";")) (if_statement "if ((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }" (if "if") (parenthesized_expression "((iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0))" (( "(") (binary_expression "(iVar4 != 0) &&\n                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)" (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)" (( "(") (binary_expression "(*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0" (parenthesized_expression "(*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40)" (( "(") (binary_expression "*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40" (pointer_expression "*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb)" (* "*") (cast_expression "(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb)" (( "(") (binary_expression "*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb" (binary_expression "*(int *)(pcVar31 + 0x28) + iVar4 * 0xc" (pointer_expression "*(int *)(pcVar31 + 0x28)" (* "*") (cast_expression "(int *)(pcVar31 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar31 + 0x28)" (( "(") (binary_expression "pcVar31 + 0x28" (identifier "pcVar31") (+ "+") (number_literal "0x28")) () ")")))) (+ "+") (binary_expression "iVar4 * 0xc" (identifier "iVar4") (* "*") (number_literal "0xc"))) (+ "+") (number_literal "-0xb")) () ")")))) (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;\n                }" ({ "{") (expression_statement "*(int *)(pcVar31 + 0xc) = iVar4 + -1;" (assignment_expression "*(int *)(pcVar31 + 0xc) = iVar4 + -1" (pointer_expression "*(int *)(pcVar31 + 0xc)" (* "*") (cast_expression "(int *)(pcVar31 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar31 + 0xc)" (( "(") (binary_expression "pcVar31 + 0xc" (identifier "pcVar31") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (binary_expression "iVar4 + -1" (identifier "iVar4") (+ "+") (number_literal "-1"))) (; ";")) (} "}"))) (} "}")))) (} "}")))) (} "}")))) (} "}")) (else_clause "else {\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }" (else "else") (compound_statement "{\n          if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }\n          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);\n        }" ({ "{") (if_statement "if (pcVar31[0x34] == (code)0x0) {\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }\n          else {\n            pcVar13 = (code *)&DAT_00000007;\n          }" (if "if") (parenthesized_expression "(pcVar31[0x34] == (code)0x0)" (( "(") (binary_expression "pcVar31[0x34] == (code)0x0" (subscript_expression "pcVar31[0x34]" (identifier "pcVar31") ([ "[") (number_literal "0x34") (] "]")) (== "==") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));\n            iVar4 = *(int *)pcVar31;\n            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);\n            *(undefined4 *)(iVar4 + 8) = uVar29;\n            pcVar13 = (code *)0x1;\n            if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }\n          }" ({ "{") (expression_statement "(**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));" (call_expression "(**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8))" (parenthesized_expression "(**(code **)(local_100 + -0x7fa8))" (( "(") (pointer_expression "**(code **)(local_100 + -0x7fa8)" (* "*") (pointer_expression "*(code **)(local_100 + -0x7fa8)" (* "*") (cast_expression "(code **)(local_100 + -0x7fa8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_100 + -0x7fa8)" (( "(") (binary_expression "local_100 + -0x7fa8" (identifier "local_100") (+ "+") (number_literal "-0x7fa8")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(*(int *)pcVar31 + 8))" (( "(") (pointer_expression "*(undefined4 *)(*(int *)pcVar31 + 8)" (* "*") (cast_expression "(undefined4 *)(*(int *)pcVar31 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)pcVar31 + 8)" (( "(") (binary_expression "*(int *)pcVar31 + 8" (pointer_expression "*(int *)pcVar31" (* "*") (cast_expression "(int *)pcVar31" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar31"))) (+ "+") (number_literal "8")) () ")")))) () ")"))) (; ";")) (expression_statement "iVar4 = *(int *)pcVar31;" (assignment_expression "iVar4 = *(int *)pcVar31" (identifier "iVar4") (= "=") (pointer_expression "*(int *)pcVar31" (* "*") (cast_expression "(int *)pcVar31" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar31")))) (; ";")) (expression_statement "uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);" (assignment_expression "uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060)" (identifier "uVar29") (= "=") (call_expression "sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060)" (identifier "sqlite3_mprintf") (argument_list "(*(int *)(local_100 + -0x7fc4) + -0x5060)" (( "(") (binary_expression "*(int *)(local_100 + -0x7fc4) + -0x5060" (pointer_expression "*(int *)(local_100 + -0x7fc4)" (* "*") (cast_expression "(int *)(local_100 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_100 + -0x7fc4)" (( "(") (binary_expression "local_100 + -0x7fc4" (identifier "local_100") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x5060")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar4 + 8) = uVar29;" (assignment_expression "*(undefined4 *)(iVar4 + 8) = uVar29" (pointer_expression "*(undefined4 *)(iVar4 + 8)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 8)" (( "(") (binary_expression "iVar4 + 8" (identifier "iVar4") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "uVar29")) (; ";")) (expression_statement "pcVar13 = (code *)0x1;" (assignment_expression "pcVar13 = (code *)0x1" (identifier "pcVar13") (= "=") (cast_expression "(code *)0x1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (if_statement "if (*(int *)(*(int *)pcVar31 + 8) == 0) {\n              pcVar13 = (code *)&DAT_00000007;\n            }" (if "if") (parenthesized_expression "(*(int *)(*(int *)pcVar31 + 8) == 0)" (( "(") (binary_expression "*(int *)(*(int *)pcVar31 + 8) == 0" (pointer_expression "*(int *)(*(int *)pcVar31 + 8)" (* "*") (cast_expression "(int *)(*(int *)pcVar31 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)pcVar31 + 8)" (( "(") (binary_expression "*(int *)pcVar31 + 8" (pointer_expression "*(int *)pcVar31" (* "*") (cast_expression "(int *)pcVar31" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar31"))) (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              pcVar13 = (code *)&DAT_00000007;\n            }" ({ "{") (expression_statement "pcVar13 = (code *)&DAT_00000007;" (assignment_expression "pcVar13 = (code *)&DAT_00000007" (identifier "pcVar13") (= "=") (cast_expression "(code *)&DAT_00000007" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000007" (& "&") (identifier "DAT_00000007")))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            pcVar13 = (code *)&DAT_00000007;\n          }" (else "else") (compound_statement "{\n            pcVar13 = (code *)&DAT_00000007;\n          }" ({ "{") (expression_statement "pcVar13 = (code *)&DAT_00000007;" (assignment_expression "pcVar13 = (code *)&DAT_00000007" (identifier "pcVar13") (= "=") (cast_expression "(code *)&DAT_00000007" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000007" (& "&") (identifier "DAT_00000007")))) (; ";")) (} "}")))) (expression_statement "(*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);" (call_expression "(*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31)" (parenthesized_expression "(*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))" (( "(") (pointer_expression "*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c)" (* "*") (cast_expression "(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(local_100 + -0x7d1c) + 0x3d3c)" (( "(") (binary_expression "*(int *)(local_100 + -0x7d1c) + 0x3d3c" (pointer_expression "*(int *)(local_100 + -0x7d1c)" (* "*") (cast_expression "(int *)(local_100 + -0x7d1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_100 + -0x7d1c)" (( "(") (binary_expression "local_100 + -0x7d1c" (identifier "local_100") (+ "+") (number_literal "-0x7d1c")) () ")")))) (+ "+") (number_literal "0x3d3c")) () ")")))) () ")")) (argument_list "(pcVar31)" (( "(") (identifier "pcVar31") () ")"))) (; ";")) (} "}")))) (} "}")))) (} "}")))) (} "}"))) (labeled_statement "LAB_000c49c4:\n  if (local_f4 == (code *)**(undefined4 **)(local_100 + -0x7a54)) {\n    return pcVar13;\n  }" (statement_identifier "LAB_000c49c4") (: ":") (if_statement "if (local_f4 == (code *)**(undefined4 **)(local_100 + -0x7a54)) {\n    return pcVar13;\n  }" (if "if") (parenthesized_expression "(local_f4 == (code *)**(undefined4 **)(local_100 + -0x7a54))" (( "(") (binary_expression "local_f4 == (code *)**(undefined4 **)(local_100 + -0x7a54)" (identifier "local_f4") (== "==") (cast_expression "(code *)**(undefined4 **)(local_100 + -0x7a54)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(local_100 + -0x7a54)" (* "*") (pointer_expression "*(undefined4 **)(local_100 + -0x7a54)" (* "*") (cast_expression "(undefined4 **)(local_100 + -0x7a54)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_100 + -0x7a54)" (( "(") (binary_expression "local_100 + -0x7a54" (identifier "local_100") (+ "+") (number_literal "-0x7a54")) () ")"))))))) () ")")) (compound_statement "{\n    return pcVar13;\n  }" ({ "{") (return_statement "return pcVar13;" (return "return") (identifier "pcVar13") (; ";")) (} "}")))) (expression_statement "pcVar26 = *(code **)(local_100 + -0x7a80);" (assignment_expression "pcVar26 = *(code **)(local_100 + -0x7a80)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(local_100 + -0x7a80)" (* "*") (cast_expression "(code **)(local_100 + -0x7a80)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_100 + -0x7a80)" (( "(") (binary_expression "local_100 + -0x7a80" (identifier "local_100") (+ "+") (number_literal "-0x7a80")) () ")"))))) (; ";")) (expression_statement "pcVar30 = sqlite3_randomness;" (assignment_expression "pcVar30 = sqlite3_randomness" (identifier "pcVar30") (= "=") (identifier "sqlite3_randomness")) (; ";")) (expression_statement "pcVar22 = local_f4;" (assignment_expression "pcVar22 = local_f4" (identifier "pcVar22") (= "=") (identifier "local_f4")) (; ";")) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcStack_240 = pcVar26 + 0xd2b38;" (assignment_expression "pcStack_240 = pcVar26 + 0xd2b38" (identifier "pcStack_240") (= "=") (binary_expression "pcVar26 + 0xd2b38" (identifier "pcVar26") (+ "+") (number_literal "0xd2b38"))) (; ";")) (expression_statement "pcStack_134 = (code *)**(int **)(pcVar26 + 0xcb0e4);" (assignment_expression "pcStack_134 = (code *)**(int **)(pcVar26 + 0xcb0e4)" (identifier "pcStack_134") (= "=") (cast_expression "(code *)**(int **)(pcVar26 + 0xcb0e4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(int **)(pcVar26 + 0xcb0e4)" (* "*") (pointer_expression "*(int **)(pcVar26 + 0xcb0e4)" (* "*") (cast_expression "(int **)(pcVar26 + 0xcb0e4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0xcb0e4)" (( "(") (binary_expression "pcVar26 + 0xcb0e4" (identifier "pcVar26") (+ "+") (number_literal "0xcb0e4")) () ")"))))))) (; ";")) (expression_statement "pcVar25 = pcVar22;" (assignment_expression "pcVar25 = pcVar22" (identifier "pcVar25") (= "=") (identifier "pcVar22")) (; ";")) (expression_statement "pcVar14 = pcVar3;" (assignment_expression "pcVar14 = pcVar3" (identifier "pcVar14") (= "=") (identifier "pcVar3")) (; ";")) (expression_statement "pcStack_12c = pcVar13;" (assignment_expression "pcStack_12c = pcVar13" (identifier "pcStack_12c") (= "=") (identifier "pcVar13")) (; ";")) (expression_statement "pcStack_128 = pcVar31;" (assignment_expression "pcStack_128 = pcVar31" (identifier "pcStack_128") (= "=") (identifier "pcVar31")) (; ";")) (expression_statement "pcStack_124 = pcVar5;" (assignment_expression "pcStack_124 = pcVar5" (identifier "pcStack_124") (= "=") (identifier "pcVar5")) (; ";")) (expression_statement "pcStack_120 = unaff_s3;" (assignment_expression "pcStack_120 = unaff_s3" (identifier "pcStack_120") (= "=") (identifier "unaff_s3")) (; ";")) (expression_statement "pcStack_11c = pcVar30;" (assignment_expression "pcStack_11c = pcVar30" (identifier "pcStack_11c") (= "=") (identifier "pcVar30")) (; ";")) (expression_statement "iVar4 = (**(code **)(pcVar26 + 0xcadb8))();" (assignment_expression "iVar4 = (**(code **)(pcVar26 + 0xcadb8))()" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcVar26 + 0xcadb8))()" (parenthesized_expression "(**(code **)(pcVar26 + 0xcadb8))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0xcadb8)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0xcadb8)" (* "*") (cast_expression "(code **)(pcVar26 + 0xcadb8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0xcadb8)" (( "(") (binary_expression "pcVar26 + 0xcadb8" (identifier "pcVar26") (+ "+") (number_literal "0xcadb8")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n    unaff_s3 = (code *)(*(code *)(*(int *)(pcStack_240 + -0x7dc8) + 0xe00))(5);\n    (**(code **)(pcStack_240 + -0x7d74))(unaff_s3);\n    iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n    pcVar25 = unaff_s3;\n    if (0 < (int)pcVar22) {\n      if (pcVar3 != (code *)0x0) {\n        iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n        if (*(char *)(iVar27 + 0x338) == '\0') {\n          *(undefined1 *)(iVar8 + 0x33a) = 0;\n          *(undefined1 *)(iVar8 + 0x339) = 0;\n          iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0);\n          (**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234);\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          iVar4 = 0;\n          do {\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          } while (iVar4 != 0x100);\n          iVar4 = *(int *)(pcStack_240 + -0x7fd8);\n          uVar9 = (uint)*(byte *)(iVar4 + 0x33a);\n          pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b);\n          pbVar15 = abStack_234;\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          do {\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          } while (pbVar7 != (byte *)(iVar4 + 0x43b));\n          iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n          *(char *)(iVar8 + 0x33a) = (char)uVar18;\n          *(undefined1 *)(iVar8 + 0x338) = 1;\n          iVar4 = 0x100;\n        }\n        pcVar6 = (code *)(iVar8 + 0x338);\n        uVar9 = (uint)*(byte *)(iVar8 + 0x33a);\n        bVar17 = *(char *)(iVar8 + 0x339) + 1;\n        pcVar13 = (code *)((uint)bVar17 - (int)pcVar3);\n        pcVar5 = pcVar3;\n        do {\n          uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff;\n          cVar2 = pcVar6[uVar18 + 3];\n          uVar20 = (byte)cVar2 + uVar9;\n          uVar9 = uVar20 & 0xff;\n          param_4 = pcVar6 + uVar9;\n          pcVar6[uVar18 + 3] = param_4[3];\n          param_4[3] = cVar2;\n          pcVar14 = pcVar5 + 1;\n          *pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3];\n          pcVar5 = pcVar14;\n        } while (pcVar14 != pcVar3 + (int)pcVar22);\n        iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n        pcVar22 = pcVar22 + -1;\n        *(byte *)(iVar27 + 0x339) = bVar17 + (char)pcVar22;\n        *(char *)(iVar27 + 0x33a) = (char)uVar20;\n        (**(code **)(pcStack_240 + -0x7d78))();\n        pcVar3 = pcVar13;\n        goto LAB_000c4e3c;\n      }\n      iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n    }\n    *(undefined1 *)(iVar27 + 0x338) = 0;\n    (**(code **)(pcStack_240 + -0x7d78))();\n  }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    unaff_s3 = (code *)(*(code *)(*(int *)(pcStack_240 + -0x7dc8) + 0xe00))(5);\n    (**(code **)(pcStack_240 + -0x7d74))(unaff_s3);\n    iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n    pcVar25 = unaff_s3;\n    if (0 < (int)pcVar22) {\n      if (pcVar3 != (code *)0x0) {\n        iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n        if (*(char *)(iVar27 + 0x338) == '\0') {\n          *(undefined1 *)(iVar8 + 0x33a) = 0;\n          *(undefined1 *)(iVar8 + 0x339) = 0;\n          iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0);\n          (**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234);\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          iVar4 = 0;\n          do {\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          } while (iVar4 != 0x100);\n          iVar4 = *(int *)(pcStack_240 + -0x7fd8);\n          uVar9 = (uint)*(byte *)(iVar4 + 0x33a);\n          pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b);\n          pbVar15 = abStack_234;\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          do {\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          } while (pbVar7 != (byte *)(iVar4 + 0x43b));\n          iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n          *(char *)(iVar8 + 0x33a) = (char)uVar18;\n          *(undefined1 *)(iVar8 + 0x338) = 1;\n          iVar4 = 0x100;\n        }\n        pcVar6 = (code *)(iVar8 + 0x338);\n        uVar9 = (uint)*(byte *)(iVar8 + 0x33a);\n        bVar17 = *(char *)(iVar8 + 0x339) + 1;\n        pcVar13 = (code *)((uint)bVar17 - (int)pcVar3);\n        pcVar5 = pcVar3;\n        do {\n          uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff;\n          cVar2 = pcVar6[uVar18 + 3];\n          uVar20 = (byte)cVar2 + uVar9;\n          uVar9 = uVar20 & 0xff;\n          param_4 = pcVar6 + uVar9;\n          pcVar6[uVar18 + 3] = param_4[3];\n          param_4[3] = cVar2;\n          pcVar14 = pcVar5 + 1;\n          *pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3];\n          pcVar5 = pcVar14;\n        } while (pcVar14 != pcVar3 + (int)pcVar22);\n        iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n        pcVar22 = pcVar22 + -1;\n        *(byte *)(iVar27 + 0x339) = bVar17 + (char)pcVar22;\n        *(char *)(iVar27 + 0x33a) = (char)uVar20;\n        (**(code **)(pcStack_240 + -0x7d78))();\n        pcVar3 = pcVar13;\n        goto LAB_000c4e3c;\n      }\n      iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n    }\n    *(undefined1 *)(iVar27 + 0x338) = 0;\n    (**(code **)(pcStack_240 + -0x7d78))();\n  }" ({ "{") (expression_statement "unaff_s3 = (code *)(*(code *)(*(int *)(pcStack_240 + -0x7dc8) + 0xe00))(5);" (assignment_expression "unaff_s3 = (code *)(*(code *)(*(int *)(pcStack_240 + -0x7dc8) + 0xe00))(5)" (identifier "unaff_s3") (= "=") (cast_expression "(code *)(*(code *)(*(int *)(pcStack_240 + -0x7dc8) + 0xe00))(5)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(*(int *)(pcStack_240 + -0x7dc8) + 0xe00))(5)" (parenthesized_expression "(*(code *)(*(int *)(pcStack_240 + -0x7dc8) + 0xe00))" (( "(") (pointer_expression "*(code *)(*(int *)(pcStack_240 + -0x7dc8) + 0xe00)" (* "*") (cast_expression "(code *)(*(int *)(pcStack_240 + -0x7dc8) + 0xe00)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_240 + -0x7dc8) + 0xe00)" (( "(") (binary_expression "*(int *)(pcStack_240 + -0x7dc8) + 0xe00" (pointer_expression "*(int *)(pcStack_240 + -0x7dc8)" (* "*") (cast_expression "(int *)(pcStack_240 + -0x7dc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_240 + -0x7dc8)" (( "(") (binary_expression "pcStack_240 + -0x7dc8" (identifier "pcStack_240") (+ "+") (number_literal "-0x7dc8")) () ")")))) (+ "+") (number_literal "0xe00")) () ")")))) () ")")) (argument_list "(5)" (( "(") (number_literal "5") () ")"))))) (; ";")) (expression_statement "(**(code **)(pcStack_240 + -0x7d74))(unaff_s3);" (call_expression "(**(code **)(pcStack_240 + -0x7d74))(unaff_s3)" (parenthesized_expression "(**(code **)(pcStack_240 + -0x7d74))" (( "(") (pointer_expression "**(code **)(pcStack_240 + -0x7d74)" (* "*") (pointer_expression "*(code **)(pcStack_240 + -0x7d74)" (* "*") (cast_expression "(code **)(pcStack_240 + -0x7d74)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_240 + -0x7d74)" (( "(") (binary_expression "pcStack_240 + -0x7d74" (identifier "pcStack_240") (+ "+") (number_literal "-0x7d74")) () ")"))))) () ")")) (argument_list "(unaff_s3)" (( "(") (identifier "unaff_s3") () ")"))) (; ";")) (expression_statement "iVar27 = *(int *)(pcStack_240 + -0x7fd8);" (assignment_expression "iVar27 = *(int *)(pcStack_240 + -0x7fd8)" (identifier "iVar27") (= "=") (pointer_expression "*(int *)(pcStack_240 + -0x7fd8)" (* "*") (cast_expression "(int *)(pcStack_240 + -0x7fd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_240 + -0x7fd8)" (( "(") (binary_expression "pcStack_240 + -0x7fd8" (identifier "pcStack_240") (+ "+") (number_literal "-0x7fd8")) () ")"))))) (; ";")) (expression_statement "pcVar25 = unaff_s3;" (assignment_expression "pcVar25 = unaff_s3" (identifier "pcVar25") (= "=") (identifier "unaff_s3")) (; ";")) (if_statement "if (0 < (int)pcVar22) {\n      if (pcVar3 != (code *)0x0) {\n        iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n        if (*(char *)(iVar27 + 0x338) == '\0') {\n          *(undefined1 *)(iVar8 + 0x33a) = 0;\n          *(undefined1 *)(iVar8 + 0x339) = 0;\n          iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0);\n          (**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234);\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          iVar4 = 0;\n          do {\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          } while (iVar4 != 0x100);\n          iVar4 = *(int *)(pcStack_240 + -0x7fd8);\n          uVar9 = (uint)*(byte *)(iVar4 + 0x33a);\n          pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b);\n          pbVar15 = abStack_234;\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          do {\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          } while (pbVar7 != (byte *)(iVar4 + 0x43b));\n          iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n          *(char *)(iVar8 + 0x33a) = (char)uVar18;\n          *(undefined1 *)(iVar8 + 0x338) = 1;\n          iVar4 = 0x100;\n        }\n        pcVar6 = (code *)(iVar8 + 0x338);\n        uVar9 = (uint)*(byte *)(iVar8 + 0x33a);\n        bVar17 = *(char *)(iVar8 + 0x339) + 1;\n        pcVar13 = (code *)((uint)bVar17 - (int)pcVar3);\n        pcVar5 = pcVar3;\n        do {\n          uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff;\n          cVar2 = pcVar6[uVar18 + 3];\n          uVar20 = (byte)cVar2 + uVar9;\n          uVar9 = uVar20 & 0xff;\n          param_4 = pcVar6 + uVar9;\n          pcVar6[uVar18 + 3] = param_4[3];\n          param_4[3] = cVar2;\n          pcVar14 = pcVar5 + 1;\n          *pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3];\n          pcVar5 = pcVar14;\n        } while (pcVar14 != pcVar3 + (int)pcVar22);\n        iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n        pcVar22 = pcVar22 + -1;\n        *(byte *)(iVar27 + 0x339) = bVar17 + (char)pcVar22;\n        *(char *)(iVar27 + 0x33a) = (char)uVar20;\n        (**(code **)(pcStack_240 + -0x7d78))();\n        pcVar3 = pcVar13;\n        goto LAB_000c4e3c;\n      }\n      iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n    }" (if "if") (parenthesized_expression "(0 < (int)pcVar22)" (( "(") (binary_expression "0 < (int)pcVar22" (number_literal "0") (< "<") (cast_expression "(int)pcVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar22"))) () ")")) (compound_statement "{\n      if (pcVar3 != (code *)0x0) {\n        iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n        if (*(char *)(iVar27 + 0x338) == '\0') {\n          *(undefined1 *)(iVar8 + 0x33a) = 0;\n          *(undefined1 *)(iVar8 + 0x339) = 0;\n          iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0);\n          (**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234);\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          iVar4 = 0;\n          do {\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          } while (iVar4 != 0x100);\n          iVar4 = *(int *)(pcStack_240 + -0x7fd8);\n          uVar9 = (uint)*(byte *)(iVar4 + 0x33a);\n          pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b);\n          pbVar15 = abStack_234;\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          do {\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          } while (pbVar7 != (byte *)(iVar4 + 0x43b));\n          iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n          *(char *)(iVar8 + 0x33a) = (char)uVar18;\n          *(undefined1 *)(iVar8 + 0x338) = 1;\n          iVar4 = 0x100;\n        }\n        pcVar6 = (code *)(iVar8 + 0x338);\n        uVar9 = (uint)*(byte *)(iVar8 + 0x33a);\n        bVar17 = *(char *)(iVar8 + 0x339) + 1;\n        pcVar13 = (code *)((uint)bVar17 - (int)pcVar3);\n        pcVar5 = pcVar3;\n        do {\n          uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff;\n          cVar2 = pcVar6[uVar18 + 3];\n          uVar20 = (byte)cVar2 + uVar9;\n          uVar9 = uVar20 & 0xff;\n          param_4 = pcVar6 + uVar9;\n          pcVar6[uVar18 + 3] = param_4[3];\n          param_4[3] = cVar2;\n          pcVar14 = pcVar5 + 1;\n          *pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3];\n          pcVar5 = pcVar14;\n        } while (pcVar14 != pcVar3 + (int)pcVar22);\n        iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n        pcVar22 = pcVar22 + -1;\n        *(byte *)(iVar27 + 0x339) = bVar17 + (char)pcVar22;\n        *(char *)(iVar27 + 0x33a) = (char)uVar20;\n        (**(code **)(pcStack_240 + -0x7d78))();\n        pcVar3 = pcVar13;\n        goto LAB_000c4e3c;\n      }\n      iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n    }" ({ "{") (if_statement "if (pcVar3 != (code *)0x0) {\n        iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n        if (*(char *)(iVar27 + 0x338) == '\0') {\n          *(undefined1 *)(iVar8 + 0x33a) = 0;\n          *(undefined1 *)(iVar8 + 0x339) = 0;\n          iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0);\n          (**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234);\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          iVar4 = 0;\n          do {\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          } while (iVar4 != 0x100);\n          iVar4 = *(int *)(pcStack_240 + -0x7fd8);\n          uVar9 = (uint)*(byte *)(iVar4 + 0x33a);\n          pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b);\n          pbVar15 = abStack_234;\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          do {\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          } while (pbVar7 != (byte *)(iVar4 + 0x43b));\n          iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n          *(char *)(iVar8 + 0x33a) = (char)uVar18;\n          *(undefined1 *)(iVar8 + 0x338) = 1;\n          iVar4 = 0x100;\n        }\n        pcVar6 = (code *)(iVar8 + 0x338);\n        uVar9 = (uint)*(byte *)(iVar8 + 0x33a);\n        bVar17 = *(char *)(iVar8 + 0x339) + 1;\n        pcVar13 = (code *)((uint)bVar17 - (int)pcVar3);\n        pcVar5 = pcVar3;\n        do {\n          uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff;\n          cVar2 = pcVar6[uVar18 + 3];\n          uVar20 = (byte)cVar2 + uVar9;\n          uVar9 = uVar20 & 0xff;\n          param_4 = pcVar6 + uVar9;\n          pcVar6[uVar18 + 3] = param_4[3];\n          param_4[3] = cVar2;\n          pcVar14 = pcVar5 + 1;\n          *pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3];\n          pcVar5 = pcVar14;\n        } while (pcVar14 != pcVar3 + (int)pcVar22);\n        iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n        pcVar22 = pcVar22 + -1;\n        *(byte *)(iVar27 + 0x339) = bVar17 + (char)pcVar22;\n        *(char *)(iVar27 + 0x33a) = (char)uVar20;\n        (**(code **)(pcStack_240 + -0x7d78))();\n        pcVar3 = pcVar13;\n        goto LAB_000c4e3c;\n      }" (if "if") (parenthesized_expression "(pcVar3 != (code *)0x0)" (( "(") (binary_expression "pcVar3 != (code *)0x0" (identifier "pcVar3") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n        if (*(char *)(iVar27 + 0x338) == '\0') {\n          *(undefined1 *)(iVar8 + 0x33a) = 0;\n          *(undefined1 *)(iVar8 + 0x339) = 0;\n          iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0);\n          (**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234);\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          iVar4 = 0;\n          do {\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          } while (iVar4 != 0x100);\n          iVar4 = *(int *)(pcStack_240 + -0x7fd8);\n          uVar9 = (uint)*(byte *)(iVar4 + 0x33a);\n          pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b);\n          pbVar15 = abStack_234;\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          do {\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          } while (pbVar7 != (byte *)(iVar4 + 0x43b));\n          iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n          *(char *)(iVar8 + 0x33a) = (char)uVar18;\n          *(undefined1 *)(iVar8 + 0x338) = 1;\n          iVar4 = 0x100;\n        }\n        pcVar6 = (code *)(iVar8 + 0x338);\n        uVar9 = (uint)*(byte *)(iVar8 + 0x33a);\n        bVar17 = *(char *)(iVar8 + 0x339) + 1;\n        pcVar13 = (code *)((uint)bVar17 - (int)pcVar3);\n        pcVar5 = pcVar3;\n        do {\n          uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff;\n          cVar2 = pcVar6[uVar18 + 3];\n          uVar20 = (byte)cVar2 + uVar9;\n          uVar9 = uVar20 & 0xff;\n          param_4 = pcVar6 + uVar9;\n          pcVar6[uVar18 + 3] = param_4[3];\n          param_4[3] = cVar2;\n          pcVar14 = pcVar5 + 1;\n          *pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3];\n          pcVar5 = pcVar14;\n        } while (pcVar14 != pcVar3 + (int)pcVar22);\n        iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n        pcVar22 = pcVar22 + -1;\n        *(byte *)(iVar27 + 0x339) = bVar17 + (char)pcVar22;\n        *(char *)(iVar27 + 0x33a) = (char)uVar20;\n        (**(code **)(pcStack_240 + -0x7d78))();\n        pcVar3 = pcVar13;\n        goto LAB_000c4e3c;\n      }" ({ "{") (expression_statement "iVar8 = *(int *)(pcStack_240 + -0x7fd8);" (assignment_expression "iVar8 = *(int *)(pcStack_240 + -0x7fd8)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(pcStack_240 + -0x7fd8)" (* "*") (cast_expression "(int *)(pcStack_240 + -0x7fd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_240 + -0x7fd8)" (( "(") (binary_expression "pcStack_240 + -0x7fd8" (identifier "pcStack_240") (+ "+") (number_literal "-0x7fd8")) () ")"))))) (; ";")) (if_statement "if (*(char *)(iVar27 + 0x338) == '\0') {\n          *(undefined1 *)(iVar8 + 0x33a) = 0;\n          *(undefined1 *)(iVar8 + 0x339) = 0;\n          iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0);\n          (**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234);\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          iVar4 = 0;\n          do {\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          } while (iVar4 != 0x100);\n          iVar4 = *(int *)(pcStack_240 + -0x7fd8);\n          uVar9 = (uint)*(byte *)(iVar4 + 0x33a);\n          pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b);\n          pbVar15 = abStack_234;\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          do {\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          } while (pbVar7 != (byte *)(iVar4 + 0x43b));\n          iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n          *(char *)(iVar8 + 0x33a) = (char)uVar18;\n          *(undefined1 *)(iVar8 + 0x338) = 1;\n          iVar4 = 0x100;\n        }" (if "if") (parenthesized_expression "(*(char *)(iVar27 + 0x338) == '\0')" (( "(") (binary_expression "*(char *)(iVar27 + 0x338) == '\0'" (pointer_expression "*(char *)(iVar27 + 0x338)" (* "*") (cast_expression "(char *)(iVar27 + 0x338)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x338)" (( "(") (binary_expression "iVar27 + 0x338" (identifier "iVar27") (+ "+") (number_literal "0x338")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          *(undefined1 *)(iVar8 + 0x33a) = 0;\n          *(undefined1 *)(iVar8 + 0x339) = 0;\n          iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0);\n          (**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234);\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          iVar4 = 0;\n          do {\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          } while (iVar4 != 0x100);\n          iVar4 = *(int *)(pcStack_240 + -0x7fd8);\n          uVar9 = (uint)*(byte *)(iVar4 + 0x33a);\n          pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b);\n          pbVar15 = abStack_234;\n          iVar27 = *(int *)(pcStack_240 + -0x7fd8);\n          do {\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          } while (pbVar7 != (byte *)(iVar4 + 0x43b));\n          iVar8 = *(int *)(pcStack_240 + -0x7fd8);\n          *(char *)(iVar8 + 0x33a) = (char)uVar18;\n          *(undefined1 *)(iVar8 + 0x338) = 1;\n          iVar4 = 0x100;\n        }" ({ "{") (expression_statement "*(undefined1 *)(iVar8 + 0x33a) = 0;" (assignment_expression "*(undefined1 *)(iVar8 + 0x33a) = 0" (pointer_expression "*(undefined1 *)(iVar8 + 0x33a)" (* "*") (cast_expression "(undefined1 *)(iVar8 + 0x33a)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x33a)" (( "(") (binary_expression "iVar8 + 0x33a" (identifier "iVar8") (+ "+") (number_literal "0x33a")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(iVar8 + 0x339) = 0;" (assignment_expression "*(undefined1 *)(iVar8 + 0x339) = 0" (pointer_expression "*(undefined1 *)(iVar8 + 0x339)" (* "*") (cast_expression "(undefined1 *)(iVar8 + 0x339)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x339)" (( "(") (binary_expression "iVar8 + 0x339" (identifier "iVar8") (+ "+") (number_literal "0x339")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0);" (assignment_expression "iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcStack_240 + -0x7f14))(0)" (parenthesized_expression "(**(code **)(pcStack_240 + -0x7f14))" (( "(") (pointer_expression "**(code **)(pcStack_240 + -0x7f14)" (* "*") (pointer_expression "*(code **)(pcStack_240 + -0x7f14)" (* "*") (cast_expression "(code **)(pcStack_240 + -0x7f14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_240 + -0x7f14)" (( "(") (binary_expression "pcStack_240 + -0x7f14" (identifier "pcStack_240") (+ "+") (number_literal "-0x7f14")) () ")"))))) () ")")) (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "(**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234);" (call_expression "(**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234)" (parenthesized_expression "(**(code **)(iVar4 + 0x38))" (( "(") (pointer_expression "**(code **)(iVar4 + 0x38)" (* "*") (pointer_expression "*(code **)(iVar4 + 0x38)" (* "*") (cast_expression "(code **)(iVar4 + 0x38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0x38)" (( "(") (binary_expression "iVar4 + 0x38" (identifier "iVar4") (+ "+") (number_literal "0x38")) () ")"))))) () ")")) (argument_list "(iVar4,0x100,abStack_234)" (( "(") (identifier "iVar4") (, ",") (number_literal "0x100") (, ",") (identifier "abStack_234") () ")"))) (; ";")) (expression_statement "iVar27 = *(int *)(pcStack_240 + -0x7fd8);" (assignment_expression "iVar27 = *(int *)(pcStack_240 + -0x7fd8)" (identifier "iVar27") (= "=") (pointer_expression "*(int *)(pcStack_240 + -0x7fd8)" (* "*") (cast_expression "(int *)(pcStack_240 + -0x7fd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_240 + -0x7fd8)" (( "(") (binary_expression "pcStack_240 + -0x7fd8" (identifier "pcStack_240") (+ "+") (number_literal "-0x7fd8")) () ")"))))) (; ";")) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          } while (iVar4 != 0x100);" (do "do") (compound_statement "{\n            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;\n            iVar4 = iVar4 + 1;\n          }" ({ "{") (expression_statement "*(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;" (assignment_expression "*(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4" (pointer_expression "*(char *)(iVar27 + iVar4 + 0x33b)" (* "*") (cast_expression "(char *)(iVar27 + iVar4 + 0x33b)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + iVar4 + 0x33b)" (( "(") (binary_expression "iVar27 + iVar4 + 0x33b" (binary_expression "iVar27 + iVar4" (identifier "iVar27") (+ "+") (identifier "iVar4")) (+ "+") (number_literal "0x33b")) () ")")))) (= "=") (cast_expression "(char)iVar4" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "iVar4"))) (; ";")) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar4 != 0x100)" (( "(") (binary_expression "iVar4 != 0x100" (identifier "iVar4") (!= "!=") (number_literal "0x100")) () ")")) (; ";")) (expression_statement "iVar4 = *(int *)(pcStack_240 + -0x7fd8);" (assignment_expression "iVar4 = *(int *)(pcStack_240 + -0x7fd8)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(pcStack_240 + -0x7fd8)" (* "*") (cast_expression "(int *)(pcStack_240 + -0x7fd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_240 + -0x7fd8)" (( "(") (binary_expression "pcStack_240 + -0x7fd8" (identifier "pcStack_240") (+ "+") (number_literal "-0x7fd8")) () ")"))))) (; ";")) (expression_statement "uVar9 = (uint)*(byte *)(iVar4 + 0x33a);" (assignment_expression "uVar9 = (uint)*(byte *)(iVar4 + 0x33a)" (identifier "uVar9") (= "=") (binary_expression "(uint)*(byte *)(iVar4 + 0x33a)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(iVar4 + 0x33a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x33a)" (( "(") (binary_expression "iVar4 + 0x33a" (identifier "iVar4") (+ "+") (number_literal "0x33a")) () ")"))))) (; ";")) (expression_statement "pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b);" (assignment_expression "pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b)" (identifier "pbVar7") (= "=") (cast_expression "(byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_240 + -0x7fd8) + 0x33b)" (( "(") (binary_expression "*(int *)(pcStack_240 + -0x7fd8) + 0x33b" (pointer_expression "*(int *)(pcStack_240 + -0x7fd8)" (* "*") (cast_expression "(int *)(pcStack_240 + -0x7fd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_240 + -0x7fd8)" (( "(") (binary_expression "pcStack_240 + -0x7fd8" (identifier "pcStack_240") (+ "+") (number_literal "-0x7fd8")) () ")")))) (+ "+") (number_literal "0x33b")) () ")")))) (; ";")) (expression_statement "pbVar15 = abStack_234;" (assignment_expression "pbVar15 = abStack_234" (identifier "pbVar15") (= "=") (identifier "abStack_234")) (; ";")) (expression_statement "iVar27 = *(int *)(pcStack_240 + -0x7fd8);" (assignment_expression "iVar27 = *(int *)(pcStack_240 + -0x7fd8)" (identifier "iVar27") (= "=") (pointer_expression "*(int *)(pcStack_240 + -0x7fd8)" (* "*") (cast_expression "(int *)(pcStack_240 + -0x7fd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_240 + -0x7fd8)" (( "(") (binary_expression "pcStack_240 + -0x7fd8" (identifier "pcStack_240") (+ "+") (number_literal "-0x7fd8")) () ")"))))) (; ";")) (do_statement "do {\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          } while (pbVar7 != (byte *)(iVar4 + 0x43b));" (do "do") (compound_statement "{\n            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;\n            uVar9 = uVar18 & 0xff;\n            iVar8 = iVar27 + 0x338 + uVar9;\n            bVar17 = *(byte *)(iVar8 + 3);\n            *(byte *)(iVar8 + 3) = *pbVar7;\n            *pbVar7 = bVar17;\n            pbVar7 = pbVar7 + 1;\n            pbVar15 = pbVar15 + 1;\n          }" ({ "{") (expression_statement "uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;" (assignment_expression "uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15" (identifier "uVar18") (= "=") (binary_expression "uVar9 + (uint)*pbVar7 + (uint)*pbVar15" (binary_expression "uVar9 + (uint)*pbVar7" (identifier "uVar9") (+ "+") (binary_expression "(uint)*pbVar7" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar7"))) (+ "+") (binary_expression "(uint)*pbVar15" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar15")))) (; ";")) (expression_statement "uVar9 = uVar18 & 0xff;" (assignment_expression "uVar9 = uVar18 & 0xff" (identifier "uVar9") (= "=") (binary_expression "uVar18 & 0xff" (identifier "uVar18") (& "&") (number_literal "0xff"))) (; ";")) (expression_statement "iVar8 = iVar27 + 0x338 + uVar9;" (assignment_expression "iVar8 = iVar27 + 0x338 + uVar9" (identifier "iVar8") (= "=") (binary_expression "iVar27 + 0x338 + uVar9" (binary_expression "iVar27 + 0x338" (identifier "iVar27") (+ "+") (number_literal "0x338")) (+ "+") (identifier "uVar9"))) (; ";")) (expression_statement "bVar17 = *(byte *)(iVar8 + 3);" (assignment_expression "bVar17 = *(byte *)(iVar8 + 3)" (identifier "bVar17") (= "=") (pointer_expression "*(byte *)(iVar8 + 3)" (* "*") (cast_expression "(byte *)(iVar8 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 3)" (( "(") (binary_expression "iVar8 + 3" (identifier "iVar8") (+ "+") (number_literal "3")) () ")"))))) (; ";")) (expression_statement "*(byte *)(iVar8 + 3) = *pbVar7;" (assignment_expression "*(byte *)(iVar8 + 3) = *pbVar7" (pointer_expression "*(byte *)(iVar8 + 3)" (* "*") (cast_expression "(byte *)(iVar8 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 3)" (( "(") (binary_expression "iVar8 + 3" (identifier "iVar8") (+ "+") (number_literal "3")) () ")")))) (= "=") (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7"))) (; ";")) (expression_statement "*pbVar7 = bVar17;" (assignment_expression "*pbVar7 = bVar17" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (= "=") (identifier "bVar17")) (; ";")) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + 1" (identifier "pbVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar15 = pbVar15 + 1;" (assignment_expression "pbVar15 = pbVar15 + 1" (identifier "pbVar15") (= "=") (binary_expression "pbVar15 + 1" (identifier "pbVar15") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pbVar7 != (byte *)(iVar4 + 0x43b))" (( "(") (binary_expression "pbVar7 != (byte *)(iVar4 + 0x43b)" (identifier "pbVar7") (!= "!=") (cast_expression "(byte *)(iVar4 + 0x43b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x43b)" (( "(") (binary_expression "iVar4 + 0x43b" (identifier "iVar4") (+ "+") (number_literal "0x43b")) () ")")))) () ")")) (; ";")) (expression_statement "iVar8 = *(int *)(pcStack_240 + -0x7fd8);" (assignment_expression "iVar8 = *(int *)(pcStack_240 + -0x7fd8)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(pcStack_240 + -0x7fd8)" (* "*") (cast_expression "(int *)(pcStack_240 + -0x7fd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_240 + -0x7fd8)" (( "(") (binary_expression "pcStack_240 + -0x7fd8" (identifier "pcStack_240") (+ "+") (number_literal "-0x7fd8")) () ")"))))) (; ";")) (expression_statement "*(char *)(iVar8 + 0x33a) = (char)uVar18;" (assignment_expression "*(char *)(iVar8 + 0x33a) = (char)uVar18" (pointer_expression "*(char *)(iVar8 + 0x33a)" (* "*") (cast_expression "(char *)(iVar8 + 0x33a)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x33a)" (( "(") (binary_expression "iVar8 + 0x33a" (identifier "iVar8") (+ "+") (number_literal "0x33a")) () ")")))) (= "=") (cast_expression "(char)uVar18" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar18"))) (; ";")) (expression_statement "*(undefined1 *)(iVar8 + 0x338) = 1;" (assignment_expression "*(undefined1 *)(iVar8 + 0x338) = 1" (pointer_expression "*(undefined1 *)(iVar8 + 0x338)" (* "*") (cast_expression "(undefined1 *)(iVar8 + 0x338)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x338)" (( "(") (binary_expression "iVar8 + 0x338" (identifier "iVar8") (+ "+") (number_literal "0x338")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar4 = 0x100;" (assignment_expression "iVar4 = 0x100" (identifier "iVar4") (= "=") (number_literal "0x100")) (; ";")) (} "}"))) (expression_statement "pcVar6 = (code *)(iVar8 + 0x338);" (assignment_expression "pcVar6 = (code *)(iVar8 + 0x338)" (identifier "pcVar6") (= "=") (cast_expression "(code *)(iVar8 + 0x338)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x338)" (( "(") (binary_expression "iVar8 + 0x338" (identifier "iVar8") (+ "+") (number_literal "0x338")) () ")")))) (; ";")) (expression_statement "uVar9 = (uint)*(byte *)(iVar8 + 0x33a);" (assignment_expression "uVar9 = (uint)*(byte *)(iVar8 + 0x33a)" (identifier "uVar9") (= "=") (binary_expression "(uint)*(byte *)(iVar8 + 0x33a)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(iVar8 + 0x33a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x33a)" (( "(") (binary_expression "iVar8 + 0x33a" (identifier "iVar8") (+ "+") (number_literal "0x33a")) () ")"))))) (; ";")) (expression_statement "bVar17 = *(char *)(iVar8 + 0x339) + 1;" (assignment_expression "bVar17 = *(char *)(iVar8 + 0x339) + 1" (identifier "bVar17") (= "=") (binary_expression "*(char *)(iVar8 + 0x339) + 1" (pointer_expression "*(char *)(iVar8 + 0x339)" (* "*") (cast_expression "(char *)(iVar8 + 0x339)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x339)" (( "(") (binary_expression "iVar8 + 0x339" (identifier "iVar8") (+ "+") (number_literal "0x339")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar13 = (code *)((uint)bVar17 - (int)pcVar3);" (assignment_expression "pcVar13 = (code *)((uint)bVar17 - (int)pcVar3)" (identifier "pcVar13") (= "=") (cast_expression "(code *)((uint)bVar17 - (int)pcVar3)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)bVar17 - (int)pcVar3)" (( "(") (binary_expression "(uint)bVar17 - (int)pcVar3" (cast_expression "(uint)bVar17" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar17")) (- "-") (cast_expression "(int)pcVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar3"))) () ")")))) (; ";")) (expression_statement "pcVar5 = pcVar3;" (assignment_expression "pcVar5 = pcVar3" (identifier "pcVar5") (= "=") (identifier "pcVar3")) (; ";")) (do_statement "do {\n          uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff;\n          cVar2 = pcVar6[uVar18 + 3];\n          uVar20 = (byte)cVar2 + uVar9;\n          uVar9 = uVar20 & 0xff;\n          param_4 = pcVar6 + uVar9;\n          pcVar6[uVar18 + 3] = param_4[3];\n          param_4[3] = cVar2;\n          pcVar14 = pcVar5 + 1;\n          *pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3];\n          pcVar5 = pcVar14;\n        } while (pcVar14 != pcVar3 + (int)pcVar22);" (do "do") (compound_statement "{\n          uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff;\n          cVar2 = pcVar6[uVar18 + 3];\n          uVar20 = (byte)cVar2 + uVar9;\n          uVar9 = uVar20 & 0xff;\n          param_4 = pcVar6 + uVar9;\n          pcVar6[uVar18 + 3] = param_4[3];\n          param_4[3] = cVar2;\n          pcVar14 = pcVar5 + 1;\n          *pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3];\n          pcVar5 = pcVar14;\n        }" ({ "{") (expression_statement "uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff;" (assignment_expression "uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff" (identifier "uVar18") (= "=") (binary_expression "(uint)(pcVar5 + (int)pcVar13) & 0xff" (call_expression "(uint)(pcVar5 + (int)pcVar13)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pcVar5 + (int)pcVar13)" (( "(") (binary_expression "pcVar5 + (int)pcVar13" (identifier "pcVar5") (+ "+") (cast_expression "(int)pcVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar13"))) () ")"))) (& "&") (number_literal "0xff"))) (; ";")) (expression_statement "cVar2 = pcVar6[uVar18 + 3];" (assignment_expression "cVar2 = pcVar6[uVar18 + 3]" (identifier "cVar2") (= "=") (subscript_expression "pcVar6[uVar18 + 3]" (identifier "pcVar6") ([ "[") (binary_expression "uVar18 + 3" (identifier "uVar18") (+ "+") (number_literal "3")) (] "]"))) (; ";")) (expression_statement "uVar20 = (byte)cVar2 + uVar9;" (assignment_expression "uVar20 = (byte)cVar2 + uVar9" (identifier "uVar20") (= "=") (binary_expression "(byte)cVar2 + uVar9" (cast_expression "(byte)cVar2" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "cVar2")) (+ "+") (identifier "uVar9"))) (; ";")) (expression_statement "uVar9 = uVar20 & 0xff;" (assignment_expression "uVar9 = uVar20 & 0xff" (identifier "uVar9") (= "=") (binary_expression "uVar20 & 0xff" (identifier "uVar20") (& "&") (number_literal "0xff"))) (; ";")) (expression_statement "param_4 = pcVar6 + uVar9;" (assignment_expression "param_4 = pcVar6 + uVar9" (identifier "param_4") (= "=") (binary_expression "pcVar6 + uVar9" (identifier "pcVar6") (+ "+") (identifier "uVar9"))) (; ";")) (expression_statement "pcVar6[uVar18 + 3] = param_4[3];" (assignment_expression "pcVar6[uVar18 + 3] = param_4[3]" (subscript_expression "pcVar6[uVar18 + 3]" (identifier "pcVar6") ([ "[") (binary_expression "uVar18 + 3" (identifier "uVar18") (+ "+") (number_literal "3")) (] "]")) (= "=") (subscript_expression "param_4[3]" (identifier "param_4") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "param_4[3] = cVar2;" (assignment_expression "param_4[3] = cVar2" (subscript_expression "param_4[3]" (identifier "param_4") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "cVar2")) (; ";")) (expression_statement "pcVar14 = pcVar5 + 1;" (assignment_expression "pcVar14 = pcVar5 + 1" (identifier "pcVar14") (= "=") (binary_expression "pcVar5 + 1" (identifier "pcVar5") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3];" (assignment_expression "*pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3]" (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")) (= "=") (subscript_expression "pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3]" (identifier "pcVar6") ([ "[") (binary_expression "((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3" (parenthesized_expression "((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff)" (( "(") (binary_expression "(uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff" (binary_expression "(uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3]" (cast_expression "(uint)(byte)cVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)cVar2" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "cVar2"))) (+ "+") (cast_expression "(uint)(byte)pcVar6[uVar18 + 3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)pcVar6[uVar18 + 3]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "pcVar6[uVar18 + 3]" (identifier "pcVar6") ([ "[") (binary_expression "uVar18 + 3" (identifier "uVar18") (+ "+") (number_literal "3")) (] "]"))))) (& "&") (number_literal "0xff")) () ")")) (+ "+") (number_literal "3")) (] "]"))) (; ";")) (expression_statement "pcVar5 = pcVar14;" (assignment_expression "pcVar5 = pcVar14" (identifier "pcVar5") (= "=") (identifier "pcVar14")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pcVar14 != pcVar3 + (int)pcVar22)" (( "(") (binary_expression "pcVar14 != pcVar3 + (int)pcVar22" (identifier "pcVar14") (!= "!=") (binary_expression "pcVar3 + (int)pcVar22" (identifier "pcVar3") (+ "+") (cast_expression "(int)pcVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar22")))) () ")")) (; ";")) (expression_statement "iVar27 = *(int *)(pcStack_240 + -0x7fd8);" (assignment_expression "iVar27 = *(int *)(pcStack_240 + -0x7fd8)" (identifier "iVar27") (= "=") (pointer_expression "*(int *)(pcStack_240 + -0x7fd8)" (* "*") (cast_expression "(int *)(pcStack_240 + -0x7fd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_240 + -0x7fd8)" (( "(") (binary_expression "pcStack_240 + -0x7fd8" (identifier "pcStack_240") (+ "+") (number_literal "-0x7fd8")) () ")"))))) (; ";")) (expression_statement "pcVar22 = pcVar22 + -1;" (assignment_expression "pcVar22 = pcVar22 + -1" (identifier "pcVar22") (= "=") (binary_expression "pcVar22 + -1" (identifier "pcVar22") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "*(byte *)(iVar27 + 0x339) = bVar17 + (char)pcVar22;" (assignment_expression "*(byte *)(iVar27 + 0x339) = bVar17 + (char)pcVar22" (pointer_expression "*(byte *)(iVar27 + 0x339)" (* "*") (cast_expression "(byte *)(iVar27 + 0x339)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x339)" (( "(") (binary_expression "iVar27 + 0x339" (identifier "iVar27") (+ "+") (number_literal "0x339")) () ")")))) (= "=") (binary_expression "bVar17 + (char)pcVar22" (identifier "bVar17") (+ "+") (cast_expression "(char)pcVar22" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "pcVar22")))) (; ";")) (expression_statement "*(char *)(iVar27 + 0x33a) = (char)uVar20;" (assignment_expression "*(char *)(iVar27 + 0x33a) = (char)uVar20" (pointer_expression "*(char *)(iVar27 + 0x33a)" (* "*") (cast_expression "(char *)(iVar27 + 0x33a)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x33a)" (( "(") (binary_expression "iVar27 + 0x33a" (identifier "iVar27") (+ "+") (number_literal "0x33a")) () ")")))) (= "=") (cast_expression "(char)uVar20" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar20"))) (; ";")) (expression_statement "(**(code **)(pcStack_240 + -0x7d78))();" (call_expression "(**(code **)(pcStack_240 + -0x7d78))()" (parenthesized_expression "(**(code **)(pcStack_240 + -0x7d78))" (( "(") (pointer_expression "**(code **)(pcStack_240 + -0x7d78)" (* "*") (pointer_expression "*(code **)(pcStack_240 + -0x7d78)" (* "*") (cast_expression "(code **)(pcStack_240 + -0x7d78)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_240 + -0x7d78)" (( "(") (binary_expression "pcStack_240 + -0x7d78" (identifier "pcStack_240") (+ "+") (number_literal "-0x7d78")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar3 = pcVar13;" (assignment_expression "pcVar3 = pcVar13" (identifier "pcVar3") (= "=") (identifier "pcVar13")) (; ";")) (goto_statement "goto LAB_000c4e3c;" (goto "goto") (statement_identifier "LAB_000c4e3c") (; ";")) (} "}"))) (expression_statement "iVar27 = *(int *)(pcStack_240 + -0x7fd8);" (assignment_expression "iVar27 = *(int *)(pcStack_240 + -0x7fd8)" (identifier "iVar27") (= "=") (pointer_expression "*(int *)(pcStack_240 + -0x7fd8)" (* "*") (cast_expression "(int *)(pcStack_240 + -0x7fd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_240 + -0x7fd8)" (( "(") (binary_expression "pcStack_240 + -0x7fd8" (identifier "pcStack_240") (+ "+") (number_literal "-0x7fd8")) () ")"))))) (; ";")) (} "}"))) (expression_statement "*(undefined1 *)(iVar27 + 0x338) = 0;" (assignment_expression "*(undefined1 *)(iVar27 + 0x338) = 0" (pointer_expression "*(undefined1 *)(iVar27 + 0x338)" (* "*") (cast_expression "(undefined1 *)(iVar27 + 0x338)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x338)" (( "(") (binary_expression "iVar27 + 0x338" (identifier "iVar27") (+ "+") (number_literal "0x338")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "(**(code **)(pcStack_240 + -0x7d78))();" (call_expression "(**(code **)(pcStack_240 + -0x7d78))()" (parenthesized_expression "(**(code **)(pcStack_240 + -0x7d78))" (( "(") (pointer_expression "**(code **)(pcStack_240 + -0x7d78)" (* "*") (pointer_expression "*(code **)(pcStack_240 + -0x7d78)" (* "*") (cast_expression "(code **)(pcStack_240 + -0x7d78)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_240 + -0x7d78)" (( "(") (binary_expression "pcStack_240 + -0x7d78" (identifier "pcStack_240") (+ "+") (number_literal "-0x7d78")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_000c4e3c:\n  if (pcStack_134 == (code *)**(int **)(pcStack_240 + -0x7a54)) {\n    return (code *)**(int **)(pcStack_240 + -0x7a54);\n  }" (statement_identifier "LAB_000c4e3c") (: ":") (if_statement "if (pcStack_134 == (code *)**(int **)(pcStack_240 + -0x7a54)) {\n    return (code *)**(int **)(pcStack_240 + -0x7a54);\n  }" (if "if") (parenthesized_expression "(pcStack_134 == (code *)**(int **)(pcStack_240 + -0x7a54))" (( "(") (binary_expression "pcStack_134 == (code *)**(int **)(pcStack_240 + -0x7a54)" (identifier "pcStack_134") (== "==") (cast_expression "(code *)**(int **)(pcStack_240 + -0x7a54)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(int **)(pcStack_240 + -0x7a54)" (* "*") (pointer_expression "*(int **)(pcStack_240 + -0x7a54)" (* "*") (cast_expression "(int **)(pcStack_240 + -0x7a54)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_240 + -0x7a54)" (( "(") (binary_expression "pcStack_240 + -0x7a54" (identifier "pcStack_240") (+ "+") (number_literal "-0x7a54")) () ")"))))))) () ")")) (compound_statement "{\n    return (code *)**(int **)(pcStack_240 + -0x7a54);\n  }" ({ "{") (return_statement "return (code *)**(int **)(pcStack_240 + -0x7a54);" (return "return") (cast_expression "(code *)**(int **)(pcStack_240 + -0x7a54)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(int **)(pcStack_240 + -0x7a54)" (* "*") (pointer_expression "*(int **)(pcStack_240 + -0x7a54)" (* "*") (cast_expression "(int **)(pcStack_240 + -0x7a54)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_240 + -0x7a54)" (( "(") (binary_expression "pcStack_240 + -0x7a54" (identifier "pcStack_240") (+ "+") (number_literal "-0x7a54")) () ")")))))) (; ";")) (} "}")))) (expression_statement "pcVar13 = *(code **)(pcStack_240 + -0x7a80);" (assignment_expression "pcVar13 = *(code **)(pcStack_240 + -0x7a80)" (identifier "pcVar13") (= "=") (pointer_expression "*(code **)(pcStack_240 + -0x7a80)" (* "*") (cast_expression "(code **)(pcStack_240 + -0x7a80)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_240 + -0x7a80)" (( "(") (binary_expression "pcStack_240 + -0x7a80" (identifier "pcStack_240") (+ "+") (number_literal "-0x7a80")) () ")"))))) (; ";")) (expression_statement "pcVar31 = FUN_000c5048;" (assignment_expression "pcVar31 = FUN_000c5048" (identifier "pcVar31") (= "=") (identifier "FUN_000c5048")) (; ";")) (expression_statement "(*pcVar13)();" (call_expression "(*pcVar13)()" (parenthesized_expression "(*pcVar13)" (( "(") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcStack_330 = pcVar13 + 0xd28d8;" (assignment_expression "pcStack_330 = pcVar13 + 0xd28d8" (identifier "pcStack_330") (= "=") (binary_expression "pcVar13 + 0xd28d8" (identifier "pcVar13") (+ "+") (number_literal "0xd28d8"))) (; ";")) (expression_statement "iStack_27c = **(int **)(pcVar13 + 0xcae84);" (assignment_expression "iStack_27c = **(int **)(pcVar13 + 0xcae84)" (identifier "iStack_27c") (= "=") (pointer_expression "**(int **)(pcVar13 + 0xcae84)" (* "*") (pointer_expression "*(int **)(pcVar13 + 0xcae84)" (* "*") (cast_expression "(int **)(pcVar13 + 0xcae84)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar13 + 0xcae84)" (( "(") (binary_expression "pcVar13 + 0xcae84" (identifier "pcVar13") (+ "+") (number_literal "0xcae84")) () ")")))))) (; ";")) (expression_statement "*pcVar14 = (code)0x0;" (assignment_expression "*pcVar14 = (code)0x0" (pointer_expression "*pcVar14" (* "*") (identifier "pcVar14")) (= "=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pcVar5 = (code *)**(undefined4 **)(pcVar13 + 0xcac68);" (assignment_expression "pcVar5 = (code *)**(undefined4 **)(pcVar13 + 0xcac68)" (identifier "pcVar5") (= "=") (cast_expression "(code *)**(undefined4 **)(pcVar13 + 0xcac68)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(pcVar13 + 0xcac68)" (* "*") (pointer_expression "*(undefined4 **)(pcVar13 + 0xcac68)" (* "*") (cast_expression "(undefined4 **)(pcVar13 + 0xcac68)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar13 + 0xcac68)" (( "(") (binary_expression "pcVar13 + 0xcac68" (identifier "pcVar13") (+ "+") (number_literal "0xcac68")) () ")"))))))) (; ";")) (expression_statement "iStack_278 = iVar4;" (assignment_expression "iStack_278 = iVar4" (identifier "iStack_278") (= "=") (identifier "iVar4")) (; ";")) (expression_statement "pcStack_274 = pcVar3;" (assignment_expression "pcStack_274 = pcVar3" (identifier "pcStack_274") (= "=") (identifier "pcVar3")) (; ";")) (expression_statement "pcStack_270 = pcVar22;" (assignment_expression "pcStack_270 = pcVar22" (identifier "pcStack_270") (= "=") (identifier "pcVar22")) (; ";")) (expression_statement "pcStack_26c = unaff_s3;" (assignment_expression "pcStack_26c = unaff_s3" (identifier "pcStack_26c") (= "=") (identifier "unaff_s3")) (; ";")) (expression_statement "pcStack_268 = unaff_s4;" (assignment_expression "pcStack_268 = unaff_s4" (identifier "pcStack_268") (= "=") (identifier "unaff_s4")) (; ";")) (expression_statement "pcStack_264 = unaff_s5;" (assignment_expression "pcStack_264 = unaff_s5" (identifier "pcStack_264") (= "=") (identifier "unaff_s5")) (; ";")) (expression_statement "pcStack_260 = unaff_s6;" (assignment_expression "pcStack_260 = unaff_s6" (identifier "pcStack_260") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "pcStack_25c = unaff_s7;" (assignment_expression "pcStack_25c = unaff_s7" (identifier "pcStack_25c") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "pcStack_258 = unaff_s8;" (assignment_expression "pcStack_258 = unaff_s8" (identifier "pcStack_258") (= "=") (identifier "unaff_s8")) (; ";")) (expression_statement "pcStack_254 = pcVar31;" (assignment_expression "pcStack_254 = pcVar31" (identifier "pcStack_254") (= "=") (identifier "pcVar31")) (; ";")) (if_statement "if (*(int *)(*(int *)(pcVar13 + 0xca900) + -0xb90) == 0) {\n    uVar29 = (**(code **)(pcVar13 + 0xcae0c))(*(int *)(pcVar13 + 0xca914) + -0x45f4);\n    *(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90) = uVar29;\n  }" (if "if") (parenthesized_expression "(*(int *)(*(int *)(pcVar13 + 0xca900) + -0xb90) == 0)" (( "(") (binary_expression "*(int *)(*(int *)(pcVar13 + 0xca900) + -0xb90) == 0" (pointer_expression "*(int *)(*(int *)(pcVar13 + 0xca900) + -0xb90)" (* "*") (cast_expression "(int *)(*(int *)(pcVar13 + 0xca900) + -0xb90)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar13 + 0xca900) + -0xb90)" (( "(") (binary_expression "*(int *)(pcVar13 + 0xca900) + -0xb90" (pointer_expression "*(int *)(pcVar13 + 0xca900)" (* "*") (cast_expression "(int *)(pcVar13 + 0xca900)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar13 + 0xca900)" (( "(") (binary_expression "pcVar13 + 0xca900" (identifier "pcVar13") (+ "+") (number_literal "0xca900")) () ")")))) (+ "+") (number_literal "-0xb90")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar29 = (**(code **)(pcVar13 + 0xcae0c))(*(int *)(pcVar13 + 0xca914) + -0x45f4);\n    *(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90) = uVar29;\n  }" ({ "{") (expression_statement "uVar29 = (**(code **)(pcVar13 + 0xcae0c))(*(int *)(pcVar13 + 0xca914) + -0x45f4);" (assignment_expression "uVar29 = (**(code **)(pcVar13 + 0xcae0c))(*(int *)(pcVar13 + 0xca914) + -0x45f4)" (identifier "uVar29") (= "=") (call_expression "(**(code **)(pcVar13 + 0xcae0c))(*(int *)(pcVar13 + 0xca914) + -0x45f4)" (parenthesized_expression "(**(code **)(pcVar13 + 0xcae0c))" (( "(") (pointer_expression "**(code **)(pcVar13 + 0xcae0c)" (* "*") (pointer_expression "*(code **)(pcVar13 + 0xcae0c)" (* "*") (cast_expression "(code **)(pcVar13 + 0xcae0c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar13 + 0xcae0c)" (( "(") (binary_expression "pcVar13 + 0xcae0c" (identifier "pcVar13") (+ "+") (number_literal "0xcae0c")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar13 + 0xca914) + -0x45f4)" (( "(") (binary_expression "*(int *)(pcVar13 + 0xca914) + -0x45f4" (pointer_expression "*(int *)(pcVar13 + 0xca914)" (* "*") (cast_expression "(int *)(pcVar13 + 0xca914)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar13 + 0xca914)" (( "(") (binary_expression "pcVar13 + 0xca914" (identifier "pcVar13") (+ "+") (number_literal "0xca914")) () ")")))) (+ "+") (number_literal "-0x45f4")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90) = uVar29;" (assignment_expression "*(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90) = uVar29" (pointer_expression "*(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90)" (* "*") (cast_expression "(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_330 + -0x7fd8) + -0xb90)" (( "(") (binary_expression "*(int *)(pcStack_330 + -0x7fd8) + -0xb90" (pointer_expression "*(int *)(pcStack_330 + -0x7fd8)" (* "*") (cast_expression "(int *)(pcStack_330 + -0x7fd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_330 + -0x7fd8)" (( "(") (binary_expression "pcStack_330 + -0x7fd8" (identifier "pcStack_330") (+ "+") (number_literal "-0x7fd8")) () ")")))) (+ "+") (number_literal "-0xb90")) () ")")))) (= "=") (identifier "uVar29")) (; ";")) (} "}"))) (if_statement "if (*(int *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) == 0) {\n    uVar29 = (**(code **)(pcStack_330 + -0x7acc))(*(int *)(pcStack_330 + -0x7fc4) + -0x45e4);\n    *(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) = uVar29;\n  }" (if "if") (parenthesized_expression "(*(int *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) == 0)" (( "(") (binary_expression "*(int *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) == 0" (pointer_expression "*(int *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c)" (* "*") (cast_expression "(int *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c)" (( "(") (binary_expression "*(int *)(pcStack_330 + -0x7fd8) + -0xb8c" (pointer_expression "*(int *)(pcStack_330 + -0x7fd8)" (* "*") (cast_expression "(int *)(pcStack_330 + -0x7fd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_330 + -0x7fd8)" (( "(") (binary_expression "pcStack_330 + -0x7fd8" (identifier "pcStack_330") (+ "+") (number_literal "-0x7fd8")) () ")")))) (+ "+") (number_literal "-0xb8c")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar29 = (**(code **)(pcStack_330 + -0x7acc))(*(int *)(pcStack_330 + -0x7fc4) + -0x45e4);\n    *(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) = uVar29;\n  }" ({ "{") (expression_statement "uVar29 = (**(code **)(pcStack_330 + -0x7acc))(*(int *)(pcStack_330 + -0x7fc4) + -0x45e4);" (assignment_expression "uVar29 = (**(code **)(pcStack_330 + -0x7acc))(*(int *)(pcStack_330 + -0x7fc4) + -0x45e4)" (identifier "uVar29") (= "=") (call_expression "(**(code **)(pcStack_330 + -0x7acc))(*(int *)(pcStack_330 + -0x7fc4) + -0x45e4)" (parenthesized_expression "(**(code **)(pcStack_330 + -0x7acc))" (( "(") (pointer_expression "**(code **)(pcStack_330 + -0x7acc)" (* "*") (pointer_expression "*(code **)(pcStack_330 + -0x7acc)" (* "*") (cast_expression "(code **)(pcStack_330 + -0x7acc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_330 + -0x7acc)" (( "(") (binary_expression "pcStack_330 + -0x7acc" (identifier "pcStack_330") (+ "+") (number_literal "-0x7acc")) () ")"))))) () ")")) (argument_list "(*(int *)(pcStack_330 + -0x7fc4) + -0x45e4)" (( "(") (binary_expression "*(int *)(pcStack_330 + -0x7fc4) + -0x45e4" (pointer_expression "*(int *)(pcStack_330 + -0x7fc4)" (* "*") (cast_expression "(int *)(pcStack_330 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_330 + -0x7fc4)" (( "(") (binary_expression "pcStack_330 + -0x7fc4" (identifier "pcStack_330") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x45e4")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) = uVar29;" (assignment_expression "*(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) = uVar29" (pointer_expression "*(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c)" (* "*") (cast_expression "(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c)" (( "(") (binary_expression "*(int *)(pcStack_330 + -0x7fd8) + -0xb8c" (pointer_expression "*(int *)(pcStack_330 + -0x7fd8)" (* "*") (cast_expression "(int *)(pcStack_330 + -0x7fd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_330 + -0x7fd8)" (( "(") (binary_expression "pcStack_330 + -0x7fd8" (identifier "pcStack_330") (+ "+") (number_literal "-0x7fd8")) () ")")))) (+ "+") (number_literal "-0xb8c")) () ")")))) (= "=") (identifier "uVar29")) (; ";")) (} "}"))) (expression_statement "pcVar3 = (code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90);" (assignment_expression "pcVar3 = (code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90)" (identifier "pcVar3") (= "=") (cast_expression "(code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_330 + -0x7fd8) + -0xb90)" (( "(") (binary_expression "*(int *)(pcStack_330 + -0x7fd8) + -0xb90" (pointer_expression "*(int *)(pcStack_330 + -0x7fd8)" (* "*") (cast_expression "(int *)(pcStack_330 + -0x7fd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_330 + -0x7fd8)" (( "(") (binary_expression "pcStack_330 + -0x7fd8" (identifier "pcStack_330") (+ "+") (number_literal "-0x7fd8")) () ")")))) (+ "+") (number_literal "-0xb90")) () ")")))) (; ";")) (expression_statement "pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb78);" (assignment_expression "pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb78)" (identifier "pcVar31") (= "=") (cast_expression "(code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb78)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_330 + -0x7fd8) + -0xb78)" (( "(") (binary_expression "*(int *)(pcStack_330 + -0x7fd8) + -0xb78" (pointer_expression "*(int *)(pcStack_330 + -0x7fd8)" (* "*") (cast_expression "(int *)(pcStack_330 + -0x7fd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_330 + -0x7fd8)" (( "(") (binary_expression "pcStack_330 + -0x7fd8" (identifier "pcStack_330") (+ "+") (number_literal "-0x7fd8")) () ")")))) (+ "+") (number_literal "-0xb78")) () ")")))) (; ";")) (expression_statement "pcVar26 = (code *)auStack_320;" (assignment_expression "pcVar26 = (code *)auStack_320" (identifier "pcVar26") (= "=") (cast_expression "(code *)auStack_320" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "auStack_320"))) (; ";")) (expression_statement "iVar4 = *(int *)(pcStack_330 + -0x7fd8);" (assignment_expression "iVar4 = *(int *)(pcStack_330 + -0x7fd8)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(pcStack_330 + -0x7fd8)" (* "*") (cast_expression "(int *)(pcStack_330 + -0x7fd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_330 + -0x7fd8)" (( "(") (binary_expression "pcStack_330 + -0x7fd8" (identifier "pcStack_330") (+ "+") (number_literal "-0x7fd8")) () ")"))))) (; ";")) (expression_statement "pcVar13 = (code *)(iVar4 + -0x840);" (assignment_expression "pcVar13 = (code *)(iVar4 + -0x840)" (identifier "pcVar13") (= "=") (cast_expression "(code *)(iVar4 + -0x840)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + -0x840)" (( "(") (binary_expression "iVar4 + -0x840" (identifier "iVar4") (+ "+") (number_literal "-0x840")) () ")")))) (; ";")) (expression_statement "iVar27 = 0x4000;" (assignment_expression "iVar27 = 0x4000" (identifier "iVar27") (= "=") (number_literal "0x4000")) (; ";")) (expression_statement "pcVar22 = pcStack_330;" (assignment_expression "pcVar22 = pcStack_330" (identifier "pcVar22") (= "=") (identifier "pcStack_330")) (; ";")) (while_statement "while( true ) {\n    pcVar30 = pcVar26;\n    if ((((pcVar5 != (code *)0x0) &&\n         (iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) &&\n        (pcVar30 = (code *)0x3, (uStack_308 & 0xf000) == 0x4000)) &&\n       (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) {\n      pcVar3 = (code *)&DAT_0000000c;\n      pcVar26 = (code *)&uStack_328;\n      pcVar13 = pcVar14 + (int)(pcVar25 + -2);\n      pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fc4) + -0x45dc);\n      iVar4 = *(int *)(pcStack_330 + -0x7fd8);\n      iVar27 = iVar4 + -0x840;\n      goto LAB_000c51a4;\n    }\n    pcVar23 = (code *)0x190a;\n    if (pcVar3 == pcVar31) break;\n    pcVar5 = *(code **)pcVar3;\n    pcVar3 = pcVar3 + 4;\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    pcVar30 = pcVar26;\n    if ((((pcVar5 != (code *)0x0) &&\n         (iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) &&\n        (pcVar30 = (code *)0x3, (uStack_308 & 0xf000) == 0x4000)) &&\n       (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) {\n      pcVar3 = (code *)&DAT_0000000c;\n      pcVar26 = (code *)&uStack_328;\n      pcVar13 = pcVar14 + (int)(pcVar25 + -2);\n      pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fc4) + -0x45dc);\n      iVar4 = *(int *)(pcStack_330 + -0x7fd8);\n      iVar27 = iVar4 + -0x840;\n      goto LAB_000c51a4;\n    }\n    pcVar23 = (code *)0x190a;\n    if (pcVar3 == pcVar31) break;\n    pcVar5 = *(code **)pcVar3;\n    pcVar3 = pcVar3 + 4;\n  }" ({ "{") (expression_statement "pcVar30 = pcVar26;" (assignment_expression "pcVar30 = pcVar26" (identifier "pcVar30") (= "=") (identifier "pcVar26")) (; ";")) (if_statement "if ((((pcVar5 != (code *)0x0) &&\n         (iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) &&\n        (pcVar30 = (code *)0x3, (uStack_308 & 0xf000) == 0x4000)) &&\n       (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) {\n      pcVar3 = (code *)&DAT_0000000c;\n      pcVar26 = (code *)&uStack_328;\n      pcVar13 = pcVar14 + (int)(pcVar25 + -2);\n      pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fc4) + -0x45dc);\n      iVar4 = *(int *)(pcStack_330 + -0x7fd8);\n      iVar27 = iVar4 + -0x840;\n      goto LAB_000c51a4;\n    }" (if "if") (parenthesized_expression "((((pcVar5 != (code *)0x0) &&\n         (iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) &&\n        (pcVar30 = (code *)0x3, (uStack_308 & 0xf000) == 0x4000)) &&\n       (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0))" (( "(") (binary_expression "(((pcVar5 != (code *)0x0) &&\n         (iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) &&\n        (pcVar30 = (code *)0x3, (uStack_308 & 0xf000) == 0x4000)) &&\n       (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)" (parenthesized_expression "(((pcVar5 != (code *)0x0) &&\n         (iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) &&\n        (pcVar30 = (code *)0x3, (uStack_308 & 0xf000) == 0x4000))" (( "(") (binary_expression "((pcVar5 != (code *)0x0) &&\n         (iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) &&\n        (pcVar30 = (code *)0x3, (uStack_308 & 0xf000) == 0x4000)" (parenthesized_expression "((pcVar5 != (code *)0x0) &&\n         (iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0))" (( "(") (binary_expression "(pcVar5 != (code *)0x0) &&\n         (iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)" (parenthesized_expression "(pcVar5 != (code *)0x0)" (( "(") (binary_expression "pcVar5 != (code *)0x0" (identifier "pcVar5") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)" (( "(") (comma_expression "iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0" (assignment_expression "iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5)" (identifier "iVar8") (= "=") (call_expression "(**(code **)(iVar4 + -0x80c))(pcVar5)" (parenthesized_expression "(**(code **)(iVar4 + -0x80c))" (( "(") (pointer_expression "**(code **)(iVar4 + -0x80c)" (* "*") (pointer_expression "*(code **)(iVar4 + -0x80c)" (* "*") (cast_expression "(code **)(iVar4 + -0x80c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + -0x80c)" (( "(") (binary_expression "iVar4 + -0x80c" (identifier "iVar4") (+ "+") (number_literal "-0x80c")) () ")"))))) () ")")) (argument_list "(pcVar5)" (( "(") (identifier "pcVar5") () ")")))) (, ",") (comma_expression "pcVar22 = pcStack_330, iVar8 == 0" (assignment_expression "pcVar22 = pcStack_330" (identifier "pcVar22") (= "=") (identifier "pcStack_330")) (, ",") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(pcVar30 = (code *)0x3, (uStack_308 & 0xf000) == 0x4000)" (( "(") (comma_expression "pcVar30 = (code *)0x3, (uStack_308 & 0xf000) == 0x4000" (assignment_expression "pcVar30 = (code *)0x3" (identifier "pcVar30") (= "=") (cast_expression "(code *)0x3" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3"))) (, ",") (binary_expression "(uStack_308 & 0xf000) == 0x4000" (parenthesized_expression "(uStack_308 & 0xf000)" (( "(") (binary_expression "uStack_308 & 0xf000" (identifier "uStack_308") (& "&") (number_literal "0xf000")) () ")")) (== "==") (number_literal "0x4000"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar8 = (**(code **)(iVar4 + -0x824))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)" (( "(") (comma_expression "iVar8 = (**(code **)(iVar4 + -0x824))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0" (assignment_expression "iVar8 = (**(code **)(iVar4 + -0x824))(pcVar5)" (identifier "iVar8") (= "=") (call_expression "(**(code **)(iVar4 + -0x824))(pcVar5)" (parenthesized_expression "(**(code **)(iVar4 + -0x824))" (( "(") (pointer_expression "**(code **)(iVar4 + -0x824)" (* "*") (pointer_expression "*(code **)(iVar4 + -0x824)" (* "*") (cast_expression "(code **)(iVar4 + -0x824)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + -0x824)" (( "(") (binary_expression "iVar4 + -0x824" (identifier "iVar4") (+ "+") (number_literal "-0x824")) () ")"))))) () ")")) (argument_list "(pcVar5)" (( "(") (identifier "pcVar5") () ")")))) (, ",") (comma_expression "pcVar22 = pcStack_330, iVar8 == 0" (assignment_expression "pcVar22 = pcStack_330" (identifier "pcVar22") (= "=") (identifier "pcStack_330")) (, ",") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")))) () ")"))) () ")")) (compound_statement "{\n      pcVar3 = (code *)&DAT_0000000c;\n      pcVar26 = (code *)&uStack_328;\n      pcVar13 = pcVar14 + (int)(pcVar25 + -2);\n      pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fc4) + -0x45dc);\n      iVar4 = *(int *)(pcStack_330 + -0x7fd8);\n      iVar27 = iVar4 + -0x840;\n      goto LAB_000c51a4;\n    }" ({ "{") (expression_statement "pcVar3 = (code *)&DAT_0000000c;" (assignment_expression "pcVar3 = (code *)&DAT_0000000c" (identifier "pcVar3") (= "=") (cast_expression "(code *)&DAT_0000000c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_0000000c" (& "&") (identifier "DAT_0000000c")))) (; ";")) (expression_statement "pcVar26 = (code *)&uStack_328;" (assignment_expression "pcVar26 = (code *)&uStack_328" (identifier "pcVar26") (= "=") (cast_expression "(code *)&uStack_328" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&uStack_328" (& "&") (identifier "uStack_328")))) (; ";")) (expression_statement "pcVar13 = pcVar14 + (int)(pcVar25 + -2);" (assignment_expression "pcVar13 = pcVar14 + (int)(pcVar25 + -2)" (identifier "pcVar13") (= "=") (binary_expression "pcVar14 + (int)(pcVar25 + -2)" (identifier "pcVar14") (+ "+") (cast_expression "(int)(pcVar25 + -2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pcVar25 + -2)" (( "(") (binary_expression "pcVar25 + -2" (identifier "pcVar25") (+ "+") (number_literal "-2")) () ")"))))) (; ";")) (expression_statement "pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fc4) + -0x45dc);" (assignment_expression "pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fc4) + -0x45dc)" (identifier "pcVar31") (= "=") (cast_expression "(code *)(*(int *)(pcStack_330 + -0x7fc4) + -0x45dc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_330 + -0x7fc4) + -0x45dc)" (( "(") (binary_expression "*(int *)(pcStack_330 + -0x7fc4) + -0x45dc" (pointer_expression "*(int *)(pcStack_330 + -0x7fc4)" (* "*") (cast_expression "(int *)(pcStack_330 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_330 + -0x7fc4)" (( "(") (binary_expression "pcStack_330 + -0x7fc4" (identifier "pcStack_330") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x45dc")) () ")")))) (; ";")) (expression_statement "iVar4 = *(int *)(pcStack_330 + -0x7fd8);" (assignment_expression "iVar4 = *(int *)(pcStack_330 + -0x7fd8)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(pcStack_330 + -0x7fd8)" (* "*") (cast_expression "(int *)(pcStack_330 + -0x7fd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_330 + -0x7fd8)" (( "(") (binary_expression "pcStack_330 + -0x7fd8" (identifier "pcStack_330") (+ "+") (number_literal "-0x7fd8")) () ")"))))) (; ";")) (expression_statement "iVar27 = iVar4 + -0x840;" (assignment_expression "iVar27 = iVar4 + -0x840" (identifier "iVar27") (= "=") (binary_expression "iVar4 + -0x840" (identifier "iVar4") (+ "+") (number_literal "-0x840"))) (; ";")) (goto_statement "goto LAB_000c51a4;" (goto "goto") (statement_identifier "LAB_000c51a4") (; ";")) (} "}"))) (expression_statement "pcVar23 = (code *)0x190a;" (assignment_expression "pcVar23 = (code *)0x190a" (identifier "pcVar23") (= "=") (cast_expression "(code *)0x190a" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x190a"))) (; ";")) (if_statement "if (pcVar3 == pcVar31) break;" (if "if") (parenthesized_expression "(pcVar3 == pcVar31)" (( "(") (binary_expression "pcVar3 == pcVar31" (identifier "pcVar3") (== "==") (identifier "pcVar31")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pcVar5 = *(code **)pcVar3;" (assignment_expression "pcVar5 = *(code **)pcVar3" (identifier "pcVar5") (= "=") (pointer_expression "*(code **)pcVar3" (* "*") (cast_expression "(code **)pcVar3" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pcVar3")))) (; ";")) (expression_statement "pcVar3 = pcVar3 + 4;" (assignment_expression "pcVar3 = pcVar3 + 4" (identifier "pcVar3") (= "=") (binary_expression "pcVar3 + 4" (identifier "pcVar3") (+ "+") (number_literal "4"))) (; ";")) (} "}"))) (goto_statement "goto LAB_000c5230;" (goto "goto") (statement_identifier "LAB_000c5230") (; ";")) (labeled_statement "joined_r0x000c5ce4:\n  if (param_4 == pcVar5) goto LAB_000c5d10;" (statement_identifier "joined_r0x000c5ce4") (: ":") (if_statement "if (param_4 == pcVar5) goto LAB_000c5d10;" (if "if") (parenthesized_expression "(param_4 == pcVar5)" (( "(") (binary_expression "param_4 == pcVar5" (identifier "param_4") (== "==") (identifier "pcVar5")) () ")")) (goto_statement "goto LAB_000c5d10;" (goto "goto") (statement_identifier "LAB_000c5d10") (; ";")))) (expression_statement "piVar21 = (int *)piVar11[2];" (assignment_expression "piVar21 = (int *)piVar11[2]" (identifier "piVar21") (= "=") (cast_expression "(int *)piVar11[2]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar11[2]" (identifier "piVar11") ([ "[") (number_literal "2") (] "]")))) (; ";")) (if_statement "if (piVar21 == (int *)0x0) goto LAB_000c6494;" (if "if") (parenthesized_expression "(piVar21 == (int *)0x0)" (( "(") (binary_expression "piVar21 == (int *)0x0" (identifier "piVar21") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000c6494;" (goto "goto") (statement_identifier "LAB_000c6494") (; ";"))) (expression_statement "pcVar5 = (code *)piVar21[1];" (assignment_expression "pcVar5 = (code *)piVar21[1]" (identifier "pcVar5") (= "=") (cast_expression "(code *)piVar21[1]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar21[1]" (identifier "piVar21") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "piVar12 = piVar11 + 2;" (assignment_expression "piVar12 = piVar11 + 2" (identifier "piVar12") (= "=") (binary_expression "piVar11 + 2" (identifier "piVar11") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "piVar11 = piVar21;" (assignment_expression "piVar11 = piVar21" (identifier "piVar11") (= "=") (identifier "piVar21")) (; ";")) (goto_statement "goto joined_r0x000c5ce4;" (goto "goto") (statement_identifier "joined_r0x000c5ce4") (; ";")) (labeled_statement "LAB_000c5d10:\n  *piVar12 = piVar11[2];" (statement_identifier "LAB_000c5d10") (: ":") (expression_statement "*piVar12 = piVar11[2];" (assignment_expression "*piVar12 = piVar11[2]" (pointer_expression "*piVar12" (* "*") (identifier "piVar12")) (= "=") (subscript_expression "piVar11[2]" (identifier "piVar11") ([ "[") (number_literal "2") (] "]"))) (; ";"))) (expression_statement "(**(code **)(pcVar22 + 0xca2ac))(piVar10[4]);" (call_expression "(**(code **)(pcVar22 + 0xca2ac))(piVar10[4])" (parenthesized_expression "(**(code **)(pcVar22 + 0xca2ac))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0xca2ac)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0xca2ac)" (* "*") (cast_expression "(code **)(pcVar22 + 0xca2ac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0xca2ac)" (( "(") (binary_expression "pcVar22 + 0xca2ac" (identifier "pcVar22") (+ "+") (number_literal "0xca2ac")) () ")"))))) () ")")) (argument_list "(piVar10[4])" (( "(") (subscript_expression "piVar10[4]" (identifier "piVar10") ([ "[") (number_literal "4") (] "]")) () ")"))) (; ";")) (expression_statement "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();" (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8)" (* "*") (cast_expression "(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca25c) + 0x27b8)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca25c) + 0x27b8" (pointer_expression "*(int *)(pcVar22 + 0xca25c)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca25c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca25c)" (( "(") (binary_expression "pcVar22 + 0xca25c" (identifier "pcVar22") (+ "+") (number_literal "0xca25c")) () ")")))) (+ "+") (number_literal "0x27b8")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar4 = *piVar11;" (assignment_expression "iVar4 = *piVar11" (identifier "iVar4") (= "=") (pointer_expression "*piVar11" (* "*") (identifier "piVar11"))) (; ";")) (goto_statement "goto LAB_000c5d44;" (goto "goto") (statement_identifier "LAB_000c5d44") (; ";")) (labeled_statement "LAB_000c6494:\n  (**(code **)(pcVar22 + 0xca2ac))(piVar10[4]);" (statement_identifier "LAB_000c6494") (: ":") (expression_statement "(**(code **)(pcVar22 + 0xca2ac))(piVar10[4]);" (call_expression "(**(code **)(pcVar22 + 0xca2ac))(piVar10[4])" (parenthesized_expression "(**(code **)(pcVar22 + 0xca2ac))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0xca2ac)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0xca2ac)" (* "*") (cast_expression "(code **)(pcVar22 + 0xca2ac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0xca2ac)" (( "(") (binary_expression "pcVar22 + 0xca2ac" (identifier "pcVar22") (+ "+") (number_literal "0xca2ac")) () ")"))))) () ")")) (argument_list "(piVar10[4])" (( "(") (subscript_expression "piVar10[4]" (identifier "piVar10") ([ "[") (number_literal "4") (] "]")) () ")"))) (; ";"))) (expression_statement "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();" (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8)" (* "*") (cast_expression "(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca25c) + 0x27b8)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca25c) + 0x27b8" (pointer_expression "*(int *)(pcVar22 + 0xca25c)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca25c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca25c)" (( "(") (binary_expression "pcVar22 + 0xca25c" (identifier "pcVar22") (+ "+") (number_literal "0xca25c")) () ")")))) (+ "+") (number_literal "0x27b8")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_000c642c;" (goto "goto") (statement_identifier "LAB_000c642c") (; ";")) (while_statement "while (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar14), iVar8 == 0) {\nLAB_000c51a4:\n    sqlite3_randomness(8,pcVar26);\n    *pcVar13 = (code)0x0;\n    uStack_338 = 0;\n    uStack_33c = uStack_324;\n    uStack_340 = uStack_328;\n    pcVar30 = pcVar14;\n    pcVar6 = pcVar31;\n    param_4 = pcVar5;\n    (**(code **)(pcStack_330 + -0x7ec4))(pcVar25);\n    pcVar3 = pcVar3 + -1;\n    if ((*pcVar13 != (code)0x0) || (pcVar30 = (code *)0x0, pcVar3 == (code *)0x0)) {\n      pcVar23 = (code *)0x1;\n      pcVar22 = pcStack_330;\n      goto LAB_000c5230;\n    }\n  }" (while "while") (parenthesized_expression "(iVar8 = (**(code **)(iVar4 + -0x824))(pcVar14), iVar8 == 0)" (( "(") (comma_expression "iVar8 = (**(code **)(iVar4 + -0x824))(pcVar14), iVar8 == 0" (assignment_expression "iVar8 = (**(code **)(iVar4 + -0x824))(pcVar14)" (identifier "iVar8") (= "=") (call_expression "(**(code **)(iVar4 + -0x824))(pcVar14)" (parenthesized_expression "(**(code **)(iVar4 + -0x824))" (( "(") (pointer_expression "**(code **)(iVar4 + -0x824)" (* "*") (pointer_expression "*(code **)(iVar4 + -0x824)" (* "*") (cast_expression "(code **)(iVar4 + -0x824)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + -0x824)" (( "(") (binary_expression "iVar4 + -0x824" (identifier "iVar4") (+ "+") (number_literal "-0x824")) () ")"))))) () ")")) (argument_list "(pcVar14)" (( "(") (identifier "pcVar14") () ")")))) (, ",") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0"))) () ")")) (compound_statement "{\nLAB_000c51a4:\n    sqlite3_randomness(8,pcVar26);\n    *pcVar13 = (code)0x0;\n    uStack_338 = 0;\n    uStack_33c = uStack_324;\n    uStack_340 = uStack_328;\n    pcVar30 = pcVar14;\n    pcVar6 = pcVar31;\n    param_4 = pcVar5;\n    (**(code **)(pcStack_330 + -0x7ec4))(pcVar25);\n    pcVar3 = pcVar3 + -1;\n    if ((*pcVar13 != (code)0x0) || (pcVar30 = (code *)0x0, pcVar3 == (code *)0x0)) {\n      pcVar23 = (code *)0x1;\n      pcVar22 = pcStack_330;\n      goto LAB_000c5230;\n    }\n  }" ({ "{") (labeled_statement "LAB_000c51a4:\n    sqlite3_randomness(8,pcVar26);" (statement_identifier "LAB_000c51a4") (: ":") (expression_statement "sqlite3_randomness(8,pcVar26);" (call_expression "sqlite3_randomness(8,pcVar26)" (identifier "sqlite3_randomness") (argument_list "(8,pcVar26)" (( "(") (number_literal "8") (, ",") (identifier "pcVar26") () ")"))) (; ";"))) (expression_statement "*pcVar13 = (code)0x0;" (assignment_expression "*pcVar13 = (code)0x0" (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) (= "=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "uStack_338 = 0;" (assignment_expression "uStack_338 = 0" (identifier "uStack_338") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_33c = uStack_324;" (assignment_expression "uStack_33c = uStack_324" (identifier "uStack_33c") (= "=") (identifier "uStack_324")) (; ";")) (expression_statement "uStack_340 = uStack_328;" (assignment_expression "uStack_340 = uStack_328" (identifier "uStack_340") (= "=") (identifier "uStack_328")) (; ";")) (expression_statement "pcVar30 = pcVar14;" (assignment_expression "pcVar30 = pcVar14" (identifier "pcVar30") (= "=") (identifier "pcVar14")) (; ";")) (expression_statement "pcVar6 = pcVar31;" (assignment_expression "pcVar6 = pcVar31" (identifier "pcVar6") (= "=") (identifier "pcVar31")) (; ";")) (expression_statement "param_4 = pcVar5;" (assignment_expression "param_4 = pcVar5" (identifier "param_4") (= "=") (identifier "pcVar5")) (; ";")) (expression_statement "(**(code **)(pcStack_330 + -0x7ec4))(pcVar25);" (call_expression "(**(code **)(pcStack_330 + -0x7ec4))(pcVar25)" (parenthesized_expression "(**(code **)(pcStack_330 + -0x7ec4))" (( "(") (pointer_expression "**(code **)(pcStack_330 + -0x7ec4)" (* "*") (pointer_expression "*(code **)(pcStack_330 + -0x7ec4)" (* "*") (cast_expression "(code **)(pcStack_330 + -0x7ec4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_330 + -0x7ec4)" (( "(") (binary_expression "pcStack_330 + -0x7ec4" (identifier "pcStack_330") (+ "+") (number_literal "-0x7ec4")) () ")"))))) () ")")) (argument_list "(pcVar25)" (( "(") (identifier "pcVar25") () ")"))) (; ";")) (expression_statement "pcVar3 = pcVar3 + -1;" (assignment_expression "pcVar3 = pcVar3 + -1" (identifier "pcVar3") (= "=") (binary_expression "pcVar3 + -1" (identifier "pcVar3") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if ((*pcVar13 != (code)0x0) || (pcVar30 = (code *)0x0, pcVar3 == (code *)0x0)) {\n      pcVar23 = (code *)0x1;\n      pcVar22 = pcStack_330;\n      goto LAB_000c5230;\n    }" (if "if") (parenthesized_expression "((*pcVar13 != (code)0x0) || (pcVar30 = (code *)0x0, pcVar3 == (code *)0x0))" (( "(") (binary_expression "(*pcVar13 != (code)0x0) || (pcVar30 = (code *)0x0, pcVar3 == (code *)0x0)" (parenthesized_expression "(*pcVar13 != (code)0x0)" (( "(") (binary_expression "*pcVar13 != (code)0x0" (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) (!= "!=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(pcVar30 = (code *)0x0, pcVar3 == (code *)0x0)" (( "(") (comma_expression "pcVar30 = (code *)0x0, pcVar3 == (code *)0x0" (assignment_expression "pcVar30 = (code *)0x0" (identifier "pcVar30") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (, ",") (binary_expression "pcVar3 == (code *)0x0" (identifier "pcVar3") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n      pcVar23 = (code *)0x1;\n      pcVar22 = pcStack_330;\n      goto LAB_000c5230;\n    }" ({ "{") (expression_statement "pcVar23 = (code *)0x1;" (assignment_expression "pcVar23 = (code *)0x1" (identifier "pcVar23") (= "=") (cast_expression "(code *)0x1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "pcVar22 = pcStack_330;" (assignment_expression "pcVar22 = pcStack_330" (identifier "pcVar22") (= "=") (identifier "pcStack_330")) (; ";")) (goto_statement "goto LAB_000c5230;" (goto "goto") (statement_identifier "LAB_000c5230") (; ";")) (} "}"))) (} "}"))) (expression_statement "pcVar23 = (code *)0x0;" (assignment_expression "pcVar23 = (code *)0x0" (identifier "pcVar23") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pcVar30 = pcVar26;" (assignment_expression "pcVar30 = pcVar26" (identifier "pcVar30") (= "=") (identifier "pcVar26")) (; ";")) (expression_statement "pcVar22 = pcStack_330;" (assignment_expression "pcVar22 = pcStack_330" (identifier "pcVar22") (= "=") (identifier "pcStack_330")) (; ";")) (labeled_statement "LAB_000c5230:\n  if (iStack_27c == **(int **)(pcVar22 + -0x7a54)) {\n    return pcVar23;\n  }" (statement_identifier "LAB_000c5230") (: ":") (if_statement "if (iStack_27c == **(int **)(pcVar22 + -0x7a54)) {\n    return pcVar23;\n  }" (if "if") (parenthesized_expression "(iStack_27c == **(int **)(pcVar22 + -0x7a54))" (( "(") (binary_expression "iStack_27c == **(int **)(pcVar22 + -0x7a54)" (identifier "iStack_27c") (== "==") (pointer_expression "**(int **)(pcVar22 + -0x7a54)" (* "*") (pointer_expression "*(int **)(pcVar22 + -0x7a54)" (* "*") (cast_expression "(int **)(pcVar22 + -0x7a54)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + -0x7a54)" (( "(") (binary_expression "pcVar22 + -0x7a54" (identifier "pcVar22") (+ "+") (number_literal "-0x7a54")) () ")")))))) () ")")) (compound_statement "{\n    return pcVar23;\n  }" ({ "{") (return_statement "return pcVar23;" (return "return") (identifier "pcVar23") (; ";")) (} "}")))) (expression_statement "pcVar22 = *(code **)(pcVar22 + -0x7a80);" (assignment_expression "pcVar22 = *(code **)(pcVar22 + -0x7a80)" (identifier "pcVar22") (= "=") (pointer_expression "*(code **)(pcVar22 + -0x7a80)" (* "*") (cast_expression "(code **)(pcVar22 + -0x7a80)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + -0x7a80)" (( "(") (binary_expression "pcVar22 + -0x7a80" (identifier "pcVar22") (+ "+") (number_literal "-0x7a80")) () ")"))))) (; ";")) (expression_statement "uVar29 = 0xc527c;" (assignment_expression "uVar29 = 0xc527c" (identifier "uVar29") (= "=") (number_literal "0xc527c")) (; ";")) (expression_statement "iVar4 = iStack_27c;" (assignment_expression "iVar4 = iStack_27c" (identifier "iVar4") (= "=") (identifier "iStack_27c")) (; ";")) (expression_statement "(*pcVar22)();" (call_expression "(*pcVar22)()" (parenthesized_expression "(*pcVar22)" (( "(") (pointer_expression "*pcVar22" (* "*") (identifier "pcVar22")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcStack_448 = pcVar22 + 0xd26a4;" (assignment_expression "pcStack_448 = pcVar22 + 0xd26a4" (identifier "pcStack_448") (= "=") (binary_expression "pcVar22 + 0xd26a4" (identifier "pcVar22") (+ "+") (number_literal "0xd26a4"))) (; ";")) (expression_statement "iVar8 = **(int **)(pcVar22 + 0xcac50);" (assignment_expression "iVar8 = **(int **)(pcVar22 + 0xcac50)" (identifier "iVar8") (= "=") (pointer_expression "**(int **)(pcVar22 + 0xcac50)" (* "*") (pointer_expression "*(int **)(pcVar22 + 0xcac50)" (* "*") (cast_expression "(int **)(pcVar22 + 0xcac50)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0xcac50)" (( "(") (binary_expression "pcVar22 + 0xcac50" (identifier "pcVar22") (+ "+") (number_literal "0xcac50")) () ")")))))) (; ";")) (expression_statement "iStack_37c = iVar8;" (assignment_expression "iStack_37c = iVar8" (identifier "iStack_37c") (= "=") (identifier "iVar8")) (; ";")) (expression_statement "pcStack_378 = pcVar3;" (assignment_expression "pcStack_378 = pcVar3" (identifier "pcStack_378") (= "=") (identifier "pcVar3")) (; ";")) (expression_statement "pcStack_374 = pcVar5;" (assignment_expression "pcStack_374 = pcVar5" (identifier "pcStack_374") (= "=") (identifier "pcVar5")) (; ";")) (expression_statement "pcStack_370 = pcVar14;" (assignment_expression "pcStack_370 = pcVar14" (identifier "pcStack_370") (= "=") (identifier "pcVar14")) (; ";")) (expression_statement "pcStack_36c = pcVar13;" (assignment_expression "pcStack_36c = pcVar13" (identifier "pcStack_36c") (= "=") (identifier "pcVar13")) (; ";")) (expression_statement "pcStack_368 = pcVar25;" (assignment_expression "pcStack_368 = pcVar25" (identifier "pcStack_368") (= "=") (identifier "pcVar25")) (; ";")) (expression_statement "pcStack_364 = pcVar31;" (assignment_expression "pcStack_364 = pcVar31" (identifier "pcStack_364") (= "=") (identifier "pcVar31")) (; ";")) (expression_statement "pcStack_360 = pcVar26;" (assignment_expression "pcStack_360 = pcVar26" (identifier "pcStack_360") (= "=") (identifier "pcVar26")) (; ";")) (expression_statement "pcStack_35c = pcVar23;" (assignment_expression "pcStack_35c = pcVar23" (identifier "pcStack_35c") (= "=") (identifier "pcVar23")) (; ";")) (expression_statement "iStack_358 = iVar27;" (assignment_expression "iStack_358 = iVar27" (identifier "iStack_358") (= "=") (identifier "iVar27")) (; ";")) (expression_statement "uStack_354 = uVar29;" (assignment_expression "uStack_354 = uVar29" (identifier "uStack_354") (= "=") (identifier "uVar29")) (; ";")) (if_statement "if (pcVar30 < &DAT_00000015) {\n                    \n                    \n    pcVar22 = (code *)(*(pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)))();\n    return pcVar22;\n  }" (if "if") (parenthesized_expression "(pcVar30 < &DAT_00000015)" (( "(") (binary_expression "pcVar30 < &DAT_00000015" (identifier "pcVar30") (< "<") (pointer_expression "&DAT_00000015" (& "&") (identifier "DAT_00000015"))) () ")")) (compound_statement "{\n                    \n                    \n    pcVar22 = (code *)(*(pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)))();\n    return pcVar22;\n  }" ({ "{") (expression_statement "pcVar22 = (code *)(*(pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)))();" (assignment_expression "pcVar22 = (code *)(*(pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)))()" (identifier "pcVar22") (= "=") (cast_expression "(code *)(*(pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)))()" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)))()" (parenthesized_expression "(*(pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)))" (( "(") (pointer_expression "*(pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4))" (* "*") (parenthesized_expression "(pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4))" (( "(") (binary_expression "pcStack_448 +\n                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)" (identifier "pcStack_448") (+ "+") (pointer_expression "*(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)" (* "*") (cast_expression "(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4" (binary_expression "*(int *)(pcVar22 + 0xca6e0) + 0x37fc" (pointer_expression "*(int *)(pcVar22 + 0xca6e0)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca6e0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca6e0)" (( "(") (binary_expression "pcVar22 + 0xca6e0" (identifier "pcVar22") (+ "+") (number_literal "0xca6e0")) () ")")))) (+ "+") (number_literal "0x37fc")) (+ "+") (binary_expression "(int)pcVar30 * 4" (cast_expression "(int)pcVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar30")) (* "*") (number_literal "4"))) () ")"))))) () ")"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (return_statement "return pcVar22;" (return "return") (identifier "pcVar22") (; ";")) (} "}"))) (if_statement "if (iVar8 == **(int **)(pcVar22 + 0xcac50)) {\n    return (code *)&DAT_0000000c;\n  }" (if "if") (parenthesized_expression "(iVar8 == **(int **)(pcVar22 + 0xcac50))" (( "(") (binary_expression "iVar8 == **(int **)(pcVar22 + 0xcac50)" (identifier "iVar8") (== "==") (pointer_expression "**(int **)(pcVar22 + 0xcac50)" (* "*") (pointer_expression "*(int **)(pcVar22 + 0xcac50)" (* "*") (cast_expression "(int **)(pcVar22 + 0xcac50)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0xcac50)" (( "(") (binary_expression "pcVar22 + 0xcac50" (identifier "pcVar22") (+ "+") (number_literal "0xcac50")) () ")")))))) () ")")) (compound_statement "{\n    return (code *)&DAT_0000000c;\n  }" ({ "{") (return_statement "return (code *)&DAT_0000000c;" (return "return") (cast_expression "(code *)&DAT_0000000c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_0000000c" (& "&") (identifier "DAT_0000000c"))) (; ";")) (} "}"))) (expression_statement "pcVar22 = *(code **)(pcVar22 + 0xcac24);" (assignment_expression "pcVar22 = *(code **)(pcVar22 + 0xcac24)" (identifier "pcVar22") (= "=") (pointer_expression "*(code **)(pcVar22 + 0xcac24)" (* "*") (cast_expression "(code **)(pcVar22 + 0xcac24)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0xcac24)" (( "(") (binary_expression "pcVar22 + 0xcac24" (identifier "pcVar22") (+ "+") (number_literal "0xcac24")) () ")"))))) (; ";")) (expression_statement "uVar29 = 0xc58fc;" (assignment_expression "uVar29 = 0xc58fc" (identifier "uVar29") (= "=") (number_literal "0xc58fc")) (; ";")) (expression_statement "(*pcVar22)();" (call_expression "(*pcVar22)()" (parenthesized_expression "(*pcVar22)" (( "(") (pointer_expression "*pcVar22" (* "*") (identifier "pcVar22")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iStack_494 = **(int **)(pcVar22 + 0xca5d0);" (assignment_expression "iStack_494 = **(int **)(pcVar22 + 0xca5d0)" (identifier "iStack_494") (= "=") (pointer_expression "**(int **)(pcVar22 + 0xca5d0)" (* "*") (pointer_expression "*(int **)(pcVar22 + 0xca5d0)" (* "*") (cast_expression "(int **)(pcVar22 + 0xca5d0)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0xca5d0)" (( "(") (binary_expression "pcVar22 + 0xca5d0" (identifier "pcVar22") (+ "+") (number_literal "0xca5d0")) () ")")))))) (; ";")) (expression_statement "uVar20 = (uint)param_4 & 0xffffff00;" (assignment_expression "uVar20 = (uint)param_4 & 0xffffff00" (identifier "uVar20") (= "=") (binary_expression "(uint)param_4 & 0xffffff00" (cast_expression "(uint)param_4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_4")) (& "&") (number_literal "0xffffff00"))) (; ";")) (expression_statement "uVar18 = (uint)param_4 & 8;" (assignment_expression "uVar18 = (uint)param_4 & 8" (identifier "uVar18") (= "=") (binary_expression "(uint)param_4 & 8" (cast_expression "(uint)param_4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_4")) (& "&") (number_literal "8"))) (; ";")) (expression_statement "uStack_958 = (uint)param_4 & 1;" (assignment_expression "uStack_958 = (uint)param_4 & 1" (identifier "uStack_958") (= "=") (binary_expression "(uint)param_4 & 1" (cast_expression "(uint)param_4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_4")) (& "&") (number_literal "1"))) (; ";")) (expression_statement "uVar9 = (uint)param_4 & 2;" (assignment_expression "uVar9 = (uint)param_4 & 2" (identifier "uVar9") (= "=") (binary_expression "(uint)param_4 & 2" (cast_expression "(uint)param_4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_4")) (& "&") (number_literal "2"))) (; ";")) (expression_statement "pcStack_96c = pcVar30;" (assignment_expression "pcStack_96c = pcVar30" (identifier "pcStack_96c") (= "=") (identifier "pcVar30")) (; ";")) (expression_statement "iStack_490 = iVar4;" (assignment_expression "iStack_490 = iVar4" (identifier "iStack_490") (= "=") (identifier "iVar4")) (; ";")) (expression_statement "pcStack_48c = pcVar5;" (assignment_expression "pcStack_48c = pcVar5" (identifier "pcStack_48c") (= "=") (identifier "pcVar5")) (; ";")) (expression_statement "pcStack_488 = pcVar14;" (assignment_expression "pcStack_488 = pcVar14" (identifier "pcStack_488") (= "=") (identifier "pcVar14")) (; ";")) (expression_statement "pcStack_484 = pcVar13;" (assignment_expression "pcStack_484 = pcVar13" (identifier "pcStack_484") (= "=") (identifier "pcVar13")) (; ";")) (expression_statement "pcStack_480 = pcVar25;" (assignment_expression "pcStack_480 = pcVar25" (identifier "pcStack_480") (= "=") (identifier "pcVar25")) (; ";")) (expression_statement "pcStack_47c = pcVar31;" (assignment_expression "pcStack_47c = pcVar31" (identifier "pcStack_47c") (= "=") (identifier "pcVar31")) (; ";")) (expression_statement "pcStack_478 = pcVar26;" (assignment_expression "pcStack_478 = pcVar26" (identifier "pcStack_478") (= "=") (identifier "pcVar26")) (; ";")) (expression_statement "pcStack_474 = pcVar23;" (assignment_expression "pcStack_474 = pcVar23" (identifier "pcStack_474") (= "=") (identifier "pcVar23")) (; ";")) (expression_statement "iStack_470 = iVar27;" (assignment_expression "iStack_470 = iVar27" (identifier "iStack_470") (= "=") (identifier "iVar27")) (; ";")) (expression_statement "uStack_46c = uVar29;" (assignment_expression "uStack_46c = uVar29" (identifier "uStack_46c") (= "=") (identifier "uVar29")) (; ";")) (if_statement "if (((uint)param_4 & 4) == 0) {\nLAB_000c59a0:\n    iVar4 = (**(code **)(pcVar22 + 0xca564))();\n    if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {\n      bVar1 = false;\n      goto LAB_000c59cc;\n    }\n    bVar1 = false;\nLAB_000c59fc:\n    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);\n    if (uVar20 != 0x100) goto LAB_000c5a24;\n    (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n    if (*(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228) == 0) {\nLAB_000c6414:\n      iVar4 = *(int *)(pcVar22 + 0xca25c);\n    }\n    else {\n      iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(pcVar30,aiStack_940);\n      if ((iVar4 != 0) ||\n         (piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0))\n      goto LAB_000c6414;\n      do {\n        if ((((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c)) {\n          (**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);\n          piVar11 = (int *)piVar10[8];\n          if (piVar11 == (int *)0x0) goto LAB_000c6494;\n          pcVar5 = (code *)piVar11[1];\n          piVar12 = piVar10 + 8;\n          goto joined_r0x000c5ce4;\n        }\n        piVar10 = (int *)piVar10[0xb];\n        iVar4 = *(int *)(pcVar22 + 0xca25c);\n      } while (piVar10 != (int *)0x0);\n    }\n    (*(code *)(iVar4 + 0x27b8))();\nLAB_000c642c:\n    piVar11 = (int *)(**(code **)(pcVar22 + 0xca0d4))(0,0xc);\n    if (piVar11 == (int *)0x0) {\n      pcVar5 = (code *)&DAT_00000007;\n      goto LAB_000c602c;\n    }\n    iVar4 = -1;\nLAB_000c5d44:\n    *(int **)(pcVar6 + 0x1c) = piVar11;\nLAB_000c5a34:\n    uStack_968 = uVar9;\n    if (((uint)param_4 & 4) != 0) {\n      uStack_968 = uVar9 | 0x100;\n    }\n    if (((uint)param_4 & 0x10) != 0) {\n      uStack_968 = uStack_968 | 0x20400;\n    }\n    if (iVar4 < 0) {\n      if (((uint)param_4 & 0x80800) == 0) {\n        uVar28 = 0x180;\n        if ((uVar18 == 0) && (uVar28 = 0, ((uint)param_4 & 0x40) != 0)) {\n          iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }\n          uVar28 = 0;\n        }\nLAB_000c5e0c:\n        uStack_954 = 0;\n        uStack_960 = 0;\n      }\n      else {\n        iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c);\n        iVar27 = iVar4 + -1;\n        if (pcStack_96c[iVar27] != (code)0x2d) {\n          if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }\n          uVar28 = 0;\n          goto LAB_000c5e0c;\n        }\nLAB_000c5e78:\n        (**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201);\n        auStack_89c[iVar27] = 0;\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940);\n        if (iVar4 == 0) {\n          uVar28 = uStack_928 & 0x1ff;\n          uStack_960 = uStack_920;\n          uStack_954 = uStack_91c;\n          pcVar5 = (code *)0x0;\n        }\n        else {\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }\nLAB_000c5ee0:\n        if (pcVar5 != (code *)0x0) goto LAB_000c602c;\n      }\n      iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                        (pcStack_96c,uStack_968 | 0x2000,uVar28);\n      if (-1 < iVar4) {\nLAB_000c5e40:\n        if (((uint)param_4 & 0x80800) != 0) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);\n        }\n        goto LAB_000c5a6c;\n      }\n      pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n      if (bVar1) {\n        piVar10 = (int *)(*pcVar5)();\n        if (*piVar10 != 0xd) {\n          pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n          goto LAB_000c5fb8;\n        }\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))(pcStack_96c,0);\n        pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n        if (iVar4 == 0) goto LAB_000c5fb8;\n        uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n        (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                  (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634);\n        pcVar5 = (code *)0x608;\n      }\n      else {\nLAB_000c5fb8:\n        piVar10 = (int *)(*pcVar5)();\n        if ((*piVar10 == 0x15) || (uVar9 == 0)) {\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        else {\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        if (pcVar5 == (code *)0x0) goto LAB_000c602c;\n      }\nLAB_000c630c:\n      iVar4 = *(int *)(pcVar6 + 0x1c);\nLAB_000c6310:\n      (**(code **)(pcVar22 + 0xca07c))(iVar4);\n    }\n    else {\nLAB_000c5a6c:\n      if (puStack_458 != (undefined4 *)0x0) {\n        *puStack_458 = param_4;\n      }\n      if (*(int **)(pcVar6 + 0x1c) != (int *)0x0) {\n        **(int **)(pcVar6 + 0x1c) = iVar4;\n        *(code **)(*(int *)(pcVar6 + 0x1c) + 4) = param_4;\n      }\n      if (uVar18 != 0) {\n        (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))(pcStack_96c);\n        uVar18 = 0x20;\n      }\n      if (uStack_958 != 0) {\n        uVar18 = uVar18 | 2;\n      }\n      if (uVar20 != 0x100) {\n        uVar18 = uVar18 | 0x80;\n      }\n      if (bVar1) {\n        uVar18 = uVar18 | 8;\n      }\n      if (((uint)param_4 & 0x40) == 0) {\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = (code *)0x0;\n      }\n      else {\n        uVar18 = uVar18 | 0x40;\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = pcVar30;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca37c))(pcVar5,*(int *)(pcVar22 + 0xca060) + -0x45c0,1);\n      iVar16 = *(int *)(pcVar22 + 0xca060);\n      if (iVar27 != 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 0x10;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca610))(*(undefined4 *)(iVar8 + 0x10),iVar16 + -0x45b8);\n      if (iVar27 == 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 1;\n      }\n      if ((uVar18 & 0x80) == 0) {\n        iVar27 = (*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6);\n        if (iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n          iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);\n          if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n        }\n        else {\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }\n        *(int *)(pcVar6 + 0x14) = 0;\n        if (pcVar5 != (code *)0x0) {\n          if (iVar4 < 0) goto LAB_000c630c;\n          (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);\n          iVar4 = *(int *)(pcVar6 + 0x1c);\n          goto LAB_000c6310;\n        }\n      }\n      else {\n        iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4;\nLAB_000c6394:\n        *(int *)(pcVar6 + 0x14) = 0;\n      }\n      *(int *)pcVar6 = iVar27;\n      (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524))(pcVar6);\n      pcVar5 = (code *)0x0;\n    }\n  }\n  else {\n    if ((uVar20 == 0x4000) || (uVar20 == 0x800)) {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n    }\n    else {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n      if (uVar20 != 0x80000) goto LAB_000c59a0;\n    }\n    iVar4 = (*pcVar5)();\n    if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {\n      bVar1 = true;\nLAB_000c59cc:\n      uVar29 = (**(code **)(pcVar22 + 0xca564))();\n      *(undefined4 *)(*(int *)(pcVar22 + 0xca04c) + 0x230) = uVar29;\n      sqlite3_randomness(0,0);\n      goto LAB_000c59fc;\n    }\n    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);\n    bVar1 = true;\nLAB_000c5a24:\n    iVar4 = -1;\n    if (pcVar30 != (code *)0x0) goto LAB_000c5a34;\n    pcVar5 = (code *)FUN_000c5048(*(undefined4 *)(iVar8 + 8),auStack_698);\n    if (pcVar5 == (code *)0x0) {\n      iVar4 = -1;\n      pcStack_96c = (code *)auStack_698;\n      goto LAB_000c5a34;\n    }\n  }" (if "if") (parenthesized_expression "(((uint)param_4 & 4) == 0)" (( "(") (binary_expression "((uint)param_4 & 4) == 0" (parenthesized_expression "((uint)param_4 & 4)" (( "(") (binary_expression "(uint)param_4 & 4" (cast_expression "(uint)param_4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_4")) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000c59a0:\n    iVar4 = (**(code **)(pcVar22 + 0xca564))();\n    if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {\n      bVar1 = false;\n      goto LAB_000c59cc;\n    }\n    bVar1 = false;\nLAB_000c59fc:\n    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);\n    if (uVar20 != 0x100) goto LAB_000c5a24;\n    (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n    if (*(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228) == 0) {\nLAB_000c6414:\n      iVar4 = *(int *)(pcVar22 + 0xca25c);\n    }\n    else {\n      iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(pcVar30,aiStack_940);\n      if ((iVar4 != 0) ||\n         (piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0))\n      goto LAB_000c6414;\n      do {\n        if ((((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c)) {\n          (**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);\n          piVar11 = (int *)piVar10[8];\n          if (piVar11 == (int *)0x0) goto LAB_000c6494;\n          pcVar5 = (code *)piVar11[1];\n          piVar12 = piVar10 + 8;\n          goto joined_r0x000c5ce4;\n        }\n        piVar10 = (int *)piVar10[0xb];\n        iVar4 = *(int *)(pcVar22 + 0xca25c);\n      } while (piVar10 != (int *)0x0);\n    }\n    (*(code *)(iVar4 + 0x27b8))();\nLAB_000c642c:\n    piVar11 = (int *)(**(code **)(pcVar22 + 0xca0d4))(0,0xc);\n    if (piVar11 == (int *)0x0) {\n      pcVar5 = (code *)&DAT_00000007;\n      goto LAB_000c602c;\n    }\n    iVar4 = -1;\nLAB_000c5d44:\n    *(int **)(pcVar6 + 0x1c) = piVar11;\nLAB_000c5a34:\n    uStack_968 = uVar9;\n    if (((uint)param_4 & 4) != 0) {\n      uStack_968 = uVar9 | 0x100;\n    }\n    if (((uint)param_4 & 0x10) != 0) {\n      uStack_968 = uStack_968 | 0x20400;\n    }\n    if (iVar4 < 0) {\n      if (((uint)param_4 & 0x80800) == 0) {\n        uVar28 = 0x180;\n        if ((uVar18 == 0) && (uVar28 = 0, ((uint)param_4 & 0x40) != 0)) {\n          iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }\n          uVar28 = 0;\n        }\nLAB_000c5e0c:\n        uStack_954 = 0;\n        uStack_960 = 0;\n      }\n      else {\n        iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c);\n        iVar27 = iVar4 + -1;\n        if (pcStack_96c[iVar27] != (code)0x2d) {\n          if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }\n          uVar28 = 0;\n          goto LAB_000c5e0c;\n        }\nLAB_000c5e78:\n        (**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201);\n        auStack_89c[iVar27] = 0;\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940);\n        if (iVar4 == 0) {\n          uVar28 = uStack_928 & 0x1ff;\n          uStack_960 = uStack_920;\n          uStack_954 = uStack_91c;\n          pcVar5 = (code *)0x0;\n        }\n        else {\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }\nLAB_000c5ee0:\n        if (pcVar5 != (code *)0x0) goto LAB_000c602c;\n      }\n      iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                        (pcStack_96c,uStack_968 | 0x2000,uVar28);\n      if (-1 < iVar4) {\nLAB_000c5e40:\n        if (((uint)param_4 & 0x80800) != 0) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);\n        }\n        goto LAB_000c5a6c;\n      }\n      pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n      if (bVar1) {\n        piVar10 = (int *)(*pcVar5)();\n        if (*piVar10 != 0xd) {\n          pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n          goto LAB_000c5fb8;\n        }\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))(pcStack_96c,0);\n        pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n        if (iVar4 == 0) goto LAB_000c5fb8;\n        uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n        (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                  (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634);\n        pcVar5 = (code *)0x608;\n      }\n      else {\nLAB_000c5fb8:\n        piVar10 = (int *)(*pcVar5)();\n        if ((*piVar10 == 0x15) || (uVar9 == 0)) {\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        else {\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        if (pcVar5 == (code *)0x0) goto LAB_000c602c;\n      }\nLAB_000c630c:\n      iVar4 = *(int *)(pcVar6 + 0x1c);\nLAB_000c6310:\n      (**(code **)(pcVar22 + 0xca07c))(iVar4);\n    }\n    else {\nLAB_000c5a6c:\n      if (puStack_458 != (undefined4 *)0x0) {\n        *puStack_458 = param_4;\n      }\n      if (*(int **)(pcVar6 + 0x1c) != (int *)0x0) {\n        **(int **)(pcVar6 + 0x1c) = iVar4;\n        *(code **)(*(int *)(pcVar6 + 0x1c) + 4) = param_4;\n      }\n      if (uVar18 != 0) {\n        (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))(pcStack_96c);\n        uVar18 = 0x20;\n      }\n      if (uStack_958 != 0) {\n        uVar18 = uVar18 | 2;\n      }\n      if (uVar20 != 0x100) {\n        uVar18 = uVar18 | 0x80;\n      }\n      if (bVar1) {\n        uVar18 = uVar18 | 8;\n      }\n      if (((uint)param_4 & 0x40) == 0) {\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = (code *)0x0;\n      }\n      else {\n        uVar18 = uVar18 | 0x40;\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = pcVar30;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca37c))(pcVar5,*(int *)(pcVar22 + 0xca060) + -0x45c0,1);\n      iVar16 = *(int *)(pcVar22 + 0xca060);\n      if (iVar27 != 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 0x10;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca610))(*(undefined4 *)(iVar8 + 0x10),iVar16 + -0x45b8);\n      if (iVar27 == 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 1;\n      }\n      if ((uVar18 & 0x80) == 0) {\n        iVar27 = (*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6);\n        if (iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n          iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);\n          if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n        }\n        else {\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }\n        *(int *)(pcVar6 + 0x14) = 0;\n        if (pcVar5 != (code *)0x0) {\n          if (iVar4 < 0) goto LAB_000c630c;\n          (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);\n          iVar4 = *(int *)(pcVar6 + 0x1c);\n          goto LAB_000c6310;\n        }\n      }\n      else {\n        iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4;\nLAB_000c6394:\n        *(int *)(pcVar6 + 0x14) = 0;\n      }\n      *(int *)pcVar6 = iVar27;\n      (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524))(pcVar6);\n      pcVar5 = (code *)0x0;\n    }\n  }" ({ "{") (labeled_statement "LAB_000c59a0:\n    iVar4 = (**(code **)(pcVar22 + 0xca564))();" (statement_identifier "LAB_000c59a0") (: ":") (expression_statement "iVar4 = (**(code **)(pcVar22 + 0xca564))();" (assignment_expression "iVar4 = (**(code **)(pcVar22 + 0xca564))()" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcVar22 + 0xca564))()" (parenthesized_expression "(**(code **)(pcVar22 + 0xca564))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0xca564)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0xca564)" (* "*") (cast_expression "(code **)(pcVar22 + 0xca564)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0xca564)" (( "(") (binary_expression "pcVar22 + 0xca564" (identifier "pcVar22") (+ "+") (number_literal "0xca564")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";"))) (if_statement "if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {\n      bVar1 = false;\n      goto LAB_000c59cc;\n    }" (if "if") (parenthesized_expression "(iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230))" (( "(") (binary_expression "iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)" (identifier "iVar4") (!= "!=") (pointer_expression "*(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)" (* "*") (cast_expression "(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + 0x230)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca04c) + 0x230" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca04c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca04c)" (( "(") (binary_expression "pcVar22 + 0xca04c" (identifier "pcVar22") (+ "+") (number_literal "0xca04c")) () ")")))) (+ "+") (number_literal "0x230")) () ")"))))) () ")")) (compound_statement "{\n      bVar1 = false;\n      goto LAB_000c59cc;\n    }" ({ "{") (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" (identifier "bVar1") (= "=") (false "false")) (; ";")) (goto_statement "goto LAB_000c59cc;" (goto "goto") (statement_identifier "LAB_000c59cc") (; ";")) (} "}"))) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" (identifier "bVar1") (= "=") (false "false")) (; ";")) (labeled_statement "LAB_000c59fc:\n    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);" (statement_identifier "LAB_000c59fc") (: ":") (expression_statement "(**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);" (call_expression "(**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca504))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0xca504)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0xca504)" (* "*") (cast_expression "(code **)(pcVar22 + 0xca504)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0xca504)" (( "(") (binary_expression "pcVar22 + 0xca504" (identifier "pcVar22") (+ "+") (number_literal "0xca504")) () ")"))))) () ")")) (argument_list "(pcVar6,0,0x58)" (( "(") (identifier "pcVar6") (, ",") (number_literal "0") (, ",") (number_literal "0x58") () ")"))) (; ";"))) (if_statement "if (uVar20 != 0x100) goto LAB_000c5a24;" (if "if") (parenthesized_expression "(uVar20 != 0x100)" (( "(") (binary_expression "uVar20 != 0x100" (identifier "uVar20") (!= "!=") (number_literal "0x100")) () ")")) (goto_statement "goto LAB_000c5a24;" (goto "goto") (statement_identifier "LAB_000c5a24") (; ";"))) (expression_statement "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();" (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c)" (* "*") (cast_expression "(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca25c) + 0x277c)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca25c) + 0x277c" (pointer_expression "*(int *)(pcVar22 + 0xca25c)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca25c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca25c)" (( "(") (binary_expression "pcVar22 + 0xca25c" (identifier "pcVar22") (+ "+") (number_literal "0xca25c")) () ")")))) (+ "+") (number_literal "0x277c")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (*(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228) == 0) {\nLAB_000c6414:\n      iVar4 = *(int *)(pcVar22 + 0xca25c);\n    }\n    else {\n      iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(pcVar30,aiStack_940);\n      if ((iVar4 != 0) ||\n         (piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0))\n      goto LAB_000c6414;\n      do {\n        if ((((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c)) {\n          (**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);\n          piVar11 = (int *)piVar10[8];\n          if (piVar11 == (int *)0x0) goto LAB_000c6494;\n          pcVar5 = (code *)piVar11[1];\n          piVar12 = piVar10 + 8;\n          goto joined_r0x000c5ce4;\n        }\n        piVar10 = (int *)piVar10[0xb];\n        iVar4 = *(int *)(pcVar22 + 0xca25c);\n      } while (piVar10 != (int *)0x0);\n    }" (if "if") (parenthesized_expression "(*(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228) == 0)" (( "(") (binary_expression "*(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228) == 0" (pointer_expression "*(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228)" (* "*") (cast_expression "(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + 0x228)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca04c) + 0x228" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca04c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca04c)" (( "(") (binary_expression "pcVar22 + 0xca04c" (identifier "pcVar22") (+ "+") (number_literal "0xca04c")) () ")")))) (+ "+") (number_literal "0x228")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000c6414:\n      iVar4 = *(int *)(pcVar22 + 0xca25c);\n    }" ({ "{") (labeled_statement "LAB_000c6414:\n      iVar4 = *(int *)(pcVar22 + 0xca25c);" (statement_identifier "LAB_000c6414") (: ":") (expression_statement "iVar4 = *(int *)(pcVar22 + 0xca25c);" (assignment_expression "iVar4 = *(int *)(pcVar22 + 0xca25c)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(pcVar22 + 0xca25c)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca25c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca25c)" (( "(") (binary_expression "pcVar22 + 0xca25c" (identifier "pcVar22") (+ "+") (number_literal "0xca25c")) () ")"))))) (; ";"))) (} "}")) (else_clause "else {\n      iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(pcVar30,aiStack_940);\n      if ((iVar4 != 0) ||\n         (piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0))\n      goto LAB_000c6414;\n      do {\n        if ((((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c)) {\n          (**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);\n          piVar11 = (int *)piVar10[8];\n          if (piVar11 == (int *)0x0) goto LAB_000c6494;\n          pcVar5 = (code *)piVar11[1];\n          piVar12 = piVar10 + 8;\n          goto joined_r0x000c5ce4;\n        }\n        piVar10 = (int *)piVar10[0xb];\n        iVar4 = *(int *)(pcVar22 + 0xca25c);\n      } while (piVar10 != (int *)0x0);\n    }" (else "else") (compound_statement "{\n      iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(pcVar30,aiStack_940);\n      if ((iVar4 != 0) ||\n         (piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0))\n      goto LAB_000c6414;\n      do {\n        if ((((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c)) {\n          (**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);\n          piVar11 = (int *)piVar10[8];\n          if (piVar11 == (int *)0x0) goto LAB_000c6494;\n          pcVar5 = (code *)piVar11[1];\n          piVar12 = piVar10 + 8;\n          goto joined_r0x000c5ce4;\n        }\n        piVar10 = (int *)piVar10[0xb];\n        iVar4 = *(int *)(pcVar22 + 0xca25c);\n      } while (piVar10 != (int *)0x0);\n    }" ({ "{") (expression_statement "iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(pcVar30,aiStack_940);" (assignment_expression "iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(pcVar30,aiStack_940)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(pcVar30,aiStack_940)" (parenthesized_expression "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))" (( "(") (pointer_expression "**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c)" (* "*") (pointer_expression "*(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c)" (* "*") (cast_expression "(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + -0x80c)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x80c" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca04c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca04c)" (( "(") (binary_expression "pcVar22 + 0xca04c" (identifier "pcVar22") (+ "+") (number_literal "0xca04c")) () ")")))) (+ "+") (number_literal "-0x80c")) () ")"))))) () ")")) (argument_list "(pcVar30,aiStack_940)" (( "(") (identifier "pcVar30") (, ",") (identifier "aiStack_940") () ")")))) (; ";")) (if_statement "if ((iVar4 != 0) ||\n         (piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0))\n      goto LAB_000c6414;" (if "if") (parenthesized_expression "((iVar4 != 0) ||\n         (piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0))" (( "(") (binary_expression "(iVar4 != 0) ||\n         (piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0)" (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0)" (( "(") (comma_expression "piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0" (assignment_expression "piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228)" (identifier "piVar10") (= "=") (pointer_expression "*(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228)" (* "*") (cast_expression "(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + 0x228)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca04c) + 0x228" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca04c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca04c)" (( "(") (binary_expression "pcVar22 + 0xca04c" (identifier "pcVar22") (+ "+") (number_literal "0xca04c")) () ")")))) (+ "+") (number_literal "0x228")) () ")"))))) (, ",") (binary_expression "piVar10 == (int *)0x0" (identifier "piVar10") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (goto_statement "goto LAB_000c6414;" (goto "goto") (statement_identifier "LAB_000c6414") (; ";"))) (do_statement "do {\n        if ((((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c)) {\n          (**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);\n          piVar11 = (int *)piVar10[8];\n          if (piVar11 == (int *)0x0) goto LAB_000c6494;\n          pcVar5 = (code *)piVar11[1];\n          piVar12 = piVar10 + 8;\n          goto joined_r0x000c5ce4;\n        }\n        piVar10 = (int *)piVar10[0xb];\n        iVar4 = *(int *)(pcVar22 + 0xca25c);\n      } while (piVar10 != (int *)0x0);" (do "do") (compound_statement "{\n        if ((((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c)) {\n          (**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);\n          piVar11 = (int *)piVar10[8];\n          if (piVar11 == (int *)0x0) goto LAB_000c6494;\n          pcVar5 = (code *)piVar11[1];\n          piVar12 = piVar10 + 8;\n          goto joined_r0x000c5ce4;\n        }\n        piVar10 = (int *)piVar10[0xb];\n        iVar4 = *(int *)(pcVar22 + 0xca25c);\n      }" ({ "{") (if_statement "if ((((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c)) {\n          (**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);\n          piVar11 = (int *)piVar10[8];\n          if (piVar11 == (int *)0x0) goto LAB_000c6494;\n          pcVar5 = (code *)piVar11[1];\n          piVar12 = piVar10 + 8;\n          goto joined_r0x000c5ce4;\n        }" (if "if") (parenthesized_expression "((((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c))" (( "(") (binary_expression "(((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&\n           (piVar10[3] == iStack_92c)" (parenthesized_expression "(((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930))" (( "(") (binary_expression "((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)" (parenthesized_expression "((*piVar10 == 0) && (piVar10[1] == aiStack_940[0]))" (( "(") (binary_expression "(*piVar10 == 0) && (piVar10[1] == aiStack_940[0])" (parenthesized_expression "(*piVar10 == 0)" (( "(") (binary_expression "*piVar10 == 0" (pointer_expression "*piVar10" (* "*") (identifier "piVar10")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(piVar10[1] == aiStack_940[0])" (( "(") (binary_expression "piVar10[1] == aiStack_940[0]" (subscript_expression "piVar10[1]" (identifier "piVar10") ([ "[") (number_literal "1") (] "]")) (== "==") (subscript_expression "aiStack_940[0]" (identifier "aiStack_940") ([ "[") (number_literal "0") (] "]"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(piVar10[2] == iStack_930)" (( "(") (binary_expression "piVar10[2] == iStack_930" (subscript_expression "piVar10[2]" (identifier "piVar10") ([ "[") (number_literal "2") (] "]")) (== "==") (identifier "iStack_930")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(piVar10[3] == iStack_92c)" (( "(") (binary_expression "piVar10[3] == iStack_92c" (subscript_expression "piVar10[3]" (identifier "piVar10") ([ "[") (number_literal "3") (] "]")) (== "==") (identifier "iStack_92c")) () ")"))) () ")")) (compound_statement "{\n          (**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);\n          piVar11 = (int *)piVar10[8];\n          if (piVar11 == (int *)0x0) goto LAB_000c6494;\n          pcVar5 = (code *)piVar11[1];\n          piVar12 = piVar10 + 8;\n          goto joined_r0x000c5ce4;\n        }" ({ "{") (expression_statement "(**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);" (call_expression "(**(code **)(pcVar22 + 0xca2b0))(piVar10[4])" (parenthesized_expression "(**(code **)(pcVar22 + 0xca2b0))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0xca2b0)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0xca2b0)" (* "*") (cast_expression "(code **)(pcVar22 + 0xca2b0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0xca2b0)" (( "(") (binary_expression "pcVar22 + 0xca2b0" (identifier "pcVar22") (+ "+") (number_literal "0xca2b0")) () ")"))))) () ")")) (argument_list "(piVar10[4])" (( "(") (subscript_expression "piVar10[4]" (identifier "piVar10") ([ "[") (number_literal "4") (] "]")) () ")"))) (; ";")) (expression_statement "piVar11 = (int *)piVar10[8];" (assignment_expression "piVar11 = (int *)piVar10[8]" (identifier "piVar11") (= "=") (cast_expression "(int *)piVar10[8]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar10[8]" (identifier "piVar10") ([ "[") (number_literal "8") (] "]")))) (; ";")) (if_statement "if (piVar11 == (int *)0x0) goto LAB_000c6494;" (if "if") (parenthesized_expression "(piVar11 == (int *)0x0)" (( "(") (binary_expression "piVar11 == (int *)0x0" (identifier "piVar11") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000c6494;" (goto "goto") (statement_identifier "LAB_000c6494") (; ";"))) (expression_statement "pcVar5 = (code *)piVar11[1];" (assignment_expression "pcVar5 = (code *)piVar11[1]" (identifier "pcVar5") (= "=") (cast_expression "(code *)piVar11[1]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar11[1]" (identifier "piVar11") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "piVar12 = piVar10 + 8;" (assignment_expression "piVar12 = piVar10 + 8" (identifier "piVar12") (= "=") (binary_expression "piVar10 + 8" (identifier "piVar10") (+ "+") (number_literal "8"))) (; ";")) (goto_statement "goto joined_r0x000c5ce4;" (goto "goto") (statement_identifier "joined_r0x000c5ce4") (; ";")) (} "}"))) (expression_statement "piVar10 = (int *)piVar10[0xb];" (assignment_expression "piVar10 = (int *)piVar10[0xb]" (identifier "piVar10") (= "=") (cast_expression "(int *)piVar10[0xb]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar10[0xb]" (identifier "piVar10") ([ "[") (number_literal "0xb") (] "]")))) (; ";")) (expression_statement "iVar4 = *(int *)(pcVar22 + 0xca25c);" (assignment_expression "iVar4 = *(int *)(pcVar22 + 0xca25c)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(pcVar22 + 0xca25c)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca25c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca25c)" (( "(") (binary_expression "pcVar22 + 0xca25c" (identifier "pcVar22") (+ "+") (number_literal "0xca25c")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar10 != (int *)0x0)" (( "(") (binary_expression "piVar10 != (int *)0x0" (identifier "piVar10") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}")))) (expression_statement "(*(code *)(iVar4 + 0x27b8))();" (call_expression "(*(code *)(iVar4 + 0x27b8))()" (parenthesized_expression "(*(code *)(iVar4 + 0x27b8))" (( "(") (pointer_expression "*(code *)(iVar4 + 0x27b8)" (* "*") (cast_expression "(code *)(iVar4 + 0x27b8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x27b8)" (( "(") (binary_expression "iVar4 + 0x27b8" (identifier "iVar4") (+ "+") (number_literal "0x27b8")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_000c642c:\n    piVar11 = (int *)(**(code **)(pcVar22 + 0xca0d4))(0,0xc);" (statement_identifier "LAB_000c642c") (: ":") (expression_statement "piVar11 = (int *)(**(code **)(pcVar22 + 0xca0d4))(0,0xc);" (assignment_expression "piVar11 = (int *)(**(code **)(pcVar22 + 0xca0d4))(0,0xc)" (identifier "piVar11") (= "=") (cast_expression "(int *)(**(code **)(pcVar22 + 0xca0d4))(0,0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar22 + 0xca0d4))(0,0xc)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca0d4))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0xca0d4)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0xca0d4)" (* "*") (cast_expression "(code **)(pcVar22 + 0xca0d4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0xca0d4)" (( "(") (binary_expression "pcVar22 + 0xca0d4" (identifier "pcVar22") (+ "+") (number_literal "0xca0d4")) () ")"))))) () ")")) (argument_list "(0,0xc)" (( "(") (number_literal "0") (, ",") (number_literal "0xc") () ")"))))) (; ";"))) (if_statement "if (piVar11 == (int *)0x0) {\n      pcVar5 = (code *)&DAT_00000007;\n      goto LAB_000c602c;\n    }" (if "if") (parenthesized_expression "(piVar11 == (int *)0x0)" (( "(") (binary_expression "piVar11 == (int *)0x0" (identifier "piVar11") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      pcVar5 = (code *)&DAT_00000007;\n      goto LAB_000c602c;\n    }" ({ "{") (expression_statement "pcVar5 = (code *)&DAT_00000007;" (assignment_expression "pcVar5 = (code *)&DAT_00000007" (identifier "pcVar5") (= "=") (cast_expression "(code *)&DAT_00000007" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000007" (& "&") (identifier "DAT_00000007")))) (; ";")) (goto_statement "goto LAB_000c602c;" (goto "goto") (statement_identifier "LAB_000c602c") (; ";")) (} "}"))) (expression_statement "iVar4 = -1;" (assignment_expression "iVar4 = -1" (identifier "iVar4") (= "=") (number_literal "-1")) (; ";")) (labeled_statement "LAB_000c5d44:\n    *(int **)(pcVar6 + 0x1c) = piVar11;" (statement_identifier "LAB_000c5d44") (: ":") (expression_statement "*(int **)(pcVar6 + 0x1c) = piVar11;" (assignment_expression "*(int **)(pcVar6 + 0x1c) = piVar11" (pointer_expression "*(int **)(pcVar6 + 0x1c)" (* "*") (cast_expression "(int **)(pcVar6 + 0x1c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar6 + 0x1c)" (( "(") (binary_expression "pcVar6 + 0x1c" (identifier "pcVar6") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "piVar11")) (; ";"))) (labeled_statement "LAB_000c5a34:\n    uStack_968 = uVar9;" (statement_identifier "LAB_000c5a34") (: ":") (expression_statement "uStack_968 = uVar9;" (assignment_expression "uStack_968 = uVar9" (identifier "uStack_968") (= "=") (identifier "uVar9")) (; ";"))) (if_statement "if (((uint)param_4 & 4) != 0) {\n      uStack_968 = uVar9 | 0x100;\n    }" (if "if") (parenthesized_expression "(((uint)param_4 & 4) != 0)" (( "(") (binary_expression "((uint)param_4 & 4) != 0" (parenthesized_expression "((uint)param_4 & 4)" (( "(") (binary_expression "(uint)param_4 & 4" (cast_expression "(uint)param_4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_4")) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      uStack_968 = uVar9 | 0x100;\n    }" ({ "{") (expression_statement "uStack_968 = uVar9 | 0x100;" (assignment_expression "uStack_968 = uVar9 | 0x100" (identifier "uStack_968") (= "=") (binary_expression "uVar9 | 0x100" (identifier "uVar9") (| "|") (number_literal "0x100"))) (; ";")) (} "}"))) (if_statement "if (((uint)param_4 & 0x10) != 0) {\n      uStack_968 = uStack_968 | 0x20400;\n    }" (if "if") (parenthesized_expression "(((uint)param_4 & 0x10) != 0)" (( "(") (binary_expression "((uint)param_4 & 0x10) != 0" (parenthesized_expression "((uint)param_4 & 0x10)" (( "(") (binary_expression "(uint)param_4 & 0x10" (cast_expression "(uint)param_4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_4")) (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      uStack_968 = uStack_968 | 0x20400;\n    }" ({ "{") (expression_statement "uStack_968 = uStack_968 | 0x20400;" (assignment_expression "uStack_968 = uStack_968 | 0x20400" (identifier "uStack_968") (= "=") (binary_expression "uStack_968 | 0x20400" (identifier "uStack_968") (| "|") (number_literal "0x20400"))) (; ";")) (} "}"))) (if_statement "if (iVar4 < 0) {\n      if (((uint)param_4 & 0x80800) == 0) {\n        uVar28 = 0x180;\n        if ((uVar18 == 0) && (uVar28 = 0, ((uint)param_4 & 0x40) != 0)) {\n          iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }\n          uVar28 = 0;\n        }\nLAB_000c5e0c:\n        uStack_954 = 0;\n        uStack_960 = 0;\n      }\n      else {\n        iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c);\n        iVar27 = iVar4 + -1;\n        if (pcStack_96c[iVar27] != (code)0x2d) {\n          if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }\n          uVar28 = 0;\n          goto LAB_000c5e0c;\n        }\nLAB_000c5e78:\n        (**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201);\n        auStack_89c[iVar27] = 0;\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940);\n        if (iVar4 == 0) {\n          uVar28 = uStack_928 & 0x1ff;\n          uStack_960 = uStack_920;\n          uStack_954 = uStack_91c;\n          pcVar5 = (code *)0x0;\n        }\n        else {\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }\nLAB_000c5ee0:\n        if (pcVar5 != (code *)0x0) goto LAB_000c602c;\n      }\n      iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                        (pcStack_96c,uStack_968 | 0x2000,uVar28);\n      if (-1 < iVar4) {\nLAB_000c5e40:\n        if (((uint)param_4 & 0x80800) != 0) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);\n        }\n        goto LAB_000c5a6c;\n      }\n      pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n      if (bVar1) {\n        piVar10 = (int *)(*pcVar5)();\n        if (*piVar10 != 0xd) {\n          pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n          goto LAB_000c5fb8;\n        }\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))(pcStack_96c,0);\n        pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n        if (iVar4 == 0) goto LAB_000c5fb8;\n        uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n        (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                  (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634);\n        pcVar5 = (code *)0x608;\n      }\n      else {\nLAB_000c5fb8:\n        piVar10 = (int *)(*pcVar5)();\n        if ((*piVar10 == 0x15) || (uVar9 == 0)) {\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        else {\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        if (pcVar5 == (code *)0x0) goto LAB_000c602c;\n      }\nLAB_000c630c:\n      iVar4 = *(int *)(pcVar6 + 0x1c);\nLAB_000c6310:\n      (**(code **)(pcVar22 + 0xca07c))(iVar4);\n    }\n    else {\nLAB_000c5a6c:\n      if (puStack_458 != (undefined4 *)0x0) {\n        *puStack_458 = param_4;\n      }\n      if (*(int **)(pcVar6 + 0x1c) != (int *)0x0) {\n        **(int **)(pcVar6 + 0x1c) = iVar4;\n        *(code **)(*(int *)(pcVar6 + 0x1c) + 4) = param_4;\n      }\n      if (uVar18 != 0) {\n        (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))(pcStack_96c);\n        uVar18 = 0x20;\n      }\n      if (uStack_958 != 0) {\n        uVar18 = uVar18 | 2;\n      }\n      if (uVar20 != 0x100) {\n        uVar18 = uVar18 | 0x80;\n      }\n      if (bVar1) {\n        uVar18 = uVar18 | 8;\n      }\n      if (((uint)param_4 & 0x40) == 0) {\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = (code *)0x0;\n      }\n      else {\n        uVar18 = uVar18 | 0x40;\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = pcVar30;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca37c))(pcVar5,*(int *)(pcVar22 + 0xca060) + -0x45c0,1);\n      iVar16 = *(int *)(pcVar22 + 0xca060);\n      if (iVar27 != 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 0x10;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca610))(*(undefined4 *)(iVar8 + 0x10),iVar16 + -0x45b8);\n      if (iVar27 == 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 1;\n      }\n      if ((uVar18 & 0x80) == 0) {\n        iVar27 = (*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6);\n        if (iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n          iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);\n          if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n        }\n        else {\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }\n        *(int *)(pcVar6 + 0x14) = 0;\n        if (pcVar5 != (code *)0x0) {\n          if (iVar4 < 0) goto LAB_000c630c;\n          (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);\n          iVar4 = *(int *)(pcVar6 + 0x1c);\n          goto LAB_000c6310;\n        }\n      }\n      else {\n        iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4;\nLAB_000c6394:\n        *(int *)(pcVar6 + 0x14) = 0;\n      }\n      *(int *)pcVar6 = iVar27;\n      (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524))(pcVar6);\n      pcVar5 = (code *)0x0;\n    }" (if "if") (parenthesized_expression "(iVar4 < 0)" (( "(") (binary_expression "iVar4 < 0" (identifier "iVar4") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      if (((uint)param_4 & 0x80800) == 0) {\n        uVar28 = 0x180;\n        if ((uVar18 == 0) && (uVar28 = 0, ((uint)param_4 & 0x40) != 0)) {\n          iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }\n          uVar28 = 0;\n        }\nLAB_000c5e0c:\n        uStack_954 = 0;\n        uStack_960 = 0;\n      }\n      else {\n        iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c);\n        iVar27 = iVar4 + -1;\n        if (pcStack_96c[iVar27] != (code)0x2d) {\n          if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }\n          uVar28 = 0;\n          goto LAB_000c5e0c;\n        }\nLAB_000c5e78:\n        (**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201);\n        auStack_89c[iVar27] = 0;\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940);\n        if (iVar4 == 0) {\n          uVar28 = uStack_928 & 0x1ff;\n          uStack_960 = uStack_920;\n          uStack_954 = uStack_91c;\n          pcVar5 = (code *)0x0;\n        }\n        else {\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }\nLAB_000c5ee0:\n        if (pcVar5 != (code *)0x0) goto LAB_000c602c;\n      }\n      iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                        (pcStack_96c,uStack_968 | 0x2000,uVar28);\n      if (-1 < iVar4) {\nLAB_000c5e40:\n        if (((uint)param_4 & 0x80800) != 0) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);\n        }\n        goto LAB_000c5a6c;\n      }\n      pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n      if (bVar1) {\n        piVar10 = (int *)(*pcVar5)();\n        if (*piVar10 != 0xd) {\n          pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n          goto LAB_000c5fb8;\n        }\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))(pcStack_96c,0);\n        pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n        if (iVar4 == 0) goto LAB_000c5fb8;\n        uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n        (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                  (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634);\n        pcVar5 = (code *)0x608;\n      }\n      else {\nLAB_000c5fb8:\n        piVar10 = (int *)(*pcVar5)();\n        if ((*piVar10 == 0x15) || (uVar9 == 0)) {\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        else {\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        if (pcVar5 == (code *)0x0) goto LAB_000c602c;\n      }\nLAB_000c630c:\n      iVar4 = *(int *)(pcVar6 + 0x1c);\nLAB_000c6310:\n      (**(code **)(pcVar22 + 0xca07c))(iVar4);\n    }" ({ "{") (if_statement "if (((uint)param_4 & 0x80800) == 0) {\n        uVar28 = 0x180;\n        if ((uVar18 == 0) && (uVar28 = 0, ((uint)param_4 & 0x40) != 0)) {\n          iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }\n          uVar28 = 0;\n        }\nLAB_000c5e0c:\n        uStack_954 = 0;\n        uStack_960 = 0;\n      }\n      else {\n        iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c);\n        iVar27 = iVar4 + -1;\n        if (pcStack_96c[iVar27] != (code)0x2d) {\n          if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }\n          uVar28 = 0;\n          goto LAB_000c5e0c;\n        }\nLAB_000c5e78:\n        (**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201);\n        auStack_89c[iVar27] = 0;\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940);\n        if (iVar4 == 0) {\n          uVar28 = uStack_928 & 0x1ff;\n          uStack_960 = uStack_920;\n          uStack_954 = uStack_91c;\n          pcVar5 = (code *)0x0;\n        }\n        else {\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }\nLAB_000c5ee0:\n        if (pcVar5 != (code *)0x0) goto LAB_000c602c;\n      }" (if "if") (parenthesized_expression "(((uint)param_4 & 0x80800) == 0)" (( "(") (binary_expression "((uint)param_4 & 0x80800) == 0" (parenthesized_expression "((uint)param_4 & 0x80800)" (( "(") (binary_expression "(uint)param_4 & 0x80800" (cast_expression "(uint)param_4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_4")) (& "&") (number_literal "0x80800")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar28 = 0x180;\n        if ((uVar18 == 0) && (uVar28 = 0, ((uint)param_4 & 0x40) != 0)) {\n          iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }\n          uVar28 = 0;\n        }\nLAB_000c5e0c:\n        uStack_954 = 0;\n        uStack_960 = 0;\n      }" ({ "{") (expression_statement "uVar28 = 0x180;" (assignment_expression "uVar28 = 0x180" (identifier "uVar28") (= "=") (number_literal "0x180")) (; ";")) (if_statement "if ((uVar18 == 0) && (uVar28 = 0, ((uint)param_4 & 0x40) != 0)) {\n          iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }\n          uVar28 = 0;\n        }" (if "if") (parenthesized_expression "((uVar18 == 0) && (uVar28 = 0, ((uint)param_4 & 0x40) != 0))" (( "(") (binary_expression "(uVar18 == 0) && (uVar28 = 0, ((uint)param_4 & 0x40) != 0)" (parenthesized_expression "(uVar18 == 0)" (( "(") (binary_expression "uVar18 == 0" (identifier "uVar18") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(uVar28 = 0, ((uint)param_4 & 0x40) != 0)" (( "(") (comma_expression "uVar28 = 0, ((uint)param_4 & 0x40) != 0" (assignment_expression "uVar28 = 0" (identifier "uVar28") (= "=") (number_literal "0")) (, ",") (binary_expression "((uint)param_4 & 0x40) != 0" (parenthesized_expression "((uint)param_4 & 0x40)" (( "(") (binary_expression "(uint)param_4 & 0x40" (cast_expression "(uint)param_4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_4")) (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n          iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }\n          uVar28 = 0;\n        }" ({ "{") (expression_statement "iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8);" (assignment_expression "iVar4 = (**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcVar22 + 0xca2f4))\n                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca2f4))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0xca2f4)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0xca2f4)" (* "*") (cast_expression "(code **)(pcVar22 + 0xca2f4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0xca2f4)" (( "(") (binary_expression "pcVar22 + 0xca2f4" (identifier "pcVar22") (+ "+") (number_literal "0xca2f4")) () ")"))))) () ")")) (argument_list "(pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8)" (( "(") (identifier "pcStack_96c") (, ",") (binary_expression "*(int *)(pcVar22 + 0xca060) + -0x45c8" (pointer_expression "*(int *)(pcVar22 + 0xca060)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca060)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca060)" (( "(") (binary_expression "pcVar22 + 0xca060" (identifier "pcVar22") (+ "+") (number_literal "0xca060")) () ")")))) (+ "+") (number_literal "-0x45c8")) () ")")))) (; ";")) (if_statement "if (iVar4 != 0) {\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);\n            if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }\n            goto LAB_000c5ee0;\n          }" ({ "{") (expression_statement "iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);" (assignment_expression "iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940)" (parenthesized_expression "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))" (( "(") (pointer_expression "**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c)" (* "*") (pointer_expression "*(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c)" (* "*") (cast_expression "(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + -0x80c)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x80c" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca04c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca04c)" (( "(") (binary_expression "pcVar22 + 0xca04c" (identifier "pcVar22") (+ "+") (number_literal "0xca04c")) () ")")))) (+ "+") (number_literal "-0x80c")) () ")"))))) () ")")) (argument_list "(iVar4,aiStack_940)" (( "(") (identifier "iVar4") (, ",") (identifier "aiStack_940") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }\n            else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              uVar28 = uStack_928 & 0x1ff;\n              uStack_960 = uStack_920;\n              uStack_954 = uStack_91c;\n              pcVar5 = (code *)0x0;\n            }" ({ "{") (expression_statement "uVar28 = uStack_928 & 0x1ff;" (assignment_expression "uVar28 = uStack_928 & 0x1ff" (identifier "uVar28") (= "=") (binary_expression "uStack_928 & 0x1ff" (identifier "uStack_928") (& "&") (number_literal "0x1ff"))) (; ";")) (expression_statement "uStack_960 = uStack_920;" (assignment_expression "uStack_960 = uStack_920" (identifier "uStack_960") (= "=") (identifier "uStack_920")) (; ";")) (expression_statement "uStack_954 = uStack_91c;" (assignment_expression "uStack_954 = uStack_91c" (identifier "uStack_954") (= "=") (identifier "uStack_91c")) (; ";")) (expression_statement "pcVar5 = (code *)0x0;" (assignment_expression "pcVar5 = (code *)0x0" (identifier "pcVar5") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }" (else "else") (compound_statement "{\n              uStack_954 = 0;\n              uStack_960 = 0;\n              uVar28 = 0;\n              pcVar5 = (code *)0x70a;\n            }" ({ "{") (expression_statement "uStack_954 = 0;" (assignment_expression "uStack_954 = 0" (identifier "uStack_954") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_960 = 0;" (assignment_expression "uStack_960 = 0" (identifier "uStack_960") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" (identifier "uVar28") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar5 = (code *)0x70a;" (assignment_expression "pcVar5 = (code *)0x70a" (identifier "pcVar5") (= "=") (cast_expression "(code *)0x70a" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x70a"))) (; ";")) (} "}")))) (goto_statement "goto LAB_000c5ee0;" (goto "goto") (statement_identifier "LAB_000c5ee0") (; ";")) (} "}"))) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" (identifier "uVar28") (= "=") (number_literal "0")) (; ";")) (} "}"))) (labeled_statement "LAB_000c5e0c:\n        uStack_954 = 0;" (statement_identifier "LAB_000c5e0c") (: ":") (expression_statement "uStack_954 = 0;" (assignment_expression "uStack_954 = 0" (identifier "uStack_954") (= "=") (number_literal "0")) (; ";"))) (expression_statement "uStack_960 = 0;" (assignment_expression "uStack_960 = 0" (identifier "uStack_960") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c);\n        iVar27 = iVar4 + -1;\n        if (pcStack_96c[iVar27] != (code)0x2d) {\n          if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }\n          uVar28 = 0;\n          goto LAB_000c5e0c;\n        }\nLAB_000c5e78:\n        (**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201);\n        auStack_89c[iVar27] = 0;\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940);\n        if (iVar4 == 0) {\n          uVar28 = uStack_928 & 0x1ff;\n          uStack_960 = uStack_920;\n          uStack_954 = uStack_91c;\n          pcVar5 = (code *)0x0;\n        }\n        else {\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }\nLAB_000c5ee0:\n        if (pcVar5 != (code *)0x0) goto LAB_000c602c;\n      }" (else "else") (compound_statement "{\n        iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c);\n        iVar27 = iVar4 + -1;\n        if (pcStack_96c[iVar27] != (code)0x2d) {\n          if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }\n          uVar28 = 0;\n          goto LAB_000c5e0c;\n        }\nLAB_000c5e78:\n        (**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201);\n        auStack_89c[iVar27] = 0;\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940);\n        if (iVar4 == 0) {\n          uVar28 = uStack_928 & 0x1ff;\n          uStack_960 = uStack_920;\n          uStack_954 = uStack_91c;\n          pcVar5 = (code *)0x0;\n        }\n        else {\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }\nLAB_000c5ee0:\n        if (pcVar5 != (code *)0x0) goto LAB_000c602c;\n      }" ({ "{") (expression_statement "iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c);" (assignment_expression "iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c)" (identifier "iVar4") (= "=") (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8)" (* "*") (cast_expression "(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca2d4) + -0x4bc8" (pointer_expression "*(int *)(pcVar22 + 0xca2d4)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca2d4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca2d4)" (( "(") (binary_expression "pcVar22 + 0xca2d4" (identifier "pcVar22") (+ "+") (number_literal "0xca2d4")) () ")")))) (+ "+") (number_literal "-0x4bc8")) () ")")))) () ")")) (argument_list "(pcStack_96c)" (( "(") (identifier "pcStack_96c") () ")")))) (; ";")) (expression_statement "iVar27 = iVar4 + -1;" (assignment_expression "iVar27 = iVar4 + -1" (identifier "iVar27") (= "=") (binary_expression "iVar4 + -1" (identifier "iVar4") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (pcStack_96c[iVar27] != (code)0x2d) {\n          if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }\n          uVar28 = 0;\n          goto LAB_000c5e0c;\n        }" (if "if") (parenthesized_expression "(pcStack_96c[iVar27] != (code)0x2d)" (( "(") (binary_expression "pcStack_96c[iVar27] != (code)0x2d" (subscript_expression "pcStack_96c[iVar27]" (identifier "pcStack_96c") ([ "[") (identifier "iVar27") (] "]")) (!= "!=") (cast_expression "(code)0x2d" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x2d"))) () ")")) (compound_statement "{\n          if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }\n          uVar28 = 0;\n          goto LAB_000c5e0c;\n        }" ({ "{") (if_statement "if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }" (if "if") (parenthesized_expression "((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e))" (( "(") (binary_expression "(iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)" (parenthesized_expression "(iVar27 != 0)" (( "(") (binary_expression "iVar27 != 0" (identifier "iVar27") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(pcStack_96c[iVar27] != (code)0x2e)" (( "(") (binary_expression "pcStack_96c[iVar27] != (code)0x2e" (subscript_expression "pcStack_96c[iVar27]" (identifier "pcStack_96c") ([ "[") (identifier "iVar27") (] "]")) (!= "!=") (cast_expression "(code)0x2e" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x2e"))) () ")"))) () ")")) (compound_statement "{\n            iVar27 = iVar4 + -2;\n            do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);\n          }" ({ "{") (expression_statement "iVar27 = iVar4 + -2;" (assignment_expression "iVar27 = iVar4 + -2" (identifier "iVar27") (= "=") (binary_expression "iVar4 + -2" (identifier "iVar4") (+ "+") (number_literal "-2"))) (; ";")) (do_statement "do {\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            } while (*pcVar5 != (code)0x2e);" (do "do") (compound_statement "{\n              pcVar5 = pcStack_96c + iVar27;\n              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;\n              uVar28 = 0;\n              if (iVar27 == 0) goto LAB_000c5e0c;\n              iVar27 = iVar27 + -1;\n            }" ({ "{") (expression_statement "pcVar5 = pcStack_96c + iVar27;" (assignment_expression "pcVar5 = pcStack_96c + iVar27" (identifier "pcVar5") (= "=") (binary_expression "pcStack_96c + iVar27" (identifier "pcStack_96c") (+ "+") (identifier "iVar27"))) (; ";")) (if_statement "if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;" (if "if") (parenthesized_expression "(*pcVar5 == (code)0x2d)" (( "(") (binary_expression "*pcVar5 == (code)0x2d" (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")) (== "==") (cast_expression "(code)0x2d" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x2d"))) () ")")) (goto_statement "goto LAB_000c5e78;" (goto "goto") (statement_identifier "LAB_000c5e78") (; ";"))) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" (identifier "uVar28") (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar27 == 0) goto LAB_000c5e0c;" (if "if") (parenthesized_expression "(iVar27 == 0)" (( "(") (binary_expression "iVar27 == 0" (identifier "iVar27") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000c5e0c;" (goto "goto") (statement_identifier "LAB_000c5e0c") (; ";"))) (expression_statement "iVar27 = iVar27 + -1;" (assignment_expression "iVar27 = iVar27 + -1" (identifier "iVar27") (= "=") (binary_expression "iVar27 + -1" (identifier "iVar27") (+ "+") (number_literal "-1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*pcVar5 != (code)0x2e)" (( "(") (binary_expression "*pcVar5 != (code)0x2e" (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")) (!= "!=") (cast_expression "(code)0x2e" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x2e"))) () ")")) (; ";")) (} "}"))) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" (identifier "uVar28") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_000c5e0c;" (goto "goto") (statement_identifier "LAB_000c5e0c") (; ";")) (} "}"))) (labeled_statement "LAB_000c5e78:\n        (**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201);" (statement_identifier "LAB_000c5e78") (: ":") (expression_statement "(**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201);" (call_expression "(**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca544))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0xca544)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0xca544)" (* "*") (cast_expression "(code **)(pcVar22 + 0xca544)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0xca544)" (( "(") (binary_expression "pcVar22 + 0xca544" (identifier "pcVar22") (+ "+") (number_literal "0xca544")) () ")"))))) () ")")) (argument_list "(auStack_89c,pcStack_96c,iVar27,0x201)" (( "(") (identifier "auStack_89c") (, ",") (identifier "pcStack_96c") (, ",") (identifier "iVar27") (, ",") (number_literal "0x201") () ")"))) (; ";"))) (expression_statement "auStack_89c[iVar27] = 0;" (assignment_expression "auStack_89c[iVar27] = 0" (subscript_expression "auStack_89c[iVar27]" (identifier "auStack_89c") ([ "[") (identifier "iVar27") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940);" (assignment_expression "iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940)" (parenthesized_expression "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))" (( "(") (pointer_expression "**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c)" (* "*") (pointer_expression "*(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c)" (* "*") (cast_expression "(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + -0x80c)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x80c" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca04c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca04c)" (( "(") (binary_expression "pcVar22 + 0xca04c" (identifier "pcVar22") (+ "+") (number_literal "0xca04c")) () ")")))) (+ "+") (number_literal "-0x80c")) () ")"))))) () ")")) (argument_list "(auStack_89c,aiStack_940)" (( "(") (identifier "auStack_89c") (, ",") (identifier "aiStack_940") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n          uVar28 = uStack_928 & 0x1ff;\n          uStack_960 = uStack_920;\n          uStack_954 = uStack_91c;\n          pcVar5 = (code *)0x0;\n        }\n        else {\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar28 = uStack_928 & 0x1ff;\n          uStack_960 = uStack_920;\n          uStack_954 = uStack_91c;\n          pcVar5 = (code *)0x0;\n        }" ({ "{") (expression_statement "uVar28 = uStack_928 & 0x1ff;" (assignment_expression "uVar28 = uStack_928 & 0x1ff" (identifier "uVar28") (= "=") (binary_expression "uStack_928 & 0x1ff" (identifier "uStack_928") (& "&") (number_literal "0x1ff"))) (; ";")) (expression_statement "uStack_960 = uStack_920;" (assignment_expression "uStack_960 = uStack_920" (identifier "uStack_960") (= "=") (identifier "uStack_920")) (; ";")) (expression_statement "uStack_954 = uStack_91c;" (assignment_expression "uStack_954 = uStack_91c" (identifier "uStack_954") (= "=") (identifier "uStack_91c")) (; ";")) (expression_statement "pcVar5 = (code *)0x0;" (assignment_expression "pcVar5 = (code *)0x0" (identifier "pcVar5") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }" (else "else") (compound_statement "{\n          uStack_954 = 0;\n          uStack_960 = 0;\n          uVar28 = 0;\n          pcVar5 = (code *)0x70a;\n        }" ({ "{") (expression_statement "uStack_954 = 0;" (assignment_expression "uStack_954 = 0" (identifier "uStack_954") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_960 = 0;" (assignment_expression "uStack_960 = 0" (identifier "uStack_960") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" (identifier "uVar28") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar5 = (code *)0x70a;" (assignment_expression "pcVar5 = (code *)0x70a" (identifier "pcVar5") (= "=") (cast_expression "(code *)0x70a" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x70a"))) (; ";")) (} "}")))) (labeled_statement "LAB_000c5ee0:\n        if (pcVar5 != (code *)0x0) goto LAB_000c602c;" (statement_identifier "LAB_000c5ee0") (: ":") (if_statement "if (pcVar5 != (code *)0x0) goto LAB_000c602c;" (if "if") (parenthesized_expression "(pcVar5 != (code *)0x0)" (( "(") (binary_expression "pcVar5 != (code *)0x0" (identifier "pcVar5") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000c602c;" (goto "goto") (statement_identifier "LAB_000c602c") (; ";")))) (} "}")))) (expression_statement "iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                        (pcStack_96c,uStack_968 | 0x2000,uVar28);" (assignment_expression "iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                        (pcStack_96c,uStack_968 | 0x2000,uVar28)" (identifier "iVar4") (= "=") (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                        (pcStack_96c,uStack_968 | 0x2000,uVar28)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70)" (* "*") (cast_expression "(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca2f8) + 0xf70)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca2f8) + 0xf70" (pointer_expression "*(int *)(pcVar22 + 0xca2f8)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca2f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca2f8)" (( "(") (binary_expression "pcVar22 + 0xca2f8" (identifier "pcVar22") (+ "+") (number_literal "0xca2f8")) () ")")))) (+ "+") (number_literal "0xf70")) () ")")))) () ")")) (argument_list "(pcStack_96c,uStack_968 | 0x2000,uVar28)" (( "(") (identifier "pcStack_96c") (, ",") (binary_expression "uStack_968 | 0x2000" (identifier "uStack_968") (| "|") (number_literal "0x2000")) (, ",") (identifier "uVar28") () ")")))) (; ";")) (if_statement "if (-1 < iVar4) {\nLAB_000c5e40:\n        if (((uint)param_4 & 0x80800) != 0) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);\n        }\n        goto LAB_000c5a6c;\n      }" (if "if") (parenthesized_expression "(-1 < iVar4)" (( "(") (binary_expression "-1 < iVar4" (number_literal "-1") (< "<") (identifier "iVar4")) () ")")) (compound_statement "{\nLAB_000c5e40:\n        if (((uint)param_4 & 0x80800) != 0) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);\n        }\n        goto LAB_000c5a6c;\n      }" ({ "{") (labeled_statement "LAB_000c5e40:\n        if (((uint)param_4 & 0x80800) != 0) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);\n        }" (statement_identifier "LAB_000c5e40") (: ":") (if_statement "if (((uint)param_4 & 0x80800) != 0) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);\n        }" (if "if") (parenthesized_expression "(((uint)param_4 & 0x80800) != 0)" (( "(") (binary_expression "((uint)param_4 & 0x80800) != 0" (parenthesized_expression "((uint)param_4 & 0x80800)" (( "(") (binary_expression "(uint)param_4 & 0x80800" (cast_expression "(uint)param_4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_4")) (& "&") (number_literal "0x80800")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);\n        }" ({ "{") (expression_statement "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);" (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0)" (* "*") (cast_expression "(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca25c) + 0x26f0)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca25c) + 0x26f0" (pointer_expression "*(int *)(pcVar22 + 0xca25c)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca25c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca25c)" (( "(") (binary_expression "pcVar22 + 0xca25c" (identifier "pcVar22") (+ "+") (number_literal "0xca25c")) () ")")))) (+ "+") (number_literal "0x26f0")) () ")")))) () ")")) (argument_list "(iVar4,uStack_960,uStack_954)" (( "(") (identifier "iVar4") (, ",") (identifier "uStack_960") (, ",") (identifier "uStack_954") () ")"))) (; ";")) (} "}")))) (goto_statement "goto LAB_000c5a6c;" (goto "goto") (statement_identifier "LAB_000c5a6c") (; ";")) (} "}"))) (expression_statement "pcVar5 = *(code **)(pcVar22 + 0xca4f8);" (assignment_expression "pcVar5 = *(code **)(pcVar22 + 0xca4f8)" (identifier "pcVar5") (= "=") (pointer_expression "*(code **)(pcVar22 + 0xca4f8)" (* "*") (cast_expression "(code **)(pcVar22 + 0xca4f8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0xca4f8)" (( "(") (binary_expression "pcVar22 + 0xca4f8" (identifier "pcVar22") (+ "+") (number_literal "0xca4f8")) () ")"))))) (; ";")) (if_statement "if (bVar1) {\n        piVar10 = (int *)(*pcVar5)();\n        if (*piVar10 != 0xd) {\n          pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n          goto LAB_000c5fb8;\n        }\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))(pcStack_96c,0);\n        pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n        if (iVar4 == 0) goto LAB_000c5fb8;\n        uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n        (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                  (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634);\n        pcVar5 = (code *)0x608;\n      }\n      else {\nLAB_000c5fb8:\n        piVar10 = (int *)(*pcVar5)();\n        if ((*piVar10 == 0x15) || (uVar9 == 0)) {\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        else {\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        if (pcVar5 == (code *)0x0) goto LAB_000c602c;\n      }" (if "if") (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (compound_statement "{\n        piVar10 = (int *)(*pcVar5)();\n        if (*piVar10 != 0xd) {\n          pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n          goto LAB_000c5fb8;\n        }\n        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))(pcStack_96c,0);\n        pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n        if (iVar4 == 0) goto LAB_000c5fb8;\n        uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n        (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                  (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634);\n        pcVar5 = (code *)0x608;\n      }" ({ "{") (expression_statement "piVar10 = (int *)(*pcVar5)();" (assignment_expression "piVar10 = (int *)(*pcVar5)()" (identifier "piVar10") (= "=") (cast_expression "(int *)(*pcVar5)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar5)()" (parenthesized_expression "(*pcVar5)" (( "(") (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (*piVar10 != 0xd) {\n          pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n          goto LAB_000c5fb8;\n        }" (if "if") (parenthesized_expression "(*piVar10 != 0xd)" (( "(") (binary_expression "*piVar10 != 0xd" (pointer_expression "*piVar10" (* "*") (identifier "piVar10")) (!= "!=") (number_literal "0xd")) () ")")) (compound_statement "{\n          pcVar5 = *(code **)(pcVar22 + 0xca4f8);\n          goto LAB_000c5fb8;\n        }" ({ "{") (expression_statement "pcVar5 = *(code **)(pcVar22 + 0xca4f8);" (assignment_expression "pcVar5 = *(code **)(pcVar22 + 0xca4f8)" (identifier "pcVar5") (= "=") (pointer_expression "*(code **)(pcVar22 + 0xca4f8)" (* "*") (cast_expression "(code **)(pcVar22 + 0xca4f8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0xca4f8)" (( "(") (binary_expression "pcVar22 + 0xca4f8" (identifier "pcVar22") (+ "+") (number_literal "0xca4f8")) () ")"))))) (; ";")) (goto_statement "goto LAB_000c5fb8;" (goto "goto") (statement_identifier "LAB_000c5fb8") (; ";")) (} "}"))) (expression_statement "iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))(pcStack_96c,0);" (assignment_expression "iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))(pcStack_96c,0)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))(pcStack_96c,0)" (parenthesized_expression "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))" (( "(") (pointer_expression "**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824)" (* "*") (pointer_expression "*(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824)" (* "*") (cast_expression "(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + -0x824)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x824" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca04c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca04c)" (( "(") (binary_expression "pcVar22 + 0xca04c" (identifier "pcVar22") (+ "+") (number_literal "0xca04c")) () ")")))) (+ "+") (number_literal "-0x824")) () ")"))))) () ")")) (argument_list "(pcStack_96c,0)" (( "(") (identifier "pcStack_96c") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "pcVar5 = *(code **)(pcVar22 + 0xca4f8);" (assignment_expression "pcVar5 = *(code **)(pcVar22 + 0xca4f8)" (identifier "pcVar5") (= "=") (pointer_expression "*(code **)(pcVar22 + 0xca4f8)" (* "*") (cast_expression "(code **)(pcVar22 + 0xca4f8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0xca4f8)" (( "(") (binary_expression "pcVar22 + 0xca4f8" (identifier "pcVar22") (+ "+") (number_literal "0xca4f8")) () ")"))))) (; ";")) (if_statement "if (iVar4 == 0) goto LAB_000c5fb8;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000c5fb8;" (goto "goto") (statement_identifier "LAB_000c5fb8") (; ";"))) (expression_statement "uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);" (assignment_expression "uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634)" (identifier "uVar29") (= "=") (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538)" (* "*") (cast_expression "(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca2f8) + 0x7538)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca2f8) + 0x7538" (pointer_expression "*(int *)(pcVar22 + 0xca2f8)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca2f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca2f8)" (( "(") (binary_expression "pcVar22 + 0xca2f8" (identifier "pcVar22") (+ "+") (number_literal "0xca2f8")) () ")")))) (+ "+") (number_literal "0x7538")) () ")")))) () ")")) (argument_list "(0x9634)" (( "(") (number_literal "0x9634") () ")")))) (; ";")) (expression_statement "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                  (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634);" (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                  (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c)" (* "*") (cast_expression "(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca2f8) + 0x114c)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca2f8) + 0x114c" (pointer_expression "*(int *)(pcVar22 + 0xca2f8)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca2f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca2f8)" (( "(") (binary_expression "pcVar22 + 0xca2f8" (identifier "pcVar22") (+ "+") (number_literal "0xca2f8")) () ")")))) (+ "+") (number_literal "0x114c")) () ")")))) () ")")) (argument_list "(uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634)" (( "(") (identifier "uVar29") (, ",") (binary_expression "*(int *)(pcVar22 + 0xca05c) + 0x1738" (pointer_expression "*(int *)(pcVar22 + 0xca05c)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca05c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca05c)" (( "(") (binary_expression "pcVar22 + 0xca05c" (identifier "pcVar22") (+ "+") (number_literal "0xca05c")) () ")")))) (+ "+") (number_literal "0x1738")) (, ",") (identifier "pcStack_96c") (, ",") (number_literal "0x9634") () ")"))) (; ";")) (expression_statement "pcVar5 = (code *)0x608;" (assignment_expression "pcVar5 = (code *)0x608" (identifier "pcVar5") (= "=") (cast_expression "(code *)0x608" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x608"))) (; ";")) (} "}")) (else_clause "else {\nLAB_000c5fb8:\n        piVar10 = (int *)(*pcVar5)();\n        if ((*piVar10 == 0x15) || (uVar9 == 0)) {\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        else {\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        if (pcVar5 == (code *)0x0) goto LAB_000c602c;\n      }" (else "else") (compound_statement "{\nLAB_000c5fb8:\n        piVar10 = (int *)(*pcVar5)();\n        if ((*piVar10 == 0x15) || (uVar9 == 0)) {\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        else {\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        if (pcVar5 == (code *)0x0) goto LAB_000c602c;\n      }" ({ "{") (labeled_statement "LAB_000c5fb8:\n        piVar10 = (int *)(*pcVar5)();" (statement_identifier "LAB_000c5fb8") (: ":") (expression_statement "piVar10 = (int *)(*pcVar5)();" (assignment_expression "piVar10 = (int *)(*pcVar5)()" (identifier "piVar10") (= "=") (cast_expression "(int *)(*pcVar5)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar5)()" (parenthesized_expression "(*pcVar5)" (( "(") (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";"))) (if_statement "if ((*piVar10 == 0x15) || (uVar9 == 0)) {\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }\n        else {\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }" (if "if") (parenthesized_expression "((*piVar10 == 0x15) || (uVar9 == 0))" (( "(") (binary_expression "(*piVar10 == 0x15) || (uVar9 == 0)" (parenthesized_expression "(*piVar10 == 0x15)" (( "(") (binary_expression "*piVar10 == 0x15" (pointer_expression "*piVar10" (* "*") (identifier "piVar10")) (== "==") (number_literal "0x15")) () ")")) (|| "||") (parenthesized_expression "(uVar9 == 0)" (( "(") (binary_expression "uVar9 == 0" (identifier "uVar9") (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }" ({ "{") (expression_statement "uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);" (assignment_expression "uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634)" (identifier "uVar29") (= "=") (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538)" (* "*") (cast_expression "(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca2f8) + 0x7538)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca2f8) + 0x7538" (pointer_expression "*(int *)(pcVar22 + 0xca2f8)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca2f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca2f8)" (( "(") (binary_expression "pcVar22 + 0xca2f8" (identifier "pcVar22") (+ "+") (number_literal "0xca2f8")) () ")")))) (+ "+") (number_literal "0x7538")) () ")")))) () ")")) (argument_list "(0x9634)" (( "(") (number_literal "0x9634") () ")")))) (; ";")) (expression_statement "pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );" (assignment_expression "pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     )" (identifier "pcVar5") (= "=") (cast_expression "(code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     )" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     )" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c)" (* "*") (cast_expression "(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca2f8) + 0x114c)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca2f8) + 0x114c" (pointer_expression "*(int *)(pcVar22 + 0xca2f8)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca2f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca2f8)" (( "(") (binary_expression "pcVar22 + 0xca2f8" (identifier "pcVar22") (+ "+") (number_literal "0xca2f8")) () ")")))) (+ "+") (number_literal "0x114c")) () ")")))) () ")")) (argument_list "(uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     )" (( "(") (identifier "uVar29") (, ",") (binary_expression "*(int *)(pcVar22 + 0xca05c) + 0x1738" (pointer_expression "*(int *)(pcVar22 + 0xca05c)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca05c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca05c)" (( "(") (binary_expression "pcVar22 + 0xca05c" (identifier "pcVar22") (+ "+") (number_literal "0xca05c")) () ")")))) (+ "+") (number_literal "0x1738")) (, ",") (identifier "pcStack_96c") (, ",") (number_literal "0x9634") () ")"))))) (; ";")) (} "}")) (else_clause "else {\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }" (else "else") (compound_statement "{\n          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);\n          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);\n          if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }\n          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);\n          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );\n        }" ({ "{") (expression_statement "param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);" (assignment_expression "param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1)" (identifier "param_4") (= "=") (cast_expression "(code *)((uint)param_4 & 0xfffffff9 | 1)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)param_4 & 0xfffffff9 | 1)" (( "(") (binary_expression "(uint)param_4 & 0xfffffff9 | 1" (binary_expression "(uint)param_4 & 0xfffffff9" (cast_expression "(uint)param_4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_4")) (& "&") (number_literal "0xfffffff9")) (| "|") (number_literal "1")) () ")")))) (; ";")) (expression_statement "iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);" (assignment_expression "iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28)" (identifier "iVar4") (= "=") (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))\n                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70)" (* "*") (cast_expression "(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca2f8) + 0xf70)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca2f8) + 0xf70" (pointer_expression "*(int *)(pcVar22 + 0xca2f8)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca2f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca2f8)" (( "(") (binary_expression "pcVar22 + 0xca2f8" (identifier "pcVar22") (+ "+") (number_literal "0xca2f8")) () ")")))) (+ "+") (number_literal "0xf70")) () ")")))) () ")")) (argument_list "(pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28)" (( "(") (identifier "pcStack_96c") (, ",") (binary_expression "uStack_968 & 0xfffffefd | 0x2000" (binary_expression "uStack_968 & 0xfffffefd" (identifier "uStack_968") (& "&") (number_literal "0xfffffefd")) (| "|") (number_literal "0x2000")) (, ",") (identifier "uVar28") () ")")))) (; ";")) (if_statement "if (-1 < iVar4) {\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }" (if "if") (parenthesized_expression "(-1 < iVar4)" (( "(") (binary_expression "-1 < iVar4" (number_literal "-1") (< "<") (identifier "iVar4")) () ")")) (compound_statement "{\n            uStack_958 = 1;\n            goto LAB_000c5e40;\n          }" ({ "{") (expression_statement "uStack_958 = 1;" (assignment_expression "uStack_958 = 1" (identifier "uStack_958") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_000c5e40;" (goto "goto") (statement_identifier "LAB_000c5e40") (; ";")) (} "}"))) (expression_statement "uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);" (assignment_expression "uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634)" (identifier "uVar29") (= "=") (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538)" (* "*") (cast_expression "(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca2f8) + 0x7538)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca2f8) + 0x7538" (pointer_expression "*(int *)(pcVar22 + 0xca2f8)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca2f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca2f8)" (( "(") (binary_expression "pcVar22 + 0xca2f8" (identifier "pcVar22") (+ "+") (number_literal "0xca2f8")) () ")")))) (+ "+") (number_literal "0x7538")) () ")")))) () ")")) (argument_list "(0x9634)" (( "(") (number_literal "0x9634") () ")")))) (; ";")) (expression_statement "pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     );" (assignment_expression "pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     )" (identifier "pcVar5") (= "=") (cast_expression "(code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     )" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))\n                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     )" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c)" (* "*") (cast_expression "(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca2f8) + 0x114c)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca2f8) + 0x114c" (pointer_expression "*(int *)(pcVar22 + 0xca2f8)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca2f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca2f8)" (( "(") (binary_expression "pcVar22 + 0xca2f8" (identifier "pcVar22") (+ "+") (number_literal "0xca2f8")) () ")")))) (+ "+") (number_literal "0x114c")) () ")")))) () ")")) (argument_list "(uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634\n                                     )" (( "(") (identifier "uVar29") (, ",") (binary_expression "*(int *)(pcVar22 + 0xca05c) + 0x1738" (pointer_expression "*(int *)(pcVar22 + 0xca05c)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca05c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca05c)" (( "(") (binary_expression "pcVar22 + 0xca05c" (identifier "pcVar22") (+ "+") (number_literal "0xca05c")) () ")")))) (+ "+") (number_literal "0x1738")) (, ",") (identifier "pcStack_96c") (, ",") (number_literal "0x9634") () ")"))))) (; ";")) (} "}")))) (if_statement "if (pcVar5 == (code *)0x0) goto LAB_000c602c;" (if "if") (parenthesized_expression "(pcVar5 == (code *)0x0)" (( "(") (binary_expression "pcVar5 == (code *)0x0" (identifier "pcVar5") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000c602c;" (goto "goto") (statement_identifier "LAB_000c602c") (; ";"))) (} "}")))) (labeled_statement "LAB_000c630c:\n      iVar4 = *(int *)(pcVar6 + 0x1c);" (statement_identifier "LAB_000c630c") (: ":") (expression_statement "iVar4 = *(int *)(pcVar6 + 0x1c);" (assignment_expression "iVar4 = *(int *)(pcVar6 + 0x1c)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(pcVar6 + 0x1c)" (* "*") (cast_expression "(int *)(pcVar6 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar6 + 0x1c)" (( "(") (binary_expression "pcVar6 + 0x1c" (identifier "pcVar6") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";"))) (labeled_statement "LAB_000c6310:\n      (**(code **)(pcVar22 + 0xca07c))(iVar4);" (statement_identifier "LAB_000c6310") (: ":") (expression_statement "(**(code **)(pcVar22 + 0xca07c))(iVar4);" (call_expression "(**(code **)(pcVar22 + 0xca07c))(iVar4)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca07c))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0xca07c)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0xca07c)" (* "*") (cast_expression "(code **)(pcVar22 + 0xca07c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0xca07c)" (( "(") (binary_expression "pcVar22 + 0xca07c" (identifier "pcVar22") (+ "+") (number_literal "0xca07c")) () ")"))))) () ")")) (argument_list "(iVar4)" (( "(") (identifier "iVar4") () ")"))) (; ";"))) (} "}")) (else_clause "else {\nLAB_000c5a6c:\n      if (puStack_458 != (undefined4 *)0x0) {\n        *puStack_458 = param_4;\n      }\n      if (*(int **)(pcVar6 + 0x1c) != (int *)0x0) {\n        **(int **)(pcVar6 + 0x1c) = iVar4;\n        *(code **)(*(int *)(pcVar6 + 0x1c) + 4) = param_4;\n      }\n      if (uVar18 != 0) {\n        (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))(pcStack_96c);\n        uVar18 = 0x20;\n      }\n      if (uStack_958 != 0) {\n        uVar18 = uVar18 | 2;\n      }\n      if (uVar20 != 0x100) {\n        uVar18 = uVar18 | 0x80;\n      }\n      if (bVar1) {\n        uVar18 = uVar18 | 8;\n      }\n      if (((uint)param_4 & 0x40) == 0) {\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = (code *)0x0;\n      }\n      else {\n        uVar18 = uVar18 | 0x40;\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = pcVar30;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca37c))(pcVar5,*(int *)(pcVar22 + 0xca060) + -0x45c0,1);\n      iVar16 = *(int *)(pcVar22 + 0xca060);\n      if (iVar27 != 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 0x10;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca610))(*(undefined4 *)(iVar8 + 0x10),iVar16 + -0x45b8);\n      if (iVar27 == 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 1;\n      }\n      if ((uVar18 & 0x80) == 0) {\n        iVar27 = (*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6);\n        if (iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n          iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);\n          if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n        }\n        else {\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }\n        *(int *)(pcVar6 + 0x14) = 0;\n        if (pcVar5 != (code *)0x0) {\n          if (iVar4 < 0) goto LAB_000c630c;\n          (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);\n          iVar4 = *(int *)(pcVar6 + 0x1c);\n          goto LAB_000c6310;\n        }\n      }\n      else {\n        iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4;\nLAB_000c6394:\n        *(int *)(pcVar6 + 0x14) = 0;\n      }\n      *(int *)pcVar6 = iVar27;\n      (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524))(pcVar6);\n      pcVar5 = (code *)0x0;\n    }" (else "else") (compound_statement "{\nLAB_000c5a6c:\n      if (puStack_458 != (undefined4 *)0x0) {\n        *puStack_458 = param_4;\n      }\n      if (*(int **)(pcVar6 + 0x1c) != (int *)0x0) {\n        **(int **)(pcVar6 + 0x1c) = iVar4;\n        *(code **)(*(int *)(pcVar6 + 0x1c) + 4) = param_4;\n      }\n      if (uVar18 != 0) {\n        (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))(pcStack_96c);\n        uVar18 = 0x20;\n      }\n      if (uStack_958 != 0) {\n        uVar18 = uVar18 | 2;\n      }\n      if (uVar20 != 0x100) {\n        uVar18 = uVar18 | 0x80;\n      }\n      if (bVar1) {\n        uVar18 = uVar18 | 8;\n      }\n      if (((uint)param_4 & 0x40) == 0) {\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = (code *)0x0;\n      }\n      else {\n        uVar18 = uVar18 | 0x40;\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = pcVar30;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca37c))(pcVar5,*(int *)(pcVar22 + 0xca060) + -0x45c0,1);\n      iVar16 = *(int *)(pcVar22 + 0xca060);\n      if (iVar27 != 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 0x10;\n      }\n      iVar27 = (**(code **)(pcVar22 + 0xca610))(*(undefined4 *)(iVar8 + 0x10),iVar16 + -0x45b8);\n      if (iVar27 == 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 1;\n      }\n      if ((uVar18 & 0x80) == 0) {\n        iVar27 = (*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6);\n        if (iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n          iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);\n          if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n        }\n        else {\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }\n        *(int *)(pcVar6 + 0x14) = 0;\n        if (pcVar5 != (code *)0x0) {\n          if (iVar4 < 0) goto LAB_000c630c;\n          (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);\n          iVar4 = *(int *)(pcVar6 + 0x1c);\n          goto LAB_000c6310;\n        }\n      }\n      else {\n        iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4;\nLAB_000c6394:\n        *(int *)(pcVar6 + 0x14) = 0;\n      }\n      *(int *)pcVar6 = iVar27;\n      (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524))(pcVar6);\n      pcVar5 = (code *)0x0;\n    }" ({ "{") (labeled_statement "LAB_000c5a6c:\n      if (puStack_458 != (undefined4 *)0x0) {\n        *puStack_458 = param_4;\n      }" (statement_identifier "LAB_000c5a6c") (: ":") (if_statement "if (puStack_458 != (undefined4 *)0x0) {\n        *puStack_458 = param_4;\n      }" (if "if") (parenthesized_expression "(puStack_458 != (undefined4 *)0x0)" (( "(") (binary_expression "puStack_458 != (undefined4 *)0x0" (identifier "puStack_458") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        *puStack_458 = param_4;\n      }" ({ "{") (expression_statement "*puStack_458 = param_4;" (assignment_expression "*puStack_458 = param_4" (pointer_expression "*puStack_458" (* "*") (identifier "puStack_458")) (= "=") (identifier "param_4")) (; ";")) (} "}")))) (if_statement "if (*(int **)(pcVar6 + 0x1c) != (int *)0x0) {\n        **(int **)(pcVar6 + 0x1c) = iVar4;\n        *(code **)(*(int *)(pcVar6 + 0x1c) + 4) = param_4;\n      }" (if "if") (parenthesized_expression "(*(int **)(pcVar6 + 0x1c) != (int *)0x0)" (( "(") (binary_expression "*(int **)(pcVar6 + 0x1c) != (int *)0x0" (pointer_expression "*(int **)(pcVar6 + 0x1c)" (* "*") (cast_expression "(int **)(pcVar6 + 0x1c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar6 + 0x1c)" (( "(") (binary_expression "pcVar6 + 0x1c" (identifier "pcVar6") (+ "+") (number_literal "0x1c")) () ")")))) (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        **(int **)(pcVar6 + 0x1c) = iVar4;\n        *(code **)(*(int *)(pcVar6 + 0x1c) + 4) = param_4;\n      }" ({ "{") (expression_statement "**(int **)(pcVar6 + 0x1c) = iVar4;" (assignment_expression "**(int **)(pcVar6 + 0x1c) = iVar4" (pointer_expression "**(int **)(pcVar6 + 0x1c)" (* "*") (pointer_expression "*(int **)(pcVar6 + 0x1c)" (* "*") (cast_expression "(int **)(pcVar6 + 0x1c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar6 + 0x1c)" (( "(") (binary_expression "pcVar6 + 0x1c" (identifier "pcVar6") (+ "+") (number_literal "0x1c")) () ")"))))) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "*(code **)(*(int *)(pcVar6 + 0x1c) + 4) = param_4;" (assignment_expression "*(code **)(*(int *)(pcVar6 + 0x1c) + 4) = param_4" (pointer_expression "*(code **)(*(int *)(pcVar6 + 0x1c) + 4)" (* "*") (cast_expression "(code **)(*(int *)(pcVar6 + 0x1c) + 4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(pcVar6 + 0x1c) + 4)" (( "(") (binary_expression "*(int *)(pcVar6 + 0x1c) + 4" (pointer_expression "*(int *)(pcVar6 + 0x1c)" (* "*") (cast_expression "(int *)(pcVar6 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar6 + 0x1c)" (( "(") (binary_expression "pcVar6 + 0x1c" (identifier "pcVar6") (+ "+") (number_literal "0x1c")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "param_4")) (; ";")) (} "}"))) (if_statement "if (uVar18 != 0) {\n        (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))(pcStack_96c);\n        uVar18 = 0x20;\n      }" (if "if") (parenthesized_expression "(uVar18 != 0)" (( "(") (binary_expression "uVar18 != 0" (identifier "uVar18") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))(pcStack_96c);\n        uVar18 = 0x20;\n      }" ({ "{") (expression_statement "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))(pcStack_96c);" (call_expression "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))(pcStack_96c)" (parenthesized_expression "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))" (( "(") (pointer_expression "**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c)" (* "*") (pointer_expression "*(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c)" (* "*") (cast_expression "(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + -0x77c)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x77c" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca04c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca04c)" (( "(") (binary_expression "pcVar22 + 0xca04c" (identifier "pcVar22") (+ "+") (number_literal "0xca04c")) () ")")))) (+ "+") (number_literal "-0x77c")) () ")"))))) () ")")) (argument_list "(pcStack_96c)" (( "(") (identifier "pcStack_96c") () ")"))) (; ";")) (expression_statement "uVar18 = 0x20;" (assignment_expression "uVar18 = 0x20" (identifier "uVar18") (= "=") (number_literal "0x20")) (; ";")) (} "}"))) (if_statement "if (uStack_958 != 0) {\n        uVar18 = uVar18 | 2;\n      }" (if "if") (parenthesized_expression "(uStack_958 != 0)" (( "(") (binary_expression "uStack_958 != 0" (identifier "uStack_958") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar18 = uVar18 | 2;\n      }" ({ "{") (expression_statement "uVar18 = uVar18 | 2;" (assignment_expression "uVar18 = uVar18 | 2" (identifier "uVar18") (= "=") (binary_expression "uVar18 | 2" (identifier "uVar18") (| "|") (number_literal "2"))) (; ";")) (} "}"))) (if_statement "if (uVar20 != 0x100) {\n        uVar18 = uVar18 | 0x80;\n      }" (if "if") (parenthesized_expression "(uVar20 != 0x100)" (( "(") (binary_expression "uVar20 != 0x100" (identifier "uVar20") (!= "!=") (number_literal "0x100")) () ")")) (compound_statement "{\n        uVar18 = uVar18 | 0x80;\n      }" ({ "{") (expression_statement "uVar18 = uVar18 | 0x80;" (assignment_expression "uVar18 = uVar18 | 0x80" (identifier "uVar18") (= "=") (binary_expression "uVar18 | 0x80" (identifier "uVar18") (| "|") (number_literal "0x80"))) (; ";")) (} "}"))) (if_statement "if (bVar1) {\n        uVar18 = uVar18 | 8;\n      }" (if "if") (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (compound_statement "{\n        uVar18 = uVar18 | 8;\n      }" ({ "{") (expression_statement "uVar18 = uVar18 | 8;" (assignment_expression "uVar18 = uVar18 | 8" (identifier "uVar18") (= "=") (binary_expression "uVar18 | 8" (identifier "uVar18") (| "|") (number_literal "8"))) (; ";")) (} "}"))) (if_statement "if (((uint)param_4 & 0x40) == 0) {\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = (code *)0x0;\n      }\n      else {\n        uVar18 = uVar18 | 0x40;\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = pcVar30;\n      }" (if "if") (parenthesized_expression "(((uint)param_4 & 0x40) == 0)" (( "(") (binary_expression "((uint)param_4 & 0x40) == 0" (parenthesized_expression "((uint)param_4 & 0x40)" (( "(") (binary_expression "(uint)param_4 & 0x40" (cast_expression "(uint)param_4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_4")) (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = (code *)0x0;\n      }" ({ "{") (expression_statement "*(int *)(pcVar6 + 0xc) = iVar4;" (assignment_expression "*(int *)(pcVar6 + 0xc) = iVar4" (pointer_expression "*(int *)(pcVar6 + 0xc)" (* "*") (cast_expression "(int *)(pcVar6 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar6 + 0xc)" (( "(") (binary_expression "pcVar6 + 0xc" (identifier "pcVar6") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "*(int *)(pcVar6 + 4) = iVar8;" (assignment_expression "*(int *)(pcVar6 + 4) = iVar8" (pointer_expression "*(int *)(pcVar6 + 4)" (* "*") (cast_expression "(int *)(pcVar6 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar6 + 4)" (( "(") (binary_expression "pcVar6 + 4" (identifier "pcVar6") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "iVar8")) (; ";")) (expression_statement "*(code **)(pcVar6 + 0x20) = pcVar30;" (assignment_expression "*(code **)(pcVar6 + 0x20) = pcVar30" (pointer_expression "*(code **)(pcVar6 + 0x20)" (* "*") (cast_expression "(code **)(pcVar6 + 0x20)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar6 + 0x20)" (( "(") (binary_expression "pcVar6 + 0x20" (identifier "pcVar6") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (identifier "pcVar30")) (; ";")) (expression_statement "*(short *)(pcVar6 + 0x12) = (short)uVar18;" (assignment_expression "*(short *)(pcVar6 + 0x12) = (short)uVar18" (pointer_expression "*(short *)(pcVar6 + 0x12)" (* "*") (cast_expression "(short *)(pcVar6 + 0x12)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar6 + 0x12)" (( "(") (binary_expression "pcVar6 + 0x12" (identifier "pcVar6") (+ "+") (number_literal "0x12")) () ")")))) (= "=") (cast_expression "(short)uVar18" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (identifier "uVar18"))) (; ";")) (expression_statement "iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);" (assignment_expression "iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0)" (identifier "iVar27") (= "=") (pointer_expression "*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0)" (* "*") (cast_expression "(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + -0x1ac0)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x1ac0" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca04c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca04c)" (( "(") (binary_expression "pcVar22 + 0xca04c" (identifier "pcVar22") (+ "+") (number_literal "0xca04c")) () ")")))) (+ "+") (number_literal "-0x1ac0")) () ")"))))) (; ";")) (expression_statement "*(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);" (assignment_expression "*(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc)" (pointer_expression "*(int *)(pcVar6 + 0x44)" (* "*") (cast_expression "(int *)(pcVar6 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar6 + 0x44)" (( "(") (binary_expression "pcVar6 + 0x44" (identifier "pcVar6") (+ "+") (number_literal "0x44")) () ")")))) (= "=") (pointer_expression "*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc)" (* "*") (cast_expression "(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + -0x1abc)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x1abc" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca04c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca04c)" (( "(") (binary_expression "pcVar22 + 0xca04c" (identifier "pcVar22") (+ "+") (number_literal "0xca04c")) () ")")))) (+ "+") (number_literal "-0x1abc")) () ")"))))) (; ";")) (expression_statement "*(int *)(pcVar6 + 0x40) = iVar27;" (assignment_expression "*(int *)(pcVar6 + 0x40) = iVar27" (pointer_expression "*(int *)(pcVar6 + 0x40)" (* "*") (cast_expression "(int *)(pcVar6 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar6 + 0x40)" (( "(") (binary_expression "pcVar6 + 0x40" (identifier "pcVar6") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (identifier "iVar27")) (; ";")) (expression_statement "pcVar5 = (code *)0x0;" (assignment_expression "pcVar5 = (code *)0x0" (identifier "pcVar5") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n        uVar18 = uVar18 | 0x40;\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = pcVar30;\n      }" (else "else") (compound_statement "{\n        uVar18 = uVar18 | 0x40;\n        *(int *)(pcVar6 + 0xc) = iVar4;\n        *(int *)(pcVar6 + 4) = iVar8;\n        *(code **)(pcVar6 + 0x20) = pcVar30;\n        *(short *)(pcVar6 + 0x12) = (short)uVar18;\n        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);\n        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);\n        *(int *)(pcVar6 + 0x40) = iVar27;\n        pcVar5 = pcVar30;\n      }" ({ "{") (expression_statement "uVar18 = uVar18 | 0x40;" (assignment_expression "uVar18 = uVar18 | 0x40" (identifier "uVar18") (= "=") (binary_expression "uVar18 | 0x40" (identifier "uVar18") (| "|") (number_literal "0x40"))) (; ";")) (expression_statement "*(int *)(pcVar6 + 0xc) = iVar4;" (assignment_expression "*(int *)(pcVar6 + 0xc) = iVar4" (pointer_expression "*(int *)(pcVar6 + 0xc)" (* "*") (cast_expression "(int *)(pcVar6 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar6 + 0xc)" (( "(") (binary_expression "pcVar6 + 0xc" (identifier "pcVar6") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "*(int *)(pcVar6 + 4) = iVar8;" (assignment_expression "*(int *)(pcVar6 + 4) = iVar8" (pointer_expression "*(int *)(pcVar6 + 4)" (* "*") (cast_expression "(int *)(pcVar6 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar6 + 4)" (( "(") (binary_expression "pcVar6 + 4" (identifier "pcVar6") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "iVar8")) (; ";")) (expression_statement "*(code **)(pcVar6 + 0x20) = pcVar30;" (assignment_expression "*(code **)(pcVar6 + 0x20) = pcVar30" (pointer_expression "*(code **)(pcVar6 + 0x20)" (* "*") (cast_expression "(code **)(pcVar6 + 0x20)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar6 + 0x20)" (( "(") (binary_expression "pcVar6 + 0x20" (identifier "pcVar6") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (identifier "pcVar30")) (; ";")) (expression_statement "*(short *)(pcVar6 + 0x12) = (short)uVar18;" (assignment_expression "*(short *)(pcVar6 + 0x12) = (short)uVar18" (pointer_expression "*(short *)(pcVar6 + 0x12)" (* "*") (cast_expression "(short *)(pcVar6 + 0x12)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar6 + 0x12)" (( "(") (binary_expression "pcVar6 + 0x12" (identifier "pcVar6") (+ "+") (number_literal "0x12")) () ")")))) (= "=") (cast_expression "(short)uVar18" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (identifier "uVar18"))) (; ";")) (expression_statement "iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);" (assignment_expression "iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0)" (identifier "iVar27") (= "=") (pointer_expression "*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0)" (* "*") (cast_expression "(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + -0x1ac0)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x1ac0" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca04c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca04c)" (( "(") (binary_expression "pcVar22 + 0xca04c" (identifier "pcVar22") (+ "+") (number_literal "0xca04c")) () ")")))) (+ "+") (number_literal "-0x1ac0")) () ")"))))) (; ";")) (expression_statement "*(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);" (assignment_expression "*(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc)" (pointer_expression "*(int *)(pcVar6 + 0x44)" (* "*") (cast_expression "(int *)(pcVar6 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar6 + 0x44)" (( "(") (binary_expression "pcVar6 + 0x44" (identifier "pcVar6") (+ "+") (number_literal "0x44")) () ")")))) (= "=") (pointer_expression "*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc)" (* "*") (cast_expression "(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + -0x1abc)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x1abc" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca04c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca04c)" (( "(") (binary_expression "pcVar22 + 0xca04c" (identifier "pcVar22") (+ "+") (number_literal "0xca04c")) () ")")))) (+ "+") (number_literal "-0x1abc")) () ")"))))) (; ";")) (expression_statement "*(int *)(pcVar6 + 0x40) = iVar27;" (assignment_expression "*(int *)(pcVar6 + 0x40) = iVar27" (pointer_expression "*(int *)(pcVar6 + 0x40)" (* "*") (cast_expression "(int *)(pcVar6 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar6 + 0x40)" (( "(") (binary_expression "pcVar6 + 0x40" (identifier "pcVar6") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (identifier "iVar27")) (; ";")) (expression_statement "pcVar5 = pcVar30;" (assignment_expression "pcVar5 = pcVar30" (identifier "pcVar5") (= "=") (identifier "pcVar30")) (; ";")) (} "}")))) (expression_statement "iVar27 = (**(code **)(pcVar22 + 0xca37c))(pcVar5,*(int *)(pcVar22 + 0xca060) + -0x45c0,1);" (assignment_expression "iVar27 = (**(code **)(pcVar22 + 0xca37c))(pcVar5,*(int *)(pcVar22 + 0xca060) + -0x45c0,1)" (identifier "iVar27") (= "=") (call_expression "(**(code **)(pcVar22 + 0xca37c))(pcVar5,*(int *)(pcVar22 + 0xca060) + -0x45c0,1)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca37c))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0xca37c)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0xca37c)" (* "*") (cast_expression "(code **)(pcVar22 + 0xca37c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0xca37c)" (( "(") (binary_expression "pcVar22 + 0xca37c" (identifier "pcVar22") (+ "+") (number_literal "0xca37c")) () ")"))))) () ")")) (argument_list "(pcVar5,*(int *)(pcVar22 + 0xca060) + -0x45c0,1)" (( "(") (identifier "pcVar5") (, ",") (binary_expression "*(int *)(pcVar22 + 0xca060) + -0x45c0" (pointer_expression "*(int *)(pcVar22 + 0xca060)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca060)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca060)" (( "(") (binary_expression "pcVar22 + 0xca060" (identifier "pcVar22") (+ "+") (number_literal "0xca060")) () ")")))) (+ "+") (number_literal "-0x45c0")) (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "iVar16 = *(int *)(pcVar22 + 0xca060);" (assignment_expression "iVar16 = *(int *)(pcVar22 + 0xca060)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(pcVar22 + 0xca060)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca060)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca060)" (( "(") (binary_expression "pcVar22 + 0xca060" (identifier "pcVar22") (+ "+") (number_literal "0xca060")) () ")"))))) (; ";")) (if_statement "if (iVar27 != 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 0x10;\n      }" (if "if") (parenthesized_expression "(iVar27 != 0)" (( "(") (binary_expression "iVar27 != 0" (identifier "iVar27") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 0x10;\n      }" ({ "{") (expression_statement "*(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 0x10;" (assignment_expression "*(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 0x10" (pointer_expression "*(ushort *)(pcVar6 + 0x12)" (* "*") (cast_expression "(ushort *)(pcVar6 + 0x12)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar6 + 0x12)" (( "(") (binary_expression "pcVar6 + 0x12" (identifier "pcVar6") (+ "+") (number_literal "0x12")) () ")")))) (= "=") (binary_expression "*(ushort *)(pcVar6 + 0x12) | 0x10" (pointer_expression "*(ushort *)(pcVar6 + 0x12)" (* "*") (cast_expression "(ushort *)(pcVar6 + 0x12)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar6 + 0x12)" (( "(") (binary_expression "pcVar6 + 0x12" (identifier "pcVar6") (+ "+") (number_literal "0x12")) () ")")))) (| "|") (number_literal "0x10"))) (; ";")) (} "}"))) (expression_statement "iVar27 = (**(code **)(pcVar22 + 0xca610))(*(undefined4 *)(iVar8 + 0x10),iVar16 + -0x45b8);" (assignment_expression "iVar27 = (**(code **)(pcVar22 + 0xca610))(*(undefined4 *)(iVar8 + 0x10),iVar16 + -0x45b8)" (identifier "iVar27") (= "=") (call_expression "(**(code **)(pcVar22 + 0xca610))(*(undefined4 *)(iVar8 + 0x10),iVar16 + -0x45b8)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca610))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0xca610)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0xca610)" (* "*") (cast_expression "(code **)(pcVar22 + 0xca610)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0xca610)" (( "(") (binary_expression "pcVar22 + 0xca610" (identifier "pcVar22") (+ "+") (number_literal "0xca610")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar8 + 0x10),iVar16 + -0x45b8)" (( "(") (pointer_expression "*(undefined4 *)(iVar8 + 0x10)" (* "*") (cast_expression "(undefined4 *)(iVar8 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x10)" (( "(") (binary_expression "iVar8 + 0x10" (identifier "iVar8") (+ "+") (number_literal "0x10")) () ")")))) (, ",") (binary_expression "iVar16 + -0x45b8" (identifier "iVar16") (+ "+") (number_literal "-0x45b8")) () ")")))) (; ";")) (if_statement "if (iVar27 == 0) {\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 1;\n      }" (if "if") (parenthesized_expression "(iVar27 == 0)" (( "(") (binary_expression "iVar27 == 0" (identifier "iVar27") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 1;\n      }" ({ "{") (expression_statement "*(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 1;" (assignment_expression "*(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 1" (pointer_expression "*(ushort *)(pcVar6 + 0x12)" (* "*") (cast_expression "(ushort *)(pcVar6 + 0x12)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar6 + 0x12)" (( "(") (binary_expression "pcVar6 + 0x12" (identifier "pcVar6") (+ "+") (number_literal "0x12")) () ")")))) (= "=") (binary_expression "*(ushort *)(pcVar6 + 0x12) | 1" (pointer_expression "*(ushort *)(pcVar6 + 0x12)" (* "*") (cast_expression "(ushort *)(pcVar6 + 0x12)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar6 + 0x12)" (( "(") (binary_expression "pcVar6 + 0x12" (identifier "pcVar6") (+ "+") (number_literal "0x12")) () ")")))) (| "|") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if ((uVar18 & 0x80) == 0) {\n        iVar27 = (*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6);\n        if (iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n          iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);\n          if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n        }\n        else {\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }\n        *(int *)(pcVar6 + 0x14) = 0;\n        if (pcVar5 != (code *)0x0) {\n          if (iVar4 < 0) goto LAB_000c630c;\n          (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);\n          iVar4 = *(int *)(pcVar6 + 0x1c);\n          goto LAB_000c6310;\n        }\n      }\n      else {\n        iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4;\nLAB_000c6394:\n        *(int *)(pcVar6 + 0x14) = 0;\n      }" (if "if") (parenthesized_expression "((uVar18 & 0x80) == 0)" (( "(") (binary_expression "(uVar18 & 0x80) == 0" (parenthesized_expression "(uVar18 & 0x80)" (( "(") (binary_expression "uVar18 & 0x80" (identifier "uVar18") (& "&") (number_literal "0x80")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iVar27 = (*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6);\n        if (iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n          iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);\n          if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n        }\n        else {\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }\n        *(int *)(pcVar6 + 0x14) = 0;\n        if (pcVar5 != (code *)0x0) {\n          if (iVar4 < 0) goto LAB_000c630c;\n          (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);\n          iVar4 = *(int *)(pcVar6 + 0x1c);\n          goto LAB_000c6310;\n        }\n      }" ({ "{") (expression_statement "iVar27 = (*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6);" (assignment_expression "iVar27 = (*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6)" (identifier "iVar27") (= "=") (call_expression "(*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6)" (parenthesized_expression "(*(code *)**(undefined4 **)(iVar8 + 0x14))" (( "(") (pointer_expression "*(code *)**(undefined4 **)(iVar8 + 0x14)" (* "*") (cast_expression "(code *)**(undefined4 **)(iVar8 + 0x14)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(iVar8 + 0x14)" (* "*") (pointer_expression "*(undefined4 **)(iVar8 + 0x14)" (* "*") (cast_expression "(undefined4 **)(iVar8 + 0x14)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar8 + 0x14)" (( "(") (binary_expression "iVar8 + 0x14" (identifier "iVar8") (+ "+") (number_literal "0x14")) () ")"))))))) () ")")) (argument_list "(pcVar30,pcVar6)" (( "(") (identifier "pcVar30") (, ",") (identifier "pcVar6") () ")")))) (; ";")) (if_statement "if (iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154) {\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n          iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);\n          if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n        }\n        else {\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }" (if "if") (parenthesized_expression "(iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154)" (( "(") (binary_expression "iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154" (identifier "iVar27") (== "==") (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x2154" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca04c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca04c)" (( "(") (binary_expression "pcVar22 + 0xca04c" (identifier "pcVar22") (+ "+") (number_literal "0xca04c")) () ")")))) (+ "+") (number_literal "-0x2154"))) () ")")) (compound_statement "{\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();\n          iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);\n          if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }\n          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();\n        }" ({ "{") (expression_statement "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();" (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c)" (* "*") (cast_expression "(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca25c) + 0x277c)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca25c) + 0x277c" (pointer_expression "*(int *)(pcVar22 + 0xca25c)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca25c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca25c)" (( "(") (binary_expression "pcVar22 + 0xca25c" (identifier "pcVar22") (+ "+") (number_literal "0xca25c")) () ")")))) (+ "+") (number_literal "0x277c")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940);" (assignment_expression "iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940)" (identifier "iVar8") (= "=") (call_expression "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))\n                            (*(int *)(pcVar6 + 0xc),aiStack_940)" (parenthesized_expression "(**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))" (( "(") (pointer_expression "**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800)" (* "*") (pointer_expression "*(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800)" (* "*") (cast_expression "(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + -0x800)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x800" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca04c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca04c)" (( "(") (binary_expression "pcVar22 + 0xca04c" (identifier "pcVar22") (+ "+") (number_literal "0xca04c")) () ")")))) (+ "+") (number_literal "-0x800")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar6 + 0xc),aiStack_940)" (( "(") (pointer_expression "*(int *)(pcVar6 + 0xc)" (* "*") (cast_expression "(int *)(pcVar6 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar6 + 0xc)" (( "(") (binary_expression "pcVar6 + 0xc" (identifier "pcVar6") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (identifier "aiStack_940") () ")")))) (; ";")) (if_statement "if (iVar8 == 0) {\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }\n          else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            uStack_950 = 0;\n            iStack_94c = aiStack_940[0];\n            iStack_944 = iStack_92c;\n            iStack_948 = iStack_930;\n            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }\n            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);\n            if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }\n            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);\n            *puVar19 = uStack_950;\n            puVar19[1] = iStack_94c;\n            puVar19[2] = iStack_948;\n            puVar19[3] = iStack_944;\n            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }\n            puVar19[9] = 1;\n            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n            puVar19[0xb] = iVar8;\n            puVar19[0xc] = 0;\n            if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }\n            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;\nLAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;\n            pcVar5 = (code *)0x0;\n          }" ({ "{") (expression_statement "uStack_950 = 0;" (assignment_expression "uStack_950 = 0" (identifier "uStack_950") (= "=") (number_literal "0")) (; ";")) (expression_statement "iStack_94c = aiStack_940[0];" (assignment_expression "iStack_94c = aiStack_940[0]" (identifier "iStack_94c") (= "=") (subscript_expression "aiStack_940[0]" (identifier "aiStack_940") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "iStack_944 = iStack_92c;" (assignment_expression "iStack_944 = iStack_92c" (identifier "iStack_944") (= "=") (identifier "iStack_92c")) (; ";")) (expression_statement "iStack_948 = iStack_930;" (assignment_expression "iStack_948 = iStack_930" (identifier "iStack_948") (= "=") (identifier "iStack_930")) (; ";")) (for_statement "for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);\n                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }" (for "for") (( "(") (assignment_expression "puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228)" (identifier "puVar19") (= "=") (pointer_expression "*(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228)" (* "*") (cast_expression "(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + 0x228)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca04c) + 0x228" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca04c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca04c)" (( "(") (binary_expression "pcVar22 + 0xca04c" (identifier "pcVar22") (+ "+") (number_literal "0xca04c")) () ")")))) (+ "+") (number_literal "0x228")) () ")"))))) (; ";") (binary_expression "puVar19 != (undefined4 *)0x0" (identifier "puVar19") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";") (assignment_expression "puVar19 = (undefined4 *)puVar19[0xb]" (identifier "puVar19") (= "=") (cast_expression "(undefined4 *)puVar19[0xb]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar19[0xb]" (identifier "puVar19") ([ "[") (number_literal "0xb") (] "]")))) () ")") (compound_statement "{\n              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);\n              if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }\n            }" ({ "{") (expression_statement "iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);" (assignment_expression "iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10)" (identifier "iVar8") (= "=") (call_expression "(**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca5b8))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0xca5b8)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0xca5b8)" (* "*") (cast_expression "(code **)(pcVar22 + 0xca5b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0xca5b8)" (( "(") (binary_expression "pcVar22 + 0xca5b8" (identifier "pcVar22") (+ "+") (number_literal "0xca5b8")) () ")"))))) () ")")) (argument_list "(&uStack_950,puVar19,0x10)" (( "(") (pointer_expression "&uStack_950" (& "&") (identifier "uStack_950")) (, ",") (identifier "puVar19") (, ",") (number_literal "0x10") () ")")))) (; ";")) (if_statement "if (iVar8 == 0) {\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }\n                break;\n              }" ({ "{") (if_statement "if (puVar19 != (undefined4 *)0x0) {\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }" (if "if") (parenthesized_expression "(puVar19 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar19 != (undefined4 *)0x0" (identifier "puVar19") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  puVar19[9] = puVar19[9] + 1;\n                  goto LAB_000c62e4;\n                }" ({ "{") (expression_statement "puVar19[9] = puVar19[9] + 1;" (assignment_expression "puVar19[9] = puVar19[9] + 1" (subscript_expression "puVar19[9]" (identifier "puVar19") ([ "[") (number_literal "9") (] "]")) (= "=") (binary_expression "puVar19[9] + 1" (subscript_expression "puVar19[9]" (identifier "puVar19") ([ "[") (number_literal "9") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_000c62e4;" (goto "goto") (statement_identifier "LAB_000c62e4") (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (} "}"))) (expression_statement "puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);" (assignment_expression "puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38)" (identifier "puVar19") (= "=") (cast_expression "(undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar22 + 0xca0d4))(0,0x38)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca0d4))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0xca0d4)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0xca0d4)" (* "*") (cast_expression "(code **)(pcVar22 + 0xca0d4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0xca0d4)" (( "(") (binary_expression "pcVar22 + 0xca0d4" (identifier "pcVar22") (+ "+") (number_literal "0xca0d4")) () ")"))))) () ")")) (argument_list "(0,0x38)" (( "(") (number_literal "0") (, ",") (number_literal "0x38") () ")"))))) (; ";")) (if_statement "if (puVar19 == (undefined4 *)0x0) {\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }" (if "if") (parenthesized_expression "(puVar19 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar19 == (undefined4 *)0x0" (identifier "puVar19") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              pcVar5 = (code *)&DAT_00000007;\n              goto LAB_000c62a8;\n            }" ({ "{") (expression_statement "pcVar5 = (code *)&DAT_00000007;" (assignment_expression "pcVar5 = (code *)&DAT_00000007" (identifier "pcVar5") (= "=") (cast_expression "(code *)&DAT_00000007" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000007" (& "&") (identifier "DAT_00000007")))) (; ";")) (goto_statement "goto LAB_000c62a8;" (goto "goto") (statement_identifier "LAB_000c62a8") (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);" (call_expression "(**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca504))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0xca504)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0xca504)" (* "*") (cast_expression "(code **)(pcVar22 + 0xca504)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0xca504)" (( "(") (binary_expression "pcVar22 + 0xca504" (identifier "pcVar22") (+ "+") (number_literal "0xca504")) () ")"))))) () ")")) (argument_list "(puVar19 + 4,0,0x28)" (( "(") (binary_expression "puVar19 + 4" (identifier "puVar19") (+ "+") (number_literal "4")) (, ",") (number_literal "0") (, ",") (number_literal "0x28") () ")"))) (; ";")) (expression_statement "*puVar19 = uStack_950;" (assignment_expression "*puVar19 = uStack_950" (pointer_expression "*puVar19" (* "*") (identifier "puVar19")) (= "=") (identifier "uStack_950")) (; ";")) (expression_statement "puVar19[1] = iStack_94c;" (assignment_expression "puVar19[1] = iStack_94c" (subscript_expression "puVar19[1]" (identifier "puVar19") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "iStack_94c")) (; ";")) (expression_statement "puVar19[2] = iStack_948;" (assignment_expression "puVar19[2] = iStack_948" (subscript_expression "puVar19[2]" (identifier "puVar19") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iStack_948")) (; ";")) (expression_statement "puVar19[3] = iStack_944;" (assignment_expression "puVar19[3] = iStack_944" (subscript_expression "puVar19[3]" (identifier "puVar19") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "iStack_944")) (; ";")) (if_statement "if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }" (if "if") (parenthesized_expression "(*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0)" (( "(") (binary_expression "*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0" (pointer_expression "*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74)" (* "*") (cast_expression "(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + -0x1b74)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x1b74" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca04c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca04c)" (( "(") (binary_expression "pcVar22 + 0xca04c" (identifier "pcVar22") (+ "+") (number_literal "0xca04c")) () ")")))) (+ "+") (number_literal "-0x1b74")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);\n              puVar19[4] = iVar8;\n              if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }\n            }" ({ "{") (expression_statement "iVar8 = (**(code **)(pcVar22 + 0xca380))(0);" (assignment_expression "iVar8 = (**(code **)(pcVar22 + 0xca380))(0)" (identifier "iVar8") (= "=") (call_expression "(**(code **)(pcVar22 + 0xca380))(0)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca380))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0xca380)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0xca380)" (* "*") (cast_expression "(code **)(pcVar22 + 0xca380)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0xca380)" (( "(") (binary_expression "pcVar22 + 0xca380" (identifier "pcVar22") (+ "+") (number_literal "0xca380")) () ")"))))) () ")")) (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "puVar19[4] = iVar8;" (assignment_expression "puVar19[4] = iVar8" (subscript_expression "puVar19[4]" (identifier "puVar19") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "iVar8")) (; ";")) (if_statement "if (iVar8 == 0) {\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                (**(code **)(pcVar22 + 0xca07c))(puVar19);\n                pcVar5 = (code *)&DAT_00000007;\n                goto LAB_000c62a8;\n              }" ({ "{") (expression_statement "(**(code **)(pcVar22 + 0xca07c))(puVar19);" (call_expression "(**(code **)(pcVar22 + 0xca07c))(puVar19)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca07c))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0xca07c)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0xca07c)" (* "*") (cast_expression "(code **)(pcVar22 + 0xca07c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0xca07c)" (( "(") (binary_expression "pcVar22 + 0xca07c" (identifier "pcVar22") (+ "+") (number_literal "0xca07c")) () ")"))))) () ")")) (argument_list "(puVar19)" (( "(") (identifier "puVar19") () ")"))) (; ";")) (expression_statement "pcVar5 = (code *)&DAT_00000007;" (assignment_expression "pcVar5 = (code *)&DAT_00000007" (identifier "pcVar5") (= "=") (cast_expression "(code *)&DAT_00000007" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000007" (& "&") (identifier "DAT_00000007")))) (; ";")) (goto_statement "goto LAB_000c62a8;" (goto "goto") (statement_identifier "LAB_000c62a8") (; ";")) (} "}"))) (} "}"))) (expression_statement "puVar19[9] = 1;" (assignment_expression "puVar19[9] = 1" (subscript_expression "puVar19[9]" (identifier "puVar19") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);" (assignment_expression "iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228)" (* "*") (cast_expression "(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + 0x228)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca04c) + 0x228" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca04c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca04c)" (( "(") (binary_expression "pcVar22 + 0xca04c" (identifier "pcVar22") (+ "+") (number_literal "0xca04c")) () ")")))) (+ "+") (number_literal "0x228")) () ")"))))) (; ";")) (expression_statement "puVar19[0xb] = iVar8;" (assignment_expression "puVar19[0xb] = iVar8" (subscript_expression "puVar19[0xb]" (identifier "puVar19") ([ "[") (number_literal "0xb") (] "]")) (= "=") (identifier "iVar8")) (; ";")) (expression_statement "puVar19[0xc] = 0;" (assignment_expression "puVar19[0xc] = 0" (subscript_expression "puVar19[0xc]" (identifier "puVar19") ([ "[") (number_literal "0xc") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar8 != 0) {\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              *(undefined4 **)(iVar8 + 0x30) = puVar19;\n            }" ({ "{") (expression_statement "*(undefined4 **)(iVar8 + 0x30) = puVar19;" (assignment_expression "*(undefined4 **)(iVar8 + 0x30) = puVar19" (pointer_expression "*(undefined4 **)(iVar8 + 0x30)" (* "*") (cast_expression "(undefined4 **)(iVar8 + 0x30)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar8 + 0x30)" (( "(") (binary_expression "iVar8 + 0x30" (identifier "iVar8") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (identifier "puVar19")) (; ";")) (} "}"))) (expression_statement "*(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;" (assignment_expression "*(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19" (pointer_expression "*(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228)" (* "*") (cast_expression "(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + 0x228)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca04c) + 0x228" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca04c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca04c)" (( "(") (binary_expression "pcVar22 + 0xca04c" (identifier "pcVar22") (+ "+") (number_literal "0xca04c")) () ")")))) (+ "+") (number_literal "0x228")) () ")")))) (= "=") (identifier "puVar19")) (; ";")) (labeled_statement "LAB_000c62e4:\n            *(undefined4 **)(pcVar6 + 8) = puVar19;" (statement_identifier "LAB_000c62e4") (: ":") (expression_statement "*(undefined4 **)(pcVar6 + 8) = puVar19;" (assignment_expression "*(undefined4 **)(pcVar6 + 8) = puVar19" (pointer_expression "*(undefined4 **)(pcVar6 + 8)" (* "*") (cast_expression "(undefined4 **)(pcVar6 + 8)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar6 + 8)" (( "(") (binary_expression "pcVar6 + 8" (identifier "pcVar6") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "puVar19")) (; ";"))) (expression_statement "pcVar5 = (code *)0x0;" (assignment_expression "pcVar5 = (code *)0x0" (identifier "pcVar5") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }" (else "else") (compound_statement "{\n            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();\n            *(int *)(pcVar6 + 0x14) = *piVar10;\n            pcVar5 = (code *)&DAT_0000000a;\nLAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);\n            iVar4 = -1;\n          }" ({ "{") (expression_statement "piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();" (assignment_expression "piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))()" (identifier "piVar10") (= "=") (cast_expression "(int *)(**(code **)(pcVar22 + 0xca4f8))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar22 + 0xca4f8))()" (parenthesized_expression "(**(code **)(pcVar22 + 0xca4f8))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0xca4f8)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0xca4f8)" (* "*") (cast_expression "(code **)(pcVar22 + 0xca4f8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0xca4f8)" (( "(") (binary_expression "pcVar22 + 0xca4f8" (identifier "pcVar22") (+ "+") (number_literal "0xca4f8")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "*(int *)(pcVar6 + 0x14) = *piVar10;" (assignment_expression "*(int *)(pcVar6 + 0x14) = *piVar10" (pointer_expression "*(int *)(pcVar6 + 0x14)" (* "*") (cast_expression "(int *)(pcVar6 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar6 + 0x14)" (( "(") (binary_expression "pcVar6 + 0x14" (identifier "pcVar6") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (pointer_expression "*piVar10" (* "*") (identifier "piVar10"))) (; ";")) (expression_statement "pcVar5 = (code *)&DAT_0000000a;" (assignment_expression "pcVar5 = (code *)&DAT_0000000a" (identifier "pcVar5") (= "=") (cast_expression "(code *)&DAT_0000000a" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_0000000a" (& "&") (identifier "DAT_0000000a")))) (; ";")) (labeled_statement "LAB_000c62a8:\n            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);" (statement_identifier "LAB_000c62a8") (: ":") (expression_statement "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);" (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c)" (* "*") (cast_expression "(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca2f8) + 0x158c)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca2f8) + 0x158c" (pointer_expression "*(int *)(pcVar22 + 0xca2f8)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca2f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca2f8)" (( "(") (binary_expression "pcVar22 + 0xca2f8" (identifier "pcVar22") (+ "+") (number_literal "0xca2f8")) () ")")))) (+ "+") (number_literal "0x158c")) () ")")))) () ")")) (argument_list "(pcVar6,iVar4,0x9442)" (( "(") (identifier "pcVar6") (, ",") (identifier "iVar4") (, ",") (number_literal "0x9442") () ")"))) (; ";"))) (expression_statement "iVar4 = -1;" (assignment_expression "iVar4 = -1" (identifier "iVar4") (= "=") (number_literal "-1")) (; ";")) (} "}")))) (expression_statement "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();" (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8)" (* "*") (cast_expression "(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca25c) + 0x27b8)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca25c) + 0x27b8" (pointer_expression "*(int *)(pcVar22 + 0xca25c)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca25c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca25c)" (( "(") (binary_expression "pcVar22 + 0xca25c" (identifier "pcVar22") (+ "+") (number_literal "0xca25c")) () ")")))) (+ "+") (number_literal "0x27b8")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }" (else "else") (compound_statement "{\n          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;\n          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);\n          iVar8 = iVar8 + 6;\n          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);\n          if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }\n          *(int *)(pcVar6 + 0x18) = iVar16;\n        }" ({ "{") (if_statement "if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;" (if "if") (parenthesized_expression "(iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4)" (( "(") (binary_expression "iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4" (identifier "iVar27") (!= "!=") (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x21f4" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca04c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca04c)" (( "(") (binary_expression "pcVar22 + 0xca04c" (identifier "pcVar22") (+ "+") (number_literal "0xca04c")) () ")")))) (+ "+") (number_literal "-0x21f4"))) () ")")) (goto_statement "goto LAB_000c6394;" (goto "goto") (statement_identifier "LAB_000c6394") (; ";"))) (expression_statement "iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);" (assignment_expression "iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30)" (identifier "iVar8") (= "=") (call_expression "(**(code **)(pcVar22 + 0xca52c))(pcVar30)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca52c))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0xca52c)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0xca52c)" (* "*") (cast_expression "(code **)(pcVar22 + 0xca52c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0xca52c)" (( "(") (binary_expression "pcVar22 + 0xca52c" (identifier "pcVar22") (+ "+") (number_literal "0xca52c")) () ")"))))) () ")")) (argument_list "(pcVar30)" (( "(") (identifier "pcVar30") () ")")))) (; ";")) (expression_statement "iVar8 = iVar8 + 6;" (assignment_expression "iVar8 = iVar8 + 6" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 6" (identifier "iVar8") (+ "+") (number_literal "6"))) (; ";")) (expression_statement "iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);" (assignment_expression "iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8)" (identifier "iVar16") (= "=") (call_expression "(**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca0d4))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0xca0d4)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0xca0d4)" (* "*") (cast_expression "(code **)(pcVar22 + 0xca0d4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0xca0d4)" (( "(") (binary_expression "pcVar22 + 0xca0d4" (identifier "pcVar22") (+ "+") (number_literal "0xca0d4")) () ")"))))) () ")")) (argument_list "(iVar8 >> 0x1f,iVar8)" (( "(") (binary_expression "iVar8 >> 0x1f" (identifier "iVar8") (>> ">>") (number_literal "0x1f")) (, ",") (identifier "iVar8") () ")")))) (; ";")) (if_statement "if (iVar16 == 0) {\n            pcVar5 = (code *)&DAT_00000007;\n          }\n          else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }" (if "if") (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            pcVar5 = (code *)&DAT_00000007;\n          }" ({ "{") (expression_statement "pcVar5 = (code *)&DAT_00000007;" (assignment_expression "pcVar5 = (code *)&DAT_00000007" (identifier "pcVar5") (= "=") (cast_expression "(code *)&DAT_00000007" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000007" (& "&") (identifier "DAT_00000007")))) (; ";")) (} "}")) (else_clause "else {\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }" (else "else") (compound_statement "{\n            (**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);\n            pcVar5 = (code *)0x0;\n          }" ({ "{") (expression_statement "(**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);" (call_expression "(**(code **)(pcVar22 + 0xca160))\n                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca160))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0xca160)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0xca160)" (* "*") (cast_expression "(code **)(pcVar22 + 0xca160)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0xca160)" (( "(") (binary_expression "pcVar22 + 0xca160" (identifier "pcVar22") (+ "+") (number_literal "0xca160")) () ")"))))) () ")")) (argument_list "(iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30)" (( "(") (identifier "iVar8") (, ",") (identifier "iVar16") (, ",") (binary_expression "*(int *)(pcVar22 + 0xca060) + -0x45ac" (pointer_expression "*(int *)(pcVar22 + 0xca060)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca060)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca060)" (( "(") (binary_expression "pcVar22 + 0xca060" (identifier "pcVar22") (+ "+") (number_literal "0xca060")) () ")")))) (+ "+") (number_literal "-0x45ac")) (, ",") (identifier "pcVar30") () ")"))) (; ";")) (expression_statement "pcVar5 = (code *)0x0;" (assignment_expression "pcVar5 = (code *)0x0" (identifier "pcVar5") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (expression_statement "*(int *)(pcVar6 + 0x18) = iVar16;" (assignment_expression "*(int *)(pcVar6 + 0x18) = iVar16" (pointer_expression "*(int *)(pcVar6 + 0x18)" (* "*") (cast_expression "(int *)(pcVar6 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar6 + 0x18)" (( "(") (binary_expression "pcVar6 + 0x18" (identifier "pcVar6") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "iVar16")) (; ";")) (} "}")))) (expression_statement "*(int *)(pcVar6 + 0x14) = 0;" (assignment_expression "*(int *)(pcVar6 + 0x14) = 0" (pointer_expression "*(int *)(pcVar6 + 0x14)" (* "*") (cast_expression "(int *)(pcVar6 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar6 + 0x14)" (( "(") (binary_expression "pcVar6 + 0x14" (identifier "pcVar6") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (pcVar5 != (code *)0x0) {\n          if (iVar4 < 0) goto LAB_000c630c;\n          (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);\n          iVar4 = *(int *)(pcVar6 + 0x1c);\n          goto LAB_000c6310;\n        }" (if "if") (parenthesized_expression "(pcVar5 != (code *)0x0)" (( "(") (binary_expression "pcVar5 != (code *)0x0" (identifier "pcVar5") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          if (iVar4 < 0) goto LAB_000c630c;\n          (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);\n          iVar4 = *(int *)(pcVar6 + 0x1c);\n          goto LAB_000c6310;\n        }" ({ "{") (if_statement "if (iVar4 < 0) goto LAB_000c630c;" (if "if") (parenthesized_expression "(iVar4 < 0)" (( "(") (binary_expression "iVar4 < 0" (identifier "iVar4") (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_000c630c;" (goto "goto") (statement_identifier "LAB_000c630c") (; ";"))) (expression_statement "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);" (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c)" (* "*") (cast_expression "(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca2f8) + 0x158c)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca2f8) + 0x158c" (pointer_expression "*(int *)(pcVar22 + 0xca2f8)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca2f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca2f8)" (( "(") (binary_expression "pcVar22 + 0xca2f8" (identifier "pcVar22") (+ "+") (number_literal "0xca2f8")) () ")")))) (+ "+") (number_literal "0x158c")) () ")")))) () ")")) (argument_list "(pcVar6,iVar4,0x9497)" (( "(") (identifier "pcVar6") (, ",") (identifier "iVar4") (, ",") (number_literal "0x9497") () ")"))) (; ";")) (expression_statement "iVar4 = *(int *)(pcVar6 + 0x1c);" (assignment_expression "iVar4 = *(int *)(pcVar6 + 0x1c)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(pcVar6 + 0x1c)" (* "*") (cast_expression "(int *)(pcVar6 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar6 + 0x1c)" (( "(") (binary_expression "pcVar6 + 0x1c" (identifier "pcVar6") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (goto_statement "goto LAB_000c6310;" (goto "goto") (statement_identifier "LAB_000c6310") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4;\nLAB_000c6394:\n        *(int *)(pcVar6 + 0x14) = 0;\n      }" (else "else") (compound_statement "{\n        iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4;\nLAB_000c6394:\n        *(int *)(pcVar6 + 0x14) = 0;\n      }" ({ "{") (expression_statement "iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4;" (assignment_expression "iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4" (identifier "iVar27") (= "=") (binary_expression "*(int *)(pcVar22 + 0xca04c) + -0x21a4" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca04c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca04c)" (( "(") (binary_expression "pcVar22 + 0xca04c" (identifier "pcVar22") (+ "+") (number_literal "0xca04c")) () ")")))) (+ "+") (number_literal "-0x21a4"))) (; ";")) (labeled_statement "LAB_000c6394:\n        *(int *)(pcVar6 + 0x14) = 0;" (statement_identifier "LAB_000c6394") (: ":") (expression_statement "*(int *)(pcVar6 + 0x14) = 0;" (assignment_expression "*(int *)(pcVar6 + 0x14) = 0" (pointer_expression "*(int *)(pcVar6 + 0x14)" (* "*") (cast_expression "(int *)(pcVar6 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar6 + 0x14)" (( "(") (binary_expression "pcVar6 + 0x14" (identifier "pcVar6") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (number_literal "0")) (; ";"))) (} "}")))) (expression_statement "*(int *)pcVar6 = iVar27;" (assignment_expression "*(int *)pcVar6 = iVar27" (pointer_expression "*(int *)pcVar6" (* "*") (cast_expression "(int *)pcVar6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar6"))) (= "=") (identifier "iVar27")) (; ";")) (expression_statement "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524))(pcVar6);" (call_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524))(pcVar6)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524)" (* "*") (cast_expression "(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca2f8) + 0x2524)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca2f8) + 0x2524" (pointer_expression "*(int *)(pcVar22 + 0xca2f8)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca2f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca2f8)" (( "(") (binary_expression "pcVar22 + 0xca2f8" (identifier "pcVar22") (+ "+") (number_literal "0xca2f8")) () ")")))) (+ "+") (number_literal "0x2524")) () ")")))) () ")")) (argument_list "(pcVar6)" (( "(") (identifier "pcVar6") () ")"))) (; ";")) (expression_statement "pcVar5 = (code *)0x0;" (assignment_expression "pcVar5 = (code *)0x0" (identifier "pcVar5") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    if ((uVar20 == 0x4000) || (uVar20 == 0x800)) {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n    }\n    else {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n      if (uVar20 != 0x80000) goto LAB_000c59a0;\n    }\n    iVar4 = (*pcVar5)();\n    if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {\n      bVar1 = true;\nLAB_000c59cc:\n      uVar29 = (**(code **)(pcVar22 + 0xca564))();\n      *(undefined4 *)(*(int *)(pcVar22 + 0xca04c) + 0x230) = uVar29;\n      sqlite3_randomness(0,0);\n      goto LAB_000c59fc;\n    }\n    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);\n    bVar1 = true;\nLAB_000c5a24:\n    iVar4 = -1;\n    if (pcVar30 != (code *)0x0) goto LAB_000c5a34;\n    pcVar5 = (code *)FUN_000c5048(*(undefined4 *)(iVar8 + 8),auStack_698);\n    if (pcVar5 == (code *)0x0) {\n      iVar4 = -1;\n      pcStack_96c = (code *)auStack_698;\n      goto LAB_000c5a34;\n    }\n  }" (else "else") (compound_statement "{\n    if ((uVar20 == 0x4000) || (uVar20 == 0x800)) {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n    }\n    else {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n      if (uVar20 != 0x80000) goto LAB_000c59a0;\n    }\n    iVar4 = (*pcVar5)();\n    if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {\n      bVar1 = true;\nLAB_000c59cc:\n      uVar29 = (**(code **)(pcVar22 + 0xca564))();\n      *(undefined4 *)(*(int *)(pcVar22 + 0xca04c) + 0x230) = uVar29;\n      sqlite3_randomness(0,0);\n      goto LAB_000c59fc;\n    }\n    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);\n    bVar1 = true;\nLAB_000c5a24:\n    iVar4 = -1;\n    if (pcVar30 != (code *)0x0) goto LAB_000c5a34;\n    pcVar5 = (code *)FUN_000c5048(*(undefined4 *)(iVar8 + 8),auStack_698);\n    if (pcVar5 == (code *)0x0) {\n      iVar4 = -1;\n      pcStack_96c = (code *)auStack_698;\n      goto LAB_000c5a34;\n    }\n  }" ({ "{") (if_statement "if ((uVar20 == 0x4000) || (uVar20 == 0x800)) {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n    }\n    else {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n      if (uVar20 != 0x80000) goto LAB_000c59a0;\n    }" (if "if") (parenthesized_expression "((uVar20 == 0x4000) || (uVar20 == 0x800))" (( "(") (binary_expression "(uVar20 == 0x4000) || (uVar20 == 0x800)" (parenthesized_expression "(uVar20 == 0x4000)" (( "(") (binary_expression "uVar20 == 0x4000" (identifier "uVar20") (== "==") (number_literal "0x4000")) () ")")) (|| "||") (parenthesized_expression "(uVar20 == 0x800)" (( "(") (binary_expression "uVar20 == 0x800" (identifier "uVar20") (== "==") (number_literal "0x800")) () ")"))) () ")")) (compound_statement "{\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n    }" ({ "{") (expression_statement "pcVar5 = *(code **)(pcVar22 + 0xca564);" (assignment_expression "pcVar5 = *(code **)(pcVar22 + 0xca564)" (identifier "pcVar5") (= "=") (pointer_expression "*(code **)(pcVar22 + 0xca564)" (* "*") (cast_expression "(code **)(pcVar22 + 0xca564)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0xca564)" (( "(") (binary_expression "pcVar22 + 0xca564" (identifier "pcVar22") (+ "+") (number_literal "0xca564")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n      if (uVar20 != 0x80000) goto LAB_000c59a0;\n    }" (else "else") (compound_statement "{\n      pcVar5 = *(code **)(pcVar22 + 0xca564);\n      if (uVar20 != 0x80000) goto LAB_000c59a0;\n    }" ({ "{") (expression_statement "pcVar5 = *(code **)(pcVar22 + 0xca564);" (assignment_expression "pcVar5 = *(code **)(pcVar22 + 0xca564)" (identifier "pcVar5") (= "=") (pointer_expression "*(code **)(pcVar22 + 0xca564)" (* "*") (cast_expression "(code **)(pcVar22 + 0xca564)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0xca564)" (( "(") (binary_expression "pcVar22 + 0xca564" (identifier "pcVar22") (+ "+") (number_literal "0xca564")) () ")"))))) (; ";")) (if_statement "if (uVar20 != 0x80000) goto LAB_000c59a0;" (if "if") (parenthesized_expression "(uVar20 != 0x80000)" (( "(") (binary_expression "uVar20 != 0x80000" (identifier "uVar20") (!= "!=") (number_literal "0x80000")) () ")")) (goto_statement "goto LAB_000c59a0;" (goto "goto") (statement_identifier "LAB_000c59a0") (; ";"))) (} "}")))) (expression_statement "iVar4 = (*pcVar5)();" (assignment_expression "iVar4 = (*pcVar5)()" (identifier "iVar4") (= "=") (call_expression "(*pcVar5)()" (parenthesized_expression "(*pcVar5)" (( "(") (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {\n      bVar1 = true;\nLAB_000c59cc:\n      uVar29 = (**(code **)(pcVar22 + 0xca564))();\n      *(undefined4 *)(*(int *)(pcVar22 + 0xca04c) + 0x230) = uVar29;\n      sqlite3_randomness(0,0);\n      goto LAB_000c59fc;\n    }" (if "if") (parenthesized_expression "(iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230))" (( "(") (binary_expression "iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)" (identifier "iVar4") (!= "!=") (pointer_expression "*(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)" (* "*") (cast_expression "(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + 0x230)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca04c) + 0x230" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca04c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca04c)" (( "(") (binary_expression "pcVar22 + 0xca04c" (identifier "pcVar22") (+ "+") (number_literal "0xca04c")) () ")")))) (+ "+") (number_literal "0x230")) () ")"))))) () ")")) (compound_statement "{\n      bVar1 = true;\nLAB_000c59cc:\n      uVar29 = (**(code **)(pcVar22 + 0xca564))();\n      *(undefined4 *)(*(int *)(pcVar22 + 0xca04c) + 0x230) = uVar29;\n      sqlite3_randomness(0,0);\n      goto LAB_000c59fc;\n    }" ({ "{") (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" (identifier "bVar1") (= "=") (true "true")) (; ";")) (labeled_statement "LAB_000c59cc:\n      uVar29 = (**(code **)(pcVar22 + 0xca564))();" (statement_identifier "LAB_000c59cc") (: ":") (expression_statement "uVar29 = (**(code **)(pcVar22 + 0xca564))();" (assignment_expression "uVar29 = (**(code **)(pcVar22 + 0xca564))()" (identifier "uVar29") (= "=") (call_expression "(**(code **)(pcVar22 + 0xca564))()" (parenthesized_expression "(**(code **)(pcVar22 + 0xca564))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0xca564)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0xca564)" (* "*") (cast_expression "(code **)(pcVar22 + 0xca564)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0xca564)" (( "(") (binary_expression "pcVar22 + 0xca564" (identifier "pcVar22") (+ "+") (number_literal "0xca564")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";"))) (expression_statement "*(undefined4 *)(*(int *)(pcVar22 + 0xca04c) + 0x230) = uVar29;" (assignment_expression "*(undefined4 *)(*(int *)(pcVar22 + 0xca04c) + 0x230) = uVar29" (pointer_expression "*(undefined4 *)(*(int *)(pcVar22 + 0xca04c) + 0x230)" (* "*") (cast_expression "(undefined4 *)(*(int *)(pcVar22 + 0xca04c) + 0x230)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xca04c) + 0x230)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xca04c) + 0x230" (pointer_expression "*(int *)(pcVar22 + 0xca04c)" (* "*") (cast_expression "(int *)(pcVar22 + 0xca04c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xca04c)" (( "(") (binary_expression "pcVar22 + 0xca04c" (identifier "pcVar22") (+ "+") (number_literal "0xca04c")) () ")")))) (+ "+") (number_literal "0x230")) () ")")))) (= "=") (identifier "uVar29")) (; ";")) (expression_statement "sqlite3_randomness(0,0);" (call_expression "sqlite3_randomness(0,0)" (identifier "sqlite3_randomness") (argument_list "(0,0)" (( "(") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (goto_statement "goto LAB_000c59fc;" (goto "goto") (statement_identifier "LAB_000c59fc") (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);" (call_expression "(**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58)" (parenthesized_expression "(**(code **)(pcVar22 + 0xca504))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0xca504)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0xca504)" (* "*") (cast_expression "(code **)(pcVar22 + 0xca504)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0xca504)" (( "(") (binary_expression "pcVar22 + 0xca504" (identifier "pcVar22") (+ "+") (number_literal "0xca504")) () ")"))))) () ")")) (argument_list "(pcVar6,0,0x58)" (( "(") (identifier "pcVar6") (, ",") (number_literal "0") (, ",") (number_literal "0x58") () ")"))) (; ";")) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" (identifier "bVar1") (= "=") (true "true")) (; ";")) (labeled_statement "LAB_000c5a24:\n    iVar4 = -1;" (statement_identifier "LAB_000c5a24") (: ":") (expression_statement "iVar4 = -1;" (assignment_expression "iVar4 = -1" (identifier "iVar4") (= "=") (number_literal "-1")) (; ";"))) (if_statement "if (pcVar30 != (code *)0x0) goto LAB_000c5a34;" (if "if") (parenthesized_expression "(pcVar30 != (code *)0x0)" (( "(") (binary_expression "pcVar30 != (code *)0x0" (identifier "pcVar30") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000c5a34;" (goto "goto") (statement_identifier "LAB_000c5a34") (; ";"))) (expression_statement "pcVar5 = (code *)FUN_000c5048(*(undefined4 *)(iVar8 + 8),auStack_698);" (assignment_expression "pcVar5 = (code *)FUN_000c5048(*(undefined4 *)(iVar8 + 8),auStack_698)" (identifier "pcVar5") (= "=") (cast_expression "(code *)FUN_000c5048(*(undefined4 *)(iVar8 + 8),auStack_698)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_000c5048(*(undefined4 *)(iVar8 + 8),auStack_698)" (identifier "FUN_000c5048") (argument_list "(*(undefined4 *)(iVar8 + 8),auStack_698)" (( "(") (pointer_expression "*(undefined4 *)(iVar8 + 8)" (* "*") (cast_expression "(undefined4 *)(iVar8 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 8)" (( "(") (binary_expression "iVar8 + 8" (identifier "iVar8") (+ "+") (number_literal "8")) () ")")))) (, ",") (identifier "auStack_698") () ")"))))) (; ";")) (if_statement "if (pcVar5 == (code *)0x0) {\n      iVar4 = -1;\n      pcStack_96c = (code *)auStack_698;\n      goto LAB_000c5a34;\n    }" (if "if") (parenthesized_expression "(pcVar5 == (code *)0x0)" (( "(") (binary_expression "pcVar5 == (code *)0x0" (identifier "pcVar5") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      iVar4 = -1;\n      pcStack_96c = (code *)auStack_698;\n      goto LAB_000c5a34;\n    }" ({ "{") (expression_statement "iVar4 = -1;" (assignment_expression "iVar4 = -1" (identifier "iVar4") (= "=") (number_literal "-1")) (; ";")) (expression_statement "pcStack_96c = (code *)auStack_698;" (assignment_expression "pcStack_96c = (code *)auStack_698" (identifier "pcStack_96c") (= "=") (cast_expression "(code *)auStack_698" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "auStack_698"))) (; ";")) (goto_statement "goto LAB_000c5a34;" (goto "goto") (statement_identifier "LAB_000c5a34") (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_000c602c:\n  if (iStack_494 == **(int **)(pcVar22 + 0xca5d0)) {\n    return pcVar5;\n  }" (statement_identifier "LAB_000c602c") (: ":") (if_statement "if (iStack_494 == **(int **)(pcVar22 + 0xca5d0)) {\n    return pcVar5;\n  }" (if "if") (parenthesized_expression "(iStack_494 == **(int **)(pcVar22 + 0xca5d0))" (( "(") (binary_expression "iStack_494 == **(int **)(pcVar22 + 0xca5d0)" (identifier "iStack_494") (== "==") (pointer_expression "**(int **)(pcVar22 + 0xca5d0)" (* "*") (pointer_expression "*(int **)(pcVar22 + 0xca5d0)" (* "*") (cast_expression "(int **)(pcVar22 + 0xca5d0)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0xca5d0)" (( "(") (binary_expression "pcVar22 + 0xca5d0" (identifier "pcVar22") (+ "+") (number_literal "0xca5d0")) () ")")))))) () ")")) (compound_statement "{\n    return pcVar5;\n  }" ({ "{") (return_statement "return pcVar5;" (return "return") (identifier "pcVar5") (; ";")) (} "}")))) (expression_statement "pcVar22 = *(code **)(pcVar22 + 0xca5a4);" (assignment_expression "pcVar22 = *(code **)(pcVar22 + 0xca5a4)" (identifier "pcVar22") (= "=") (pointer_expression "*(code **)(pcVar22 + 0xca5a4)" (* "*") (cast_expression "(code **)(pcVar22 + 0xca5a4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0xca5a4)" (( "(") (binary_expression "pcVar22 + 0xca5a4" (identifier "pcVar22") (+ "+") (number_literal "0xca5a4")) () ")"))))) (; ";")) (expression_statement "iVar4 = iStack_494;" (assignment_expression "iVar4 = iStack_494" (identifier "iVar4") (= "=") (identifier "iStack_494")) (; ";")) (expression_statement "(*pcVar22)();" (call_expression "(*pcVar22)()" (parenthesized_expression "(*pcVar22)" (( "(") (pointer_expression "*pcVar22" (* "*") (identifier "pcVar22")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar9 = *(uint *)(iVar4 + 0x98);" (assignment_expression "uVar9 = *(uint *)(iVar4 + 0x98)" (identifier "uVar9") (= "=") (pointer_expression "*(uint *)(iVar4 + 0x98)" (* "*") (cast_expression "(uint *)(iVar4 + 0x98)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x98)" (( "(") (binary_expression "iVar4 + 0x98" (identifier "iVar4") (+ "+") (number_literal "0x98")) () ")"))))) (; ";")) (if_statement "if (*(uint *)(iVar4 + 0x94) <= *(uint *)(iVar4 + 0x98)) {\n    uVar9 = *(uint *)(iVar4 + 0x94);\n  }" (if "if") (parenthesized_expression "(*(uint *)(iVar4 + 0x94) <= *(uint *)(iVar4 + 0x98))" (( "(") (binary_expression "*(uint *)(iVar4 + 0x94) <= *(uint *)(iVar4 + 0x98)" (pointer_expression "*(uint *)(iVar4 + 0x94)" (* "*") (cast_expression "(uint *)(iVar4 + 0x94)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x94)" (( "(") (binary_expression "iVar4 + 0x94" (identifier "iVar4") (+ "+") (number_literal "0x94")) () ")")))) (<= "<=") (pointer_expression "*(uint *)(iVar4 + 0x98)" (* "*") (cast_expression "(uint *)(iVar4 + 0x98)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x98)" (( "(") (binary_expression "iVar4 + 0x98" (identifier "iVar4") (+ "+") (number_literal "0x98")) () ")"))))) () ")")) (compound_statement "{\n    uVar9 = *(uint *)(iVar4 + 0x94);\n  }" ({ "{") (expression_statement "uVar9 = *(uint *)(iVar4 + 0x94);" (assignment_expression "uVar9 = *(uint *)(iVar4 + 0x94)" (identifier "uVar9") (= "=") (pointer_expression "*(uint *)(iVar4 + 0x94)" (* "*") (cast_expression "(uint *)(iVar4 + 0x94)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x94)" (( "(") (binary_expression "iVar4 + 0x94" (identifier "iVar4") (+ "+") (number_literal "0x94")) () ")"))))) (; ";")) (} "}"))) (expression_statement "puVar19 = *(undefined4 **)(iVar4 + 0xd0);" (assignment_expression "puVar19 = *(undefined4 **)(iVar4 + 0xd0)" (identifier "puVar19") (= "=") (pointer_expression "*(undefined4 **)(iVar4 + 0xd0)" (* "*") (cast_expression "(undefined4 **)(iVar4 + 0xd0)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0xd0)" (( "(") (binary_expression "iVar4 + 0xd0" (identifier "iVar4") (+ "+") (number_literal "0xd0")) () ")"))))) (; ";")) (if_statement "if (0 < *(int *)(iVar4 + 0x60)) {\n    iVar8 = 0;\n    iVar27 = 0;\n    do {\n      iVar16 = *(int *)(iVar4 + 0x5c) + iVar8;\n      if (*(int *)(iVar16 + 8) == 0 && *(int *)(iVar16 + 0xc) == 0) {\n        uVar29 = *(undefined4 *)(iVar4 + 0x48);\n        *(undefined4 *)(iVar16 + 0xc) = *(undefined4 *)(iVar4 + 0x4c);\n        *(undefined4 *)(iVar16 + 8) = uVar29;\n      }\n      iVar27 = iVar27 + 1;\n      iVar8 = iVar8 + 0x30;\n    } while (iVar27 < *(int *)(iVar4 + 0x60));\n  }" (if "if") (parenthesized_expression "(0 < *(int *)(iVar4 + 0x60))" (( "(") (binary_expression "0 < *(int *)(iVar4 + 0x60)" (number_literal "0") (< "<") (pointer_expression "*(int *)(iVar4 + 0x60)" (* "*") (cast_expression "(int *)(iVar4 + 0x60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x60)" (( "(") (binary_expression "iVar4 + 0x60" (identifier "iVar4") (+ "+") (number_literal "0x60")) () ")"))))) () ")")) (compound_statement "{\n    iVar8 = 0;\n    iVar27 = 0;\n    do {\n      iVar16 = *(int *)(iVar4 + 0x5c) + iVar8;\n      if (*(int *)(iVar16 + 8) == 0 && *(int *)(iVar16 + 0xc) == 0) {\n        uVar29 = *(undefined4 *)(iVar4 + 0x48);\n        *(undefined4 *)(iVar16 + 0xc) = *(undefined4 *)(iVar4 + 0x4c);\n        *(undefined4 *)(iVar16 + 8) = uVar29;\n      }\n      iVar27 = iVar27 + 1;\n      iVar8 = iVar8 + 0x30;\n    } while (iVar27 < *(int *)(iVar4 + 0x60));\n  }" ({ "{") (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" (identifier "iVar27") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      iVar16 = *(int *)(iVar4 + 0x5c) + iVar8;\n      if (*(int *)(iVar16 + 8) == 0 && *(int *)(iVar16 + 0xc) == 0) {\n        uVar29 = *(undefined4 *)(iVar4 + 0x48);\n        *(undefined4 *)(iVar16 + 0xc) = *(undefined4 *)(iVar4 + 0x4c);\n        *(undefined4 *)(iVar16 + 8) = uVar29;\n      }\n      iVar27 = iVar27 + 1;\n      iVar8 = iVar8 + 0x30;\n    } while (iVar27 < *(int *)(iVar4 + 0x60));" (do "do") (compound_statement "{\n      iVar16 = *(int *)(iVar4 + 0x5c) + iVar8;\n      if (*(int *)(iVar16 + 8) == 0 && *(int *)(iVar16 + 0xc) == 0) {\n        uVar29 = *(undefined4 *)(iVar4 + 0x48);\n        *(undefined4 *)(iVar16 + 0xc) = *(undefined4 *)(iVar4 + 0x4c);\n        *(undefined4 *)(iVar16 + 8) = uVar29;\n      }\n      iVar27 = iVar27 + 1;\n      iVar8 = iVar8 + 0x30;\n    }" ({ "{") (expression_statement "iVar16 = *(int *)(iVar4 + 0x5c) + iVar8;" (assignment_expression "iVar16 = *(int *)(iVar4 + 0x5c) + iVar8" (identifier "iVar16") (= "=") (binary_expression "*(int *)(iVar4 + 0x5c) + iVar8" (pointer_expression "*(int *)(iVar4 + 0x5c)" (* "*") (cast_expression "(int *)(iVar4 + 0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x5c)" (( "(") (binary_expression "iVar4 + 0x5c" (identifier "iVar4") (+ "+") (number_literal "0x5c")) () ")")))) (+ "+") (identifier "iVar8"))) (; ";")) (if_statement "if (*(int *)(iVar16 + 8) == 0 && *(int *)(iVar16 + 0xc) == 0) {\n        uVar29 = *(undefined4 *)(iVar4 + 0x48);\n        *(undefined4 *)(iVar16 + 0xc) = *(undefined4 *)(iVar4 + 0x4c);\n        *(undefined4 *)(iVar16 + 8) = uVar29;\n      }" (if "if") (parenthesized_expression "(*(int *)(iVar16 + 8) == 0 && *(int *)(iVar16 + 0xc) == 0)" (( "(") (binary_expression "*(int *)(iVar16 + 8) == 0 && *(int *)(iVar16 + 0xc) == 0" (binary_expression "*(int *)(iVar16 + 8) == 0" (pointer_expression "*(int *)(iVar16 + 8)" (* "*") (cast_expression "(int *)(iVar16 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 8)" (( "(") (binary_expression "iVar16 + 8" (identifier "iVar16") (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) (&& "&&") (binary_expression "*(int *)(iVar16 + 0xc) == 0" (pointer_expression "*(int *)(iVar16 + 0xc)" (* "*") (cast_expression "(int *)(iVar16 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0xc)" (( "(") (binary_expression "iVar16 + 0xc" (identifier "iVar16") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n        uVar29 = *(undefined4 *)(iVar4 + 0x48);\n        *(undefined4 *)(iVar16 + 0xc) = *(undefined4 *)(iVar4 + 0x4c);\n        *(undefined4 *)(iVar16 + 8) = uVar29;\n      }" ({ "{") (expression_statement "uVar29 = *(undefined4 *)(iVar4 + 0x48);" (assignment_expression "uVar29 = *(undefined4 *)(iVar4 + 0x48)" (identifier "uVar29") (= "=") (pointer_expression "*(undefined4 *)(iVar4 + 0x48)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x48)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x48)" (( "(") (binary_expression "iVar4 + 0x48" (identifier "iVar4") (+ "+") (number_literal "0x48")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar16 + 0xc) = *(undefined4 *)(iVar4 + 0x4c);" (assignment_expression "*(undefined4 *)(iVar16 + 0xc) = *(undefined4 *)(iVar4 + 0x4c)" (pointer_expression "*(undefined4 *)(iVar16 + 0xc)" (* "*") (cast_expression "(undefined4 *)(iVar16 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0xc)" (( "(") (binary_expression "iVar16 + 0xc" (identifier "iVar16") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar4 + 0x4c)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x4c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x4c)" (( "(") (binary_expression "iVar4 + 0x4c" (identifier "iVar4") (+ "+") (number_literal "0x4c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar16 + 8) = uVar29;" (assignment_expression "*(undefined4 *)(iVar16 + 8) = uVar29" (pointer_expression "*(undefined4 *)(iVar16 + 8)" (* "*") (cast_expression "(undefined4 *)(iVar16 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 8)" (( "(") (binary_expression "iVar16 + 8" (identifier "iVar16") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "uVar29")) (; ";")) (} "}"))) (expression_statement "iVar27 = iVar27 + 1;" (assignment_expression "iVar27 = iVar27 + 1" (identifier "iVar27") (= "=") (binary_expression "iVar27 + 1" (identifier "iVar27") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar8 = iVar8 + 0x30;" (assignment_expression "iVar8 = iVar8 + 0x30" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 0x30" (identifier "iVar8") (+ "+") (number_literal "0x30"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar27 < *(int *)(iVar4 + 0x60))" (( "(") (binary_expression "iVar27 < *(int *)(iVar4 + 0x60)" (identifier "iVar27") (< "<") (pointer_expression "*(int *)(iVar4 + 0x60)" (* "*") (cast_expression "(int *)(iVar4 + 0x60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x60)" (( "(") (binary_expression "iVar4 + 0x60" (identifier "iVar4") (+ "+") (number_literal "0x60")) () ")"))))) () ")")) (; ";")) (} "}"))) (expression_statement "uVar32 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x43ec))(iVar4);" (assignment_expression "uVar32 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x43ec))(iVar4)" (identifier "uVar32") (= "=") (call_expression "(*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x43ec))(iVar4)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x43ec))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x43ec)" (* "*") (cast_expression "(code *)(*(int *)(pcVar22 + 0xc9688) + 0x43ec)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xc9688) + 0x43ec)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xc9688) + 0x43ec" (pointer_expression "*(int *)(pcVar22 + 0xc9688)" (* "*") (cast_expression "(int *)(pcVar22 + 0xc9688)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xc9688)" (( "(") (binary_expression "pcVar22 + 0xc9688" (identifier "pcVar22") (+ "+") (number_literal "0xc9688")) () ")")))) (+ "+") (number_literal "0x43ec")) () ")")))) () ")")) (argument_list "(iVar4)" (( "(") (identifier "iVar4") () ")")))) (; ";")) (expression_statement "*(undefined8 *)(iVar4 + 0x48) = uVar32;" (assignment_expression "*(undefined8 *)(iVar4 + 0x48) = uVar32" (pointer_expression "*(undefined8 *)(iVar4 + 0x48)" (* "*") (cast_expression "(undefined8 *)(iVar4 + 0x48)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x48)" (( "(") (binary_expression "iVar4 + 0x48" (identifier "iVar4") (+ "+") (number_literal "0x48")) () ")")))) (= "=") (identifier "uVar32")) (; ";")) (expression_statement "*(undefined8 *)(iVar4 + 0x50) = uVar32;" (assignment_expression "*(undefined8 *)(iVar4 + 0x50) = uVar32" (pointer_expression "*(undefined8 *)(iVar4 + 0x50)" (* "*") (cast_expression "(undefined8 *)(iVar4 + 0x50)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x50)" (( "(") (binary_expression "iVar4 + 0x50" (identifier "iVar4") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (identifier "uVar32")) (; ";")) (if_statement "if ((*(char *)(iVar4 + 7) == '\0') && (*(char *)(iVar4 + 5) != '\x04')) {\n    uVar18 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0xaf8))(*(undefined4 *)(iVar4 + 0x3c));\n    iVar27 = *(int *)(pcVar22 + 0xc96e0);\n    if ((uVar18 & 0x200) == 0) {\n      *(undefined1 *)puVar19 = 0;\n      *(undefined1 *)((int)puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 3) = 0;\n      *(undefined1 *)(puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 5) = 0;\n      *(undefined1 *)((int)puVar19 + 6) = 0;\n      *(undefined1 *)((int)puVar19 + 7) = 0;\n      *(undefined1 *)(puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 9) = 0;\n      *(undefined1 *)((int)puVar19 + 10) = 0;\n      *(undefined1 *)((int)puVar19 + 0xb) = 0;\n      goto LAB_000c65ec;\n    }\n  }\n  else {\n    iVar27 = *(int *)(pcVar22 + 0xc96e0);\n  }" (if "if") (parenthesized_expression "((*(char *)(iVar4 + 7) == '\0') && (*(char *)(iVar4 + 5) != '\x04'))" (( "(") (binary_expression "(*(char *)(iVar4 + 7) == '\0') && (*(char *)(iVar4 + 5) != '\x04')" (parenthesized_expression "(*(char *)(iVar4 + 7) == '\0')" (( "(") (binary_expression "*(char *)(iVar4 + 7) == '\0'" (pointer_expression "*(char *)(iVar4 + 7)" (* "*") (cast_expression "(char *)(iVar4 + 7)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 7)" (( "(") (binary_expression "iVar4 + 7" (identifier "iVar4") (+ "+") (number_literal "7")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(iVar4 + 5) != '\x04')" (( "(") (binary_expression "*(char *)(iVar4 + 5) != '\x04'" (pointer_expression "*(char *)(iVar4 + 5)" (* "*") (cast_expression "(char *)(iVar4 + 5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 5)" (( "(") (binary_expression "iVar4 + 5" (identifier "iVar4") (+ "+") (number_literal "5")) () ")")))) (!= "!=") (char_literal "'\x04'" (' "'") (escape_sequence "\x04") (' "'"))) () ")"))) () ")")) (compound_statement "{\n    uVar18 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0xaf8))(*(undefined4 *)(iVar4 + 0x3c));\n    iVar27 = *(int *)(pcVar22 + 0xc96e0);\n    if ((uVar18 & 0x200) == 0) {\n      *(undefined1 *)puVar19 = 0;\n      *(undefined1 *)((int)puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 3) = 0;\n      *(undefined1 *)(puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 5) = 0;\n      *(undefined1 *)((int)puVar19 + 6) = 0;\n      *(undefined1 *)((int)puVar19 + 7) = 0;\n      *(undefined1 *)(puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 9) = 0;\n      *(undefined1 *)((int)puVar19 + 10) = 0;\n      *(undefined1 *)((int)puVar19 + 0xb) = 0;\n      goto LAB_000c65ec;\n    }\n  }" ({ "{") (expression_statement "uVar18 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0xaf8))(*(undefined4 *)(iVar4 + 0x3c));" (assignment_expression "uVar18 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0xaf8))(*(undefined4 *)(iVar4 + 0x3c))" (identifier "uVar18") (= "=") (call_expression "(*(code *)(*(int *)(pcVar22 + 0xc9688) + 0xaf8))(*(undefined4 *)(iVar4 + 0x3c))" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xc9688) + 0xaf8))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xc9688) + 0xaf8)" (* "*") (cast_expression "(code *)(*(int *)(pcVar22 + 0xc9688) + 0xaf8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xc9688) + 0xaf8)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xc9688) + 0xaf8" (pointer_expression "*(int *)(pcVar22 + 0xc9688)" (* "*") (cast_expression "(int *)(pcVar22 + 0xc9688)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xc9688)" (( "(") (binary_expression "pcVar22 + 0xc9688" (identifier "pcVar22") (+ "+") (number_literal "0xc9688")) () ")")))) (+ "+") (number_literal "0xaf8")) () ")")))) () ")")) (argument_list "(*(undefined4 *)(iVar4 + 0x3c))" (( "(") (pointer_expression "*(undefined4 *)(iVar4 + 0x3c)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x3c)" (( "(") (binary_expression "iVar4 + 0x3c" (identifier "iVar4") (+ "+") (number_literal "0x3c")) () ")")))) () ")")))) (; ";")) (expression_statement "iVar27 = *(int *)(pcVar22 + 0xc96e0);" (assignment_expression "iVar27 = *(int *)(pcVar22 + 0xc96e0)" (identifier "iVar27") (= "=") (pointer_expression "*(int *)(pcVar22 + 0xc96e0)" (* "*") (cast_expression "(int *)(pcVar22 + 0xc96e0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xc96e0)" (( "(") (binary_expression "pcVar22 + 0xc96e0" (identifier "pcVar22") (+ "+") (number_literal "0xc96e0")) () ")"))))) (; ";")) (if_statement "if ((uVar18 & 0x200) == 0) {\n      *(undefined1 *)puVar19 = 0;\n      *(undefined1 *)((int)puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 3) = 0;\n      *(undefined1 *)(puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 5) = 0;\n      *(undefined1 *)((int)puVar19 + 6) = 0;\n      *(undefined1 *)((int)puVar19 + 7) = 0;\n      *(undefined1 *)(puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 9) = 0;\n      *(undefined1 *)((int)puVar19 + 10) = 0;\n      *(undefined1 *)((int)puVar19 + 0xb) = 0;\n      goto LAB_000c65ec;\n    }" (if "if") (parenthesized_expression "((uVar18 & 0x200) == 0)" (( "(") (binary_expression "(uVar18 & 0x200) == 0" (parenthesized_expression "(uVar18 & 0x200)" (( "(") (binary_expression "uVar18 & 0x200" (identifier "uVar18") (& "&") (number_literal "0x200")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined1 *)puVar19 = 0;\n      *(undefined1 *)((int)puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 3) = 0;\n      *(undefined1 *)(puVar19 + 1) = 0;\n      *(undefined1 *)((int)puVar19 + 5) = 0;\n      *(undefined1 *)((int)puVar19 + 6) = 0;\n      *(undefined1 *)((int)puVar19 + 7) = 0;\n      *(undefined1 *)(puVar19 + 2) = 0;\n      *(undefined1 *)((int)puVar19 + 9) = 0;\n      *(undefined1 *)((int)puVar19 + 10) = 0;\n      *(undefined1 *)((int)puVar19 + 0xb) = 0;\n      goto LAB_000c65ec;\n    }" ({ "{") (expression_statement "*(undefined1 *)puVar19 = 0;" (assignment_expression "*(undefined1 *)puVar19 = 0" (pointer_expression "*(undefined1 *)puVar19" (* "*") (cast_expression "(undefined1 *)puVar19" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar19"))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)((int)puVar19 + 1) = 0;" (assignment_expression "*(undefined1 *)((int)puVar19 + 1) = 0" (pointer_expression "*(undefined1 *)((int)puVar19 + 1)" (* "*") (cast_expression "(undefined1 *)((int)puVar19 + 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar19 + 1)" (( "(") (binary_expression "(int)puVar19 + 1" (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")) (+ "+") (number_literal "1")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)((int)puVar19 + 2) = 0;" (assignment_expression "*(undefined1 *)((int)puVar19 + 2) = 0" (pointer_expression "*(undefined1 *)((int)puVar19 + 2)" (* "*") (cast_expression "(undefined1 *)((int)puVar19 + 2)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar19 + 2)" (( "(") (binary_expression "(int)puVar19 + 2" (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")) (+ "+") (number_literal "2")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)((int)puVar19 + 3) = 0;" (assignment_expression "*(undefined1 *)((int)puVar19 + 3) = 0" (pointer_expression "*(undefined1 *)((int)puVar19 + 3)" (* "*") (cast_expression "(undefined1 *)((int)puVar19 + 3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar19 + 3)" (( "(") (binary_expression "(int)puVar19 + 3" (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")) (+ "+") (number_literal "3")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(puVar19 + 1) = 0;" (assignment_expression "*(undefined1 *)(puVar19 + 1) = 0" (pointer_expression "*(undefined1 *)(puVar19 + 1)" (* "*") (cast_expression "(undefined1 *)(puVar19 + 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 1)" (( "(") (binary_expression "puVar19 + 1" (identifier "puVar19") (+ "+") (number_literal "1")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)((int)puVar19 + 5) = 0;" (assignment_expression "*(undefined1 *)((int)puVar19 + 5) = 0" (pointer_expression "*(undefined1 *)((int)puVar19 + 5)" (* "*") (cast_expression "(undefined1 *)((int)puVar19 + 5)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar19 + 5)" (( "(") (binary_expression "(int)puVar19 + 5" (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")) (+ "+") (number_literal "5")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)((int)puVar19 + 6) = 0;" (assignment_expression "*(undefined1 *)((int)puVar19 + 6) = 0" (pointer_expression "*(undefined1 *)((int)puVar19 + 6)" (* "*") (cast_expression "(undefined1 *)((int)puVar19 + 6)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar19 + 6)" (( "(") (binary_expression "(int)puVar19 + 6" (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")) (+ "+") (number_literal "6")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)((int)puVar19 + 7) = 0;" (assignment_expression "*(undefined1 *)((int)puVar19 + 7) = 0" (pointer_expression "*(undefined1 *)((int)puVar19 + 7)" (* "*") (cast_expression "(undefined1 *)((int)puVar19 + 7)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar19 + 7)" (( "(") (binary_expression "(int)puVar19 + 7" (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")) (+ "+") (number_literal "7")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(puVar19 + 2) = 0;" (assignment_expression "*(undefined1 *)(puVar19 + 2) = 0" (pointer_expression "*(undefined1 *)(puVar19 + 2)" (* "*") (cast_expression "(undefined1 *)(puVar19 + 2)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 2)" (( "(") (binary_expression "puVar19 + 2" (identifier "puVar19") (+ "+") (number_literal "2")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)((int)puVar19 + 9) = 0;" (assignment_expression "*(undefined1 *)((int)puVar19 + 9) = 0" (pointer_expression "*(undefined1 *)((int)puVar19 + 9)" (* "*") (cast_expression "(undefined1 *)((int)puVar19 + 9)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar19 + 9)" (( "(") (binary_expression "(int)puVar19 + 9" (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")) (+ "+") (number_literal "9")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)((int)puVar19 + 10) = 0;" (assignment_expression "*(undefined1 *)((int)puVar19 + 10) = 0" (pointer_expression "*(undefined1 *)((int)puVar19 + 10)" (* "*") (cast_expression "(undefined1 *)((int)puVar19 + 10)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar19 + 10)" (( "(") (binary_expression "(int)puVar19 + 10" (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")) (+ "+") (number_literal "10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)((int)puVar19 + 0xb) = 0;" (assignment_expression "*(undefined1 *)((int)puVar19 + 0xb) = 0" (pointer_expression "*(undefined1 *)((int)puVar19 + 0xb)" (* "*") (cast_expression "(undefined1 *)((int)puVar19 + 0xb)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar19 + 0xb)" (( "(") (binary_expression "(int)puVar19 + 0xb" (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")) (+ "+") (number_literal "0xb")) () ")")))) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_000c65ec;" (goto "goto") (statement_identifier "LAB_000c65ec") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    iVar27 = *(int *)(pcVar22 + 0xc96e0);\n  }" (else "else") (compound_statement "{\n    iVar27 = *(int *)(pcVar22 + 0xc96e0);\n  }" ({ "{") (expression_statement "iVar27 = *(int *)(pcVar22 + 0xc96e0);" (assignment_expression "iVar27 = *(int *)(pcVar22 + 0xc96e0)" (identifier "iVar27") (= "=") (pointer_expression "*(int *)(pcVar22 + 0xc96e0)" (* "*") (cast_expression "(int *)(pcVar22 + 0xc96e0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xc96e0)" (( "(") (binary_expression "pcVar22 + 0xc96e0" (identifier "pcVar22") (+ "+") (number_literal "0xc96e0")) () ")"))))) (; ";")) (} "}")))) (expression_statement "uVar29 = *(undefined4 *)(iVar27 + -0x4394);" (assignment_expression "uVar29 = *(undefined4 *)(iVar27 + -0x4394)" (identifier "uVar29") (= "=") (pointer_expression "*(undefined4 *)(iVar27 + -0x4394)" (* "*") (cast_expression "(undefined4 *)(iVar27 + -0x4394)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + -0x4394)" (( "(") (binary_expression "iVar27 + -0x4394" (identifier "iVar27") (+ "+") (number_literal "-0x4394")) () ")"))))) (; ";")) (expression_statement "*puVar19 = *(undefined4 *)(iVar27 + -0x4398);" (assignment_expression "*puVar19 = *(undefined4 *)(iVar27 + -0x4398)" (pointer_expression "*puVar19" (* "*") (identifier "puVar19")) (= "=") (pointer_expression "*(undefined4 *)(iVar27 + -0x4398)" (* "*") (cast_expression "(undefined4 *)(iVar27 + -0x4398)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + -0x4398)" (( "(") (binary_expression "iVar27 + -0x4398" (identifier "iVar27") (+ "+") (number_literal "-0x4398")) () ")"))))) (; ";")) (expression_statement "puVar19[1] = uVar29;" (assignment_expression "puVar19[1] = uVar29" (subscript_expression "puVar19[1]" (identifier "puVar19") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar29")) (; ";")) (expression_statement "(*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c))(puVar19 + 2,0xffffffff);" (call_expression "(*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c))(puVar19 + 2,0xffffffff)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c)" (* "*") (cast_expression "(code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xc9688) + 0x224c)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xc9688) + 0x224c" (pointer_expression "*(int *)(pcVar22 + 0xc9688)" (* "*") (cast_expression "(int *)(pcVar22 + 0xc9688)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xc9688)" (( "(") (binary_expression "pcVar22 + 0xc9688" (identifier "pcVar22") (+ "+") (number_literal "0xc9688")) () ")")))) (+ "+") (number_literal "0x224c")) () ")")))) () ")")) (argument_list "(puVar19 + 2,0xffffffff)" (( "(") (binary_expression "puVar19 + 2" (identifier "puVar19") (+ "+") (number_literal "2")) (, ",") (number_literal "0xffffffff") () ")"))) (; ";")) (labeled_statement "LAB_000c65ec:\n  sqlite3_randomness(4,iVar4 + 0x30);" (statement_identifier "LAB_000c65ec") (: ":") (expression_statement "sqlite3_randomness(4,iVar4 + 0x30);" (call_expression "sqlite3_randomness(4,iVar4 + 0x30)" (identifier "sqlite3_randomness") (argument_list "(4,iVar4 + 0x30)" (( "(") (number_literal "4") (, ",") (binary_expression "iVar4 + 0x30" (identifier "iVar4") (+ "+") (number_literal "0x30")) () ")"))) (; ";"))) (expression_statement "pcVar5 = (code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c);" (assignment_expression "pcVar5 = (code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c)" (identifier "pcVar5") (= "=") (cast_expression "(code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0xc9688) + 0x224c)" (( "(") (binary_expression "*(int *)(pcVar22 + 0xc9688) + 0x224c" (pointer_expression "*(int *)(pcVar22 + 0xc9688)" (* "*") (cast_expression "(int *)(pcVar22 + 0xc9688)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xc9688)" (( "(") (binary_expression "pcVar22 + 0xc9688" (identifier "pcVar22") (+ "+") (number_literal "0xc9688")) () ")")))) (+ "+") (number_literal "0x224c")) () ")")))) (; ";")) (expression_statement "(*pcVar5)(puVar19 + 3,*(undefined4 *)(iVar4 + 0x30));" (call_expression "(*pcVar5)(puVar19 + 3,*(undefined4 *)(iVar4 + 0x30))" (parenthesized_expression "(*pcVar5)" (( "(") (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")) () ")")) (argument_list "(puVar19 + 3,*(undefined4 *)(iVar4 + 0x30))" (( "(") (binary_expression "puVar19 + 3" (identifier "puVar19") (+ "+") (number_literal "3")) (, ",") (pointer_expression "*(undefined4 *)(iVar4 + 0x30)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x30)" (( "(") (binary_expression "iVar4 + 0x30" (identifier "iVar4") (+ "+") (number_literal "0x30")) () ")")))) () ")"))) (; ";")) (expression_statement "(*pcVar5)(puVar19 + 4,*(undefined4 *)(iVar4 + 0x1c));" (call_expression "(*pcVar5)(puVar19 + 4,*(undefined4 *)(iVar4 + 0x1c))" (parenthesized_expression "(*pcVar5)" (( "(") (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")) () ")")) (argument_list "(puVar19 + 4,*(undefined4 *)(iVar4 + 0x1c))" (( "(") (binary_expression "puVar19 + 4" (identifier "puVar19") (+ "+") (number_literal "4")) (, ",") (pointer_expression "*(undefined4 *)(iVar4 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x1c)" (( "(") (binary_expression "iVar4 + 0x1c" (identifier "iVar4") (+ "+") (number_literal "0x1c")) () ")")))) () ")"))) (; ";")) (expression_statement "(*pcVar5)(puVar19 + 5,*(undefined4 *)(iVar4 + 0x94));" (call_expression "(*pcVar5)(puVar19 + 5,*(undefined4 *)(iVar4 + 0x94))" (parenthesized_expression "(*pcVar5)" (( "(") (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")) () ")")) (argument_list "(puVar19 + 5,*(undefined4 *)(iVar4 + 0x94))" (( "(") (binary_expression "puVar19 + 5" (identifier "puVar19") (+ "+") (number_literal "5")) (, ",") (pointer_expression "*(undefined4 *)(iVar4 + 0x94)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x94)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x94)" (( "(") (binary_expression "iVar4 + 0x94" (identifier "iVar4") (+ "+") (number_literal "0x94")) () ")")))) () ")"))) (; ";")) (expression_statement "(*pcVar5)(puVar19 + 6,*(undefined4 *)(iVar4 + 0x98));" (call_expression "(*pcVar5)(puVar19 + 6,*(undefined4 *)(iVar4 + 0x98))" (parenthesized_expression "(*pcVar5)" (( "(") (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")) () ")")) (argument_list "(puVar19 + 6,*(undefined4 *)(iVar4 + 0x98))" (( "(") (binary_expression "puVar19 + 6" (identifier "puVar19") (+ "+") (number_literal "6")) (, ",") (pointer_expression "*(undefined4 *)(iVar4 + 0x98)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x98)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x98)" (( "(") (binary_expression "iVar4 + 0x98" (identifier "iVar4") (+ "+") (number_literal "0x98")) () ")")))) () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar22 + 0xc9930))(puVar19 + 7,0,uVar9 - 0x1c);" (call_expression "(**(code **)(pcVar22 + 0xc9930))(puVar19 + 7,0,uVar9 - 0x1c)" (parenthesized_expression "(**(code **)(pcVar22 + 0xc9930))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0xc9930)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0xc9930)" (* "*") (cast_expression "(code **)(pcVar22 + 0xc9930)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0xc9930)" (( "(") (binary_expression "pcVar22 + 0xc9930" (identifier "pcVar22") (+ "+") (number_literal "0xc9930")) () ")"))))) () ")")) (argument_list "(puVar19 + 7,0,uVar9 - 0x1c)" (( "(") (binary_expression "puVar19 + 7" (identifier "puVar19") (+ "+") (number_literal "7")) (, ",") (number_literal "0") (, ",") (binary_expression "uVar9 - 0x1c" (identifier "uVar9") (- "-") (number_literal "0x1c")) () ")"))) (; ";")) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" (identifier "uVar18") (= "=") (number_literal "0")) (; ";")) (if_statement "if (*(int *)(iVar4 + 0x94) != 0) {\n    iVar27 = *(int *)(pcVar22 + 0xc9688);\n    do {\n      pcVar22 = (code *)(*(code *)(iVar27 + 0x9e0))(*(undefined4 *)(iVar4 + 0x40),puVar19,uVar9);\n      uVar20 = *(uint *)(iVar4 + 0x4c) + uVar9;\n      *(uint *)(iVar4 + 0x48) = (uint)(uVar20 < *(uint *)(iVar4 + 0x4c)) + *(int *)(iVar4 + 0x48);\n      *(uint *)(iVar4 + 0x4c) = uVar20;\n      uVar18 = uVar18 + uVar9;\n      if (pcVar22 != (code *)0x0) {\n        return pcVar22;\n      }\n    } while (uVar18 < *(uint *)(iVar4 + 0x94));\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 0x94) != 0)" (( "(") (binary_expression "*(int *)(iVar4 + 0x94) != 0" (pointer_expression "*(int *)(iVar4 + 0x94)" (* "*") (cast_expression "(int *)(iVar4 + 0x94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x94)" (( "(") (binary_expression "iVar4 + 0x94" (identifier "iVar4") (+ "+") (number_literal "0x94")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar27 = *(int *)(pcVar22 + 0xc9688);\n    do {\n      pcVar22 = (code *)(*(code *)(iVar27 + 0x9e0))(*(undefined4 *)(iVar4 + 0x40),puVar19,uVar9);\n      uVar20 = *(uint *)(iVar4 + 0x4c) + uVar9;\n      *(uint *)(iVar4 + 0x48) = (uint)(uVar20 < *(uint *)(iVar4 + 0x4c)) + *(int *)(iVar4 + 0x48);\n      *(uint *)(iVar4 + 0x4c) = uVar20;\n      uVar18 = uVar18 + uVar9;\n      if (pcVar22 != (code *)0x0) {\n        return pcVar22;\n      }\n    } while (uVar18 < *(uint *)(iVar4 + 0x94));\n  }" ({ "{") (expression_statement "iVar27 = *(int *)(pcVar22 + 0xc9688);" (assignment_expression "iVar27 = *(int *)(pcVar22 + 0xc9688)" (identifier "iVar27") (= "=") (pointer_expression "*(int *)(pcVar22 + 0xc9688)" (* "*") (cast_expression "(int *)(pcVar22 + 0xc9688)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0xc9688)" (( "(") (binary_expression "pcVar22 + 0xc9688" (identifier "pcVar22") (+ "+") (number_literal "0xc9688")) () ")"))))) (; ";")) (do_statement "do {\n      pcVar22 = (code *)(*(code *)(iVar27 + 0x9e0))(*(undefined4 *)(iVar4 + 0x40),puVar19,uVar9);\n      uVar20 = *(uint *)(iVar4 + 0x4c) + uVar9;\n      *(uint *)(iVar4 + 0x48) = (uint)(uVar20 < *(uint *)(iVar4 + 0x4c)) + *(int *)(iVar4 + 0x48);\n      *(uint *)(iVar4 + 0x4c) = uVar20;\n      uVar18 = uVar18 + uVar9;\n      if (pcVar22 != (code *)0x0) {\n        return pcVar22;\n      }\n    } while (uVar18 < *(uint *)(iVar4 + 0x94));" (do "do") (compound_statement "{\n      pcVar22 = (code *)(*(code *)(iVar27 + 0x9e0))(*(undefined4 *)(iVar4 + 0x40),puVar19,uVar9);\n      uVar20 = *(uint *)(iVar4 + 0x4c) + uVar9;\n      *(uint *)(iVar4 + 0x48) = (uint)(uVar20 < *(uint *)(iVar4 + 0x4c)) + *(int *)(iVar4 + 0x48);\n      *(uint *)(iVar4 + 0x4c) = uVar20;\n      uVar18 = uVar18 + uVar9;\n      if (pcVar22 != (code *)0x0) {\n        return pcVar22;\n      }\n    }" ({ "{") (expression_statement "pcVar22 = (code *)(*(code *)(iVar27 + 0x9e0))(*(undefined4 *)(iVar4 + 0x40),puVar19,uVar9);" (assignment_expression "pcVar22 = (code *)(*(code *)(iVar27 + 0x9e0))(*(undefined4 *)(iVar4 + 0x40),puVar19,uVar9)" (identifier "pcVar22") (= "=") (cast_expression "(code *)(*(code *)(iVar27 + 0x9e0))(*(undefined4 *)(iVar4 + 0x40),puVar19,uVar9)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(iVar27 + 0x9e0))(*(undefined4 *)(iVar4 + 0x40),puVar19,uVar9)" (parenthesized_expression "(*(code *)(iVar27 + 0x9e0))" (( "(") (pointer_expression "*(code *)(iVar27 + 0x9e0)" (* "*") (cast_expression "(code *)(iVar27 + 0x9e0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x9e0)" (( "(") (binary_expression "iVar27 + 0x9e0" (identifier "iVar27") (+ "+") (number_literal "0x9e0")) () ")")))) () ")")) (argument_list "(*(undefined4 *)(iVar4 + 0x40),puVar19,uVar9)" (( "(") (pointer_expression "*(undefined4 *)(iVar4 + 0x40)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x40)" (( "(") (binary_expression "iVar4 + 0x40" (identifier "iVar4") (+ "+") (number_literal "0x40")) () ")")))) (, ",") (identifier "puVar19") (, ",") (identifier "uVar9") () ")"))))) (; ";")) (expression_statement "uVar20 = *(uint *)(iVar4 + 0x4c) + uVar9;" (assignment_expression "uVar20 = *(uint *)(iVar4 + 0x4c) + uVar9" (identifier "uVar20") (= "=") (binary_expression "*(uint *)(iVar4 + 0x4c) + uVar9" (pointer_expression "*(uint *)(iVar4 + 0x4c)" (* "*") (cast_expression "(uint *)(iVar4 + 0x4c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x4c)" (( "(") (binary_expression "iVar4 + 0x4c" (identifier "iVar4") (+ "+") (number_literal "0x4c")) () ")")))) (+ "+") (identifier "uVar9"))) (; ";")) (expression_statement "*(uint *)(iVar4 + 0x48) = (uint)(uVar20 < *(uint *)(iVar4 + 0x4c)) + *(int *)(iVar4 + 0x48);" (assignment_expression "*(uint *)(iVar4 + 0x48) = (uint)(uVar20 < *(uint *)(iVar4 + 0x4c)) + *(int *)(iVar4 + 0x48)" (pointer_expression "*(uint *)(iVar4 + 0x48)" (* "*") (cast_expression "(uint *)(iVar4 + 0x48)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x48)" (( "(") (binary_expression "iVar4 + 0x48" (identifier "iVar4") (+ "+") (number_literal "0x48")) () ")")))) (= "=") (binary_expression "(uint)(uVar20 < *(uint *)(iVar4 + 0x4c)) + *(int *)(iVar4 + 0x48)" (call_expression "(uint)(uVar20 < *(uint *)(iVar4 + 0x4c))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar20 < *(uint *)(iVar4 + 0x4c))" (( "(") (binary_expression "uVar20 < *(uint *)(iVar4 + 0x4c)" (identifier "uVar20") (< "<") (pointer_expression "*(uint *)(iVar4 + 0x4c)" (* "*") (cast_expression "(uint *)(iVar4 + 0x4c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x4c)" (( "(") (binary_expression "iVar4 + 0x4c" (identifier "iVar4") (+ "+") (number_literal "0x4c")) () ")"))))) () ")"))) (+ "+") (pointer_expression "*(int *)(iVar4 + 0x48)" (* "*") (cast_expression "(int *)(iVar4 + 0x48)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x48)" (( "(") (binary_expression "iVar4 + 0x48" (identifier "iVar4") (+ "+") (number_literal "0x48")) () ")")))))) (; ";")) (expression_statement "*(uint *)(iVar4 + 0x4c) = uVar20;" (assignment_expression "*(uint *)(iVar4 + 0x4c) = uVar20" (pointer_expression "*(uint *)(iVar4 + 0x4c)" (* "*") (cast_expression "(uint *)(iVar4 + 0x4c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x4c)" (( "(") (binary_expression "iVar4 + 0x4c" (identifier "iVar4") (+ "+") (number_literal "0x4c")) () ")")))) (= "=") (identifier "uVar20")) (; ";")) (expression_statement "uVar18 = uVar18 + uVar9;" (assignment_expression "uVar18 = uVar18 + uVar9" (identifier "uVar18") (= "=") (binary_expression "uVar18 + uVar9" (identifier "uVar18") (+ "+") (identifier "uVar9"))) (; ";")) (if_statement "if (pcVar22 != (code *)0x0) {\n        return pcVar22;\n      }" (if "if") (parenthesized_expression "(pcVar22 != (code *)0x0)" (( "(") (binary_expression "pcVar22 != (code *)0x0" (identifier "pcVar22") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        return pcVar22;\n      }" ({ "{") (return_statement "return pcVar22;" (return "return") (identifier "pcVar22") (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "(uVar18 < *(uint *)(iVar4 + 0x94))" (( "(") (binary_expression "uVar18 < *(uint *)(iVar4 + 0x94)" (identifier "uVar18") (< "<") (pointer_expression "*(uint *)(iVar4 + 0x94)" (* "*") (cast_expression "(uint *)(iVar4 + 0x94)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x94)" (( "(") (binary_expression "iVar4 + 0x94" (identifier "iVar4") (+ "+") (number_literal "0x94")) () ")"))))) () ")")) (; ";")) (} "}"))) (return_statement "return (code *)0x0;" (return "return") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}")))
(translation_unit (function_definition type: (type_identifier) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier)))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (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: (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: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (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: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (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: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (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: (type_identifier) 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: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (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: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (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: (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: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (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: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (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))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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 (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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))) 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: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (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: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (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 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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) consequence: (compound_statement (return_statement (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (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: (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: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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: (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: (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))))))) 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 (call_expression function: (identifier) arguments: (argument_list))) (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (call_expression function: (identifier) arguments: (argument_list)))) (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: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))) (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (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: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))))) (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 (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)))))))))) (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: (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))))))))) consequence: (compound_statement (return_statement (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: (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (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))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) 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: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (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)))) (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 (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: (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: (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: (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 (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))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) 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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) 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 (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: (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)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) alternative: (else_clause (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: (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) (identifier)))) (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: (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: (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: (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: (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))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (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: (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 (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: (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: (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: (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: (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: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (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))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (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: (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))))) 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: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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)))) (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: (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: (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))))) 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: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal))))) consequence: (compound_statement (expression_statement (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: (binary_expression left: (identifier) right: (number_literal)))))))))))))))) alternative: (else_clause (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 (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (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: (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: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (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))))))))))))))) (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: (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))))))))) consequence: (compound_statement (return_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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (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: (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: (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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (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: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (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: (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)))) 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: (pointer_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: (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 (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (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: (number_literal))) (do_statement body: (compound_statement (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: (identifier)) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (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: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (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: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) 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: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (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: (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: (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)) 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: (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: (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))))))) (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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (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)) value: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (subscript_expression argument: (identifier) index: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (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: (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: (primitive_type)) 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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (pointer_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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))))) (labeled_statement label: (statement_identifier) (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: (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))))))))) consequence: (compound_statement (return_statement (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: (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (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: (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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))) consequence: (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 (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: (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: (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: (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: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (comma_expression left: (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)))) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (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: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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)))) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (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: (number_literal)))) (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: (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)))))) (goto_statement label: (statement_identifier)) (labeled_statement label: (statement_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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (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: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (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))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (goto_statement label: (statement_identifier)) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (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))) (goto_statement label: (statement_identifier)) (while_statement condition: (parenthesized_expression (comma_expression left: (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)))) right: (binary_expression left: (identifier) right: (number_literal)))) body: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier))))) (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (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: (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) 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: (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))) (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_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)))))))) consequence: (compound_statement (return_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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))))) arguments: (argument_list))))) (return_statement (identifier)))) (if_statement condition: (parenthesized_expression (binary_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)))))))) consequence: (compound_statement (return_statement (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: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (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))))) (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: (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: (false))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (false))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (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))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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))))) (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: (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)))))) 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))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (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: (primitive_type) 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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) 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))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) 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 (number_literal) (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 (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))) (labeled_statement label: (statement_identifier) (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 (expression_statement (assignment_expression left: (identifier) right: (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: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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 (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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: (number_literal)) 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)))))) consequence: (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) (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: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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))))) (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: (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: (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: (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))))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (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))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) consequence: (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: (subscript_expression argument: (identifier) index: (identifier)) 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: (identifier) right: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_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: (number_literal))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (identifier) (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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))))) (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: (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: (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: (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))))))) (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: (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)) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (labeled_statement label: (statement_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 (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) (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))))) (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: (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))))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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))))) (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: (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 (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) (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)) (identifier) (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 (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) right: (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 (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) (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)) (identifier) (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: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (identifier) (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_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 (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) (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)) (identifier) (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (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)))))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (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 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: (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: (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: (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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (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: (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: (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: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (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))) (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: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (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))))))) (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: (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))))))) (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: (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: (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))) (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: (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: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (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))))))) (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: (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))))))) (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: (identifier) right: (identifier)))))) (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) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal))))) (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: (pointer_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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (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: (pointer_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: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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: (primitive_type) 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: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (for_statement initializer: (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (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)))))) condition: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))) update: (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)))) body: (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 (pointer_expression argument: (identifier)) (identifier) (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: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (break_statement))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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 (number_literal) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (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: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))) consequence: (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 (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (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))))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (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: (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: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (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: (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: (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))) (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 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: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) 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))))) (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: (pointer_expression argument: (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))))) (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) (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (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: (binary_expression left: (identifier) right: (number_literal)))) (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 (binary_expression left: (identifier) right: (number_literal)) (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: (pointer_expression argument: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (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)) (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: (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: (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: (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) (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))))))) (goto_statement label: (statement_identifier))))) 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)))) (labeled_statement label: (statement_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: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier))) (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))))) 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: (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)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) 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: (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: (true))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (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: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (true))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (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 (pointer_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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (goto_statement label: (statement_identifier))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_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)))))))) consequence: (compound_statement (return_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: (identifier))) (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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))))))) 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: (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: (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))) (do_statement body: (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: (identifier)))) (if_statement condition: (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: (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))))))) (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))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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: (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)) 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: (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: (char_literal (escape_sequence)))) 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: (char_literal (escape_sequence)))))) 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 (pointer_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: (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: (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: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (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)))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (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)))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (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)))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (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)))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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))))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) 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) (identifier)))))) (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: (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: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (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)))))))) 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: (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 (return_statement (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: (number_literal)))))))))) (return_statement (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))))

/* WARNING: Type propagation algorithm not settling */

code * MASKED(code *param_1,code *param_2,code *param_3,code *param_4)

{
  bool bVar1;
  code cVar2;
  code *pcVar3;
  int iVar4;
  code *pcVar5;
  code *pcVar6;
  byte *pbVar7;
  int iVar8;
  uint uVar9;
  int *piVar10;
  int *piVar11;
  int *piVar12;
  code *pcVar13;
  code *pcVar14;
  byte *pbVar15;
  int iVar16;
  byte bVar17;
  code *unaff_s0;
  code *unaff_s1;
  uint uVar18;
  undefined4 *puVar19;
  code *unaff_s3;
  code *unaff_s4;
  uint uVar20;
  code *unaff_s5;
  code *unaff_s6;
  int *piVar21;
  code *unaff_s7;
  code *pcVar22;
  code *pcVar23;
  undefined *puVar24;
  code *pcVar25;
  code *pcVar26;
  code *unaff_s8;
  int iVar27;
  uint uVar28;
  undefined4 uVar29;
  code *pcVar30;
  code *pcVar31;
  undefined8 uVar32;
  code *pcStack_96c;
  uint uStack_968;
  undefined4 uStack_960;
  uint uStack_958;
  undefined4 uStack_954;
  undefined4 uStack_950;
  int iStack_94c;
  int iStack_948;
  int iStack_944;
  int aiStack_940 [4];
  int iStack_930;
  int iStack_92c;
  uint uStack_928;
  undefined4 uStack_920;
  undefined4 uStack_91c;
  undefined1 auStack_89c [516];
  undefined1 auStack_698 [516];
  int iStack_494;
  int iStack_490;
  code *pcStack_48c;
  code *pcStack_488;
  code *pcStack_484;
  code *pcStack_480;
  code *pcStack_47c;
  code *pcStack_478;
  code *pcStack_474;
  int iStack_470;
  undefined4 uStack_46c;
  undefined4 *puStack_458;
  code *pcStack_448;
  int iStack_37c;
  code *pcStack_378;
  code *pcStack_374;
  code *pcStack_370;
  code *pcStack_36c;
  code *pcStack_368;
  code *pcStack_364;
  code *pcStack_360;
  code *pcStack_35c;
  int iStack_358;
  undefined4 uStack_354;
  undefined4 uStack_340;
  undefined4 uStack_33c;
  undefined4 uStack_338;
  code *pcStack_330;
  undefined4 uStack_328;
  undefined4 uStack_324;
  undefined1 auStack_320 [24];
  uint uStack_308;
  int iStack_27c;
  int iStack_278;
  code *pcStack_274;
  code *pcStack_270;
  code *pcStack_26c;
  code *pcStack_268;
  code *pcStack_264;
  code *pcStack_260;
  code *pcStack_25c;
  code *pcStack_258;
  code *pcStack_254;
  code *pcStack_240;
  byte abStack_234 [256];
  code *pcStack_134;
  code *pcStack_12c;
  code *pcStack_128;
  code *pcStack_124;
  code *pcStack_120;
  code *pcStack_11c;
  code **local_108;
  code *local_100;
  code *local_f8;
  code *local_f4;
  code *local_f0;
  code *local_ec;
  code *local_e8;
  code *local_e4;
  code *local_e0;
  undefined4 local_dc;
  code *local_c8;
  code *local_bc;
  int local_b8;
  undefined1 auStack_b4 [8];
  int local_ac;
  char local_a0;
  char local_9f;
  code *local_94;
  code *local_90;
  code *local_8c;
  code *local_88;
  code *local_84;
  code *local_80;
  code *local_7c;
  code *local_78;
  code *local_74;
  undefined1 local_4c [8];
  int local_44;
  char local_37;
  code *local_2c;
  
  local_2c = *(code **)PTR___stack_chk_guard_0018fecc;
  pcVar22 = param_1;
  pcVar5 = param_2;
  pcVar3 = param_3;
  if (0 < (int)param_2) {
    unaff_s0 = param_2;
    unaff_s7 = param_3;
    if (((uint)param_2 & 1) == 0) {
      pcVar5 = (code *)(PTR_s_FROM___q____q_node__WHERE_nodeno_0018f95c + -0x6824);
      FUN_000c4464();
    }
    else {
      pcVar3 = (code *)(*(code *)PTR_sqlite3_value_text_0018f97c)(*(int *)param_3);
      pcVar22 = (code *)local_4c;
      pcVar5 = param_1;
      iVar4 = FUN_000b4580();
      puVar24 = PTR_sqlite3_value_text_0018f97c;
      unaff_s6 = param_2;
      if (iVar4 == 0) {
        unaff_s0 = (code *)(uint)(param_2 < (code *)0x2);
        unaff_s1 = param_3 + 4;
        if (unaff_s0 == (code *)0x0) {
          unaff_s0 = (code *)0x1;
          unaff_s4 = (code *)local_4c;
          unaff_s3 = (code *)(PTR_DAT_0018fbc8 + 0x3c48);
          do {
            pcVar5 = (code *)(*(code *)puVar24)(*(int *)unaff_s1);
            pcVar3 = (code *)0x0;
            param_4 = param_1;
            iVar4 = FUN_000c3c48(unaff_s4);
            unaff_s5 = (code *)puVar24;
            if (local_37 != '\0') goto LAB_000c4674;
            if (iVar4 != 0) {
              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;
              *(code **)(iVar4 + 8) = unaff_s0 + 1;
            }
            unaff_s0 = unaff_s0 + 2;
            unaff_s1 = unaff_s1 + 8;
          } while (unaff_s0 < param_2);
        }
        if ((*(byte *)(local_44 + 1) & 8) == 0) {
          pcVar5 = param_1;
          pcVar3 = param_3;
          FUN_000b63c4();
        }
        else {
          pcVar22 = param_3 + *(int *)(local_44 + 8) * 4;
          pcVar5 = *(code **)pcVar22;
          (*(code *)PTR_sqlite3_result_value_0018fa38)(param_1);
          pcVar3 = param_3;
          param_3 = pcVar22;
        }
LAB_000c4674:
        pcVar22 = (code *)local_4c;
        (*(code *)(PTR_LAB_0018fc04 + 0x3c38))();
        unaff_s7 = param_3;
      }
    }
  }
  if (local_2c == *(code **)PTR___stack_chk_guard_0018fecc) {
    return *(code **)PTR___stack_chk_guard_0018fecc;
  }
  puVar24 = PTR___stack_chk_fail_0018fea0;
  (*(code *)PTR___stack_chk_fail_0018fea0)();
  local_74 = unaff_s7;
  local_78 = unaff_s6;
  local_7c = unaff_s5;
  local_80 = unaff_s4;
  local_84 = unaff_s3;
  local_88 = param_1;
  local_8c = unaff_s1;
  local_90 = unaff_s0;
  local_c8 = (code *)(puVar24 + 0xd3230);
  local_bc = pcVar3;
  pcVar3 = local_bc;
  local_94 = (code *)**(int **)(puVar24 + 0xcb7dc);
  pcVar31 = pcVar22;
  pcVar13 = pcVar5;
  pcVar6 = pcVar3;
  if (0 < (int)pcVar5) {
    unaff_s3 = (code *)**(undefined4 **)(*(int *)(pcVar22 + 4) + 8);
    unaff_s0 = pcVar5;
    if (((uint)pcVar5 & 1) == 0) {
      if (unaff_s3 == (code *)0x0) {
        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb268) + 0x4920);
      }
      else {
        pcVar13 = (code *)(*(int *)(puVar24 + 0xcb26c) + 0x6e8);
      }
      FUN_000c4464();
      pcVar6 = pcVar3;
    }
    else {
      pcVar6 = (code *)(**(code **)(puVar24 + 0xcb28c))(*(int *)pcVar3);
      pcVar31 = (code *)auStack_b4;
      pcVar13 = pcVar22;
      iVar4 = FUN_000b4580();
      unaff_s1 = pcVar3;
      unaff_s7 = pcVar5;
      if (iVar4 == 0) {
        unaff_s0 = (code *)(uint)(pcVar5 < (code *)0x2);
        unaff_s1 = pcVar3 + 4;
        if (unaff_s0 == (code *)0x0) {
          unaff_s0 = (code *)0x1;
          unaff_s6 = *(code **)(local_c8 + -0x7fa4);
          unaff_s5 = (code *)&local_b8;
          unaff_s4 = (code *)auStack_b4;
          unaff_s8 = (code *)(*(int *)(local_c8 + -0x7d58) + 0x3c48);
          do {
            pcVar13 = (code *)(*unaff_s6)(*(int *)unaff_s1);
            local_b8 = 0;
            pcVar6 = unaff_s5;
            param_4 = pcVar22;
            iVar4 = FUN_000c3c48(unaff_s4);
            if (local_a0 != '\0') {
              (**(code **)(local_c8 + -0x7f44))(pcVar22);
              goto LAB_000c484c;
            }
            if (local_9f != '\0') goto LAB_000c484c;
            if ((iVar4 != 0) && (unaff_s3 != (code *)0x0 || local_b8 != 0)) {
              *(byte *)(iVar4 + 1) = *(byte *)(iVar4 + 1) | 8;
              *(code **)(iVar4 + 8) = unaff_s0 + 1;
            }
            unaff_s0 = unaff_s0 + 2;
            unaff_s1 = unaff_s1 + 8;
          } while (unaff_s0 < pcVar5);
        }
        pcVar6 = local_bc;
        if ((*(byte *)(local_ac + 1) & 8) == 0) {
          pcVar13 = pcVar22;
          FUN_000b63c4();
        }
        else {
          unaff_s8 = local_bc + *(int *)(local_ac + 8) * 4;
          pcVar13 = *(code **)unaff_s8;
          (**(code **)(local_c8 + -0x7ee8))(pcVar22);
        }
LAB_000c484c:
        pcVar31 = (code *)auStack_b4;
        (*(code *)(*(int *)(local_c8 + -0x7d1c) + 0x3c38))();
      }
    }
  }
  if (local_94 == (code *)**(int **)(local_c8 + -0x7a54)) {
    return (code *)**(int **)(local_c8 + -0x7a54);
  }
  pcVar25 = *(code **)(local_c8 + -0x7a80);
  uVar29 = 0xc4960;
  (*pcVar25)();
  pcVar5 = local_c8;
  local_100 = pcVar25 + 0xd2fc0;
  local_f4 = (code *)**(undefined4 **)(pcVar25 + 0xcb56c);
  pcVar3 = pcVar13;
  local_f0 = unaff_s0;
  local_ec = unaff_s1;
  local_e8 = pcVar22;
  local_e4 = unaff_s3;
  local_e0 = unaff_s4;
  local_dc = uVar29;
  (*(code *)(*(int *)(pcVar25 + 0xcb2a4) + 0x3d3c))();
  if (pcVar13 != (code *)0x0) {
    unaff_s4 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)pcVar5);
    if (unaff_s4 == (code *)0x0) {
      pcVar13 = (code *)0x0;
    }
    else {
      unaff_s3 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)pcVar5);
      pcVar3 = unaff_s3 + 1;
      iVar4 = (**(code **)(local_100 + -0x7f50))
                        ((uint)(pcVar3 < unaff_s3) + ((int)unaff_s3 >> 0x1f));
      *(int *)(pcVar31 + 0x18) = iVar4;
      if (iVar4 == 0) {
        pcVar13 = (code *)&DAT_00000007;
      }
      else {
        (**(code **)(local_100 + -0x7a4c))(iVar4,unaff_s4,unaff_s3 + 1);
        unaff_s4 = pcVar31 + 0x20;
        pcVar6 = *(code **)(pcVar31 + 0x18);
        pcVar3 = (code *)0x0;
        unaff_s3 = (code *)FUN_000b4580(unaff_s4);
        if (unaff_s3 == (code *)0x0) {
          if (pcVar31[0x15] != (code)0x0) {
            pcVar3 = (code *)(*(int *)(pcVar31 + 0x20) << 2);
            iVar4 = (**(code **)(local_100 + -0x7f50))(0);
            *(int *)(pcVar31 + 0x30) = iVar4;
            if (iVar4 == 0) {
              pcVar31[0x34] = (code)0x1;
              (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);
              pcVar13 = (code *)&DAT_00000007;
              goto LAB_000c49c4;
            }
            pcVar6 = (code *)0x0;
            pcVar3 = (code *)0x0;
            (*(code *)(*(int *)(local_100 + -0x7d64) + 0x604))(unaff_s4);
          }
          bVar1 = pcVar13 == (code *)0x3;
          pcVar13 = (code *)0x0;
          if (bVar1) {
            local_f8 = (code *)0x0;
            pcVar22 = (code *)(**(code **)(local_100 + -0x7fa4))(*(int *)(pcVar5 + 4));
            if (pcVar22 != (code *)0x0) {
              pcVar5 = (code *)(**(code **)(local_100 + -0x7f60))(*(int *)(pcVar5 + 4));
              pcVar3 = pcVar5 + 1;
              iVar4 = (**(code **)(local_100 + -0x7f50))
                                ((uint)(pcVar3 < pcVar5) + ((int)pcVar5 >> 0x1f));
              *(int *)(pcVar31 + 0x1c) = iVar4;
              if (iVar4 == 0) {
                pcVar13 = (code *)&DAT_00000007;
              }
              else {
                pcVar6 = pcVar5 + 1;
                (**(code **)(local_100 + -0x7a4c))(iVar4,pcVar22);
                if (*pcVar22 == (code)0x24) {
                  param_4 = (code *)0x0;
                  pcVar6 = (code *)(*(int *)(pcVar31 + 0x1c) + 1);
                  pcVar3 = (code *)0x0;
                  local_108 = &local_f8;
                  pcVar22 = (code *)FUN_000b4b70(unaff_s4);
                  if (local_f8 == (code *)0x0) {
                    if (pcVar22 != (code *)0x0) goto LAB_000c4aac;
                    goto LAB_000c49c4;
                  }
                }
                else {
                  local_f8 = pcVar22;
                }
                (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));
                iVar4 = *(int *)pcVar31;
                pcVar3 = local_f8;
                uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x463c);
                *(undefined4 *)(iVar4 + 8) = uVar29;
                (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);
                pcVar13 = (code *)&DAT_00000007;
                if (*(int *)(*(int *)pcVar31 + 8) != 0) {
                  pcVar13 = (code *)0x1;
                }
              }
            }
          }
          else {
            pcVar22 = *(code **)(pcVar31 + 0x28);
LAB_000c4aac:
            iVar4 = ((int)pcVar22 - *(int *)(pcVar31 + 0x28) >> 2) * -0x55555555;
            *(int *)(pcVar31 + 0xc) = iVar4;
            *(int *)(pcVar31 + 8) = iVar4;
            cVar2 = *pcVar22;
            pcVar31[0x14] = cVar2;
            if ((byte)cVar2 < 6) {
              *(int *)(pcVar31 + 0x10) = iVar4 + 1;
            }
            else {
              *(undefined4 *)(pcVar22 + 8) = 0;
              iVar4 = *(int *)(pcVar31 + 0xc);
              *(int *)(pcVar31 + 0x10) = *(int *)(pcVar22 + 4) + iVar4 + 1;
              pcVar3 = (code *)(iVar4 * 4);
              if (pcVar31[0x15] == (code)0x0) {
                *(int *)(pcVar31 + 0xc) = iVar4 + 1;
              }
              else {
                pcVar3 = *(code **)(pcVar3 + *(int *)(pcVar31 + 0x30));
                pcVar31[0x14] = *(code *)(*(int *)(pcVar31 + 0x28) + (int)pcVar3 * 0xc);
                if ((iVar4 != 0) &&
                   ((*(byte *)(*(int *)(pcVar31 + 0x28) + iVar4 * 0xc + -0xb) & 0x40) != 0)) {
                  *(int *)(pcVar31 + 0xc) = iVar4 + -1;
                }
              }
            }
          }
        }
        else {
          if (pcVar31[0x34] == (code)0x0) {
            (**(code **)(local_100 + -0x7fa8))(*(undefined4 *)(*(int *)pcVar31 + 8));
            iVar4 = *(int *)pcVar31;
            uVar29 = sqlite3_mprintf(*(int *)(local_100 + -0x7fc4) + -0x5060);
            *(undefined4 *)(iVar4 + 8) = uVar29;
            pcVar13 = (code *)0x1;
            if (*(int *)(*(int *)pcVar31 + 8) == 0) {
              pcVar13 = (code *)&DAT_00000007;
            }
          }
          else {
            pcVar13 = (code *)&DAT_00000007;
          }
          (*(code *)(*(int *)(local_100 + -0x7d1c) + 0x3d3c))(pcVar31);
        }
      }
    }
  }
LAB_000c49c4:
  if (local_f4 == (code *)**(undefined4 **)(local_100 + -0x7a54)) {
    return pcVar13;
  }
  pcVar26 = *(code **)(local_100 + -0x7a80);
  pcVar30 = sqlite3_randomness;
  pcVar22 = local_f4;
  (*pcVar26)();
  pcStack_240 = pcVar26 + 0xd2b38;
  pcStack_134 = (code *)**(int **)(pcVar26 + 0xcb0e4);
  pcVar25 = pcVar22;
  pcVar14 = pcVar3;
  pcStack_12c = pcVar13;
  pcStack_128 = pcVar31;
  pcStack_124 = pcVar5;
  pcStack_120 = unaff_s3;
  pcStack_11c = pcVar30;
  iVar4 = (**(code **)(pcVar26 + 0xcadb8))();
  if (iVar4 == 0) {
    unaff_s3 = (code *)(*(code *)(*(int *)(pcStack_240 + -0x7dc8) + 0xe00))(5);
    (**(code **)(pcStack_240 + -0x7d74))(unaff_s3);
    iVar27 = *(int *)(pcStack_240 + -0x7fd8);
    pcVar25 = unaff_s3;
    if (0 < (int)pcVar22) {
      if (pcVar3 != (code *)0x0) {
        iVar8 = *(int *)(pcStack_240 + -0x7fd8);
        if (*(char *)(iVar27 + 0x338) == '\0') {
          *(undefined1 *)(iVar8 + 0x33a) = 0;
          *(undefined1 *)(iVar8 + 0x339) = 0;
          iVar4 = (**(code **)(pcStack_240 + -0x7f14))(0);
          (**(code **)(iVar4 + 0x38))(iVar4,0x100,abStack_234);
          iVar27 = *(int *)(pcStack_240 + -0x7fd8);
          iVar4 = 0;
          do {
            *(char *)(iVar27 + iVar4 + 0x33b) = (char)iVar4;
            iVar4 = iVar4 + 1;
          } while (iVar4 != 0x100);
          iVar4 = *(int *)(pcStack_240 + -0x7fd8);
          uVar9 = (uint)*(byte *)(iVar4 + 0x33a);
          pbVar7 = (byte *)(*(int *)(pcStack_240 + -0x7fd8) + 0x33b);
          pbVar15 = abStack_234;
          iVar27 = *(int *)(pcStack_240 + -0x7fd8);
          do {
            uVar18 = uVar9 + (uint)*pbVar7 + (uint)*pbVar15;
            uVar9 = uVar18 & 0xff;
            iVar8 = iVar27 + 0x338 + uVar9;
            bVar17 = *(byte *)(iVar8 + 3);
            *(byte *)(iVar8 + 3) = *pbVar7;
            *pbVar7 = bVar17;
            pbVar7 = pbVar7 + 1;
            pbVar15 = pbVar15 + 1;
          } while (pbVar7 != (byte *)(iVar4 + 0x43b));
          iVar8 = *(int *)(pcStack_240 + -0x7fd8);
          *(char *)(iVar8 + 0x33a) = (char)uVar18;
          *(undefined1 *)(iVar8 + 0x338) = 1;
          iVar4 = 0x100;
        }
        pcVar6 = (code *)(iVar8 + 0x338);
        uVar9 = (uint)*(byte *)(iVar8 + 0x33a);
        bVar17 = *(char *)(iVar8 + 0x339) + 1;
        pcVar13 = (code *)((uint)bVar17 - (int)pcVar3);
        pcVar5 = pcVar3;
        do {
          uVar18 = (uint)(pcVar5 + (int)pcVar13) & 0xff;
          cVar2 = pcVar6[uVar18 + 3];
          uVar20 = (byte)cVar2 + uVar9;
          uVar9 = uVar20 & 0xff;
          param_4 = pcVar6 + uVar9;
          pcVar6[uVar18 + 3] = param_4[3];
          param_4[3] = cVar2;
          pcVar14 = pcVar5 + 1;
          *pcVar5 = pcVar6[((uint)(byte)cVar2 + (uint)(byte)pcVar6[uVar18 + 3] & 0xff) + 3];
          pcVar5 = pcVar14;
        } while (pcVar14 != pcVar3 + (int)pcVar22);
        iVar27 = *(int *)(pcStack_240 + -0x7fd8);
        pcVar22 = pcVar22 + -1;
        *(byte *)(iVar27 + 0x339) = bVar17 + (char)pcVar22;
        *(char *)(iVar27 + 0x33a) = (char)uVar20;
        (**(code **)(pcStack_240 + -0x7d78))();
        pcVar3 = pcVar13;
        goto LAB_000c4e3c;
      }
      iVar27 = *(int *)(pcStack_240 + -0x7fd8);
    }
    *(undefined1 *)(iVar27 + 0x338) = 0;
    (**(code **)(pcStack_240 + -0x7d78))();
  }
LAB_000c4e3c:
  if (pcStack_134 == (code *)**(int **)(pcStack_240 + -0x7a54)) {
    return (code *)**(int **)(pcStack_240 + -0x7a54);
  }
  pcVar13 = *(code **)(pcStack_240 + -0x7a80);
  pcVar31 = FUN_000c5048;
  (*pcVar13)();
  pcStack_330 = pcVar13 + 0xd28d8;
  iStack_27c = **(int **)(pcVar13 + 0xcae84);
  *pcVar14 = (code)0x0;
  pcVar5 = (code *)**(undefined4 **)(pcVar13 + 0xcac68);
  iStack_278 = iVar4;
  pcStack_274 = pcVar3;
  pcStack_270 = pcVar22;
  pcStack_26c = unaff_s3;
  pcStack_268 = unaff_s4;
  pcStack_264 = unaff_s5;
  pcStack_260 = unaff_s6;
  pcStack_25c = unaff_s7;
  pcStack_258 = unaff_s8;
  pcStack_254 = pcVar31;
  if (*(int *)(*(int *)(pcVar13 + 0xca900) + -0xb90) == 0) {
    uVar29 = (**(code **)(pcVar13 + 0xcae0c))(*(int *)(pcVar13 + 0xca914) + -0x45f4);
    *(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90) = uVar29;
  }
  if (*(int *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) == 0) {
    uVar29 = (**(code **)(pcStack_330 + -0x7acc))(*(int *)(pcStack_330 + -0x7fc4) + -0x45e4);
    *(undefined4 *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb8c) = uVar29;
  }
  pcVar3 = (code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb90);
  pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fd8) + -0xb78);
  pcVar26 = (code *)auStack_320;
  iVar4 = *(int *)(pcStack_330 + -0x7fd8);
  pcVar13 = (code *)(iVar4 + -0x840);
  iVar27 = 0x4000;
  pcVar22 = pcStack_330;
  while( true ) {
    pcVar30 = pcVar26;
    if ((((pcVar5 != (code *)0x0) &&
         (iVar8 = (**(code **)(iVar4 + -0x80c))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) &&
        (pcVar30 = (code *)0x3, (uStack_308 & 0xf000) == 0x4000)) &&
       (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar5), pcVar22 = pcStack_330, iVar8 == 0)) {
      pcVar3 = (code *)&DAT_0000000c;
      pcVar26 = (code *)&uStack_328;
      pcVar13 = pcVar14 + (int)(pcVar25 + -2);
      pcVar31 = (code *)(*(int *)(pcStack_330 + -0x7fc4) + -0x45dc);
      iVar4 = *(int *)(pcStack_330 + -0x7fd8);
      iVar27 = iVar4 + -0x840;
      goto LAB_000c51a4;
    }
    pcVar23 = (code *)0x190a;
    if (pcVar3 == pcVar31) break;
    pcVar5 = *(code **)pcVar3;
    pcVar3 = pcVar3 + 4;
  }
  goto LAB_000c5230;
joined_r0x000c5ce4:
  if (param_4 == pcVar5) goto LAB_000c5d10;
  piVar21 = (int *)piVar11[2];
  if (piVar21 == (int *)0x0) goto LAB_000c6494;
  pcVar5 = (code *)piVar21[1];
  piVar12 = piVar11 + 2;
  piVar11 = piVar21;
  goto joined_r0x000c5ce4;
LAB_000c5d10:
  *piVar12 = piVar11[2];
  (**(code **)(pcVar22 + 0xca2ac))(piVar10[4]);
  (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();
  iVar4 = *piVar11;
  goto LAB_000c5d44;
LAB_000c6494:
  (**(code **)(pcVar22 + 0xca2ac))(piVar10[4]);
  (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();
  goto LAB_000c642c;
  while (iVar8 = (**(code **)(iVar4 + -0x824))(pcVar14), iVar8 == 0) {
LAB_000c51a4:
    sqlite3_randomness(8,pcVar26);
    *pcVar13 = (code)0x0;
    uStack_338 = 0;
    uStack_33c = uStack_324;
    uStack_340 = uStack_328;
    pcVar30 = pcVar14;
    pcVar6 = pcVar31;
    param_4 = pcVar5;
    (**(code **)(pcStack_330 + -0x7ec4))(pcVar25);
    pcVar3 = pcVar3 + -1;
    if ((*pcVar13 != (code)0x0) || (pcVar30 = (code *)0x0, pcVar3 == (code *)0x0)) {
      pcVar23 = (code *)0x1;
      pcVar22 = pcStack_330;
      goto LAB_000c5230;
    }
  }
  pcVar23 = (code *)0x0;
  pcVar30 = pcVar26;
  pcVar22 = pcStack_330;
LAB_000c5230:
  if (iStack_27c == **(int **)(pcVar22 + -0x7a54)) {
    return pcVar23;
  }
  pcVar22 = *(code **)(pcVar22 + -0x7a80);
  uVar29 = 0xc527c;
  iVar4 = iStack_27c;
  (*pcVar22)();
  pcStack_448 = pcVar22 + 0xd26a4;
  iVar8 = **(int **)(pcVar22 + 0xcac50);
  iStack_37c = iVar8;
  pcStack_378 = pcVar3;
  pcStack_374 = pcVar5;
  pcStack_370 = pcVar14;
  pcStack_36c = pcVar13;
  pcStack_368 = pcVar25;
  pcStack_364 = pcVar31;
  pcStack_360 = pcVar26;
  pcStack_35c = pcVar23;
  iStack_358 = iVar27;
  uStack_354 = uVar29;
  if (pcVar30 < &DAT_00000015) {
                    /* WARNING: Could not recover jumptable at 0x000c52e8. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    pcVar22 = (code *)(*(pcStack_448 +
                        *(int *)(*(int *)(pcVar22 + 0xca6e0) + 0x37fc + (int)pcVar30 * 4)))();
    return pcVar22;
  }
  if (iVar8 == **(int **)(pcVar22 + 0xcac50)) {
    return (code *)&DAT_0000000c;
  }
  pcVar22 = *(code **)(pcVar22 + 0xcac24);
  uVar29 = 0xc58fc;
  (*pcVar22)();
  iStack_494 = **(int **)(pcVar22 + 0xca5d0);
  uVar20 = (uint)param_4 & 0xffffff00;
  uVar18 = (uint)param_4 & 8;
  uStack_958 = (uint)param_4 & 1;
  uVar9 = (uint)param_4 & 2;
  pcStack_96c = pcVar30;
  iStack_490 = iVar4;
  pcStack_48c = pcVar5;
  pcStack_488 = pcVar14;
  pcStack_484 = pcVar13;
  pcStack_480 = pcVar25;
  pcStack_47c = pcVar31;
  pcStack_478 = pcVar26;
  pcStack_474 = pcVar23;
  iStack_470 = iVar27;
  uStack_46c = uVar29;
  if (((uint)param_4 & 4) == 0) {
LAB_000c59a0:
    iVar4 = (**(code **)(pcVar22 + 0xca564))();
    if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {
      bVar1 = false;
      goto LAB_000c59cc;
    }
    bVar1 = false;
LAB_000c59fc:
    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);
    if (uVar20 != 0x100) goto LAB_000c5a24;
    (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();
    if (*(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228) == 0) {
LAB_000c6414:
      iVar4 = *(int *)(pcVar22 + 0xca25c);
    }
    else {
      iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(pcVar30,aiStack_940);
      if ((iVar4 != 0) ||
         (piVar10 = *(int **)(*(int *)(pcVar22 + 0xca04c) + 0x228), piVar10 == (int *)0x0))
      goto LAB_000c6414;
      do {
        if ((((*piVar10 == 0) && (piVar10[1] == aiStack_940[0])) && (piVar10[2] == iStack_930)) &&
           (piVar10[3] == iStack_92c)) {
          (**(code **)(pcVar22 + 0xca2b0))(piVar10[4]);
          piVar11 = (int *)piVar10[8];
          if (piVar11 == (int *)0x0) goto LAB_000c6494;
          pcVar5 = (code *)piVar11[1];
          piVar12 = piVar10 + 8;
          goto joined_r0x000c5ce4;
        }
        piVar10 = (int *)piVar10[0xb];
        iVar4 = *(int *)(pcVar22 + 0xca25c);
      } while (piVar10 != (int *)0x0);
    }
    (*(code *)(iVar4 + 0x27b8))();
LAB_000c642c:
    piVar11 = (int *)(**(code **)(pcVar22 + 0xca0d4))(0,0xc);
    if (piVar11 == (int *)0x0) {
      pcVar5 = (code *)&DAT_00000007;
      goto LAB_000c602c;
    }
    iVar4 = -1;
LAB_000c5d44:
    *(int **)(pcVar6 + 0x1c) = piVar11;
LAB_000c5a34:
    uStack_968 = uVar9;
    if (((uint)param_4 & 4) != 0) {
      uStack_968 = uVar9 | 0x100;
    }
    if (((uint)param_4 & 0x10) != 0) {
      uStack_968 = uStack_968 | 0x20400;
    }
    if (iVar4 < 0) {
      if (((uint)param_4 & 0x80800) == 0) {
        uVar28 = 0x180;
        if ((uVar18 == 0) && (uVar28 = 0, ((uint)param_4 & 0x40) != 0)) {
          iVar4 = (**(code **)(pcVar22 + 0xca2f4))
                            (pcStack_96c,*(int *)(pcVar22 + 0xca060) + -0x45c8);
          if (iVar4 != 0) {
            iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(iVar4,aiStack_940);
            if (iVar4 == 0) {
              uVar28 = uStack_928 & 0x1ff;
              uStack_960 = uStack_920;
              uStack_954 = uStack_91c;
              pcVar5 = (code *)0x0;
            }
            else {
              uStack_954 = 0;
              uStack_960 = 0;
              uVar28 = 0;
              pcVar5 = (code *)0x70a;
            }
            goto LAB_000c5ee0;
          }
          uVar28 = 0;
        }
LAB_000c5e0c:
        uStack_954 = 0;
        uStack_960 = 0;
      }
      else {
        iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2d4) + -0x4bc8))(pcStack_96c);
        iVar27 = iVar4 + -1;
        if (pcStack_96c[iVar27] != (code)0x2d) {
          if ((iVar27 != 0) && (pcStack_96c[iVar27] != (code)0x2e)) {
            iVar27 = iVar4 + -2;
            do {
              pcVar5 = pcStack_96c + iVar27;
              if (*pcVar5 == (code)0x2d) goto LAB_000c5e78;
              uVar28 = 0;
              if (iVar27 == 0) goto LAB_000c5e0c;
              iVar27 = iVar27 + -1;
            } while (*pcVar5 != (code)0x2e);
          }
          uVar28 = 0;
          goto LAB_000c5e0c;
        }
LAB_000c5e78:
        (**(code **)(pcVar22 + 0xca544))(auStack_89c,pcStack_96c,iVar27,0x201);
        auStack_89c[iVar27] = 0;
        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x80c))(auStack_89c,aiStack_940);
        if (iVar4 == 0) {
          uVar28 = uStack_928 & 0x1ff;
          uStack_960 = uStack_920;
          uStack_954 = uStack_91c;
          pcVar5 = (code *)0x0;
        }
        else {
          uStack_954 = 0;
          uStack_960 = 0;
          uVar28 = 0;
          pcVar5 = (code *)0x70a;
        }
LAB_000c5ee0:
        if (pcVar5 != (code *)0x0) goto LAB_000c602c;
      }
      iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))
                        (pcStack_96c,uStack_968 | 0x2000,uVar28);
      if (-1 < iVar4) {
LAB_000c5e40:
        if (((uint)param_4 & 0x80800) != 0) {
          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x26f0))(iVar4,uStack_960,uStack_954);
        }
        goto LAB_000c5a6c;
      }
      pcVar5 = *(code **)(pcVar22 + 0xca4f8);
      if (bVar1) {
        piVar10 = (int *)(*pcVar5)();
        if (*piVar10 != 0xd) {
          pcVar5 = *(code **)(pcVar22 + 0xca4f8);
          goto LAB_000c5fb8;
        }
        iVar4 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x824))(pcStack_96c,0);
        pcVar5 = *(code **)(pcVar22 + 0xca4f8);
        if (iVar4 == 0) goto LAB_000c5fb8;
        uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);
        (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))
                  (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634);
        pcVar5 = (code *)0x608;
      }
      else {
LAB_000c5fb8:
        piVar10 = (int *)(*pcVar5)();
        if ((*piVar10 == 0x15) || (uVar9 == 0)) {
          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);
          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))
                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634
                                     );
        }
        else {
          param_4 = (code *)((uint)param_4 & 0xfffffff9 | 1);
          iVar4 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0xf70))
                            (pcStack_96c,uStack_968 & 0xfffffefd | 0x2000,uVar28);
          if (-1 < iVar4) {
            uStack_958 = 1;
            goto LAB_000c5e40;
          }
          uVar29 = (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x7538))(0x9634);
          pcVar5 = (code *)(*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x114c))
                                     (uVar29,*(int *)(pcVar22 + 0xca05c) + 0x1738,pcStack_96c,0x9634
                                     );
        }
        if (pcVar5 == (code *)0x0) goto LAB_000c602c;
      }
LAB_000c630c:
      iVar4 = *(int *)(pcVar6 + 0x1c);
LAB_000c6310:
      (**(code **)(pcVar22 + 0xca07c))(iVar4);
    }
    else {
LAB_000c5a6c:
      if (puStack_458 != (undefined4 *)0x0) {
        *puStack_458 = param_4;
      }
      if (*(int **)(pcVar6 + 0x1c) != (int *)0x0) {
        **(int **)(pcVar6 + 0x1c) = iVar4;
        *(code **)(*(int *)(pcVar6 + 0x1c) + 4) = param_4;
      }
      if (uVar18 != 0) {
        (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x77c))(pcStack_96c);
        uVar18 = 0x20;
      }
      if (uStack_958 != 0) {
        uVar18 = uVar18 | 2;
      }
      if (uVar20 != 0x100) {
        uVar18 = uVar18 | 0x80;
      }
      if (bVar1) {
        uVar18 = uVar18 | 8;
      }
      if (((uint)param_4 & 0x40) == 0) {
        *(int *)(pcVar6 + 0xc) = iVar4;
        *(int *)(pcVar6 + 4) = iVar8;
        *(code **)(pcVar6 + 0x20) = pcVar30;
        *(short *)(pcVar6 + 0x12) = (short)uVar18;
        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);
        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);
        *(int *)(pcVar6 + 0x40) = iVar27;
        pcVar5 = (code *)0x0;
      }
      else {
        uVar18 = uVar18 | 0x40;
        *(int *)(pcVar6 + 0xc) = iVar4;
        *(int *)(pcVar6 + 4) = iVar8;
        *(code **)(pcVar6 + 0x20) = pcVar30;
        *(short *)(pcVar6 + 0x12) = (short)uVar18;
        iVar27 = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1ac0);
        *(int *)(pcVar6 + 0x44) = *(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1abc);
        *(int *)(pcVar6 + 0x40) = iVar27;
        pcVar5 = pcVar30;
      }
      iVar27 = (**(code **)(pcVar22 + 0xca37c))(pcVar5,*(int *)(pcVar22 + 0xca060) + -0x45c0,1);
      iVar16 = *(int *)(pcVar22 + 0xca060);
      if (iVar27 != 0) {
        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 0x10;
      }
      iVar27 = (**(code **)(pcVar22 + 0xca610))(*(undefined4 *)(iVar8 + 0x10),iVar16 + -0x45b8);
      if (iVar27 == 0) {
        *(ushort *)(pcVar6 + 0x12) = *(ushort *)(pcVar6 + 0x12) | 1;
      }
      if ((uVar18 & 0x80) == 0) {
        iVar27 = (*(code *)**(undefined4 **)(iVar8 + 0x14))(pcVar30,pcVar6);
        if (iVar27 == *(int *)(pcVar22 + 0xca04c) + -0x2154) {
          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x277c))();
          iVar8 = (**(code **)(*(int *)(pcVar22 + 0xca04c) + -0x800))
                            (*(int *)(pcVar6 + 0xc),aiStack_940);
          if (iVar8 == 0) {
            uStack_950 = 0;
            iStack_94c = aiStack_940[0];
            iStack_944 = iStack_92c;
            iStack_948 = iStack_930;
            for (puVar19 = *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228);
                puVar19 != (undefined4 *)0x0; puVar19 = (undefined4 *)puVar19[0xb]) {
              iVar8 = (**(code **)(pcVar22 + 0xca5b8))(&uStack_950,puVar19,0x10);
              if (iVar8 == 0) {
                if (puVar19 != (undefined4 *)0x0) {
                  puVar19[9] = puVar19[9] + 1;
                  goto LAB_000c62e4;
                }
                break;
              }
            }
            puVar19 = (undefined4 *)(**(code **)(pcVar22 + 0xca0d4))(0,0x38);
            if (puVar19 == (undefined4 *)0x0) {
              pcVar5 = (code *)&DAT_00000007;
              goto LAB_000c62a8;
            }
            (**(code **)(pcVar22 + 0xca504))(puVar19 + 4,0,0x28);
            *puVar19 = uStack_950;
            puVar19[1] = iStack_94c;
            puVar19[2] = iStack_948;
            puVar19[3] = iStack_944;
            if (*(int *)(*(int *)(pcVar22 + 0xca04c) + -0x1b74) != 0) {
              iVar8 = (**(code **)(pcVar22 + 0xca380))(0);
              puVar19[4] = iVar8;
              if (iVar8 == 0) {
                (**(code **)(pcVar22 + 0xca07c))(puVar19);
                pcVar5 = (code *)&DAT_00000007;
                goto LAB_000c62a8;
              }
            }
            puVar19[9] = 1;
            iVar8 = *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x228);
            puVar19[0xb] = iVar8;
            puVar19[0xc] = 0;
            if (iVar8 != 0) {
              *(undefined4 **)(iVar8 + 0x30) = puVar19;
            }
            *(undefined4 **)(*(int *)(pcVar22 + 0xca04c) + 0x228) = puVar19;
LAB_000c62e4:
            *(undefined4 **)(pcVar6 + 8) = puVar19;
            pcVar5 = (code *)0x0;
          }
          else {
            piVar10 = (int *)(**(code **)(pcVar22 + 0xca4f8))();
            *(int *)(pcVar6 + 0x14) = *piVar10;
            pcVar5 = (code *)&DAT_0000000a;
LAB_000c62a8:
            (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9442);
            iVar4 = -1;
          }
          (*(code *)(*(int *)(pcVar22 + 0xca25c) + 0x27b8))();
        }
        else {
          if (iVar27 != *(int *)(pcVar22 + 0xca04c) + -0x21f4) goto LAB_000c6394;
          iVar8 = (**(code **)(pcVar22 + 0xca52c))(pcVar30);
          iVar8 = iVar8 + 6;
          iVar16 = (**(code **)(pcVar22 + 0xca0d4))(iVar8 >> 0x1f,iVar8);
          if (iVar16 == 0) {
            pcVar5 = (code *)&DAT_00000007;
          }
          else {
            (**(code **)(pcVar22 + 0xca160))
                      (iVar8,iVar16,*(int *)(pcVar22 + 0xca060) + -0x45ac,pcVar30);
            pcVar5 = (code *)0x0;
          }
          *(int *)(pcVar6 + 0x18) = iVar16;
        }
        *(int *)(pcVar6 + 0x14) = 0;
        if (pcVar5 != (code *)0x0) {
          if (iVar4 < 0) goto LAB_000c630c;
          (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x158c))(pcVar6,iVar4,0x9497);
          iVar4 = *(int *)(pcVar6 + 0x1c);
          goto LAB_000c6310;
        }
      }
      else {
        iVar27 = *(int *)(pcVar22 + 0xca04c) + -0x21a4;
LAB_000c6394:
        *(int *)(pcVar6 + 0x14) = 0;
      }
      *(int *)pcVar6 = iVar27;
      (*(code *)(*(int *)(pcVar22 + 0xca2f8) + 0x2524))(pcVar6);
      pcVar5 = (code *)0x0;
    }
  }
  else {
    if ((uVar20 == 0x4000) || (uVar20 == 0x800)) {
      pcVar5 = *(code **)(pcVar22 + 0xca564);
    }
    else {
      pcVar5 = *(code **)(pcVar22 + 0xca564);
      if (uVar20 != 0x80000) goto LAB_000c59a0;
    }
    iVar4 = (*pcVar5)();
    if (iVar4 != *(int *)(*(int *)(pcVar22 + 0xca04c) + 0x230)) {
      bVar1 = true;
LAB_000c59cc:
      uVar29 = (**(code **)(pcVar22 + 0xca564))();
      *(undefined4 *)(*(int *)(pcVar22 + 0xca04c) + 0x230) = uVar29;
      sqlite3_randomness(0,0);
      goto LAB_000c59fc;
    }
    (**(code **)(pcVar22 + 0xca504))(pcVar6,0,0x58);
    bVar1 = true;
LAB_000c5a24:
    iVar4 = -1;
    if (pcVar30 != (code *)0x0) goto LAB_000c5a34;
    pcVar5 = (code *)FUN_000c5048(*(undefined4 *)(iVar8 + 8),auStack_698);
    if (pcVar5 == (code *)0x0) {
      iVar4 = -1;
      pcStack_96c = (code *)auStack_698;
      goto LAB_000c5a34;
    }
  }
LAB_000c602c:
  if (iStack_494 == **(int **)(pcVar22 + 0xca5d0)) {
    return pcVar5;
  }
  pcVar22 = *(code **)(pcVar22 + 0xca5a4);
  iVar4 = iStack_494;
  (*pcVar22)();
  uVar9 = *(uint *)(iVar4 + 0x98);
  if (*(uint *)(iVar4 + 0x94) <= *(uint *)(iVar4 + 0x98)) {
    uVar9 = *(uint *)(iVar4 + 0x94);
  }
  puVar19 = *(undefined4 **)(iVar4 + 0xd0);
  if (0 < *(int *)(iVar4 + 0x60)) {
    iVar8 = 0;
    iVar27 = 0;
    do {
      iVar16 = *(int *)(iVar4 + 0x5c) + iVar8;
      if (*(int *)(iVar16 + 8) == 0 && *(int *)(iVar16 + 0xc) == 0) {
        uVar29 = *(undefined4 *)(iVar4 + 0x48);
        *(undefined4 *)(iVar16 + 0xc) = *(undefined4 *)(iVar4 + 0x4c);
        *(undefined4 *)(iVar16 + 8) = uVar29;
      }
      iVar27 = iVar27 + 1;
      iVar8 = iVar8 + 0x30;
    } while (iVar27 < *(int *)(iVar4 + 0x60));
  }
  uVar32 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x43ec))(iVar4);
  *(undefined8 *)(iVar4 + 0x48) = uVar32;
  *(undefined8 *)(iVar4 + 0x50) = uVar32;
  if ((*(char *)(iVar4 + 7) == '\0') && (*(char *)(iVar4 + 5) != '\x04')) {
    uVar18 = (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0xaf8))(*(undefined4 *)(iVar4 + 0x3c));
    iVar27 = *(int *)(pcVar22 + 0xc96e0);
    if ((uVar18 & 0x200) == 0) {
      *(undefined1 *)puVar19 = 0;
      *(undefined1 *)((int)puVar19 + 1) = 0;
      *(undefined1 *)((int)puVar19 + 2) = 0;
      *(undefined1 *)((int)puVar19 + 3) = 0;
      *(undefined1 *)(puVar19 + 1) = 0;
      *(undefined1 *)((int)puVar19 + 5) = 0;
      *(undefined1 *)((int)puVar19 + 6) = 0;
      *(undefined1 *)((int)puVar19 + 7) = 0;
      *(undefined1 *)(puVar19 + 2) = 0;
      *(undefined1 *)((int)puVar19 + 9) = 0;
      *(undefined1 *)((int)puVar19 + 10) = 0;
      *(undefined1 *)((int)puVar19 + 0xb) = 0;
      goto LAB_000c65ec;
    }
  }
  else {
    iVar27 = *(int *)(pcVar22 + 0xc96e0);
  }
  uVar29 = *(undefined4 *)(iVar27 + -0x4394);
  *puVar19 = *(undefined4 *)(iVar27 + -0x4398);
  puVar19[1] = uVar29;
  (*(code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c))(puVar19 + 2,0xffffffff);
LAB_000c65ec:
  sqlite3_randomness(4,iVar4 + 0x30);
  pcVar5 = (code *)(*(int *)(pcVar22 + 0xc9688) + 0x224c);
  (*pcVar5)(puVar19 + 3,*(undefined4 *)(iVar4 + 0x30));
  (*pcVar5)(puVar19 + 4,*(undefined4 *)(iVar4 + 0x1c));
  (*pcVar5)(puVar19 + 5,*(undefined4 *)(iVar4 + 0x94));
  (*pcVar5)(puVar19 + 6,*(undefined4 *)(iVar4 + 0x98));
  (**(code **)(pcVar22 + 0xc9930))(puVar19 + 7,0,uVar9 - 0x1c);
  uVar18 = 0;
  if (*(int *)(iVar4 + 0x94) != 0) {
    iVar27 = *(int *)(pcVar22 + 0xc9688);
    do {
      pcVar22 = (code *)(*(code *)(iVar27 + 0x9e0))(*(undefined4 *)(iVar4 + 0x40),puVar19,uVar9);
      uVar20 = *(uint *)(iVar4 + 0x4c) + uVar9;
      *(uint *)(iVar4 + 0x48) = (uint)(uVar20 < *(uint *)(iVar4 + 0x4c)) + *(int *)(iVar4 + 0x48);
      *(uint *)(iVar4 + 0x4c) = uVar20;
      uVar18 = uVar18 + uVar9;
      if (pcVar22 != (code *)0x0) {
        return pcVar22;
      }
    } while (uVar18 < *(uint *)(iVar4 + 0x94));
  }
  return (code *)0x0;
}

