
/* DWARF original prototype: int fts3DeleteSegment(Fts3Table * p, Fts3SegReader * pSeg,
   Fts3SegReader * pSeg) */

int fts3DeleteSegment(Fts3Table *p,Fts3SegReader *pSeg,Fts3SegReader *pSeg_1)

{
  bool bVar1;
  undefined *puVar2;
  int iVar3;
  uint uVar4;
  sqlite3_vtab *psVar5;
  int iVar6;
  int iVar7;
  Fts3PhraseToken *pFVar8;
  Fts3Table *pFVar9;
  sqlite3_stmt *psVar10;
  sqlite3_stmt *psVar11;
  Fts3DeferredToken *pFVar12;
  Fts3Cursor *ppStmt;
  Fts3Cursor *pCsr;
  sqlite3_stmt **pp;
  sqlite3_stmt **ppsVar13;
  Fts3PhraseToken **pp_00;
  code *pcVar14;
  undefined4 uVar15;
  uint uVar16;
  uint uVar17;
  undefined4 unaff_s0;
  int *piVar18;
  undefined4 unaff_s1;
  int *piVar19;
  sqlite3_stmt **unaff_s2;
  int *piVar20;
  undefined *puVar21;
  code *pcVar22;
  uint unaff_retaddr;
  code *pcVar23;
  code *pcStackX_0;
  Fts3Table *pFStackX_4;
  sqlite3_stmt **ppsStackX_8;
  uint uStackX_c;
  undefined1 auStack_148 [12];
  sqlite3_stmt *psStack_13c;
  int iStack_134;
  int *piStack_130;
  Fts3DeferredToken *pFStack_12c;
  code *pcStack_128;
  code *pcStack_124;
  code *pcStack_110;
  Fts3PhraseToken *pFStack_108;
  Fts3Table *pFStack_104;
  Fts3Table *pFStack_100;
  code *pcStack_fc;
  code *pcStack_f8;
  code *pcStack_f4;
  code *pcStack_e0;
  code *pcStack_d4;
  sqlite3_stmt **ppsStack_d0;
  code *pcStack_cc;
  Fts3Table *pFStack_c8;
  uint uStack_c4;
  sqlite3_stmt *psStack_bc;
  Fts3Table *pFStack_b8;
  uint uStack_b4;
  undefined4 auStack_b0 [3];
  Fts3Table *pFStack_a4;
  int iStack_a0;
  int *piStack_9c;
  sqlite3_stmt **ppsStack_98;
  code *pcStack_94;
  code *pcStack_68;
  Fts3Table *pFStack_64;
  sqlite3_stmt *psStack_58;
  Fts3Table *pFStack_54;
  undefined *puStack_50;
  Fts3SegReader *pFStack_4c;
  Fts3SegReader *pFStack_48;
  sqlite3_stmt *pDelete;
  Fts3Table *pFStack_14;
  
  puVar2 = PTR___stack_chk_guard_00190e24;
  pcVar14 = (code *)0x0;
  ppsVar13 = &pDelete;
  pFStack_14 = *(Fts3Table **)PTR___stack_chk_guard_00190e24;
  iVar3 = fts3SqlStmt(p,0x11,ppsVar13,(sqlite3_value **)0x0);
  puVar21 = PTR_sqlite3_bind_int64_00190a90;
  if (iVar3 == 0) {
    uVar15._0_1_ = pSeg->bLookup;
    uVar15._1_1_ = pSeg->rootOnly;
    uVar15._2_2_ = *(undefined2 *)&pSeg->field_0x6;
    (*(code *)PTR_sqlite3_bind_int64_00190a90)(pDelete,1,pSeg->iIdx,uVar15);
    pcVar14 = *(code **)&pSeg_1->bLookup;
    ppsVar13 = (sqlite3_stmt **)pSeg_1->iIdx;
    (*(code *)puVar21)(pDelete,2);
    (*(code *)PTR_sqlite3_step_00190990)(pDelete);
    iVar3 = (*(code *)PTR_sqlite3_reset_00190a5c)(pDelete);
    pSeg = (Fts3SegReader *)puVar21;
  }
  if (pFStack_14 == *(Fts3Table **)puVar2) {
    return iVar3;
  }
  pFVar9 = pFStack_14;
  puVar21 = PTR___stack_chk_fail_00190df8;
  (*(code *)PTR___stack_chk_fail_00190df8)();
  uVar16 = 0;
  puStack_50 = puVar2;
  pp = &psStack_58;
  piVar19 = *(int **)(puVar21 + 0x65898);
  pFStack_54 = (Fts3Table *)*piVar19;
  pFStack_4c = pSeg_1;
  pFStack_48 = pSeg;
  iVar3 = fts3SqlStmt(pFVar9,0xb,pp,(sqlite3_value **)0x0);
  ppsStack_d0 = pp;
  if (iVar3 == 0) {
    pcVar22 = *(code **)(puVar21 + 0x65504);
    (*pcVar22)(psStack_58,1,ppsVar13,pcVar14);
    (*pcVar22)(psStack_58,2,0,&_gp);
    (*pcVar22)(psStack_58,3,pDelete,pFStack_14);
    (*pcVar22)(psStack_58,4,unaff_s0,unaff_s1);
    if (pcStackX_0 == (code *)0x0 && pFStackX_4 == (Fts3Table *)0x0) {
      (*pcVar22)(psStack_58,5,unaff_s2,unaff_retaddr);
      pcVar22 = (code *)(*(int *)(puVar21 + 0x65650) + 0x2f8c);
    }
    else {
      pcStack_68 = pcStackX_0;
      pFStack_64 = pFStackX_4;
      iVar3 = (**(code **)(puVar21 + 0x653d8))(*(int *)(puVar21 + 0x653d0) + -0x748);
      if (iVar3 == 0) {
        iVar3 = 7;
        ppsStack_d0 = unaff_s2;
        uVar16 = unaff_retaddr;
        goto LAB_0012b608;
      }
      pcVar22 = (code *)(*(int *)(puVar21 + 0x65650) + 0x2f8c);
      (*pcVar22)(psStack_58,5,iVar3,0xffffffff);
    }
    pFStack_64 = (Fts3Table *)0x0;
    pcStack_68 = (code *)0x0;
    (*pcVar22)(psStack_58,6,ppsStackX_8,uStackX_c);
    (**(code **)(puVar21 + 0x65404))(psStack_58);
    iVar3 = (**(code **)(puVar21 + 0x654d0))(psStack_58);
    (**(code **)(puVar21 + 0x654fc))(psStack_58,6);
    ppsStack_d0 = ppsStackX_8;
    uVar16 = uStackX_c;
  }
LAB_0012b608:
  if (pFStack_54 == (Fts3Table *)*piVar19) {
    return iVar3;
  }
  pcVar22 = *(code **)(puVar21 + 0x6586c);
  pFVar9 = pFStack_54;
  (*pcVar22)();
  pcStack_e0 = pcVar22 + 0x6d180;
  pFVar12 = (Fts3DeferredToken *)&DAT_00000025;
  pcStack_cc = (code *)(*(int *)(pcVar22 + 0x654c4) + 0x10f8);
  piVar20 = *(int **)(pcVar22 + 0x65684);
  pFStack_a4 = (Fts3Table *)*piVar20;
  pFStack_c8 = pFVar9;
  iStack_a0 = iVar3;
  piStack_9c = piVar19;
  ppsStack_98 = ppsVar13;
  pcStack_94 = pcVar14;
  pcStack_fc = (code *)fts3SqlStmt(pFVar9,0x25,&psStack_bc,(sqlite3_value **)0x0);
  ppsVar13 = ppsStack_d0;
  if (pcStack_fc == (code *)0x0) {
    pcStack_d4 = *(code **)(pcStack_e0 + -0x7e90);
    pcVar14 = pcStack_68 +
              (uint)((uint)((int)pFStack_64 * 3) < (uint)((int)pFStack_64 * 2)) +
              ((uint)pFStack_64 >> 0x1f | (int)pcStack_68 << 1);
    uVar4 = -((int)pcVar14 >> 0x1f) + (int)pFStack_64 * 3;
    pFStack_64 = (Fts3Table *)((int)(pcVar14 + (uVar4 < (uint)-((int)pcVar14 >> 0x1f))) >> 1);
    uStack_c4 = (int)(pcVar14 + (uVar4 < (uint)-((int)pcVar14 >> 0x1f))) * -0x80000000 | uVar4 >> 1;
    (*pcStack_d4)(psStack_bc,1,(uint)(uVar16 + 1 < uVar16) + (int)ppsStack_d0);
    uVar4 = uVar16;
    if ((int)ppsVar13 < 0) {
      uVar4 = uVar16 + 0x3ff;
      ppsVar13 = (sqlite3_stmt **)((uint)(uVar4 < uVar16) + (int)ppsVar13);
    }
    pcStack_68 = *(code **)(pcStack_e0 + -0x7f90);
    uVar4 = (int)ppsVar13 << 0x16 | uVar4 >> 10;
    uVar17 = uVar4 + 1;
    pFVar12 = (Fts3DeferredToken *)&SUB_00000002;
    (*pcStack_d4)(psStack_bc,2,
                  (uint)(uVar17 * 0x400 - 1 < uVar17 * 0x400) +
                  ((uVar17 >> 0x16 | ((uint)(uVar17 < uVar4) + ((int)ppsVar13 >> 10)) * 0x400) - 1))
    ;
    iVar6 = *(int *)(pcStack_e0 + -0x7d60);
    iVar3 = (*pcStack_68)(psStack_bc);
    pcVar14 = (code *)(iVar6 + 0x7794);
    bVar1 = false;
    while (iVar3 == 100) {
      pFVar12 = (Fts3DeferredToken *)&SUB_00000002;
      pFStack_b8 = (Fts3Table *)0x0;
      uStack_b4 = 0;
      (*pcVar14)(psStack_bc,2,auStack_b0,&pFStack_b8);
      if ((int)pFStack_b8 < 1) {
        pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);
        if (pFStack_b8 == (Fts3Table *)0x0) {
          if (uStack_b4 != 0) goto LAB_0012b99c;
          pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);
        }
LAB_0012ba04:
        pcStack_fc = (code *)(*pcVar22)(psStack_bc);
        goto LAB_0012b828;
      }
LAB_0012b99c:
      pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);
      if (((int)pFStack_64 < (int)pFStack_b8) ||
         ((pFStack_b8 == pFStack_64 &&
          (pcVar22 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))) goto LAB_0012ba04;
      bVar1 = true;
      iVar3 = (*pcStack_68)(psStack_bc);
    }
    pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);
    pcStack_fc = (code *)(*pcVar22)();
    pFVar9 = pFStack_c8;
    if (bVar1) {
      pFStack_b8 = (Fts3Table *)0x0;
      auStack_b0[0] = 0;
      if (pcStack_fc == (code *)0x0) {
        pFVar12 = (Fts3DeferredToken *)0x26;
        pcStack_fc = (code *)(*pcStack_cc)(pFStack_c8,0x26,&pFStack_b8,0);
        pFStack_64 = pFVar9;
        if (pcStack_fc == (code *)0x0) {
          pFVar12 = (Fts3DeferredToken *)&DAT_00000027;
          pcStack_fc = (code *)(*pcStack_cc)(pFVar9,0x27,auStack_b0,0);
          if (pcStack_fc == (code *)0x0) {
            pFVar12 = (Fts3DeferredToken *)0x1;
            iVar3 = 0;
            pcVar14 = *(code **)(pcStack_e0 + -0x7ed4);
            (*pcStack_d4)(psStack_bc,1,ppsStack_d0,uVar16);
            pFStack_64 = (Fts3Table *)0x0;
            do {
              iVar6 = (*pcStack_68)(psStack_bc);
              if (iVar6 != 100) {
                pcStack_fc = (code *)(*pcVar22)(psStack_bc);
                if (pcStack_fc == (code *)0x0) {
                  pFVar12 = (Fts3DeferredToken *)0x1;
                  (*pcStack_d4)(auStack_b0[0],1,ppsStack_d0,uVar16);
                  (*pcStack_68)(auStack_b0[0]);
                  pcStack_fc = (code *)(*pcVar22)(auStack_b0[0]);
                }
                goto LAB_0012b828;
              }
              (*pcStack_d4)(pFStack_b8,1,iVar3,pFStack_64);
              pFVar9 = pFStack_b8;
              iVar6 = (*pcVar14)(psStack_bc,0);
              (*pcStack_d4)(pFVar9,2,iVar6 >> 0x1f,iVar6);
              pFVar9 = pFStack_b8;
              iVar6 = (*pcVar14)(psStack_bc,1);
              pFVar12 = (Fts3DeferredToken *)0x3;
              (*pcStack_d4)(pFVar9,3,iVar6 >> 0x1f,iVar6);
              (*pcStack_68)(pFStack_b8);
              pcVar23 = (code *)(*pcVar22)(pFStack_b8);
              pFVar9 = (Fts3Table *)((int)&(pFStack_64->base).pModule + 1);
              iVar3 = (uint)(pFVar9 < pFStack_64) + iVar3;
              pFStack_64 = pFVar9;
            } while (pcVar23 == (code *)0x0);
            pcStack_d4 = pcVar23;
            (*pcVar22)(psStack_bc);
            pcStack_fc = pcStack_d4;
          }
        }
      }
    }
  }
LAB_0012b828:
  if (pFStack_a4 == (Fts3Table *)*piVar20) {
    return (int)pcStack_fc;
  }
  pcVar22 = *(code **)(pcStack_e0 + -0x7b28);
  pcVar23 = sqlite3Fts3SelectDoctotal;
  pFVar9 = pFStack_a4;
  (*pcVar22)();
  pcStack_110 = pcVar22 + 0x6cd34;
  piVar19 = (int *)0x0;
  pp_00 = &pFStack_108;
  ppStmt = (Fts3Cursor *)&DAT_00000016;
  piVar20 = *(int **)(pcVar22 + 0x65238);
  pFStack_108 = (Fts3PhraseToken *)0x0;
  pFStack_104 = (Fts3Table *)*piVar20;
  pFStack_100 = pFStack_64;
  pcStack_f8 = pcStack_68;
  pcStack_f4 = pcVar23;
  iVar3 = fts3SqlStmt(pFVar9,0x16,(sqlite3_stmt **)pp_00,(sqlite3_value **)0x0);
  pFVar8 = pFStack_108;
  if (iVar3 == 0) {
    piVar19 = (int *)0x0;
    pp_00 = (Fts3PhraseToken **)0x0;
    ppStmt = (Fts3Cursor *)0x1;
    (**(code **)(pcStack_110 + -0x7e90))(pFStack_108);
    iVar6 = (**(code **)(pcStack_110 + -0x7f90))(pFStack_108);
    if (iVar6 == 100) {
      ppStmt = (Fts3Cursor *)0x0;
      iVar6 = (**(code **)(pcStack_110 + -0x7f8c))(pFStack_108);
      pFVar8 = pFStack_108;
      if (iVar6 == 4) goto LAB_0012bc50;
    }
    iVar3 = (**(code **)(pcStack_110 + -0x7ec4))(pFStack_108);
    if (iVar3 == 0) {
      iVar3 = 0x10b;
    }
    pFVar8 = (Fts3PhraseToken *)0x0;
  }
LAB_0012bc50:
  pFVar12->pToken = pFVar8;
  if (pFStack_104 == (Fts3Table *)*piVar20) {
    return iVar3;
  }
  pcVar22 = *(code **)(pcStack_110 + -0x7b28);
  pcVar23 = fts3MatchinfoSelectDoctotal;
  pFVar9 = pFStack_104;
  (*pcVar22)();
  piVar18 = *(int **)(pcVar22 + 0x65120);
  psVar5 = (ppStmt->base).pVtab;
  psStack_13c = (sqlite3_stmt *)*piVar18;
  iStack_134 = iVar3;
  piStack_130 = piVar20;
  pFStack_12c = pFVar12;
  pcStack_128 = pcVar14;
  pcStack_124 = pcVar23;
  if (psVar5 == (sqlite3_vtab *)0x0) {
    pCsr = ppStmt;
    iVar3 = sqlite3Fts3SelectDoctotal(pFVar9,(sqlite3_stmt **)ppStmt);
    if (iVar3 == 0) {
      psVar5 = (ppStmt->base).pVtab;
      goto LAB_0012bd4c;
    }
  }
  else {
LAB_0012bd4c:
    iVar6 = (**(code **)(pcVar22 + 0x64c9c))(psVar5,0);
    pCsr = (Fts3Cursor *)auStack_148;
    iVar7 = (*(code *)(*(int *)(pcVar22 + 0x64e3c) + 0x3ec8))(iVar6);
    if ((sqlite3_vtab *)auStack_148._0_4_ == (sqlite3_vtab *)0x0 &&
        (Fts3PhraseToken *)auStack_148._4_4_ == (Fts3PhraseToken *)0x0) {
      iVar3 = 0x10b;
    }
    else {
      *pp_00 = (Fts3PhraseToken *)0x0;
      pp_00[1] = (Fts3PhraseToken *)auStack_148._4_4_;
      if (piVar19 == (int *)0x0) {
        iVar3 = 0;
      }
      else {
        iVar3 = 0;
        *piVar19 = iVar6 + iVar7;
      }
    }
  }
  if (psStack_13c == (sqlite3_stmt *)*piVar18) {
    return iVar3;
  }
  pcVar14 = *(code **)(pcVar22 + 0x650f4);
  psVar10 = psStack_13c;
  (*pcVar14)();
  psVar11 = pCsr->pStmt;
  if (psVar11 == (sqlite3_stmt *)0x0) {
    iVar3 = fts3CursorSeekStmt(pCsr);
    if (iVar3 != 0) goto LAB_0012be7c;
    psVar11 = pCsr->pStmt;
  }
  (**(code **)(pcVar14 + 0x64c8c))(psVar11,1,*(undefined4 *)&pCsr->iPrevId,(int)pCsr->iPrevId);
  pcVar22 = *(code **)(pcVar14 + 0x64b8c);
  pCsr->isRequireSeek = '\0';
  iVar3 = (*pcVar22)(pCsr->pStmt);
  if (iVar3 == 100) {
    return 0;
  }
  iVar3 = (**(code **)(pcVar14 + 0x64c58))(pCsr->pStmt);
  if (iVar3 == 0) {
    if ((pCsr->base).pVtab[3].nRef != 0) {
      return 0;
    }
    iVar3 = 0x10b;
    pCsr->isEof = '\x01';
  }
LAB_0012be7c:
  if (psVar10 != (sqlite3_stmt *)0x0) {
    (**(code **)(pcVar14 + 0x64bd0))(psVar10,iVar3);
  }
  return iVar3;
}



code * FUN_0012b4a4(undefined4 param_1,undefined4 *param_2,int *param_3)

{
  bool bVar1;
  undefined *puVar2;
  code *pcVar3;
  uint uVar4;
  int iVar5;
  int iVar6;
  undefined4 *puVar7;
  undefined4 *puVar8;
  code *pcVar9;
  uint uVar10;
  uint uVar11;
  int *piVar12;
  undefined4 unaff_s0;
  int *piVar13;
  undefined4 unaff_s1;
  uint *puVar14;
  int *piVar15;
  undefined4 *unaff_s2;
  int *piVar16;
  undefined *puVar17;
  code *pcVar18;
  uint unaff_retaddr;
  undefined4 uVar19;
  code *pcStackX_0;
  uint uStackX_4;
  undefined4 *puStackX_8;
  uint uStackX_c;
  int iStack_148;
  int iStack_144;
  int iStack_13c;
  code *pcStack_134;
  int *piStack_130;
  undefined4 *puStack_12c;
  code *pcStack_128;
  undefined4 uStack_124;
  code *pcStack_110;
  undefined4 uStack_108;
  int iStack_104;
  uint uStack_100;
  code *pcStack_fc;
  code *pcStack_f8;
  code *pcStack_f4;
  code *pcStack_e0;
  code *pcStack_d4;
  undefined4 *puStack_d0;
  code *pcStack_cc;
  uint uStack_c8;
  uint uStack_c4;
  undefined4 uStack_bc;
  uint uStack_b8;
  uint uStack_b4;
  undefined4 auStack_b0 [3];
  int iStack_a4;
  code *pcStack_a0;
  uint *puStack_9c;
  undefined4 *puStack_98;
  code *pcStack_94;
  code *pcStack_68;
  uint uStack_64;
  undefined4 uStack_58;
  uint uStack_54;
  undefined *puStack_50;
  int *piStack_4c;
  undefined4 *puStack_48;
  undefined4 local_18;
  int local_14;
  
  puVar2 = PTR___stack_chk_guard_00190e24;
  pcVar9 = (code *)0x0;
  puVar8 = &local_18;
  local_14 = *(int *)PTR___stack_chk_guard_00190e24;
  pcVar3 = (code *)FUN_001210f8(param_1,0x11);
  puVar17 = PTR_sqlite3_bind_int64_00190a90;
  if (pcVar3 == (code *)0x0) {
    (*(code *)PTR_sqlite3_bind_int64_00190a90)(local_18,1,*param_2,param_2[1]);
    pcVar9 = (code *)param_3[1];
    puVar8 = (undefined4 *)*param_3;
    (*(code *)puVar17)(local_18,2);
    (*(code *)PTR_sqlite3_step_00190990)(local_18);
    pcVar3 = (code *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_18);
    param_2 = (undefined4 *)puVar17;
  }
  if (local_14 == *(int *)puVar2) {
    return pcVar3;
  }
  puVar17 = PTR___stack_chk_fail_00190df8;
  (*(code *)PTR___stack_chk_fail_00190df8)();
  uVar10 = 0;
  puStack_50 = puVar2;
  puVar7 = &uStack_58;
  puVar14 = *(uint **)(puVar17 + 0x65898);
  uStack_54 = *puVar14;
  piStack_4c = param_3;
  puStack_48 = param_2;
  pcVar3 = (code *)FUN_001210f8();
  puStack_d0 = puVar7;
  if (pcVar3 == (code *)0x0) {
    pcVar3 = *(code **)(puVar17 + 0x65504);
    (*pcVar3)(uStack_58,1,puVar8,pcVar9);
    (*pcVar3)(uStack_58,2,0,&_gp_1);
    (*pcVar3)(uStack_58,3,local_18,local_14);
    (*pcVar3)(uStack_58,4,unaff_s0,unaff_s1);
    if (pcStackX_0 == (code *)0x0 && uStackX_4 == 0) {
      (*pcVar3)(uStack_58,5,unaff_s2,unaff_retaddr);
      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);
    }
    else {
      pcStack_68 = pcStackX_0;
      uStack_64 = uStackX_4;
      iVar5 = (**(code **)(puVar17 + 0x653d8))(*(int *)(puVar17 + 0x653d0) + -0x748);
      if (iVar5 == 0) {
        pcVar3 = (code *)&DAT_00000007;
        puStack_d0 = unaff_s2;
        uVar10 = unaff_retaddr;
        goto LAB_0012b608;
      }
      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);
      (*pcVar3)(uStack_58,5,iVar5,0xffffffff);
    }
    uStack_64 = 0;
    pcStack_68 = (code *)0x0;
    (*pcVar3)(uStack_58,6,puStackX_8,uStackX_c);
    (**(code **)(puVar17 + 0x65404))(uStack_58);
    pcVar3 = (code *)(**(code **)(puVar17 + 0x654d0))(uStack_58);
    (**(code **)(puVar17 + 0x654fc))(uStack_58,6);
    puStack_d0 = puStackX_8;
    uVar10 = uStackX_c;
  }
LAB_0012b608:
  if (uStack_54 == *puVar14) {
    return pcVar3;
  }
  pcVar18 = *(code **)(puVar17 + 0x6586c);
  uVar4 = uStack_54;
  (*pcVar18)();
  pcStack_e0 = pcVar18 + 0x6d180;
  puVar7 = (undefined4 *)&DAT_00000025;
  pcStack_cc = (code *)(*(int *)(pcVar18 + 0x654c4) + 0x10f8);
  piVar16 = *(int **)(pcVar18 + 0x65684);
  iStack_a4 = *piVar16;
  uStack_c8 = uVar4;
  pcStack_a0 = pcVar3;
  puStack_9c = puVar14;
  puStack_98 = puVar8;
  pcStack_94 = pcVar9;
  pcStack_fc = (code *)FUN_001210f8();
  puVar8 = puStack_d0;
  if (pcStack_fc == (code *)0x0) {
    pcStack_d4 = *(code **)(pcStack_e0 + -0x7e90);
    pcVar3 = pcStack_68 +
             (uint)(uStack_64 * 3 < uStack_64 * 2) + (uStack_64 >> 0x1f | (int)pcStack_68 << 1);
    uVar4 = -((int)pcVar3 >> 0x1f) + uStack_64 * 3;
    uStack_64 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) >> 1;
    uStack_c4 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) * -0x80000000 | uVar4 >> 1;
    (*pcStack_d4)(uStack_bc,1,(uint)(uVar10 + 1 < uVar10) + (int)puStack_d0);
    uVar4 = uVar10;
    if ((int)puVar8 < 0) {
      uVar4 = uVar10 + 0x3ff;
      puVar8 = (undefined4 *)((uint)(uVar4 < uVar10) + (int)puVar8);
    }
    pcStack_68 = *(code **)(pcStack_e0 + -0x7f90);
    uVar4 = (int)puVar8 << 0x16 | uVar4 >> 10;
    uVar11 = uVar4 + 1;
    puVar7 = (undefined4 *)0x2;
    (*pcStack_d4)(uStack_bc,2,
                  (uint)(uVar11 * 0x400 - 1 < uVar11 * 0x400) +
                  ((uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400) - 1));
    iVar6 = *(int *)(pcStack_e0 + -0x7d60);
    iVar5 = (*pcStack_68)(uStack_bc);
    pcVar9 = (code *)(iVar6 + 0x7794);
    bVar1 = false;
    while (iVar5 == 100) {
      puVar7 = (undefined4 *)0x2;
      uStack_b8 = 0;
      uStack_b4 = 0;
      (*pcVar9)(uStack_bc,2,auStack_b0,&uStack_b8);
      if ((int)uStack_b8 < 1) {
        pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);
        if (uStack_b8 == 0) {
          if (uStack_b4 != 0) goto LAB_0012b99c;
          pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);
        }
LAB_0012ba04:
        pcStack_fc = (code *)(*pcVar3)(uStack_bc);
        goto LAB_0012b828;
      }
LAB_0012b99c:
      pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);
      if (((int)uStack_64 < (int)uStack_b8) ||
         ((uStack_b8 == uStack_64 &&
          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))) goto LAB_0012ba04;
      bVar1 = true;
      iVar5 = (*pcStack_68)(uStack_bc);
    }
    pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);
    pcStack_fc = (code *)(*pcVar3)();
    uVar4 = uStack_c8;
    if (bVar1) {
      uStack_b8 = 0;
      auStack_b0[0] = 0;
      if (pcStack_fc == (code *)0x0) {
        puVar7 = (undefined4 *)0x26;
        pcStack_fc = (code *)(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0);
        uStack_64 = uVar4;
        if (pcStack_fc == (code *)0x0) {
          puVar7 = (undefined4 *)0x27;
          pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0);
          if (pcStack_fc == (code *)0x0) {
            puVar7 = (undefined4 *)0x1;
            iVar5 = 0;
            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);
            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);
            uStack_64 = 0;
            do {
              iVar6 = (*pcStack_68)(uStack_bc);
              if (iVar6 != 100) {
                pcStack_fc = (code *)(*pcVar3)(uStack_bc);
                if (pcStack_fc == (code *)0x0) {
                  puVar7 = (undefined4 *)0x1;
                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);
                  (*pcStack_68)(auStack_b0[0]);
                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);
                }
                goto LAB_0012b828;
              }
              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);
              uVar4 = uStack_b8;
              iVar6 = (*pcVar9)(uStack_bc,0);
              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);
              uVar4 = uStack_b8;
              iVar6 = (*pcVar9)(uStack_bc,1);
              puVar7 = (undefined4 *)0x3;
              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);
              (*pcStack_68)(uStack_b8);
              pcVar18 = (code *)(*pcVar3)(uStack_b8);
              uVar4 = uStack_64 + 1;
              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;
              uStack_64 = uVar4;
            } while (pcVar18 == (code *)0x0);
            pcStack_d4 = pcVar18;
            (*pcVar3)(uStack_bc);
            pcStack_fc = pcStack_d4;
          }
        }
      }
    }
  }
LAB_0012b828:
  if (iStack_a4 == *piVar16) {
    return pcStack_fc;
  }
  pcVar3 = *(code **)(pcStack_e0 + -0x7b28);
  pcVar18 = FUN_0012bbec;
  (*pcVar3)();
  pcStack_110 = pcVar3 + 0x6cd34;
  piVar12 = (int *)0x0;
  puVar8 = &uStack_108;
  piVar16 = (int *)&DAT_00000016;
  piVar15 = *(int **)(pcVar3 + 0x65238);
  uStack_108 = 0;
  iStack_104 = *piVar15;
  uStack_100 = uStack_64;
  pcStack_f8 = pcStack_68;
  pcStack_f4 = pcVar18;
  pcVar3 = (code *)FUN_001210f8();
  uVar19 = uStack_108;
  if (pcVar3 == (code *)0x0) {
    piVar12 = (int *)0x0;
    puVar8 = (undefined4 *)0x0;
    piVar16 = (int *)0x1;
    (**(code **)(pcStack_110 + -0x7e90))(uStack_108);
    iVar5 = (**(code **)(pcStack_110 + -0x7f90))(uStack_108);
    if (iVar5 == 100) {
      piVar16 = (int *)0x0;
      iVar5 = (**(code **)(pcStack_110 + -0x7f8c))(uStack_108);
      uVar19 = uStack_108;
      if (iVar5 == 4) goto LAB_0012bc50;
    }
    pcVar3 = (code *)(**(code **)(pcStack_110 + -0x7ec4))(uStack_108);
    if (pcVar3 == (code *)0x0) {
      pcVar3 = (code *)0x10b;
    }
    uVar19 = 0;
  }
LAB_0012bc50:
  *puVar7 = uVar19;
  if (iStack_104 == *piVar15) {
    return pcVar3;
  }
  pcVar18 = *(code **)(pcStack_110 + -0x7b28);
  uVar19 = 0x12bd04;
  (*pcVar18)();
  piVar13 = *(int **)(pcVar18 + 0x65120);
  iVar5 = *piVar16;
  iStack_13c = *piVar13;
  pcStack_134 = pcVar3;
  piStack_130 = piVar15;
  puStack_12c = puVar7;
  pcStack_128 = pcVar9;
  uStack_124 = uVar19;
  if (iVar5 == 0) {
    piVar15 = piVar16;
    pcVar3 = (code *)FUN_0012bbec();
    if (pcVar3 == (code *)0x0) {
      iVar5 = *piVar16;
      goto LAB_0012bd4c;
    }
  }
  else {
LAB_0012bd4c:
    iVar5 = (**(code **)(pcVar18 + 0x64c9c))(iVar5,0);
    piVar15 = &iStack_148;
    iVar6 = (*(code *)(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8))(iVar5);
    if (iStack_148 == 0 && iStack_144 == 0) {
      pcVar3 = (code *)0x10b;
    }
    else {
      *puVar8 = 0;
      puVar8[1] = iStack_144;
      if (piVar12 == (int *)0x0) {
        pcVar3 = (code *)0x0;
      }
      else {
        pcVar3 = (code *)0x0;
        *piVar12 = iVar5 + iVar6;
      }
    }
  }
  if (iStack_13c == *piVar13) {
    return pcVar3;
  }
  pcVar3 = *(code **)(pcVar18 + 0x650f4);
  iVar5 = iStack_13c;
  (*pcVar3)();
  iVar6 = piVar15[3];
  if (iVar6 == 0) {
    pcVar9 = (code *)FUN_0012131c(piVar15);
    if (pcVar9 != (code *)0x0) goto LAB_0012be7c;
    iVar6 = piVar15[3];
  }
  (**(code **)(pcVar3 + 0x64c8c))(iVar6,1,piVar15[8],piVar15[9]);
  pcVar9 = *(code **)(pcVar3 + 0x64b8c);
  *(undefined1 *)((int)piVar15 + 7) = 0;
  iVar6 = (*pcVar9)(piVar15[3]);
  if (iVar6 == 100) {
    return (code *)0x0;
  }
  pcVar9 = (code *)(**(code **)(pcVar3 + 0x64c58))(piVar15[3]);
  if (pcVar9 == (code *)0x0) {
    if (*(int *)(*piVar15 + 0x28) != 0) {
      return (code *)0x0;
    }
    pcVar9 = (code *)0x10b;
    *(undefined1 *)((int)piVar15 + 6) = 1;
  }
LAB_0012be7c:
  if (iVar5 != 0) {
    (**(code **)(pcVar3 + 0x64bd0))(iVar5,pcVar9);
  }
  return pcVar9;
}


lui gp,0x7
addiu gp,gp,-0x2b84
addu gp,gp,t9
addiu sp,sp,-0x30
lw t9,-0x7cbc(gp)
or a3,zero,zero
sw s0,0x20(sp)
addiu t9,t9,0x10f8
sw gp,0x10(sp)
sw s2,0x28(sp)
or s2,a1,zero
sw s1,0x24(sp)
li a1,0x11
sw ra,0x2c(sp)
or s1,a2,zero
lw s0,-0x7afc(gp)
addiu a2,sp,0x18
lw v0,0x0(s0)
sw v0,0x1c(sp)
bal 0x001210f8
_nop
beq v0,zero,0x0012b524
_lw gp,0x10(sp)
lw a0,0x1c(sp)
lw v1,0x0(s0)
bne a0,v1,0x0012b580
_lw ra,0x2c(sp)
lw s2,0x28(sp)
lw s1,0x24(sp)
lw s0,0x20(sp)
jr ra
_addiu sp,sp,0x30
lw a3,0x4(s2)
li a1,0x1
lw a2,0x0(s2)
lw s2,-0x7e90(gp)
or t9,s2,zero
jalr t9
_lw a0,0x18(sp)
li a1,0x2
lw a3,0x4(s1)
or t9,s2,zero
lw a2,0x0(s1)
jalr t9
_lw a0,0x18(sp)
lw gp,0x10(sp)
lw t9,-0x7f90(gp)
jalr t9
_lw a0,0x18(sp)
lw gp,0x10(sp)
lw t9,-0x7ec4(gp)
jalr t9
_lw a0,0x18(sp)
b 0x0012b500
_lw gp,0x10(sp)
lw t9,-0x7b28(gp)
jalr t9
_nop
(translation_unit "code * FUN_0012b4a4(undefined4 param_1,undefined4 *param_2,int *param_3)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  code *pcVar3;\n  uint uVar4;\n  int iVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  undefined4 *puVar8;\n  code *pcVar9;\n  uint uVar10;\n  uint uVar11;\n  int *piVar12;\n  undefined4 unaff_s0;\n  int *piVar13;\n  undefined4 unaff_s1;\n  uint *puVar14;\n  int *piVar15;\n  undefined4 *unaff_s2;\n  int *piVar16;\n  undefined *puVar17;\n  code *pcVar18;\n  uint unaff_retaddr;\n  undefined4 uVar19;\n  code *pcStackX_0;\n  uint uStackX_4;\n  undefined4 *puStackX_8;\n  uint uStackX_c;\n  int iStack_148;\n  int iStack_144;\n  int iStack_13c;\n  code *pcStack_134;\n  int *piStack_130;\n  undefined4 *puStack_12c;\n  code *pcStack_128;\n  undefined4 uStack_124;\n  code *pcStack_110;\n  undefined4 uStack_108;\n  int iStack_104;\n  uint uStack_100;\n  code *pcStack_fc;\n  code *pcStack_f8;\n  code *pcStack_f4;\n  code *pcStack_e0;\n  code *pcStack_d4;\n  undefined4 *puStack_d0;\n  code *pcStack_cc;\n  uint uStack_c8;\n  uint uStack_c4;\n  undefined4 uStack_bc;\n  uint uStack_b8;\n  uint uStack_b4;\n  undefined4 auStack_b0 [3];\n  int iStack_a4;\n  code *pcStack_a0;\n  uint *puStack_9c;\n  undefined4 *puStack_98;\n  code *pcStack_94;\n  code *pcStack_68;\n  uint uStack_64;\n  undefined4 uStack_58;\n  uint uStack_54;\n  undefined *puStack_50;\n  int *piStack_4c;\n  undefined4 *puStack_48;\n  undefined4 local_18;\n  int local_14;\n  \n  puVar2 = PTR___stack_chk_guard_00190e24;\n  pcVar9 = (code *)0x0;\n  puVar8 = &local_18;\n  local_14 = *(int *)PTR___stack_chk_guard_00190e24;\n  pcVar3 = (code *)FUN_001210f8(param_1,0x11);\n  puVar17 = PTR_sqlite3_bind_int64_00190a90;\n  if (pcVar3 == (code *)0x0) {\n    (*(code *)PTR_sqlite3_bind_int64_00190a90)(local_18,1,*param_2,param_2[1]);\n    pcVar9 = (code *)param_3[1];\n    puVar8 = (undefined4 *)*param_3;\n    (*(code *)puVar17)(local_18,2);\n    (*(code *)PTR_sqlite3_step_00190990)(local_18);\n    pcVar3 = (code *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_18);\n    param_2 = (undefined4 *)puVar17;\n  }\n  if (local_14 == *(int *)puVar2) {\n    return pcVar3;\n  }\n  puVar17 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  uVar10 = 0;\n  puStack_50 = puVar2;\n  puVar7 = &uStack_58;\n  puVar14 = *(uint **)(puVar17 + 0x65898);\n  uStack_54 = *puVar14;\n  piStack_4c = param_3;\n  puStack_48 = param_2;\n  pcVar3 = (code *)FUN_001210f8();\n  puStack_d0 = puVar7;\n  if (pcVar3 == (code *)0x0) {\n    pcVar3 = *(code **)(puVar17 + 0x65504);\n    (*pcVar3)(uStack_58,1,puVar8,pcVar9);\n    (*pcVar3)(uStack_58,2,0,&_gp_1);\n    (*pcVar3)(uStack_58,3,local_18,local_14);\n    (*pcVar3)(uStack_58,4,unaff_s0,unaff_s1);\n    if (pcStackX_0 == (code *)0x0 && uStackX_4 == 0) {\n      (*pcVar3)(uStack_58,5,unaff_s2,unaff_retaddr);\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n    }\n    else {\n      pcStack_68 = pcStackX_0;\n      uStack_64 = uStackX_4;\n      iVar5 = (**(code **)(puVar17 + 0x653d8))(*(int *)(puVar17 + 0x653d0) + -0x748);\n      if (iVar5 == 0) {\n        pcVar3 = (code *)&DAT_00000007;\n        puStack_d0 = unaff_s2;\n        uVar10 = unaff_retaddr;\n        goto LAB_0012b608;\n      }\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n      (*pcVar3)(uStack_58,5,iVar5,0xffffffff);\n    }\n    uStack_64 = 0;\n    pcStack_68 = (code *)0x0;\n    (*pcVar3)(uStack_58,6,puStackX_8,uStackX_c);\n    (**(code **)(puVar17 + 0x65404))(uStack_58);\n    pcVar3 = (code *)(**(code **)(puVar17 + 0x654d0))(uStack_58);\n    (**(code **)(puVar17 + 0x654fc))(uStack_58,6);\n    puStack_d0 = puStackX_8;\n    uVar10 = uStackX_c;\n  }\nLAB_0012b608:\n  if (uStack_54 == *puVar14) {\n    return pcVar3;\n  }\n  pcVar18 = *(code **)(puVar17 + 0x6586c);\n  uVar4 = uStack_54;\n  (*pcVar18)();\n  pcStack_e0 = pcVar18 + 0x6d180;\n  puVar7 = (undefined4 *)&DAT_00000025;\n  pcStack_cc = (code *)(*(int *)(pcVar18 + 0x654c4) + 0x10f8);\n  piVar16 = *(int **)(pcVar18 + 0x65684);\n  iStack_a4 = *piVar16;\n  uStack_c8 = uVar4;\n  pcStack_a0 = pcVar3;\n  puStack_9c = puVar14;\n  puStack_98 = puVar8;\n  pcStack_94 = pcVar9;\n  pcStack_fc = (code *)FUN_001210f8();\n  puVar8 = puStack_d0;\n  if (pcStack_fc == (code *)0x0) {\n    pcStack_d4 = *(code **)(pcStack_e0 + -0x7e90);\n    pcVar3 = pcStack_68 +\n             (uint)(uStack_64 * 3 < uStack_64 * 2) + (uStack_64 >> 0x1f | (int)pcStack_68 << 1);\n    uVar4 = -((int)pcVar3 >> 0x1f) + uStack_64 * 3;\n    uStack_64 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) >> 1;\n    uStack_c4 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) * -0x80000000 | uVar4 >> 1;\n    (*pcStack_d4)(uStack_bc,1,(uint)(uVar10 + 1 < uVar10) + (int)puStack_d0);\n    uVar4 = uVar10;\n    if ((int)puVar8 < 0) {\n      uVar4 = uVar10 + 0x3ff;\n      puVar8 = (undefined4 *)((uint)(uVar4 < uVar10) + (int)puVar8);\n    }\n    pcStack_68 = *(code **)(pcStack_e0 + -0x7f90);\n    uVar4 = (int)puVar8 << 0x16 | uVar4 >> 10;\n    uVar11 = uVar4 + 1;\n    puVar7 = (undefined4 *)0x2;\n    (*pcStack_d4)(uStack_bc,2,\n                  (uint)(uVar11 * 0x400 - 1 < uVar11 * 0x400) +\n                  ((uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400) - 1));\n    iVar6 = *(int *)(pcStack_e0 + -0x7d60);\n    iVar5 = (*pcStack_68)(uStack_bc);\n    pcVar9 = (code *)(iVar6 + 0x7794);\n    bVar1 = false;\n    while (iVar5 == 100) {\n      puVar7 = (undefined4 *)0x2;\n      uStack_b8 = 0;\n      uStack_b4 = 0;\n      (*pcVar9)(uStack_bc,2,auStack_b0,&uStack_b8);\n      if ((int)uStack_b8 < 1) {\n        pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        if (uStack_b8 == 0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        }\nLAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n        goto LAB_0012b828;\n      }\nLAB_0012b99c:\n      pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n      if (((int)uStack_64 < (int)uStack_b8) ||\n         ((uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))) goto LAB_0012ba04;\n      bVar1 = true;\n      iVar5 = (*pcStack_68)(uStack_bc);\n    }\n    pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n    pcStack_fc = (code *)(*pcVar3)();\n    uVar4 = uStack_c8;\n    if (bVar1) {\n      uStack_b8 = 0;\n      auStack_b0[0] = 0;\n      if (pcStack_fc == (code *)0x0) {\n        puVar7 = (undefined4 *)0x26;\n        pcStack_fc = (code *)(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0);\n        uStack_64 = uVar4;\n        if (pcStack_fc == (code *)0x0) {\n          puVar7 = (undefined4 *)0x27;\n          pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }\n      }\n    }\n  }\nLAB_0012b828:\n  if (iStack_a4 == *piVar16) {\n    return pcStack_fc;\n  }\n  pcVar3 = *(code **)(pcStack_e0 + -0x7b28);\n  pcVar18 = FUN_0012bbec;\n  (*pcVar3)();\n  pcStack_110 = pcVar3 + 0x6cd34;\n  piVar12 = (int *)0x0;\n  puVar8 = &uStack_108;\n  piVar16 = (int *)&DAT_00000016;\n  piVar15 = *(int **)(pcVar3 + 0x65238);\n  uStack_108 = 0;\n  iStack_104 = *piVar15;\n  uStack_100 = uStack_64;\n  pcStack_f8 = pcStack_68;\n  pcStack_f4 = pcVar18;\n  pcVar3 = (code *)FUN_001210f8();\n  uVar19 = uStack_108;\n  if (pcVar3 == (code *)0x0) {\n    piVar12 = (int *)0x0;\n    puVar8 = (undefined4 *)0x0;\n    piVar16 = (int *)0x1;\n    (**(code **)(pcStack_110 + -0x7e90))(uStack_108);\n    iVar5 = (**(code **)(pcStack_110 + -0x7f90))(uStack_108);\n    if (iVar5 == 100) {\n      piVar16 = (int *)0x0;\n      iVar5 = (**(code **)(pcStack_110 + -0x7f8c))(uStack_108);\n      uVar19 = uStack_108;\n      if (iVar5 == 4) goto LAB_0012bc50;\n    }\n    pcVar3 = (code *)(**(code **)(pcStack_110 + -0x7ec4))(uStack_108);\n    if (pcVar3 == (code *)0x0) {\n      pcVar3 = (code *)0x10b;\n    }\n    uVar19 = 0;\n  }\nLAB_0012bc50:\n  *puVar7 = uVar19;\n  if (iStack_104 == *piVar15) {\n    return pcVar3;\n  }\n  pcVar18 = *(code **)(pcStack_110 + -0x7b28);\n  uVar19 = 0x12bd04;\n  (*pcVar18)();\n  piVar13 = *(int **)(pcVar18 + 0x65120);\n  iVar5 = *piVar16;\n  iStack_13c = *piVar13;\n  pcStack_134 = pcVar3;\n  piStack_130 = piVar15;\n  puStack_12c = puVar7;\n  pcStack_128 = pcVar9;\n  uStack_124 = uVar19;\n  if (iVar5 == 0) {\n    piVar15 = piVar16;\n    pcVar3 = (code *)FUN_0012bbec();\n    if (pcVar3 == (code *)0x0) {\n      iVar5 = *piVar16;\n      goto LAB_0012bd4c;\n    }\n  }\n  else {\nLAB_0012bd4c:\n    iVar5 = (**(code **)(pcVar18 + 0x64c9c))(iVar5,0);\n    piVar15 = &iStack_148;\n    iVar6 = (*(code *)(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8))(iVar5);\n    if (iStack_148 == 0 && iStack_144 == 0) {\n      pcVar3 = (code *)0x10b;\n    }\n    else {\n      *puVar8 = 0;\n      puVar8[1] = iStack_144;\n      if (piVar12 == (int *)0x0) {\n        pcVar3 = (code *)0x0;\n      }\n      else {\n        pcVar3 = (code *)0x0;\n        *piVar12 = iVar5 + iVar6;\n      }\n    }\n  }\n  if (iStack_13c == *piVar13) {\n    return pcVar3;\n  }\n  pcVar3 = *(code **)(pcVar18 + 0x650f4);\n  iVar5 = iStack_13c;\n  (*pcVar3)();\n  iVar6 = piVar15[3];\n  if (iVar6 == 0) {\n    pcVar9 = (code *)FUN_0012131c(piVar15);\n    if (pcVar9 != (code *)0x0) goto LAB_0012be7c;\n    iVar6 = piVar15[3];\n  }\n  (**(code **)(pcVar3 + 0x64c8c))(iVar6,1,piVar15[8],piVar15[9]);\n  pcVar9 = *(code **)(pcVar3 + 0x64b8c);\n  *(undefined1 *)((int)piVar15 + 7) = 0;\n  iVar6 = (*pcVar9)(piVar15[3]);\n  if (iVar6 == 100) {\n    return (code *)0x0;\n  }\n  pcVar9 = (code *)(**(code **)(pcVar3 + 0x64c58))(piVar15[3]);\n  if (pcVar9 == (code *)0x0) {\n    if (*(int *)(*piVar15 + 0x28) != 0) {\n      return (code *)0x0;\n    }\n    pcVar9 = (code *)0x10b;\n    *(undefined1 *)((int)piVar15 + 6) = 1;\n  }\nLAB_0012be7c:\n  if (iVar5 != 0) {\n    (**(code **)(pcVar3 + 0x64bd0))(iVar5,pcVar9);\n  }\n  return pcVar9;\n}\n\n" (function_definition "code * FUN_0012b4a4(undefined4 param_1,undefined4 *param_2,int *param_3)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  code *pcVar3;\n  uint uVar4;\n  int iVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  undefined4 *puVar8;\n  code *pcVar9;\n  uint uVar10;\n  uint uVar11;\n  int *piVar12;\n  undefined4 unaff_s0;\n  int *piVar13;\n  undefined4 unaff_s1;\n  uint *puVar14;\n  int *piVar15;\n  undefined4 *unaff_s2;\n  int *piVar16;\n  undefined *puVar17;\n  code *pcVar18;\n  uint unaff_retaddr;\n  undefined4 uVar19;\n  code *pcStackX_0;\n  uint uStackX_4;\n  undefined4 *puStackX_8;\n  uint uStackX_c;\n  int iStack_148;\n  int iStack_144;\n  int iStack_13c;\n  code *pcStack_134;\n  int *piStack_130;\n  undefined4 *puStack_12c;\n  code *pcStack_128;\n  undefined4 uStack_124;\n  code *pcStack_110;\n  undefined4 uStack_108;\n  int iStack_104;\n  uint uStack_100;\n  code *pcStack_fc;\n  code *pcStack_f8;\n  code *pcStack_f4;\n  code *pcStack_e0;\n  code *pcStack_d4;\n  undefined4 *puStack_d0;\n  code *pcStack_cc;\n  uint uStack_c8;\n  uint uStack_c4;\n  undefined4 uStack_bc;\n  uint uStack_b8;\n  uint uStack_b4;\n  undefined4 auStack_b0 [3];\n  int iStack_a4;\n  code *pcStack_a0;\n  uint *puStack_9c;\n  undefined4 *puStack_98;\n  code *pcStack_94;\n  code *pcStack_68;\n  uint uStack_64;\n  undefined4 uStack_58;\n  uint uStack_54;\n  undefined *puStack_50;\n  int *piStack_4c;\n  undefined4 *puStack_48;\n  undefined4 local_18;\n  int local_14;\n  \n  puVar2 = PTR___stack_chk_guard_00190e24;\n  pcVar9 = (code *)0x0;\n  puVar8 = &local_18;\n  local_14 = *(int *)PTR___stack_chk_guard_00190e24;\n  pcVar3 = (code *)FUN_001210f8(param_1,0x11);\n  puVar17 = PTR_sqlite3_bind_int64_00190a90;\n  if (pcVar3 == (code *)0x0) {\n    (*(code *)PTR_sqlite3_bind_int64_00190a90)(local_18,1,*param_2,param_2[1]);\n    pcVar9 = (code *)param_3[1];\n    puVar8 = (undefined4 *)*param_3;\n    (*(code *)puVar17)(local_18,2);\n    (*(code *)PTR_sqlite3_step_00190990)(local_18);\n    pcVar3 = (code *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_18);\n    param_2 = (undefined4 *)puVar17;\n  }\n  if (local_14 == *(int *)puVar2) {\n    return pcVar3;\n  }\n  puVar17 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  uVar10 = 0;\n  puStack_50 = puVar2;\n  puVar7 = &uStack_58;\n  puVar14 = *(uint **)(puVar17 + 0x65898);\n  uStack_54 = *puVar14;\n  piStack_4c = param_3;\n  puStack_48 = param_2;\n  pcVar3 = (code *)FUN_001210f8();\n  puStack_d0 = puVar7;\n  if (pcVar3 == (code *)0x0) {\n    pcVar3 = *(code **)(puVar17 + 0x65504);\n    (*pcVar3)(uStack_58,1,puVar8,pcVar9);\n    (*pcVar3)(uStack_58,2,0,&_gp_1);\n    (*pcVar3)(uStack_58,3,local_18,local_14);\n    (*pcVar3)(uStack_58,4,unaff_s0,unaff_s1);\n    if (pcStackX_0 == (code *)0x0 && uStackX_4 == 0) {\n      (*pcVar3)(uStack_58,5,unaff_s2,unaff_retaddr);\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n    }\n    else {\n      pcStack_68 = pcStackX_0;\n      uStack_64 = uStackX_4;\n      iVar5 = (**(code **)(puVar17 + 0x653d8))(*(int *)(puVar17 + 0x653d0) + -0x748);\n      if (iVar5 == 0) {\n        pcVar3 = (code *)&DAT_00000007;\n        puStack_d0 = unaff_s2;\n        uVar10 = unaff_retaddr;\n        goto LAB_0012b608;\n      }\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n      (*pcVar3)(uStack_58,5,iVar5,0xffffffff);\n    }\n    uStack_64 = 0;\n    pcStack_68 = (code *)0x0;\n    (*pcVar3)(uStack_58,6,puStackX_8,uStackX_c);\n    (**(code **)(puVar17 + 0x65404))(uStack_58);\n    pcVar3 = (code *)(**(code **)(puVar17 + 0x654d0))(uStack_58);\n    (**(code **)(puVar17 + 0x654fc))(uStack_58,6);\n    puStack_d0 = puStackX_8;\n    uVar10 = uStackX_c;\n  }\nLAB_0012b608:\n  if (uStack_54 == *puVar14) {\n    return pcVar3;\n  }\n  pcVar18 = *(code **)(puVar17 + 0x6586c);\n  uVar4 = uStack_54;\n  (*pcVar18)();\n  pcStack_e0 = pcVar18 + 0x6d180;\n  puVar7 = (undefined4 *)&DAT_00000025;\n  pcStack_cc = (code *)(*(int *)(pcVar18 + 0x654c4) + 0x10f8);\n  piVar16 = *(int **)(pcVar18 + 0x65684);\n  iStack_a4 = *piVar16;\n  uStack_c8 = uVar4;\n  pcStack_a0 = pcVar3;\n  puStack_9c = puVar14;\n  puStack_98 = puVar8;\n  pcStack_94 = pcVar9;\n  pcStack_fc = (code *)FUN_001210f8();\n  puVar8 = puStack_d0;\n  if (pcStack_fc == (code *)0x0) {\n    pcStack_d4 = *(code **)(pcStack_e0 + -0x7e90);\n    pcVar3 = pcStack_68 +\n             (uint)(uStack_64 * 3 < uStack_64 * 2) + (uStack_64 >> 0x1f | (int)pcStack_68 << 1);\n    uVar4 = -((int)pcVar3 >> 0x1f) + uStack_64 * 3;\n    uStack_64 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) >> 1;\n    uStack_c4 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) * -0x80000000 | uVar4 >> 1;\n    (*pcStack_d4)(uStack_bc,1,(uint)(uVar10 + 1 < uVar10) + (int)puStack_d0);\n    uVar4 = uVar10;\n    if ((int)puVar8 < 0) {\n      uVar4 = uVar10 + 0x3ff;\n      puVar8 = (undefined4 *)((uint)(uVar4 < uVar10) + (int)puVar8);\n    }\n    pcStack_68 = *(code **)(pcStack_e0 + -0x7f90);\n    uVar4 = (int)puVar8 << 0x16 | uVar4 >> 10;\n    uVar11 = uVar4 + 1;\n    puVar7 = (undefined4 *)0x2;\n    (*pcStack_d4)(uStack_bc,2,\n                  (uint)(uVar11 * 0x400 - 1 < uVar11 * 0x400) +\n                  ((uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400) - 1));\n    iVar6 = *(int *)(pcStack_e0 + -0x7d60);\n    iVar5 = (*pcStack_68)(uStack_bc);\n    pcVar9 = (code *)(iVar6 + 0x7794);\n    bVar1 = false;\n    while (iVar5 == 100) {\n      puVar7 = (undefined4 *)0x2;\n      uStack_b8 = 0;\n      uStack_b4 = 0;\n      (*pcVar9)(uStack_bc,2,auStack_b0,&uStack_b8);\n      if ((int)uStack_b8 < 1) {\n        pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        if (uStack_b8 == 0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        }\nLAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n        goto LAB_0012b828;\n      }\nLAB_0012b99c:\n      pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n      if (((int)uStack_64 < (int)uStack_b8) ||\n         ((uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))) goto LAB_0012ba04;\n      bVar1 = true;\n      iVar5 = (*pcStack_68)(uStack_bc);\n    }\n    pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n    pcStack_fc = (code *)(*pcVar3)();\n    uVar4 = uStack_c8;\n    if (bVar1) {\n      uStack_b8 = 0;\n      auStack_b0[0] = 0;\n      if (pcStack_fc == (code *)0x0) {\n        puVar7 = (undefined4 *)0x26;\n        pcStack_fc = (code *)(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0);\n        uStack_64 = uVar4;\n        if (pcStack_fc == (code *)0x0) {\n          puVar7 = (undefined4 *)0x27;\n          pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }\n      }\n    }\n  }\nLAB_0012b828:\n  if (iStack_a4 == *piVar16) {\n    return pcStack_fc;\n  }\n  pcVar3 = *(code **)(pcStack_e0 + -0x7b28);\n  pcVar18 = FUN_0012bbec;\n  (*pcVar3)();\n  pcStack_110 = pcVar3 + 0x6cd34;\n  piVar12 = (int *)0x0;\n  puVar8 = &uStack_108;\n  piVar16 = (int *)&DAT_00000016;\n  piVar15 = *(int **)(pcVar3 + 0x65238);\n  uStack_108 = 0;\n  iStack_104 = *piVar15;\n  uStack_100 = uStack_64;\n  pcStack_f8 = pcStack_68;\n  pcStack_f4 = pcVar18;\n  pcVar3 = (code *)FUN_001210f8();\n  uVar19 = uStack_108;\n  if (pcVar3 == (code *)0x0) {\n    piVar12 = (int *)0x0;\n    puVar8 = (undefined4 *)0x0;\n    piVar16 = (int *)0x1;\n    (**(code **)(pcStack_110 + -0x7e90))(uStack_108);\n    iVar5 = (**(code **)(pcStack_110 + -0x7f90))(uStack_108);\n    if (iVar5 == 100) {\n      piVar16 = (int *)0x0;\n      iVar5 = (**(code **)(pcStack_110 + -0x7f8c))(uStack_108);\n      uVar19 = uStack_108;\n      if (iVar5 == 4) goto LAB_0012bc50;\n    }\n    pcVar3 = (code *)(**(code **)(pcStack_110 + -0x7ec4))(uStack_108);\n    if (pcVar3 == (code *)0x0) {\n      pcVar3 = (code *)0x10b;\n    }\n    uVar19 = 0;\n  }\nLAB_0012bc50:\n  *puVar7 = uVar19;\n  if (iStack_104 == *piVar15) {\n    return pcVar3;\n  }\n  pcVar18 = *(code **)(pcStack_110 + -0x7b28);\n  uVar19 = 0x12bd04;\n  (*pcVar18)();\n  piVar13 = *(int **)(pcVar18 + 0x65120);\n  iVar5 = *piVar16;\n  iStack_13c = *piVar13;\n  pcStack_134 = pcVar3;\n  piStack_130 = piVar15;\n  puStack_12c = puVar7;\n  pcStack_128 = pcVar9;\n  uStack_124 = uVar19;\n  if (iVar5 == 0) {\n    piVar15 = piVar16;\n    pcVar3 = (code *)FUN_0012bbec();\n    if (pcVar3 == (code *)0x0) {\n      iVar5 = *piVar16;\n      goto LAB_0012bd4c;\n    }\n  }\n  else {\nLAB_0012bd4c:\n    iVar5 = (**(code **)(pcVar18 + 0x64c9c))(iVar5,0);\n    piVar15 = &iStack_148;\n    iVar6 = (*(code *)(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8))(iVar5);\n    if (iStack_148 == 0 && iStack_144 == 0) {\n      pcVar3 = (code *)0x10b;\n    }\n    else {\n      *puVar8 = 0;\n      puVar8[1] = iStack_144;\n      if (piVar12 == (int *)0x0) {\n        pcVar3 = (code *)0x0;\n      }\n      else {\n        pcVar3 = (code *)0x0;\n        *piVar12 = iVar5 + iVar6;\n      }\n    }\n  }\n  if (iStack_13c == *piVar13) {\n    return pcVar3;\n  }\n  pcVar3 = *(code **)(pcVar18 + 0x650f4);\n  iVar5 = iStack_13c;\n  (*pcVar3)();\n  iVar6 = piVar15[3];\n  if (iVar6 == 0) {\n    pcVar9 = (code *)FUN_0012131c(piVar15);\n    if (pcVar9 != (code *)0x0) goto LAB_0012be7c;\n    iVar6 = piVar15[3];\n  }\n  (**(code **)(pcVar3 + 0x64c8c))(iVar6,1,piVar15[8],piVar15[9]);\n  pcVar9 = *(code **)(pcVar3 + 0x64b8c);\n  *(undefined1 *)((int)piVar15 + 7) = 0;\n  iVar6 = (*pcVar9)(piVar15[3]);\n  if (iVar6 == 100) {\n    return (code *)0x0;\n  }\n  pcVar9 = (code *)(**(code **)(pcVar3 + 0x64c58))(piVar15[3]);\n  if (pcVar9 == (code *)0x0) {\n    if (*(int *)(*piVar15 + 0x28) != 0) {\n      return (code *)0x0;\n    }\n    pcVar9 = (code *)0x10b;\n    *(undefined1 *)((int)piVar15 + 6) = 1;\n  }\nLAB_0012be7c:\n  if (iVar5 != 0) {\n    (**(code **)(pcVar3 + 0x64bd0))(iVar5,pcVar9);\n  }\n  return pcVar9;\n}" type_identifier (pointer_declarator "* FUN_0012b4a4(undefined4 param_1,undefined4 *param_2,int *param_3)" * (function_declarator "FUN_0012b4a4(undefined4 param_1,undefined4 *param_2,int *param_3)" identifier (parameter_list "(undefined4 param_1,undefined4 *param_2,int *param_3)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) )))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  code *pcVar3;\n  uint uVar4;\n  int iVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  undefined4 *puVar8;\n  code *pcVar9;\n  uint uVar10;\n  uint uVar11;\n  int *piVar12;\n  undefined4 unaff_s0;\n  int *piVar13;\n  undefined4 unaff_s1;\n  uint *puVar14;\n  int *piVar15;\n  undefined4 *unaff_s2;\n  int *piVar16;\n  undefined *puVar17;\n  code *pcVar18;\n  uint unaff_retaddr;\n  undefined4 uVar19;\n  code *pcStackX_0;\n  uint uStackX_4;\n  undefined4 *puStackX_8;\n  uint uStackX_c;\n  int iStack_148;\n  int iStack_144;\n  int iStack_13c;\n  code *pcStack_134;\n  int *piStack_130;\n  undefined4 *puStack_12c;\n  code *pcStack_128;\n  undefined4 uStack_124;\n  code *pcStack_110;\n  undefined4 uStack_108;\n  int iStack_104;\n  uint uStack_100;\n  code *pcStack_fc;\n  code *pcStack_f8;\n  code *pcStack_f4;\n  code *pcStack_e0;\n  code *pcStack_d4;\n  undefined4 *puStack_d0;\n  code *pcStack_cc;\n  uint uStack_c8;\n  uint uStack_c4;\n  undefined4 uStack_bc;\n  uint uStack_b8;\n  uint uStack_b4;\n  undefined4 auStack_b0 [3];\n  int iStack_a4;\n  code *pcStack_a0;\n  uint *puStack_9c;\n  undefined4 *puStack_98;\n  code *pcStack_94;\n  code *pcStack_68;\n  uint uStack_64;\n  undefined4 uStack_58;\n  uint uStack_54;\n  undefined *puStack_50;\n  int *piStack_4c;\n  undefined4 *puStack_48;\n  undefined4 local_18;\n  int local_14;\n  \n  puVar2 = PTR___stack_chk_guard_00190e24;\n  pcVar9 = (code *)0x0;\n  puVar8 = &local_18;\n  local_14 = *(int *)PTR___stack_chk_guard_00190e24;\n  pcVar3 = (code *)FUN_001210f8(param_1,0x11);\n  puVar17 = PTR_sqlite3_bind_int64_00190a90;\n  if (pcVar3 == (code *)0x0) {\n    (*(code *)PTR_sqlite3_bind_int64_00190a90)(local_18,1,*param_2,param_2[1]);\n    pcVar9 = (code *)param_3[1];\n    puVar8 = (undefined4 *)*param_3;\n    (*(code *)puVar17)(local_18,2);\n    (*(code *)PTR_sqlite3_step_00190990)(local_18);\n    pcVar3 = (code *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_18);\n    param_2 = (undefined4 *)puVar17;\n  }\n  if (local_14 == *(int *)puVar2) {\n    return pcVar3;\n  }\n  puVar17 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  uVar10 = 0;\n  puStack_50 = puVar2;\n  puVar7 = &uStack_58;\n  puVar14 = *(uint **)(puVar17 + 0x65898);\n  uStack_54 = *puVar14;\n  piStack_4c = param_3;\n  puStack_48 = param_2;\n  pcVar3 = (code *)FUN_001210f8();\n  puStack_d0 = puVar7;\n  if (pcVar3 == (code *)0x0) {\n    pcVar3 = *(code **)(puVar17 + 0x65504);\n    (*pcVar3)(uStack_58,1,puVar8,pcVar9);\n    (*pcVar3)(uStack_58,2,0,&_gp_1);\n    (*pcVar3)(uStack_58,3,local_18,local_14);\n    (*pcVar3)(uStack_58,4,unaff_s0,unaff_s1);\n    if (pcStackX_0 == (code *)0x0 && uStackX_4 == 0) {\n      (*pcVar3)(uStack_58,5,unaff_s2,unaff_retaddr);\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n    }\n    else {\n      pcStack_68 = pcStackX_0;\n      uStack_64 = uStackX_4;\n      iVar5 = (**(code **)(puVar17 + 0x653d8))(*(int *)(puVar17 + 0x653d0) + -0x748);\n      if (iVar5 == 0) {\n        pcVar3 = (code *)&DAT_00000007;\n        puStack_d0 = unaff_s2;\n        uVar10 = unaff_retaddr;\n        goto LAB_0012b608;\n      }\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n      (*pcVar3)(uStack_58,5,iVar5,0xffffffff);\n    }\n    uStack_64 = 0;\n    pcStack_68 = (code *)0x0;\n    (*pcVar3)(uStack_58,6,puStackX_8,uStackX_c);\n    (**(code **)(puVar17 + 0x65404))(uStack_58);\n    pcVar3 = (code *)(**(code **)(puVar17 + 0x654d0))(uStack_58);\n    (**(code **)(puVar17 + 0x654fc))(uStack_58,6);\n    puStack_d0 = puStackX_8;\n    uVar10 = uStackX_c;\n  }\nLAB_0012b608:\n  if (uStack_54 == *puVar14) {\n    return pcVar3;\n  }\n  pcVar18 = *(code **)(puVar17 + 0x6586c);\n  uVar4 = uStack_54;\n  (*pcVar18)();\n  pcStack_e0 = pcVar18 + 0x6d180;\n  puVar7 = (undefined4 *)&DAT_00000025;\n  pcStack_cc = (code *)(*(int *)(pcVar18 + 0x654c4) + 0x10f8);\n  piVar16 = *(int **)(pcVar18 + 0x65684);\n  iStack_a4 = *piVar16;\n  uStack_c8 = uVar4;\n  pcStack_a0 = pcVar3;\n  puStack_9c = puVar14;\n  puStack_98 = puVar8;\n  pcStack_94 = pcVar9;\n  pcStack_fc = (code *)FUN_001210f8();\n  puVar8 = puStack_d0;\n  if (pcStack_fc == (code *)0x0) {\n    pcStack_d4 = *(code **)(pcStack_e0 + -0x7e90);\n    pcVar3 = pcStack_68 +\n             (uint)(uStack_64 * 3 < uStack_64 * 2) + (uStack_64 >> 0x1f | (int)pcStack_68 << 1);\n    uVar4 = -((int)pcVar3 >> 0x1f) + uStack_64 * 3;\n    uStack_64 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) >> 1;\n    uStack_c4 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) * -0x80000000 | uVar4 >> 1;\n    (*pcStack_d4)(uStack_bc,1,(uint)(uVar10 + 1 < uVar10) + (int)puStack_d0);\n    uVar4 = uVar10;\n    if ((int)puVar8 < 0) {\n      uVar4 = uVar10 + 0x3ff;\n      puVar8 = (undefined4 *)((uint)(uVar4 < uVar10) + (int)puVar8);\n    }\n    pcStack_68 = *(code **)(pcStack_e0 + -0x7f90);\n    uVar4 = (int)puVar8 << 0x16 | uVar4 >> 10;\n    uVar11 = uVar4 + 1;\n    puVar7 = (undefined4 *)0x2;\n    (*pcStack_d4)(uStack_bc,2,\n                  (uint)(uVar11 * 0x400 - 1 < uVar11 * 0x400) +\n                  ((uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400) - 1));\n    iVar6 = *(int *)(pcStack_e0 + -0x7d60);\n    iVar5 = (*pcStack_68)(uStack_bc);\n    pcVar9 = (code *)(iVar6 + 0x7794);\n    bVar1 = false;\n    while (iVar5 == 100) {\n      puVar7 = (undefined4 *)0x2;\n      uStack_b8 = 0;\n      uStack_b4 = 0;\n      (*pcVar9)(uStack_bc,2,auStack_b0,&uStack_b8);\n      if ((int)uStack_b8 < 1) {\n        pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        if (uStack_b8 == 0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        }\nLAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n        goto LAB_0012b828;\n      }\nLAB_0012b99c:\n      pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n      if (((int)uStack_64 < (int)uStack_b8) ||\n         ((uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))) goto LAB_0012ba04;\n      bVar1 = true;\n      iVar5 = (*pcStack_68)(uStack_bc);\n    }\n    pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n    pcStack_fc = (code *)(*pcVar3)();\n    uVar4 = uStack_c8;\n    if (bVar1) {\n      uStack_b8 = 0;\n      auStack_b0[0] = 0;\n      if (pcStack_fc == (code *)0x0) {\n        puVar7 = (undefined4 *)0x26;\n        pcStack_fc = (code *)(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0);\n        uStack_64 = uVar4;\n        if (pcStack_fc == (code *)0x0) {\n          puVar7 = (undefined4 *)0x27;\n          pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }\n      }\n    }\n  }\nLAB_0012b828:\n  if (iStack_a4 == *piVar16) {\n    return pcStack_fc;\n  }\n  pcVar3 = *(code **)(pcStack_e0 + -0x7b28);\n  pcVar18 = FUN_0012bbec;\n  (*pcVar3)();\n  pcStack_110 = pcVar3 + 0x6cd34;\n  piVar12 = (int *)0x0;\n  puVar8 = &uStack_108;\n  piVar16 = (int *)&DAT_00000016;\n  piVar15 = *(int **)(pcVar3 + 0x65238);\n  uStack_108 = 0;\n  iStack_104 = *piVar15;\n  uStack_100 = uStack_64;\n  pcStack_f8 = pcStack_68;\n  pcStack_f4 = pcVar18;\n  pcVar3 = (code *)FUN_001210f8();\n  uVar19 = uStack_108;\n  if (pcVar3 == (code *)0x0) {\n    piVar12 = (int *)0x0;\n    puVar8 = (undefined4 *)0x0;\n    piVar16 = (int *)0x1;\n    (**(code **)(pcStack_110 + -0x7e90))(uStack_108);\n    iVar5 = (**(code **)(pcStack_110 + -0x7f90))(uStack_108);\n    if (iVar5 == 100) {\n      piVar16 = (int *)0x0;\n      iVar5 = (**(code **)(pcStack_110 + -0x7f8c))(uStack_108);\n      uVar19 = uStack_108;\n      if (iVar5 == 4) goto LAB_0012bc50;\n    }\n    pcVar3 = (code *)(**(code **)(pcStack_110 + -0x7ec4))(uStack_108);\n    if (pcVar3 == (code *)0x0) {\n      pcVar3 = (code *)0x10b;\n    }\n    uVar19 = 0;\n  }\nLAB_0012bc50:\n  *puVar7 = uVar19;\n  if (iStack_104 == *piVar15) {\n    return pcVar3;\n  }\n  pcVar18 = *(code **)(pcStack_110 + -0x7b28);\n  uVar19 = 0x12bd04;\n  (*pcVar18)();\n  piVar13 = *(int **)(pcVar18 + 0x65120);\n  iVar5 = *piVar16;\n  iStack_13c = *piVar13;\n  pcStack_134 = pcVar3;\n  piStack_130 = piVar15;\n  puStack_12c = puVar7;\n  pcStack_128 = pcVar9;\n  uStack_124 = uVar19;\n  if (iVar5 == 0) {\n    piVar15 = piVar16;\n    pcVar3 = (code *)FUN_0012bbec();\n    if (pcVar3 == (code *)0x0) {\n      iVar5 = *piVar16;\n      goto LAB_0012bd4c;\n    }\n  }\n  else {\nLAB_0012bd4c:\n    iVar5 = (**(code **)(pcVar18 + 0x64c9c))(iVar5,0);\n    piVar15 = &iStack_148;\n    iVar6 = (*(code *)(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8))(iVar5);\n    if (iStack_148 == 0 && iStack_144 == 0) {\n      pcVar3 = (code *)0x10b;\n    }\n    else {\n      *puVar8 = 0;\n      puVar8[1] = iStack_144;\n      if (piVar12 == (int *)0x0) {\n        pcVar3 = (code *)0x0;\n      }\n      else {\n        pcVar3 = (code *)0x0;\n        *piVar12 = iVar5 + iVar6;\n      }\n    }\n  }\n  if (iStack_13c == *piVar13) {\n    return pcVar3;\n  }\n  pcVar3 = *(code **)(pcVar18 + 0x650f4);\n  iVar5 = iStack_13c;\n  (*pcVar3)();\n  iVar6 = piVar15[3];\n  if (iVar6 == 0) {\n    pcVar9 = (code *)FUN_0012131c(piVar15);\n    if (pcVar9 != (code *)0x0) goto LAB_0012be7c;\n    iVar6 = piVar15[3];\n  }\n  (**(code **)(pcVar3 + 0x64c8c))(iVar6,1,piVar15[8],piVar15[9]);\n  pcVar9 = *(code **)(pcVar3 + 0x64b8c);\n  *(undefined1 *)((int)piVar15 + 7) = 0;\n  iVar6 = (*pcVar9)(piVar15[3]);\n  if (iVar6 == 100) {\n    return (code *)0x0;\n  }\n  pcVar9 = (code *)(**(code **)(pcVar3 + 0x64c58))(piVar15[3]);\n  if (pcVar9 == (code *)0x0) {\n    if (*(int *)(*piVar15 + 0x28) != 0) {\n      return (code *)0x0;\n    }\n    pcVar9 = (code *)0x10b;\n    *(undefined1 *)((int)piVar15 + 6) = 1;\n  }\nLAB_0012be7c:\n  if (iVar5 != 0) {\n    (**(code **)(pcVar3 + 0x64bd0))(iVar5,pcVar9);\n  }\n  return pcVar9;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "code *pcVar3;" type_identifier (pointer_declarator "*pcVar3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "code *pcVar9;" type_identifier (pointer_declarator "*pcVar9" * identifier) ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "undefined4 unaff_s0;" type_identifier identifier ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "undefined4 unaff_s1;" type_identifier identifier ;) (declaration "uint *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "undefined4 *unaff_s2;" type_identifier (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "undefined *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "code *pcVar18;" type_identifier (pointer_declarator "*pcVar18" * identifier) ;) (declaration "uint unaff_retaddr;" type_identifier identifier ;) (declaration "undefined4 uVar19;" type_identifier identifier ;) (declaration "code *pcStackX_0;" type_identifier (pointer_declarator "*pcStackX_0" * identifier) ;) (declaration "uint uStackX_4;" type_identifier identifier ;) (declaration "undefined4 *puStackX_8;" type_identifier (pointer_declarator "*puStackX_8" * identifier) ;) (declaration "uint uStackX_c;" type_identifier identifier ;) (declaration "int iStack_148;" primitive_type identifier ;) (declaration "int iStack_144;" primitive_type identifier ;) (declaration "int iStack_13c;" primitive_type identifier ;) (declaration "code *pcStack_134;" type_identifier (pointer_declarator "*pcStack_134" * identifier) ;) (declaration "int *piStack_130;" primitive_type (pointer_declarator "*piStack_130" * identifier) ;) (declaration "undefined4 *puStack_12c;" type_identifier (pointer_declarator "*puStack_12c" * identifier) ;) (declaration "code *pcStack_128;" type_identifier (pointer_declarator "*pcStack_128" * identifier) ;) (declaration "undefined4 uStack_124;" type_identifier identifier ;) (declaration "code *pcStack_110;" type_identifier (pointer_declarator "*pcStack_110" * identifier) ;) (declaration "undefined4 uStack_108;" type_identifier identifier ;) (declaration "int iStack_104;" primitive_type identifier ;) (declaration "uint uStack_100;" type_identifier identifier ;) (declaration "code *pcStack_fc;" type_identifier (pointer_declarator "*pcStack_fc" * identifier) ;) (declaration "code *pcStack_f8;" type_identifier (pointer_declarator "*pcStack_f8" * identifier) ;) (declaration "code *pcStack_f4;" type_identifier (pointer_declarator "*pcStack_f4" * identifier) ;) (declaration "code *pcStack_e0;" type_identifier (pointer_declarator "*pcStack_e0" * identifier) ;) (declaration "code *pcStack_d4;" type_identifier (pointer_declarator "*pcStack_d4" * identifier) ;) (declaration "undefined4 *puStack_d0;" type_identifier (pointer_declarator "*puStack_d0" * identifier) ;) (declaration "code *pcStack_cc;" type_identifier (pointer_declarator "*pcStack_cc" * identifier) ;) (declaration "uint uStack_c8;" type_identifier identifier ;) (declaration "uint uStack_c4;" type_identifier identifier ;) (declaration "undefined4 uStack_bc;" type_identifier identifier ;) (declaration "uint uStack_b8;" type_identifier identifier ;) (declaration "uint uStack_b4;" type_identifier identifier ;) (declaration "undefined4 auStack_b0 [3];" type_identifier (array_declarator "auStack_b0 [3]" identifier [ number_literal ]) ;) (declaration "int iStack_a4;" primitive_type identifier ;) (declaration "code *pcStack_a0;" type_identifier (pointer_declarator "*pcStack_a0" * identifier) ;) (declaration "uint *puStack_9c;" type_identifier (pointer_declarator "*puStack_9c" * identifier) ;) (declaration "undefined4 *puStack_98;" type_identifier (pointer_declarator "*puStack_98" * identifier) ;) (declaration "code *pcStack_94;" type_identifier (pointer_declarator "*pcStack_94" * identifier) ;) (declaration "code *pcStack_68;" type_identifier (pointer_declarator "*pcStack_68" * identifier) ;) (declaration "uint uStack_64;" type_identifier identifier ;) (declaration "undefined4 uStack_58;" type_identifier identifier ;) (declaration "uint uStack_54;" type_identifier identifier ;) (declaration "undefined *puStack_50;" type_identifier (pointer_declarator "*puStack_50" * identifier) ;) (declaration "int *piStack_4c;" primitive_type (pointer_declarator "*piStack_4c" * identifier) ;) (declaration "undefined4 *puStack_48;" type_identifier (pointer_declarator "*puStack_48" * identifier) ;) (declaration "undefined4 local_18;" type_identifier identifier ;) (declaration "int local_14;" primitive_type identifier ;) (expression_statement "puVar2 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar2 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "pcVar9 = (code *)0x0;" (assignment_expression "pcVar9 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar8 = &local_18;" (assignment_expression "puVar8 = &local_18" identifier = (pointer_expression "&local_18" & identifier)) ;) (expression_statement "local_14 = *(int *)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_14 = *(int *)PTR___stack_chk_guard_00190e24" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_00190e24" * (cast_expression "(int *)PTR___stack_chk_guard_00190e24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pcVar3 = (code *)FUN_001210f8(param_1,0x11);" (assignment_expression "pcVar3 = (code *)FUN_001210f8(param_1,0x11)" identifier = (cast_expression "(code *)FUN_001210f8(param_1,0x11)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001210f8(param_1,0x11)" identifier (argument_list "(param_1,0x11)" ( identifier , number_literal ))))) ;) (expression_statement "puVar17 = PTR_sqlite3_bind_int64_00190a90;" (assignment_expression "puVar17 = PTR_sqlite3_bind_int64_00190a90" identifier = identifier) ;) (if_statement "if (pcVar3 == (code *)0x0) {\n    (*(code *)PTR_sqlite3_bind_int64_00190a90)(local_18,1,*param_2,param_2[1]);\n    pcVar9 = (code *)param_3[1];\n    puVar8 = (undefined4 *)*param_3;\n    (*(code *)puVar17)(local_18,2);\n    (*(code *)PTR_sqlite3_step_00190990)(local_18);\n    pcVar3 = (code *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_18);\n    param_2 = (undefined4 *)puVar17;\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    (*(code *)PTR_sqlite3_bind_int64_00190a90)(local_18,1,*param_2,param_2[1]);\n    pcVar9 = (code *)param_3[1];\n    puVar8 = (undefined4 *)*param_3;\n    (*(code *)puVar17)(local_18,2);\n    (*(code *)PTR_sqlite3_step_00190990)(local_18);\n    pcVar3 = (code *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_18);\n    param_2 = (undefined4 *)puVar17;\n  }" { (expression_statement "(*(code *)PTR_sqlite3_bind_int64_00190a90)(local_18,1,*param_2,param_2[1]);" (call_expression "(*(code *)PTR_sqlite3_bind_int64_00190a90)(local_18,1,*param_2,param_2[1])" (parenthesized_expression "(*(code *)PTR_sqlite3_bind_int64_00190a90)" ( (pointer_expression "*(code *)PTR_sqlite3_bind_int64_00190a90" * (cast_expression "(code *)PTR_sqlite3_bind_int64_00190a90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_18,1,*param_2,param_2[1])" ( identifier , number_literal , (pointer_expression "*param_2" * identifier) , (subscript_expression "param_2[1]" identifier [ number_literal ]) ))) ;) (expression_statement "pcVar9 = (code *)param_3[1];" (assignment_expression "pcVar9 = (code *)param_3[1]" identifier = (cast_expression "(code *)param_3[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[1]" identifier [ number_literal ]))) ;) (expression_statement "puVar8 = (undefined4 *)*param_3;" (assignment_expression "puVar8 = (undefined4 *)*param_3" identifier = (cast_expression "(undefined4 *)*param_3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_3" * identifier))) ;) (expression_statement "(*(code *)puVar17)(local_18,2);" (call_expression "(*(code *)puVar17)(local_18,2)" (parenthesized_expression "(*(code *)puVar17)" ( (pointer_expression "*(code *)puVar17" * (cast_expression "(code *)puVar17" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_18,2)" ( identifier , number_literal ))) ;) (expression_statement "(*(code *)PTR_sqlite3_step_00190990)(local_18);" (call_expression "(*(code *)PTR_sqlite3_step_00190990)(local_18)" (parenthesized_expression "(*(code *)PTR_sqlite3_step_00190990)" ( (pointer_expression "*(code *)PTR_sqlite3_step_00190990" * (cast_expression "(code *)PTR_sqlite3_step_00190990" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_18)" ( identifier ))) ;) (expression_statement "pcVar3 = (code *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_18);" (assignment_expression "pcVar3 = (code *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_18)" identifier = (cast_expression "(code *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_18)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sqlite3_reset_00190a5c)(local_18)" (parenthesized_expression "(*(code *)PTR_sqlite3_reset_00190a5c)" ( (pointer_expression "*(code *)PTR_sqlite3_reset_00190a5c" * (cast_expression "(code *)PTR_sqlite3_reset_00190a5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_18)" ( identifier ))))) ;) (expression_statement "param_2 = (undefined4 *)puVar17;" (assignment_expression "param_2 = (undefined4 *)puVar17" identifier = (cast_expression "(undefined4 *)puVar17" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (if_statement "if (local_14 == *(int *)puVar2) {\n    return pcVar3;\n  }" if (parenthesized_expression "(local_14 == *(int *)puVar2)" ( (binary_expression "local_14 == *(int *)puVar2" identifier == (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return pcVar3;\n  }" { (return_statement "return pcVar3;" return identifier ;) })) (expression_statement "puVar17 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar17 = PTR___stack_chk_fail_00190df8" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00190df8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" * (cast_expression "(code *)PTR___stack_chk_fail_00190df8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (expression_statement "puStack_50 = puVar2;" (assignment_expression "puStack_50 = puVar2" identifier = identifier) ;) (expression_statement "puVar7 = &uStack_58;" (assignment_expression "puVar7 = &uStack_58" identifier = (pointer_expression "&uStack_58" & identifier)) ;) (expression_statement "puVar14 = *(uint **)(puVar17 + 0x65898);" (assignment_expression "puVar14 = *(uint **)(puVar17 + 0x65898)" identifier = (pointer_expression "*(uint **)(puVar17 + 0x65898)" * (cast_expression "(uint **)(puVar17 + 0x65898)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x65898)" ( (binary_expression "puVar17 + 0x65898" identifier + number_literal) ))))) ;) (expression_statement "uStack_54 = *puVar14;" (assignment_expression "uStack_54 = *puVar14" identifier = (pointer_expression "*puVar14" * identifier)) ;) (expression_statement "piStack_4c = param_3;" (assignment_expression "piStack_4c = param_3" identifier = identifier) ;) (expression_statement "puStack_48 = param_2;" (assignment_expression "puStack_48 = param_2" identifier = identifier) ;) (expression_statement "pcVar3 = (code *)FUN_001210f8();" (assignment_expression "pcVar3 = (code *)FUN_001210f8()" identifier = (cast_expression "(code *)FUN_001210f8()" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001210f8()" identifier (argument_list "()" ( ))))) ;) (expression_statement "puStack_d0 = puVar7;" (assignment_expression "puStack_d0 = puVar7" identifier = identifier) ;) (if_statement "if (pcVar3 == (code *)0x0) {\n    pcVar3 = *(code **)(puVar17 + 0x65504);\n    (*pcVar3)(uStack_58,1,puVar8,pcVar9);\n    (*pcVar3)(uStack_58,2,0,&_gp_1);\n    (*pcVar3)(uStack_58,3,local_18,local_14);\n    (*pcVar3)(uStack_58,4,unaff_s0,unaff_s1);\n    if (pcStackX_0 == (code *)0x0 && uStackX_4 == 0) {\n      (*pcVar3)(uStack_58,5,unaff_s2,unaff_retaddr);\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n    }\n    else {\n      pcStack_68 = pcStackX_0;\n      uStack_64 = uStackX_4;\n      iVar5 = (**(code **)(puVar17 + 0x653d8))(*(int *)(puVar17 + 0x653d0) + -0x748);\n      if (iVar5 == 0) {\n        pcVar3 = (code *)&DAT_00000007;\n        puStack_d0 = unaff_s2;\n        uVar10 = unaff_retaddr;\n        goto LAB_0012b608;\n      }\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n      (*pcVar3)(uStack_58,5,iVar5,0xffffffff);\n    }\n    uStack_64 = 0;\n    pcStack_68 = (code *)0x0;\n    (*pcVar3)(uStack_58,6,puStackX_8,uStackX_c);\n    (**(code **)(puVar17 + 0x65404))(uStack_58);\n    pcVar3 = (code *)(**(code **)(puVar17 + 0x654d0))(uStack_58);\n    (**(code **)(puVar17 + 0x654fc))(uStack_58,6);\n    puStack_d0 = puStackX_8;\n    uVar10 = uStackX_c;\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    pcVar3 = *(code **)(puVar17 + 0x65504);\n    (*pcVar3)(uStack_58,1,puVar8,pcVar9);\n    (*pcVar3)(uStack_58,2,0,&_gp_1);\n    (*pcVar3)(uStack_58,3,local_18,local_14);\n    (*pcVar3)(uStack_58,4,unaff_s0,unaff_s1);\n    if (pcStackX_0 == (code *)0x0 && uStackX_4 == 0) {\n      (*pcVar3)(uStack_58,5,unaff_s2,unaff_retaddr);\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n    }\n    else {\n      pcStack_68 = pcStackX_0;\n      uStack_64 = uStackX_4;\n      iVar5 = (**(code **)(puVar17 + 0x653d8))(*(int *)(puVar17 + 0x653d0) + -0x748);\n      if (iVar5 == 0) {\n        pcVar3 = (code *)&DAT_00000007;\n        puStack_d0 = unaff_s2;\n        uVar10 = unaff_retaddr;\n        goto LAB_0012b608;\n      }\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n      (*pcVar3)(uStack_58,5,iVar5,0xffffffff);\n    }\n    uStack_64 = 0;\n    pcStack_68 = (code *)0x0;\n    (*pcVar3)(uStack_58,6,puStackX_8,uStackX_c);\n    (**(code **)(puVar17 + 0x65404))(uStack_58);\n    pcVar3 = (code *)(**(code **)(puVar17 + 0x654d0))(uStack_58);\n    (**(code **)(puVar17 + 0x654fc))(uStack_58,6);\n    puStack_d0 = puStackX_8;\n    uVar10 = uStackX_c;\n  }" { (expression_statement "pcVar3 = *(code **)(puVar17 + 0x65504);" (assignment_expression "pcVar3 = *(code **)(puVar17 + 0x65504)" identifier = (pointer_expression "*(code **)(puVar17 + 0x65504)" * (cast_expression "(code **)(puVar17 + 0x65504)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x65504)" ( (binary_expression "puVar17 + 0x65504" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar3)(uStack_58,1,puVar8,pcVar9);" (call_expression "(*pcVar3)(uStack_58,1,puVar8,pcVar9)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(uStack_58,1,puVar8,pcVar9)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "(*pcVar3)(uStack_58,2,0,&_gp_1);" (call_expression "(*pcVar3)(uStack_58,2,0,&_gp_1)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(uStack_58,2,0,&_gp_1)" ( identifier , number_literal , number_literal , (pointer_expression "&_gp_1" & identifier) ))) ;) (expression_statement "(*pcVar3)(uStack_58,3,local_18,local_14);" (call_expression "(*pcVar3)(uStack_58,3,local_18,local_14)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(uStack_58,3,local_18,local_14)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "(*pcVar3)(uStack_58,4,unaff_s0,unaff_s1);" (call_expression "(*pcVar3)(uStack_58,4,unaff_s0,unaff_s1)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(uStack_58,4,unaff_s0,unaff_s1)" ( identifier , number_literal , identifier , identifier ))) ;) (if_statement "if (pcStackX_0 == (code *)0x0 && uStackX_4 == 0) {\n      (*pcVar3)(uStack_58,5,unaff_s2,unaff_retaddr);\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n    }\n    else {\n      pcStack_68 = pcStackX_0;\n      uStack_64 = uStackX_4;\n      iVar5 = (**(code **)(puVar17 + 0x653d8))(*(int *)(puVar17 + 0x653d0) + -0x748);\n      if (iVar5 == 0) {\n        pcVar3 = (code *)&DAT_00000007;\n        puStack_d0 = unaff_s2;\n        uVar10 = unaff_retaddr;\n        goto LAB_0012b608;\n      }\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n      (*pcVar3)(uStack_58,5,iVar5,0xffffffff);\n    }" if (parenthesized_expression "(pcStackX_0 == (code *)0x0 && uStackX_4 == 0)" ( (binary_expression "pcStackX_0 == (code *)0x0 && uStackX_4 == 0" (binary_expression "pcStackX_0 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "uStackX_4 == 0" identifier == number_literal)) )) (compound_statement "{\n      (*pcVar3)(uStack_58,5,unaff_s2,unaff_retaddr);\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n    }" { (expression_statement "(*pcVar3)(uStack_58,5,unaff_s2,unaff_retaddr);" (call_expression "(*pcVar3)(uStack_58,5,unaff_s2,unaff_retaddr)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(uStack_58,5,unaff_s2,unaff_retaddr)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);" (assignment_expression "pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c)" identifier = (cast_expression "(code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar17 + 0x65650) + 0x2f8c)" ( (binary_expression "*(int *)(puVar17 + 0x65650) + 0x2f8c" (pointer_expression "*(int *)(puVar17 + 0x65650)" * (cast_expression "(int *)(puVar17 + 0x65650)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x65650)" ( (binary_expression "puVar17 + 0x65650" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else {\n      pcStack_68 = pcStackX_0;\n      uStack_64 = uStackX_4;\n      iVar5 = (**(code **)(puVar17 + 0x653d8))(*(int *)(puVar17 + 0x653d0) + -0x748);\n      if (iVar5 == 0) {\n        pcVar3 = (code *)&DAT_00000007;\n        puStack_d0 = unaff_s2;\n        uVar10 = unaff_retaddr;\n        goto LAB_0012b608;\n      }\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n      (*pcVar3)(uStack_58,5,iVar5,0xffffffff);\n    }" else (compound_statement "{\n      pcStack_68 = pcStackX_0;\n      uStack_64 = uStackX_4;\n      iVar5 = (**(code **)(puVar17 + 0x653d8))(*(int *)(puVar17 + 0x653d0) + -0x748);\n      if (iVar5 == 0) {\n        pcVar3 = (code *)&DAT_00000007;\n        puStack_d0 = unaff_s2;\n        uVar10 = unaff_retaddr;\n        goto LAB_0012b608;\n      }\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n      (*pcVar3)(uStack_58,5,iVar5,0xffffffff);\n    }" { (expression_statement "pcStack_68 = pcStackX_0;" (assignment_expression "pcStack_68 = pcStackX_0" identifier = identifier) ;) (expression_statement "uStack_64 = uStackX_4;" (assignment_expression "uStack_64 = uStackX_4" identifier = identifier) ;) (expression_statement "iVar5 = (**(code **)(puVar17 + 0x653d8))(*(int *)(puVar17 + 0x653d0) + -0x748);" (assignment_expression "iVar5 = (**(code **)(puVar17 + 0x653d8))(*(int *)(puVar17 + 0x653d0) + -0x748)" identifier = (call_expression "(**(code **)(puVar17 + 0x653d8))(*(int *)(puVar17 + 0x653d0) + -0x748)" (parenthesized_expression "(**(code **)(puVar17 + 0x653d8))" ( (pointer_expression "**(code **)(puVar17 + 0x653d8)" * (pointer_expression "*(code **)(puVar17 + 0x653d8)" * (cast_expression "(code **)(puVar17 + 0x653d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x653d8)" ( (binary_expression "puVar17 + 0x653d8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar17 + 0x653d0) + -0x748)" ( (binary_expression "*(int *)(puVar17 + 0x653d0) + -0x748" (pointer_expression "*(int *)(puVar17 + 0x653d0)" * (cast_expression "(int *)(puVar17 + 0x653d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x653d0)" ( (binary_expression "puVar17 + 0x653d0" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar5 == 0) {\n        pcVar3 = (code *)&DAT_00000007;\n        puStack_d0 = unaff_s2;\n        uVar10 = unaff_retaddr;\n        goto LAB_0012b608;\n      }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar3 = (code *)&DAT_00000007;\n        puStack_d0 = unaff_s2;\n        uVar10 = unaff_retaddr;\n        goto LAB_0012b608;\n      }" { (expression_statement "pcVar3 = (code *)&DAT_00000007;" (assignment_expression "pcVar3 = (code *)&DAT_00000007" identifier = (cast_expression "(code *)&DAT_00000007" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (expression_statement "puStack_d0 = unaff_s2;" (assignment_expression "puStack_d0 = unaff_s2" identifier = identifier) ;) (expression_statement "uVar10 = unaff_retaddr;" (assignment_expression "uVar10 = unaff_retaddr" identifier = identifier) ;) (goto_statement "goto LAB_0012b608;" goto statement_identifier ;) })) (expression_statement "pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);" (assignment_expression "pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c)" identifier = (cast_expression "(code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar17 + 0x65650) + 0x2f8c)" ( (binary_expression "*(int *)(puVar17 + 0x65650) + 0x2f8c" (pointer_expression "*(int *)(puVar17 + 0x65650)" * (cast_expression "(int *)(puVar17 + 0x65650)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x65650)" ( (binary_expression "puVar17 + 0x65650" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar3)(uStack_58,5,iVar5,0xffffffff);" (call_expression "(*pcVar3)(uStack_58,5,iVar5,0xffffffff)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(uStack_58,5,iVar5,0xffffffff)" ( identifier , number_literal , identifier , number_literal ))) ;) }))) (expression_statement "uStack_64 = 0;" (assignment_expression "uStack_64 = 0" identifier = number_literal) ;) (expression_statement "pcStack_68 = (code *)0x0;" (assignment_expression "pcStack_68 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*pcVar3)(uStack_58,6,puStackX_8,uStackX_c);" (call_expression "(*pcVar3)(uStack_58,6,puStackX_8,uStackX_c)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(uStack_58,6,puStackX_8,uStackX_c)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "(**(code **)(puVar17 + 0x65404))(uStack_58);" (call_expression "(**(code **)(puVar17 + 0x65404))(uStack_58)" (parenthesized_expression "(**(code **)(puVar17 + 0x65404))" ( (pointer_expression "**(code **)(puVar17 + 0x65404)" * (pointer_expression "*(code **)(puVar17 + 0x65404)" * (cast_expression "(code **)(puVar17 + 0x65404)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x65404)" ( (binary_expression "puVar17 + 0x65404" identifier + number_literal) ))))) )) (argument_list "(uStack_58)" ( identifier ))) ;) (expression_statement "pcVar3 = (code *)(**(code **)(puVar17 + 0x654d0))(uStack_58);" (assignment_expression "pcVar3 = (code *)(**(code **)(puVar17 + 0x654d0))(uStack_58)" identifier = (cast_expression "(code *)(**(code **)(puVar17 + 0x654d0))(uStack_58)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar17 + 0x654d0))(uStack_58)" (parenthesized_expression "(**(code **)(puVar17 + 0x654d0))" ( (pointer_expression "**(code **)(puVar17 + 0x654d0)" * (pointer_expression "*(code **)(puVar17 + 0x654d0)" * (cast_expression "(code **)(puVar17 + 0x654d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x654d0)" ( (binary_expression "puVar17 + 0x654d0" identifier + number_literal) ))))) )) (argument_list "(uStack_58)" ( identifier ))))) ;) (expression_statement "(**(code **)(puVar17 + 0x654fc))(uStack_58,6);" (call_expression "(**(code **)(puVar17 + 0x654fc))(uStack_58,6)" (parenthesized_expression "(**(code **)(puVar17 + 0x654fc))" ( (pointer_expression "**(code **)(puVar17 + 0x654fc)" * (pointer_expression "*(code **)(puVar17 + 0x654fc)" * (cast_expression "(code **)(puVar17 + 0x654fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x654fc)" ( (binary_expression "puVar17 + 0x654fc" identifier + number_literal) ))))) )) (argument_list "(uStack_58,6)" ( identifier , number_literal ))) ;) (expression_statement "puStack_d0 = puStackX_8;" (assignment_expression "puStack_d0 = puStackX_8" identifier = identifier) ;) (expression_statement "uVar10 = uStackX_c;" (assignment_expression "uVar10 = uStackX_c" identifier = identifier) ;) })) (labeled_statement "LAB_0012b608:\n  if (uStack_54 == *puVar14) {\n    return pcVar3;\n  }" statement_identifier : (if_statement "if (uStack_54 == *puVar14) {\n    return pcVar3;\n  }" if (parenthesized_expression "(uStack_54 == *puVar14)" ( (binary_expression "uStack_54 == *puVar14" identifier == (pointer_expression "*puVar14" * identifier)) )) (compound_statement "{\n    return pcVar3;\n  }" { (return_statement "return pcVar3;" return identifier ;) }))) (expression_statement "pcVar18 = *(code **)(puVar17 + 0x6586c);" (assignment_expression "pcVar18 = *(code **)(puVar17 + 0x6586c)" identifier = (pointer_expression "*(code **)(puVar17 + 0x6586c)" * (cast_expression "(code **)(puVar17 + 0x6586c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x6586c)" ( (binary_expression "puVar17 + 0x6586c" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = uStack_54;" (assignment_expression "uVar4 = uStack_54" identifier = identifier) ;) (expression_statement "(*pcVar18)();" (call_expression "(*pcVar18)()" (parenthesized_expression "(*pcVar18)" ( (pointer_expression "*pcVar18" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_e0 = pcVar18 + 0x6d180;" (assignment_expression "pcStack_e0 = pcVar18 + 0x6d180" identifier = (binary_expression "pcVar18 + 0x6d180" identifier + number_literal)) ;) (expression_statement "puVar7 = (undefined4 *)&DAT_00000025;" (assignment_expression "puVar7 = (undefined4 *)&DAT_00000025" identifier = (cast_expression "(undefined4 *)&DAT_00000025" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000025" & identifier))) ;) (expression_statement "pcStack_cc = (code *)(*(int *)(pcVar18 + 0x654c4) + 0x10f8);" (assignment_expression "pcStack_cc = (code *)(*(int *)(pcVar18 + 0x654c4) + 0x10f8)" identifier = (cast_expression "(code *)(*(int *)(pcVar18 + 0x654c4) + 0x10f8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar18 + 0x654c4) + 0x10f8)" ( (binary_expression "*(int *)(pcVar18 + 0x654c4) + 0x10f8" (pointer_expression "*(int *)(pcVar18 + 0x654c4)" * (cast_expression "(int *)(pcVar18 + 0x654c4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar18 + 0x654c4)" ( (binary_expression "pcVar18 + 0x654c4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar16 = *(int **)(pcVar18 + 0x65684);" (assignment_expression "piVar16 = *(int **)(pcVar18 + 0x65684)" identifier = (pointer_expression "*(int **)(pcVar18 + 0x65684)" * (cast_expression "(int **)(pcVar18 + 0x65684)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x65684)" ( (binary_expression "pcVar18 + 0x65684" identifier + number_literal) ))))) ;) (expression_statement "iStack_a4 = *piVar16;" (assignment_expression "iStack_a4 = *piVar16" identifier = (pointer_expression "*piVar16" * identifier)) ;) (expression_statement "uStack_c8 = uVar4;" (assignment_expression "uStack_c8 = uVar4" identifier = identifier) ;) (expression_statement "pcStack_a0 = pcVar3;" (assignment_expression "pcStack_a0 = pcVar3" identifier = identifier) ;) (expression_statement "puStack_9c = puVar14;" (assignment_expression "puStack_9c = puVar14" identifier = identifier) ;) (expression_statement "puStack_98 = puVar8;" (assignment_expression "puStack_98 = puVar8" identifier = identifier) ;) (expression_statement "pcStack_94 = pcVar9;" (assignment_expression "pcStack_94 = pcVar9" identifier = identifier) ;) (expression_statement "pcStack_fc = (code *)FUN_001210f8();" (assignment_expression "pcStack_fc = (code *)FUN_001210f8()" identifier = (cast_expression "(code *)FUN_001210f8()" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001210f8()" identifier (argument_list "()" ( ))))) ;) (expression_statement "puVar8 = puStack_d0;" (assignment_expression "puVar8 = puStack_d0" identifier = identifier) ;) (if_statement "if (pcStack_fc == (code *)0x0) {\n    pcStack_d4 = *(code **)(pcStack_e0 + -0x7e90);\n    pcVar3 = pcStack_68 +\n             (uint)(uStack_64 * 3 < uStack_64 * 2) + (uStack_64 >> 0x1f | (int)pcStack_68 << 1);\n    uVar4 = -((int)pcVar3 >> 0x1f) + uStack_64 * 3;\n    uStack_64 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) >> 1;\n    uStack_c4 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) * -0x80000000 | uVar4 >> 1;\n    (*pcStack_d4)(uStack_bc,1,(uint)(uVar10 + 1 < uVar10) + (int)puStack_d0);\n    uVar4 = uVar10;\n    if ((int)puVar8 < 0) {\n      uVar4 = uVar10 + 0x3ff;\n      puVar8 = (undefined4 *)((uint)(uVar4 < uVar10) + (int)puVar8);\n    }\n    pcStack_68 = *(code **)(pcStack_e0 + -0x7f90);\n    uVar4 = (int)puVar8 << 0x16 | uVar4 >> 10;\n    uVar11 = uVar4 + 1;\n    puVar7 = (undefined4 *)0x2;\n    (*pcStack_d4)(uStack_bc,2,\n                  (uint)(uVar11 * 0x400 - 1 < uVar11 * 0x400) +\n                  ((uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400) - 1));\n    iVar6 = *(int *)(pcStack_e0 + -0x7d60);\n    iVar5 = (*pcStack_68)(uStack_bc);\n    pcVar9 = (code *)(iVar6 + 0x7794);\n    bVar1 = false;\n    while (iVar5 == 100) {\n      puVar7 = (undefined4 *)0x2;\n      uStack_b8 = 0;\n      uStack_b4 = 0;\n      (*pcVar9)(uStack_bc,2,auStack_b0,&uStack_b8);\n      if ((int)uStack_b8 < 1) {\n        pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        if (uStack_b8 == 0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        }\nLAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n        goto LAB_0012b828;\n      }\nLAB_0012b99c:\n      pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n      if (((int)uStack_64 < (int)uStack_b8) ||\n         ((uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))) goto LAB_0012ba04;\n      bVar1 = true;\n      iVar5 = (*pcStack_68)(uStack_bc);\n    }\n    pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n    pcStack_fc = (code *)(*pcVar3)();\n    uVar4 = uStack_c8;\n    if (bVar1) {\n      uStack_b8 = 0;\n      auStack_b0[0] = 0;\n      if (pcStack_fc == (code *)0x0) {\n        puVar7 = (undefined4 *)0x26;\n        pcStack_fc = (code *)(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0);\n        uStack_64 = uVar4;\n        if (pcStack_fc == (code *)0x0) {\n          puVar7 = (undefined4 *)0x27;\n          pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }\n      }\n    }\n  }" if (parenthesized_expression "(pcStack_fc == (code *)0x0)" ( (binary_expression "pcStack_fc == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcStack_d4 = *(code **)(pcStack_e0 + -0x7e90);\n    pcVar3 = pcStack_68 +\n             (uint)(uStack_64 * 3 < uStack_64 * 2) + (uStack_64 >> 0x1f | (int)pcStack_68 << 1);\n    uVar4 = -((int)pcVar3 >> 0x1f) + uStack_64 * 3;\n    uStack_64 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) >> 1;\n    uStack_c4 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) * -0x80000000 | uVar4 >> 1;\n    (*pcStack_d4)(uStack_bc,1,(uint)(uVar10 + 1 < uVar10) + (int)puStack_d0);\n    uVar4 = uVar10;\n    if ((int)puVar8 < 0) {\n      uVar4 = uVar10 + 0x3ff;\n      puVar8 = (undefined4 *)((uint)(uVar4 < uVar10) + (int)puVar8);\n    }\n    pcStack_68 = *(code **)(pcStack_e0 + -0x7f90);\n    uVar4 = (int)puVar8 << 0x16 | uVar4 >> 10;\n    uVar11 = uVar4 + 1;\n    puVar7 = (undefined4 *)0x2;\n    (*pcStack_d4)(uStack_bc,2,\n                  (uint)(uVar11 * 0x400 - 1 < uVar11 * 0x400) +\n                  ((uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400) - 1));\n    iVar6 = *(int *)(pcStack_e0 + -0x7d60);\n    iVar5 = (*pcStack_68)(uStack_bc);\n    pcVar9 = (code *)(iVar6 + 0x7794);\n    bVar1 = false;\n    while (iVar5 == 100) {\n      puVar7 = (undefined4 *)0x2;\n      uStack_b8 = 0;\n      uStack_b4 = 0;\n      (*pcVar9)(uStack_bc,2,auStack_b0,&uStack_b8);\n      if ((int)uStack_b8 < 1) {\n        pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        if (uStack_b8 == 0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        }\nLAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n        goto LAB_0012b828;\n      }\nLAB_0012b99c:\n      pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n      if (((int)uStack_64 < (int)uStack_b8) ||\n         ((uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))) goto LAB_0012ba04;\n      bVar1 = true;\n      iVar5 = (*pcStack_68)(uStack_bc);\n    }\n    pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n    pcStack_fc = (code *)(*pcVar3)();\n    uVar4 = uStack_c8;\n    if (bVar1) {\n      uStack_b8 = 0;\n      auStack_b0[0] = 0;\n      if (pcStack_fc == (code *)0x0) {\n        puVar7 = (undefined4 *)0x26;\n        pcStack_fc = (code *)(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0);\n        uStack_64 = uVar4;\n        if (pcStack_fc == (code *)0x0) {\n          puVar7 = (undefined4 *)0x27;\n          pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }\n      }\n    }\n  }" { (expression_statement "pcStack_d4 = *(code **)(pcStack_e0 + -0x7e90);" (assignment_expression "pcStack_d4 = *(code **)(pcStack_e0 + -0x7e90)" identifier = (pointer_expression "*(code **)(pcStack_e0 + -0x7e90)" * (cast_expression "(code **)(pcStack_e0 + -0x7e90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e0 + -0x7e90)" ( (binary_expression "pcStack_e0 + -0x7e90" identifier + number_literal) ))))) ;) (expression_statement "pcVar3 = pcStack_68 +\n             (uint)(uStack_64 * 3 < uStack_64 * 2) + (uStack_64 >> 0x1f | (int)pcStack_68 << 1);" (assignment_expression "pcVar3 = pcStack_68 +\n             (uint)(uStack_64 * 3 < uStack_64 * 2) + (uStack_64 >> 0x1f | (int)pcStack_68 << 1)" identifier = (binary_expression "pcStack_68 +\n             (uint)(uStack_64 * 3 < uStack_64 * 2) + (uStack_64 >> 0x1f | (int)pcStack_68 << 1)" (binary_expression "pcStack_68 +\n             (uint)(uStack_64 * 3 < uStack_64 * 2)" identifier + (call_expression "(uint)(uStack_64 * 3 < uStack_64 * 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uStack_64 * 3 < uStack_64 * 2)" ( (binary_expression "uStack_64 * 3 < uStack_64 * 2" (binary_expression "uStack_64 * 3" identifier * number_literal) < (binary_expression "uStack_64 * 2" identifier * number_literal)) )))) + (parenthesized_expression "(uStack_64 >> 0x1f | (int)pcStack_68 << 1)" ( (binary_expression "uStack_64 >> 0x1f | (int)pcStack_68 << 1" (binary_expression "uStack_64 >> 0x1f" identifier >> number_literal) | (binary_expression "(int)pcStack_68 << 1" (cast_expression "(int)pcStack_68" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) )))) ;) (expression_statement "uVar4 = -((int)pcVar3 >> 0x1f) + uStack_64 * 3;" (assignment_expression "uVar4 = -((int)pcVar3 >> 0x1f) + uStack_64 * 3" identifier = (binary_expression "-((int)pcVar3 >> 0x1f) + uStack_64 * 3" (unary_expression "-((int)pcVar3 >> 0x1f)" - (parenthesized_expression "((int)pcVar3 >> 0x1f)" ( (binary_expression "(int)pcVar3 >> 0x1f" (cast_expression "(int)pcVar3" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) + (binary_expression "uStack_64 * 3" identifier * number_literal))) ;) (expression_statement "uStack_64 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) >> 1;" (assignment_expression "uStack_64 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) >> 1" identifier = (binary_expression "(int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) >> 1" (cast_expression "(int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f)))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f)))" ( (binary_expression "pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))" identifier + (parenthesized_expression "(uVar4 < (uint)-((int)pcVar3 >> 0x1f))" ( (binary_expression "uVar4 < (uint)-((int)pcVar3 >> 0x1f)" identifier < (binary_expression "(uint)-((int)pcVar3 >> 0x1f)" (parenthesized_expression "(uint)" ( identifier )) - (parenthesized_expression "((int)pcVar3 >> 0x1f)" ( (binary_expression "(int)pcVar3 >> 0x1f" (cast_expression "(int)pcVar3" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ))) ))) >> number_literal)) ;) (expression_statement "uStack_c4 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) * -0x80000000 | uVar4 >> 1;" (assignment_expression "uStack_c4 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) * -0x80000000 | uVar4 >> 1" identifier = (binary_expression "(int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) * -0x80000000 | uVar4 >> 1" (binary_expression "(int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) * -0x80000000" (cast_expression "(int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f)))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f)))" ( (binary_expression "pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))" identifier + (parenthesized_expression "(uVar4 < (uint)-((int)pcVar3 >> 0x1f))" ( (binary_expression "uVar4 < (uint)-((int)pcVar3 >> 0x1f)" identifier < (binary_expression "(uint)-((int)pcVar3 >> 0x1f)" (parenthesized_expression "(uint)" ( identifier )) - (parenthesized_expression "((int)pcVar3 >> 0x1f)" ( (binary_expression "(int)pcVar3 >> 0x1f" (cast_expression "(int)pcVar3" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ))) ))) * number_literal) | (binary_expression "uVar4 >> 1" identifier >> number_literal))) ;) (expression_statement "(*pcStack_d4)(uStack_bc,1,(uint)(uVar10 + 1 < uVar10) + (int)puStack_d0);" (call_expression "(*pcStack_d4)(uStack_bc,1,(uint)(uVar10 + 1 < uVar10) + (int)puStack_d0)" (parenthesized_expression "(*pcStack_d4)" ( (pointer_expression "*pcStack_d4" * identifier) )) (argument_list "(uStack_bc,1,(uint)(uVar10 + 1 < uVar10) + (int)puStack_d0)" ( identifier , number_literal , (binary_expression "(uint)(uVar10 + 1 < uVar10) + (int)puStack_d0" (call_expression "(uint)(uVar10 + 1 < uVar10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar10 + 1 < uVar10)" ( (binary_expression "uVar10 + 1 < uVar10" (binary_expression "uVar10 + 1" identifier + number_literal) < identifier) ))) + (cast_expression "(int)puStack_d0" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) (expression_statement "uVar4 = uVar10;" (assignment_expression "uVar4 = uVar10" identifier = identifier) ;) (if_statement "if ((int)puVar8 < 0) {\n      uVar4 = uVar10 + 0x3ff;\n      puVar8 = (undefined4 *)((uint)(uVar4 < uVar10) + (int)puVar8);\n    }" if (parenthesized_expression "((int)puVar8 < 0)" ( (binary_expression "(int)puVar8 < 0" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      uVar4 = uVar10 + 0x3ff;\n      puVar8 = (undefined4 *)((uint)(uVar4 < uVar10) + (int)puVar8);\n    }" { (expression_statement "uVar4 = uVar10 + 0x3ff;" (assignment_expression "uVar4 = uVar10 + 0x3ff" identifier = (binary_expression "uVar10 + 0x3ff" identifier + number_literal)) ;) (expression_statement "puVar8 = (undefined4 *)((uint)(uVar4 < uVar10) + (int)puVar8);" (assignment_expression "puVar8 = (undefined4 *)((uint)(uVar4 < uVar10) + (int)puVar8)" identifier = (cast_expression "(undefined4 *)((uint)(uVar4 < uVar10) + (int)puVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(uVar4 < uVar10) + (int)puVar8)" ( (binary_expression "(uint)(uVar4 < uVar10) + (int)puVar8" (call_expression "(uint)(uVar4 < uVar10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar4 < uVar10)" ( (binary_expression "uVar4 < uVar10" identifier < identifier) ))) + (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (expression_statement "pcStack_68 = *(code **)(pcStack_e0 + -0x7f90);" (assignment_expression "pcStack_68 = *(code **)(pcStack_e0 + -0x7f90)" identifier = (pointer_expression "*(code **)(pcStack_e0 + -0x7f90)" * (cast_expression "(code **)(pcStack_e0 + -0x7f90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e0 + -0x7f90)" ( (binary_expression "pcStack_e0 + -0x7f90" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = (int)puVar8 << 0x16 | uVar4 >> 10;" (assignment_expression "uVar4 = (int)puVar8 << 0x16 | uVar4 >> 10" identifier = (binary_expression "(int)puVar8 << 0x16 | uVar4 >> 10" (binary_expression "(int)puVar8 << 0x16" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) | (binary_expression "uVar4 >> 10" identifier >> number_literal))) ;) (expression_statement "uVar11 = uVar4 + 1;" (assignment_expression "uVar11 = uVar4 + 1" identifier = (binary_expression "uVar4 + 1" identifier + number_literal)) ;) (expression_statement "puVar7 = (undefined4 *)0x2;" (assignment_expression "puVar7 = (undefined4 *)0x2" identifier = (cast_expression "(undefined4 *)0x2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*pcStack_d4)(uStack_bc,2,\n                  (uint)(uVar11 * 0x400 - 1 < uVar11 * 0x400) +\n                  ((uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400) - 1));" (call_expression "(*pcStack_d4)(uStack_bc,2,\n                  (uint)(uVar11 * 0x400 - 1 < uVar11 * 0x400) +\n                  ((uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400) - 1))" (parenthesized_expression "(*pcStack_d4)" ( (pointer_expression "*pcStack_d4" * identifier) )) (argument_list "(uStack_bc,2,\n                  (uint)(uVar11 * 0x400 - 1 < uVar11 * 0x400) +\n                  ((uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400) - 1))" ( identifier , number_literal , (binary_expression "(uint)(uVar11 * 0x400 - 1 < uVar11 * 0x400) +\n                  ((uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400) - 1)" (call_expression "(uint)(uVar11 * 0x400 - 1 < uVar11 * 0x400)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar11 * 0x400 - 1 < uVar11 * 0x400)" ( (binary_expression "uVar11 * 0x400 - 1 < uVar11 * 0x400" (binary_expression "uVar11 * 0x400 - 1" (binary_expression "uVar11 * 0x400" identifier * number_literal) - number_literal) < (binary_expression "uVar11 * 0x400" identifier * number_literal)) ))) + (parenthesized_expression "((uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400) - 1)" ( (binary_expression "(uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400) - 1" (parenthesized_expression "(uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400)" ( (binary_expression "uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400" (binary_expression "uVar11 >> 0x16" identifier >> number_literal) | (binary_expression "((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400" (parenthesized_expression "((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10))" ( (binary_expression "(uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)" (call_expression "(uint)(uVar11 < uVar4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar11 < uVar4)" ( (binary_expression "uVar11 < uVar4" identifier < identifier) ))) + (parenthesized_expression "((int)puVar8 >> 10)" ( (binary_expression "(int)puVar8 >> 10" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )) * number_literal)) )) - number_literal) ))) ))) ;) (expression_statement "iVar6 = *(int *)(pcStack_e0 + -0x7d60);" (assignment_expression "iVar6 = *(int *)(pcStack_e0 + -0x7d60)" identifier = (pointer_expression "*(int *)(pcStack_e0 + -0x7d60)" * (cast_expression "(int *)(pcStack_e0 + -0x7d60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_e0 + -0x7d60)" ( (binary_expression "pcStack_e0 + -0x7d60" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = (*pcStack_68)(uStack_bc);" (assignment_expression "iVar5 = (*pcStack_68)(uStack_bc)" identifier = (call_expression "(*pcStack_68)(uStack_bc)" (parenthesized_expression "(*pcStack_68)" ( (pointer_expression "*pcStack_68" * identifier) )) (argument_list "(uStack_bc)" ( identifier )))) ;) (expression_statement "pcVar9 = (code *)(iVar6 + 0x7794);" (assignment_expression "pcVar9 = (code *)(iVar6 + 0x7794)" identifier = (cast_expression "(code *)(iVar6 + 0x7794)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x7794)" ( (binary_expression "iVar6 + 0x7794" identifier + number_literal) )))) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (while_statement "while (iVar5 == 100) {\n      puVar7 = (undefined4 *)0x2;\n      uStack_b8 = 0;\n      uStack_b4 = 0;\n      (*pcVar9)(uStack_bc,2,auStack_b0,&uStack_b8);\n      if ((int)uStack_b8 < 1) {\n        pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        if (uStack_b8 == 0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        }\nLAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n        goto LAB_0012b828;\n      }\nLAB_0012b99c:\n      pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n      if (((int)uStack_64 < (int)uStack_b8) ||\n         ((uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))) goto LAB_0012ba04;\n      bVar1 = true;\n      iVar5 = (*pcStack_68)(uStack_bc);\n    }" while (parenthesized_expression "(iVar5 == 100)" ( (binary_expression "iVar5 == 100" identifier == number_literal) )) (compound_statement "{\n      puVar7 = (undefined4 *)0x2;\n      uStack_b8 = 0;\n      uStack_b4 = 0;\n      (*pcVar9)(uStack_bc,2,auStack_b0,&uStack_b8);\n      if ((int)uStack_b8 < 1) {\n        pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        if (uStack_b8 == 0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        }\nLAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n        goto LAB_0012b828;\n      }\nLAB_0012b99c:\n      pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n      if (((int)uStack_64 < (int)uStack_b8) ||\n         ((uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))) goto LAB_0012ba04;\n      bVar1 = true;\n      iVar5 = (*pcStack_68)(uStack_bc);\n    }" { (expression_statement "puVar7 = (undefined4 *)0x2;" (assignment_expression "puVar7 = (undefined4 *)0x2" identifier = (cast_expression "(undefined4 *)0x2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uStack_b8 = 0;" (assignment_expression "uStack_b8 = 0" identifier = number_literal) ;) (expression_statement "uStack_b4 = 0;" (assignment_expression "uStack_b4 = 0" identifier = number_literal) ;) (expression_statement "(*pcVar9)(uStack_bc,2,auStack_b0,&uStack_b8);" (call_expression "(*pcVar9)(uStack_bc,2,auStack_b0,&uStack_b8)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(uStack_bc,2,auStack_b0,&uStack_b8)" ( identifier , number_literal , identifier , (pointer_expression "&uStack_b8" & identifier) ))) ;) (if_statement "if ((int)uStack_b8 < 1) {\n        pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        if (uStack_b8 == 0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        }\nLAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n        goto LAB_0012b828;\n      }" if (parenthesized_expression "((int)uStack_b8 < 1)" ( (binary_expression "(int)uStack_b8 < 1" (cast_expression "(int)uStack_b8" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        if (uStack_b8 == 0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        }\nLAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n        goto LAB_0012b828;\n      }" { (expression_statement "pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);" (assignment_expression "pcVar3 = *(code **)(pcStack_e0 + -0x7ec4)" identifier = (pointer_expression "*(code **)(pcStack_e0 + -0x7ec4)" * (cast_expression "(code **)(pcStack_e0 + -0x7ec4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e0 + -0x7ec4)" ( (binary_expression "pcStack_e0 + -0x7ec4" identifier + number_literal) ))))) ;) (if_statement "if (uStack_b8 == 0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        }" if (parenthesized_expression "(uStack_b8 == 0)" ( (binary_expression "uStack_b8 == 0" identifier == number_literal) )) (compound_statement "{\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        }" { (if_statement "if (uStack_b4 != 0) goto LAB_0012b99c;" if (parenthesized_expression "(uStack_b4 != 0)" ( (binary_expression "uStack_b4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0012b99c;" goto statement_identifier ;)) (expression_statement "pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);" (assignment_expression "pcVar3 = *(code **)(pcStack_e0 + -0x7ec4)" identifier = (pointer_expression "*(code **)(pcStack_e0 + -0x7ec4)" * (cast_expression "(code **)(pcStack_e0 + -0x7ec4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e0 + -0x7ec4)" ( (binary_expression "pcStack_e0 + -0x7ec4" identifier + number_literal) ))))) ;) })) (labeled_statement "LAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar3)(uStack_bc);" statement_identifier : (expression_statement "pcStack_fc = (code *)(*pcVar3)(uStack_bc);" (assignment_expression "pcStack_fc = (code *)(*pcVar3)(uStack_bc)" identifier = (cast_expression "(code *)(*pcVar3)(uStack_bc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar3)(uStack_bc)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(uStack_bc)" ( identifier ))))) ;)) (goto_statement "goto LAB_0012b828;" goto statement_identifier ;) })) (labeled_statement "LAB_0012b99c:\n      pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);" statement_identifier : (expression_statement "pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);" (assignment_expression "pcVar3 = *(code **)(pcStack_e0 + -0x7ec4)" identifier = (pointer_expression "*(code **)(pcStack_e0 + -0x7ec4)" * (cast_expression "(code **)(pcStack_e0 + -0x7ec4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e0 + -0x7ec4)" ( (binary_expression "pcStack_e0 + -0x7ec4" identifier + number_literal) ))))) ;)) (if_statement "if (((int)uStack_64 < (int)uStack_b8) ||\n         ((uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))) goto LAB_0012ba04;" if (parenthesized_expression "(((int)uStack_64 < (int)uStack_b8) ||\n         ((uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4))))" ( (binary_expression "((int)uStack_64 < (int)uStack_b8) ||\n         ((uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))" (parenthesized_expression "((int)uStack_64 < (int)uStack_b8)" ( (binary_expression "(int)uStack_64 < (int)uStack_b8" (cast_expression "(int)uStack_64" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uStack_b8" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "((uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))" ( (parenthesized_expression "(uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4))" ( (binary_expression "uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)" (binary_expression "uStack_b8 == uStack_64" identifier == identifier) && (parenthesized_expression "(pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)" ( (comma_expression "pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4" (assignment_expression "pcVar3 = *(code **)(pcStack_e0 + -0x7ec4)" identifier = (pointer_expression "*(code **)(pcStack_e0 + -0x7ec4)" * (cast_expression "(code **)(pcStack_e0 + -0x7ec4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e0 + -0x7ec4)" ( (binary_expression "pcStack_e0 + -0x7ec4" identifier + number_literal) ))))) , (binary_expression "uStack_c4 < uStack_b4" identifier < identifier)) ))) )) ))) )) (goto_statement "goto LAB_0012ba04;" goto statement_identifier ;)) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (expression_statement "iVar5 = (*pcStack_68)(uStack_bc);" (assignment_expression "iVar5 = (*pcStack_68)(uStack_bc)" identifier = (call_expression "(*pcStack_68)(uStack_bc)" (parenthesized_expression "(*pcStack_68)" ( (pointer_expression "*pcStack_68" * identifier) )) (argument_list "(uStack_bc)" ( identifier )))) ;) })) (expression_statement "pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);" (assignment_expression "pcVar3 = *(code **)(pcStack_e0 + -0x7ec4)" identifier = (pointer_expression "*(code **)(pcStack_e0 + -0x7ec4)" * (cast_expression "(code **)(pcStack_e0 + -0x7ec4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e0 + -0x7ec4)" ( (binary_expression "pcStack_e0 + -0x7ec4" identifier + number_literal) ))))) ;) (expression_statement "pcStack_fc = (code *)(*pcVar3)();" (assignment_expression "pcStack_fc = (code *)(*pcVar3)()" identifier = (cast_expression "(code *)(*pcVar3)()" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar4 = uStack_c8;" (assignment_expression "uVar4 = uStack_c8" identifier = identifier) ;) (if_statement "if (bVar1) {\n      uStack_b8 = 0;\n      auStack_b0[0] = 0;\n      if (pcStack_fc == (code *)0x0) {\n        puVar7 = (undefined4 *)0x26;\n        pcStack_fc = (code *)(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0);\n        uStack_64 = uVar4;\n        if (pcStack_fc == (code *)0x0) {\n          puVar7 = (undefined4 *)0x27;\n          pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }\n      }\n    }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n      uStack_b8 = 0;\n      auStack_b0[0] = 0;\n      if (pcStack_fc == (code *)0x0) {\n        puVar7 = (undefined4 *)0x26;\n        pcStack_fc = (code *)(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0);\n        uStack_64 = uVar4;\n        if (pcStack_fc == (code *)0x0) {\n          puVar7 = (undefined4 *)0x27;\n          pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }\n      }\n    }" { (expression_statement "uStack_b8 = 0;" (assignment_expression "uStack_b8 = 0" identifier = number_literal) ;) (expression_statement "auStack_b0[0] = 0;" (assignment_expression "auStack_b0[0] = 0" (subscript_expression "auStack_b0[0]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (pcStack_fc == (code *)0x0) {\n        puVar7 = (undefined4 *)0x26;\n        pcStack_fc = (code *)(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0);\n        uStack_64 = uVar4;\n        if (pcStack_fc == (code *)0x0) {\n          puVar7 = (undefined4 *)0x27;\n          pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }\n      }" if (parenthesized_expression "(pcStack_fc == (code *)0x0)" ( (binary_expression "pcStack_fc == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        puVar7 = (undefined4 *)0x26;\n        pcStack_fc = (code *)(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0);\n        uStack_64 = uVar4;\n        if (pcStack_fc == (code *)0x0) {\n          puVar7 = (undefined4 *)0x27;\n          pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }\n      }" { (expression_statement "puVar7 = (undefined4 *)0x26;" (assignment_expression "puVar7 = (undefined4 *)0x26" identifier = (cast_expression "(undefined4 *)0x26" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcStack_fc = (code *)(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0);" (assignment_expression "pcStack_fc = (code *)(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0)" identifier = (cast_expression "(code *)(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0)" (parenthesized_expression "(*pcStack_cc)" ( (pointer_expression "*pcStack_cc" * identifier) )) (argument_list "(uStack_c8,0x26,&uStack_b8,0)" ( identifier , number_literal , (pointer_expression "&uStack_b8" & identifier) , number_literal ))))) ;) (expression_statement "uStack_64 = uVar4;" (assignment_expression "uStack_64 = uVar4" identifier = identifier) ;) (if_statement "if (pcStack_fc == (code *)0x0) {\n          puVar7 = (undefined4 *)0x27;\n          pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }" if (parenthesized_expression "(pcStack_fc == (code *)0x0)" ( (binary_expression "pcStack_fc == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          puVar7 = (undefined4 *)0x27;\n          pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }" { (expression_statement "puVar7 = (undefined4 *)0x27;" (assignment_expression "puVar7 = (undefined4 *)0x27" identifier = (cast_expression "(undefined4 *)0x27" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0);" (assignment_expression "pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0)" identifier = (cast_expression "(code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcStack_cc)(uVar4,0x27,auStack_b0,0)" (parenthesized_expression "(*pcStack_cc)" ( (pointer_expression "*pcStack_cc" * identifier) )) (argument_list "(uVar4,0x27,auStack_b0,0)" ( identifier , number_literal , identifier , number_literal ))))) ;) (if_statement "if (pcStack_fc == (code *)0x0) {\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }" if (parenthesized_expression "(pcStack_fc == (code *)0x0)" ( (binary_expression "pcStack_fc == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }" { (expression_statement "puVar7 = (undefined4 *)0x1;" (assignment_expression "puVar7 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (expression_statement "pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);" (assignment_expression "pcVar9 = *(code **)(pcStack_e0 + -0x7ed4)" identifier = (pointer_expression "*(code **)(pcStack_e0 + -0x7ed4)" * (cast_expression "(code **)(pcStack_e0 + -0x7ed4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e0 + -0x7ed4)" ( (binary_expression "pcStack_e0 + -0x7ed4" identifier + number_literal) ))))) ;) (expression_statement "(*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);" (call_expression "(*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10)" (parenthesized_expression "(*pcStack_d4)" ( (pointer_expression "*pcStack_d4" * identifier) )) (argument_list "(uStack_bc,1,puStack_d0,uVar10)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "uStack_64 = 0;" (assignment_expression "uStack_64 = 0" identifier = number_literal) ;) (do_statement "do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);" do (compound_statement "{\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            }" { (expression_statement "iVar6 = (*pcStack_68)(uStack_bc);" (assignment_expression "iVar6 = (*pcStack_68)(uStack_bc)" identifier = (call_expression "(*pcStack_68)(uStack_bc)" (parenthesized_expression "(*pcStack_68)" ( (pointer_expression "*pcStack_68" * identifier) )) (argument_list "(uStack_bc)" ( identifier )))) ;) (if_statement "if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }" if (parenthesized_expression "(iVar6 != 100)" ( (binary_expression "iVar6 != 100" identifier != number_literal) )) (compound_statement "{\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }" { (expression_statement "pcStack_fc = (code *)(*pcVar3)(uStack_bc);" (assignment_expression "pcStack_fc = (code *)(*pcVar3)(uStack_bc)" identifier = (cast_expression "(code *)(*pcVar3)(uStack_bc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar3)(uStack_bc)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(uStack_bc)" ( identifier ))))) ;) (if_statement "if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }" if (parenthesized_expression "(pcStack_fc == (code *)0x0)" ( (binary_expression "pcStack_fc == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }" { (expression_statement "puVar7 = (undefined4 *)0x1;" (assignment_expression "puVar7 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);" (call_expression "(*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10)" (parenthesized_expression "(*pcStack_d4)" ( (pointer_expression "*pcStack_d4" * identifier) )) (argument_list "(auStack_b0[0],1,puStack_d0,uVar10)" ( (subscript_expression "auStack_b0[0]" identifier [ number_literal ]) , number_literal , identifier , identifier ))) ;) (expression_statement "(*pcStack_68)(auStack_b0[0]);" (call_expression "(*pcStack_68)(auStack_b0[0])" (parenthesized_expression "(*pcStack_68)" ( (pointer_expression "*pcStack_68" * identifier) )) (argument_list "(auStack_b0[0])" ( (subscript_expression "auStack_b0[0]" identifier [ number_literal ]) ))) ;) (expression_statement "pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);" (assignment_expression "pcStack_fc = (code *)(*pcVar3)(auStack_b0[0])" identifier = (cast_expression "(code *)(*pcVar3)(auStack_b0[0])" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar3)(auStack_b0[0])" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(auStack_b0[0])" ( (subscript_expression "auStack_b0[0]" identifier [ number_literal ]) ))))) ;) })) (goto_statement "goto LAB_0012b828;" goto statement_identifier ;) })) (expression_statement "(*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);" (call_expression "(*pcStack_d4)(uStack_b8,1,iVar5,uStack_64)" (parenthesized_expression "(*pcStack_d4)" ( (pointer_expression "*pcStack_d4" * identifier) )) (argument_list "(uStack_b8,1,iVar5,uStack_64)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "uVar4 = uStack_b8;" (assignment_expression "uVar4 = uStack_b8" identifier = identifier) ;) (expression_statement "iVar6 = (*pcVar9)(uStack_bc,0);" (assignment_expression "iVar6 = (*pcVar9)(uStack_bc,0)" identifier = (call_expression "(*pcVar9)(uStack_bc,0)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(uStack_bc,0)" ( identifier , number_literal )))) ;) (expression_statement "(*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);" (call_expression "(*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6)" (parenthesized_expression "(*pcStack_d4)" ( (pointer_expression "*pcStack_d4" * identifier) )) (argument_list "(uVar4,2,iVar6 >> 0x1f,iVar6)" ( identifier , number_literal , (binary_expression "iVar6 >> 0x1f" identifier >> number_literal) , identifier ))) ;) (expression_statement "uVar4 = uStack_b8;" (assignment_expression "uVar4 = uStack_b8" identifier = identifier) ;) (expression_statement "iVar6 = (*pcVar9)(uStack_bc,1);" (assignment_expression "iVar6 = (*pcVar9)(uStack_bc,1)" identifier = (call_expression "(*pcVar9)(uStack_bc,1)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(uStack_bc,1)" ( identifier , number_literal )))) ;) (expression_statement "puVar7 = (undefined4 *)0x3;" (assignment_expression "puVar7 = (undefined4 *)0x3" identifier = (cast_expression "(undefined4 *)0x3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);" (call_expression "(*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6)" (parenthesized_expression "(*pcStack_d4)" ( (pointer_expression "*pcStack_d4" * identifier) )) (argument_list "(uVar4,3,iVar6 >> 0x1f,iVar6)" ( identifier , number_literal , (binary_expression "iVar6 >> 0x1f" identifier >> number_literal) , identifier ))) ;) (expression_statement "(*pcStack_68)(uStack_b8);" (call_expression "(*pcStack_68)(uStack_b8)" (parenthesized_expression "(*pcStack_68)" ( (pointer_expression "*pcStack_68" * identifier) )) (argument_list "(uStack_b8)" ( identifier ))) ;) (expression_statement "pcVar18 = (code *)(*pcVar3)(uStack_b8);" (assignment_expression "pcVar18 = (code *)(*pcVar3)(uStack_b8)" identifier = (cast_expression "(code *)(*pcVar3)(uStack_b8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar3)(uStack_b8)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(uStack_b8)" ( identifier ))))) ;) (expression_statement "uVar4 = uStack_64 + 1;" (assignment_expression "uVar4 = uStack_64 + 1" identifier = (binary_expression "uStack_64 + 1" identifier + number_literal)) ;) (expression_statement "iVar5 = (uint)(uVar4 < uStack_64) + iVar5;" (assignment_expression "iVar5 = (uint)(uVar4 < uStack_64) + iVar5" identifier = (binary_expression "(uint)(uVar4 < uStack_64) + iVar5" (call_expression "(uint)(uVar4 < uStack_64)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar4 < uStack_64)" ( (binary_expression "uVar4 < uStack_64" identifier < identifier) ))) + identifier)) ;) (expression_statement "uStack_64 = uVar4;" (assignment_expression "uStack_64 = uVar4" identifier = identifier) ;) }) while (parenthesized_expression "(pcVar18 == (code *)0x0)" ( (binary_expression "pcVar18 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "pcStack_d4 = pcVar18;" (assignment_expression "pcStack_d4 = pcVar18" identifier = identifier) ;) (expression_statement "(*pcVar3)(uStack_bc);" (call_expression "(*pcVar3)(uStack_bc)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(uStack_bc)" ( identifier ))) ;) (expression_statement "pcStack_fc = pcStack_d4;" (assignment_expression "pcStack_fc = pcStack_d4" identifier = identifier) ;) })) })) })) })) })) (labeled_statement "LAB_0012b828:\n  if (iStack_a4 == *piVar16) {\n    return pcStack_fc;\n  }" statement_identifier : (if_statement "if (iStack_a4 == *piVar16) {\n    return pcStack_fc;\n  }" if (parenthesized_expression "(iStack_a4 == *piVar16)" ( (binary_expression "iStack_a4 == *piVar16" identifier == (pointer_expression "*piVar16" * identifier)) )) (compound_statement "{\n    return pcStack_fc;\n  }" { (return_statement "return pcStack_fc;" return identifier ;) }))) (expression_statement "pcVar3 = *(code **)(pcStack_e0 + -0x7b28);" (assignment_expression "pcVar3 = *(code **)(pcStack_e0 + -0x7b28)" identifier = (pointer_expression "*(code **)(pcStack_e0 + -0x7b28)" * (cast_expression "(code **)(pcStack_e0 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e0 + -0x7b28)" ( (binary_expression "pcStack_e0 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "pcVar18 = FUN_0012bbec;" (assignment_expression "pcVar18 = FUN_0012bbec" identifier = identifier) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_110 = pcVar3 + 0x6cd34;" (assignment_expression "pcStack_110 = pcVar3 + 0x6cd34" identifier = (binary_expression "pcVar3 + 0x6cd34" identifier + number_literal)) ;) (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar8 = &uStack_108;" (assignment_expression "puVar8 = &uStack_108" identifier = (pointer_expression "&uStack_108" & identifier)) ;) (expression_statement "piVar16 = (int *)&DAT_00000016;" (assignment_expression "piVar16 = (int *)&DAT_00000016" identifier = (cast_expression "(int *)&DAT_00000016" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000016" & identifier))) ;) (expression_statement "piVar15 = *(int **)(pcVar3 + 0x65238);" (assignment_expression "piVar15 = *(int **)(pcVar3 + 0x65238)" identifier = (pointer_expression "*(int **)(pcVar3 + 0x65238)" * (cast_expression "(int **)(pcVar3 + 0x65238)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar3 + 0x65238)" ( (binary_expression "pcVar3 + 0x65238" identifier + number_literal) ))))) ;) (expression_statement "uStack_108 = 0;" (assignment_expression "uStack_108 = 0" identifier = number_literal) ;) (expression_statement "iStack_104 = *piVar15;" (assignment_expression "iStack_104 = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) (expression_statement "uStack_100 = uStack_64;" (assignment_expression "uStack_100 = uStack_64" identifier = identifier) ;) (expression_statement "pcStack_f8 = pcStack_68;" (assignment_expression "pcStack_f8 = pcStack_68" identifier = identifier) ;) (expression_statement "pcStack_f4 = pcVar18;" (assignment_expression "pcStack_f4 = pcVar18" identifier = identifier) ;) (expression_statement "pcVar3 = (code *)FUN_001210f8();" (assignment_expression "pcVar3 = (code *)FUN_001210f8()" identifier = (cast_expression "(code *)FUN_001210f8()" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001210f8()" identifier (argument_list "()" ( ))))) ;) (expression_statement "uVar19 = uStack_108;" (assignment_expression "uVar19 = uStack_108" identifier = identifier) ;) (if_statement "if (pcVar3 == (code *)0x0) {\n    piVar12 = (int *)0x0;\n    puVar8 = (undefined4 *)0x0;\n    piVar16 = (int *)0x1;\n    (**(code **)(pcStack_110 + -0x7e90))(uStack_108);\n    iVar5 = (**(code **)(pcStack_110 + -0x7f90))(uStack_108);\n    if (iVar5 == 100) {\n      piVar16 = (int *)0x0;\n      iVar5 = (**(code **)(pcStack_110 + -0x7f8c))(uStack_108);\n      uVar19 = uStack_108;\n      if (iVar5 == 4) goto LAB_0012bc50;\n    }\n    pcVar3 = (code *)(**(code **)(pcStack_110 + -0x7ec4))(uStack_108);\n    if (pcVar3 == (code *)0x0) {\n      pcVar3 = (code *)0x10b;\n    }\n    uVar19 = 0;\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    piVar12 = (int *)0x0;\n    puVar8 = (undefined4 *)0x0;\n    piVar16 = (int *)0x1;\n    (**(code **)(pcStack_110 + -0x7e90))(uStack_108);\n    iVar5 = (**(code **)(pcStack_110 + -0x7f90))(uStack_108);\n    if (iVar5 == 100) {\n      piVar16 = (int *)0x0;\n      iVar5 = (**(code **)(pcStack_110 + -0x7f8c))(uStack_108);\n      uVar19 = uStack_108;\n      if (iVar5 == 4) goto LAB_0012bc50;\n    }\n    pcVar3 = (code *)(**(code **)(pcStack_110 + -0x7ec4))(uStack_108);\n    if (pcVar3 == (code *)0x0) {\n      pcVar3 = (code *)0x10b;\n    }\n    uVar19 = 0;\n  }" { (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar8 = (undefined4 *)0x0;" (assignment_expression "puVar8 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar16 = (int *)0x1;" (assignment_expression "piVar16 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcStack_110 + -0x7e90))(uStack_108);" (call_expression "(**(code **)(pcStack_110 + -0x7e90))(uStack_108)" (parenthesized_expression "(**(code **)(pcStack_110 + -0x7e90))" ( (pointer_expression "**(code **)(pcStack_110 + -0x7e90)" * (pointer_expression "*(code **)(pcStack_110 + -0x7e90)" * (cast_expression "(code **)(pcStack_110 + -0x7e90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_110 + -0x7e90)" ( (binary_expression "pcStack_110 + -0x7e90" identifier + number_literal) ))))) )) (argument_list "(uStack_108)" ( identifier ))) ;) (expression_statement "iVar5 = (**(code **)(pcStack_110 + -0x7f90))(uStack_108);" (assignment_expression "iVar5 = (**(code **)(pcStack_110 + -0x7f90))(uStack_108)" identifier = (call_expression "(**(code **)(pcStack_110 + -0x7f90))(uStack_108)" (parenthesized_expression "(**(code **)(pcStack_110 + -0x7f90))" ( (pointer_expression "**(code **)(pcStack_110 + -0x7f90)" * (pointer_expression "*(code **)(pcStack_110 + -0x7f90)" * (cast_expression "(code **)(pcStack_110 + -0x7f90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_110 + -0x7f90)" ( (binary_expression "pcStack_110 + -0x7f90" identifier + number_literal) ))))) )) (argument_list "(uStack_108)" ( identifier )))) ;) (if_statement "if (iVar5 == 100) {\n      piVar16 = (int *)0x0;\n      iVar5 = (**(code **)(pcStack_110 + -0x7f8c))(uStack_108);\n      uVar19 = uStack_108;\n      if (iVar5 == 4) goto LAB_0012bc50;\n    }" if (parenthesized_expression "(iVar5 == 100)" ( (binary_expression "iVar5 == 100" identifier == number_literal) )) (compound_statement "{\n      piVar16 = (int *)0x0;\n      iVar5 = (**(code **)(pcStack_110 + -0x7f8c))(uStack_108);\n      uVar19 = uStack_108;\n      if (iVar5 == 4) goto LAB_0012bc50;\n    }" { (expression_statement "piVar16 = (int *)0x0;" (assignment_expression "piVar16 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar5 = (**(code **)(pcStack_110 + -0x7f8c))(uStack_108);" (assignment_expression "iVar5 = (**(code **)(pcStack_110 + -0x7f8c))(uStack_108)" identifier = (call_expression "(**(code **)(pcStack_110 + -0x7f8c))(uStack_108)" (parenthesized_expression "(**(code **)(pcStack_110 + -0x7f8c))" ( (pointer_expression "**(code **)(pcStack_110 + -0x7f8c)" * (pointer_expression "*(code **)(pcStack_110 + -0x7f8c)" * (cast_expression "(code **)(pcStack_110 + -0x7f8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_110 + -0x7f8c)" ( (binary_expression "pcStack_110 + -0x7f8c" identifier + number_literal) ))))) )) (argument_list "(uStack_108)" ( identifier )))) ;) (expression_statement "uVar19 = uStack_108;" (assignment_expression "uVar19 = uStack_108" identifier = identifier) ;) (if_statement "if (iVar5 == 4) goto LAB_0012bc50;" if (parenthesized_expression "(iVar5 == 4)" ( (binary_expression "iVar5 == 4" identifier == number_literal) )) (goto_statement "goto LAB_0012bc50;" goto statement_identifier ;)) })) (expression_statement "pcVar3 = (code *)(**(code **)(pcStack_110 + -0x7ec4))(uStack_108);" (assignment_expression "pcVar3 = (code *)(**(code **)(pcStack_110 + -0x7ec4))(uStack_108)" identifier = (cast_expression "(code *)(**(code **)(pcStack_110 + -0x7ec4))(uStack_108)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_110 + -0x7ec4))(uStack_108)" (parenthesized_expression "(**(code **)(pcStack_110 + -0x7ec4))" ( (pointer_expression "**(code **)(pcStack_110 + -0x7ec4)" * (pointer_expression "*(code **)(pcStack_110 + -0x7ec4)" * (cast_expression "(code **)(pcStack_110 + -0x7ec4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_110 + -0x7ec4)" ( (binary_expression "pcStack_110 + -0x7ec4" identifier + number_literal) ))))) )) (argument_list "(uStack_108)" ( identifier ))))) ;) (if_statement "if (pcVar3 == (code *)0x0) {\n      pcVar3 = (code *)0x10b;\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      pcVar3 = (code *)0x10b;\n    }" { (expression_statement "pcVar3 = (code *)0x10b;" (assignment_expression "pcVar3 = (code *)0x10b" identifier = (cast_expression "(code *)0x10b" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) })) (labeled_statement "LAB_0012bc50:\n  *puVar7 = uVar19;" statement_identifier : (expression_statement "*puVar7 = uVar19;" (assignment_expression "*puVar7 = uVar19" (pointer_expression "*puVar7" * identifier) = identifier) ;)) (if_statement "if (iStack_104 == *piVar15) {\n    return pcVar3;\n  }" if (parenthesized_expression "(iStack_104 == *piVar15)" ( (binary_expression "iStack_104 == *piVar15" identifier == (pointer_expression "*piVar15" * identifier)) )) (compound_statement "{\n    return pcVar3;\n  }" { (return_statement "return pcVar3;" return identifier ;) })) (expression_statement "pcVar18 = *(code **)(pcStack_110 + -0x7b28);" (assignment_expression "pcVar18 = *(code **)(pcStack_110 + -0x7b28)" identifier = (pointer_expression "*(code **)(pcStack_110 + -0x7b28)" * (cast_expression "(code **)(pcStack_110 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_110 + -0x7b28)" ( (binary_expression "pcStack_110 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = 0x12bd04;" (assignment_expression "uVar19 = 0x12bd04" identifier = number_literal) ;) (expression_statement "(*pcVar18)();" (call_expression "(*pcVar18)()" (parenthesized_expression "(*pcVar18)" ( (pointer_expression "*pcVar18" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar13 = *(int **)(pcVar18 + 0x65120);" (assignment_expression "piVar13 = *(int **)(pcVar18 + 0x65120)" identifier = (pointer_expression "*(int **)(pcVar18 + 0x65120)" * (cast_expression "(int **)(pcVar18 + 0x65120)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x65120)" ( (binary_expression "pcVar18 + 0x65120" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *piVar16;" (assignment_expression "iVar5 = *piVar16" identifier = (pointer_expression "*piVar16" * identifier)) ;) (expression_statement "iStack_13c = *piVar13;" (assignment_expression "iStack_13c = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;) (expression_statement "pcStack_134 = pcVar3;" (assignment_expression "pcStack_134 = pcVar3" identifier = identifier) ;) (expression_statement "piStack_130 = piVar15;" (assignment_expression "piStack_130 = piVar15" identifier = identifier) ;) (expression_statement "puStack_12c = puVar7;" (assignment_expression "puStack_12c = puVar7" identifier = identifier) ;) (expression_statement "pcStack_128 = pcVar9;" (assignment_expression "pcStack_128 = pcVar9" identifier = identifier) ;) (expression_statement "uStack_124 = uVar19;" (assignment_expression "uStack_124 = uVar19" identifier = identifier) ;) (if_statement "if (iVar5 == 0) {\n    piVar15 = piVar16;\n    pcVar3 = (code *)FUN_0012bbec();\n    if (pcVar3 == (code *)0x0) {\n      iVar5 = *piVar16;\n      goto LAB_0012bd4c;\n    }\n  }\n  else {\nLAB_0012bd4c:\n    iVar5 = (**(code **)(pcVar18 + 0x64c9c))(iVar5,0);\n    piVar15 = &iStack_148;\n    iVar6 = (*(code *)(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8))(iVar5);\n    if (iStack_148 == 0 && iStack_144 == 0) {\n      pcVar3 = (code *)0x10b;\n    }\n    else {\n      *puVar8 = 0;\n      puVar8[1] = iStack_144;\n      if (piVar12 == (int *)0x0) {\n        pcVar3 = (code *)0x0;\n      }\n      else {\n        pcVar3 = (code *)0x0;\n        *piVar12 = iVar5 + iVar6;\n      }\n    }\n  }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n    piVar15 = piVar16;\n    pcVar3 = (code *)FUN_0012bbec();\n    if (pcVar3 == (code *)0x0) {\n      iVar5 = *piVar16;\n      goto LAB_0012bd4c;\n    }\n  }" { (expression_statement "piVar15 = piVar16;" (assignment_expression "piVar15 = piVar16" identifier = identifier) ;) (expression_statement "pcVar3 = (code *)FUN_0012bbec();" (assignment_expression "pcVar3 = (code *)FUN_0012bbec()" identifier = (cast_expression "(code *)FUN_0012bbec()" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0012bbec()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (pcVar3 == (code *)0x0) {\n      iVar5 = *piVar16;\n      goto LAB_0012bd4c;\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      iVar5 = *piVar16;\n      goto LAB_0012bd4c;\n    }" { (expression_statement "iVar5 = *piVar16;" (assignment_expression "iVar5 = *piVar16" identifier = (pointer_expression "*piVar16" * identifier)) ;) (goto_statement "goto LAB_0012bd4c;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_0012bd4c:\n    iVar5 = (**(code **)(pcVar18 + 0x64c9c))(iVar5,0);\n    piVar15 = &iStack_148;\n    iVar6 = (*(code *)(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8))(iVar5);\n    if (iStack_148 == 0 && iStack_144 == 0) {\n      pcVar3 = (code *)0x10b;\n    }\n    else {\n      *puVar8 = 0;\n      puVar8[1] = iStack_144;\n      if (piVar12 == (int *)0x0) {\n        pcVar3 = (code *)0x0;\n      }\n      else {\n        pcVar3 = (code *)0x0;\n        *piVar12 = iVar5 + iVar6;\n      }\n    }\n  }" else (compound_statement "{\nLAB_0012bd4c:\n    iVar5 = (**(code **)(pcVar18 + 0x64c9c))(iVar5,0);\n    piVar15 = &iStack_148;\n    iVar6 = (*(code *)(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8))(iVar5);\n    if (iStack_148 == 0 && iStack_144 == 0) {\n      pcVar3 = (code *)0x10b;\n    }\n    else {\n      *puVar8 = 0;\n      puVar8[1] = iStack_144;\n      if (piVar12 == (int *)0x0) {\n        pcVar3 = (code *)0x0;\n      }\n      else {\n        pcVar3 = (code *)0x0;\n        *piVar12 = iVar5 + iVar6;\n      }\n    }\n  }" { (labeled_statement "LAB_0012bd4c:\n    iVar5 = (**(code **)(pcVar18 + 0x64c9c))(iVar5,0);" statement_identifier : (expression_statement "iVar5 = (**(code **)(pcVar18 + 0x64c9c))(iVar5,0);" (assignment_expression "iVar5 = (**(code **)(pcVar18 + 0x64c9c))(iVar5,0)" identifier = (call_expression "(**(code **)(pcVar18 + 0x64c9c))(iVar5,0)" (parenthesized_expression "(**(code **)(pcVar18 + 0x64c9c))" ( (pointer_expression "**(code **)(pcVar18 + 0x64c9c)" * (pointer_expression "*(code **)(pcVar18 + 0x64c9c)" * (cast_expression "(code **)(pcVar18 + 0x64c9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x64c9c)" ( (binary_expression "pcVar18 + 0x64c9c" identifier + number_literal) ))))) )) (argument_list "(iVar5,0)" ( identifier , number_literal )))) ;)) (expression_statement "piVar15 = &iStack_148;" (assignment_expression "piVar15 = &iStack_148" identifier = (pointer_expression "&iStack_148" & identifier)) ;) (expression_statement "iVar6 = (*(code *)(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8))(iVar5);" (assignment_expression "iVar6 = (*(code *)(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8))(iVar5)" identifier = (call_expression "(*(code *)(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8))(iVar5)" (parenthesized_expression "(*(code *)(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8))" ( (pointer_expression "*(code *)(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8)" * (cast_expression "(code *)(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8)" ( (binary_expression "*(int *)(pcVar18 + 0x64e3c) + 0x3ec8" (pointer_expression "*(int *)(pcVar18 + 0x64e3c)" * (cast_expression "(int *)(pcVar18 + 0x64e3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar18 + 0x64e3c)" ( (binary_expression "pcVar18 + 0x64e3c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(iVar5)" ( identifier )))) ;) (if_statement "if (iStack_148 == 0 && iStack_144 == 0) {\n      pcVar3 = (code *)0x10b;\n    }\n    else {\n      *puVar8 = 0;\n      puVar8[1] = iStack_144;\n      if (piVar12 == (int *)0x0) {\n        pcVar3 = (code *)0x0;\n      }\n      else {\n        pcVar3 = (code *)0x0;\n        *piVar12 = iVar5 + iVar6;\n      }\n    }" if (parenthesized_expression "(iStack_148 == 0 && iStack_144 == 0)" ( (binary_expression "iStack_148 == 0 && iStack_144 == 0" (binary_expression "iStack_148 == 0" identifier == number_literal) && (binary_expression "iStack_144 == 0" identifier == number_literal)) )) (compound_statement "{\n      pcVar3 = (code *)0x10b;\n    }" { (expression_statement "pcVar3 = (code *)0x10b;" (assignment_expression "pcVar3 = (code *)0x10b" identifier = (cast_expression "(code *)0x10b" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      *puVar8 = 0;\n      puVar8[1] = iStack_144;\n      if (piVar12 == (int *)0x0) {\n        pcVar3 = (code *)0x0;\n      }\n      else {\n        pcVar3 = (code *)0x0;\n        *piVar12 = iVar5 + iVar6;\n      }\n    }" else (compound_statement "{\n      *puVar8 = 0;\n      puVar8[1] = iStack_144;\n      if (piVar12 == (int *)0x0) {\n        pcVar3 = (code *)0x0;\n      }\n      else {\n        pcVar3 = (code *)0x0;\n        *piVar12 = iVar5 + iVar6;\n      }\n    }" { (expression_statement "*puVar8 = 0;" (assignment_expression "*puVar8 = 0" (pointer_expression "*puVar8" * identifier) = number_literal) ;) (expression_statement "puVar8[1] = iStack_144;" (assignment_expression "puVar8[1] = iStack_144" (subscript_expression "puVar8[1]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (piVar12 == (int *)0x0) {\n        pcVar3 = (code *)0x0;\n      }\n      else {\n        pcVar3 = (code *)0x0;\n        *piVar12 = iVar5 + iVar6;\n      }" if (parenthesized_expression "(piVar12 == (int *)0x0)" ( (binary_expression "piVar12 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar3 = (code *)0x0;\n      }" { (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)) ;) }) (else_clause "else {\n        pcVar3 = (code *)0x0;\n        *piVar12 = iVar5 + iVar6;\n      }" else (compound_statement "{\n        pcVar3 = (code *)0x0;\n        *piVar12 = iVar5 + iVar6;\n      }" { (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 "*piVar12 = iVar5 + iVar6;" (assignment_expression "*piVar12 = iVar5 + iVar6" (pointer_expression "*piVar12" * identifier) = (binary_expression "iVar5 + iVar6" identifier + identifier)) ;) }))) }))) }))) (if_statement "if (iStack_13c == *piVar13) {\n    return pcVar3;\n  }" if (parenthesized_expression "(iStack_13c == *piVar13)" ( (binary_expression "iStack_13c == *piVar13" identifier == (pointer_expression "*piVar13" * identifier)) )) (compound_statement "{\n    return pcVar3;\n  }" { (return_statement "return pcVar3;" return identifier ;) })) (expression_statement "pcVar3 = *(code **)(pcVar18 + 0x650f4);" (assignment_expression "pcVar3 = *(code **)(pcVar18 + 0x650f4)" identifier = (pointer_expression "*(code **)(pcVar18 + 0x650f4)" * (cast_expression "(code **)(pcVar18 + 0x650f4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x650f4)" ( (binary_expression "pcVar18 + 0x650f4" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = iStack_13c;" (assignment_expression "iVar5 = iStack_13c" identifier = identifier) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar6 = piVar15[3];" (assignment_expression "iVar6 = piVar15[3]" identifier = (subscript_expression "piVar15[3]" identifier [ number_literal ])) ;) (if_statement "if (iVar6 == 0) {\n    pcVar9 = (code *)FUN_0012131c(piVar15);\n    if (pcVar9 != (code *)0x0) goto LAB_0012be7c;\n    iVar6 = piVar15[3];\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    pcVar9 = (code *)FUN_0012131c(piVar15);\n    if (pcVar9 != (code *)0x0) goto LAB_0012be7c;\n    iVar6 = piVar15[3];\n  }" { (expression_statement "pcVar9 = (code *)FUN_0012131c(piVar15);" (assignment_expression "pcVar9 = (code *)FUN_0012131c(piVar15)" identifier = (cast_expression "(code *)FUN_0012131c(piVar15)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0012131c(piVar15)" identifier (argument_list "(piVar15)" ( identifier ))))) ;) (if_statement "if (pcVar9 != (code *)0x0) goto LAB_0012be7c;" if (parenthesized_expression "(pcVar9 != (code *)0x0)" ( (binary_expression "pcVar9 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0012be7c;" goto statement_identifier ;)) (expression_statement "iVar6 = piVar15[3];" (assignment_expression "iVar6 = piVar15[3]" identifier = (subscript_expression "piVar15[3]" identifier [ number_literal ])) ;) })) (expression_statement "(**(code **)(pcVar3 + 0x64c8c))(iVar6,1,piVar15[8],piVar15[9]);" (call_expression "(**(code **)(pcVar3 + 0x64c8c))(iVar6,1,piVar15[8],piVar15[9])" (parenthesized_expression "(**(code **)(pcVar3 + 0x64c8c))" ( (pointer_expression "**(code **)(pcVar3 + 0x64c8c)" * (pointer_expression "*(code **)(pcVar3 + 0x64c8c)" * (cast_expression "(code **)(pcVar3 + 0x64c8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar3 + 0x64c8c)" ( (binary_expression "pcVar3 + 0x64c8c" identifier + number_literal) ))))) )) (argument_list "(iVar6,1,piVar15[8],piVar15[9])" ( identifier , number_literal , (subscript_expression "piVar15[8]" identifier [ number_literal ]) , (subscript_expression "piVar15[9]" identifier [ number_literal ]) ))) ;) (expression_statement "pcVar9 = *(code **)(pcVar3 + 0x64b8c);" (assignment_expression "pcVar9 = *(code **)(pcVar3 + 0x64b8c)" identifier = (pointer_expression "*(code **)(pcVar3 + 0x64b8c)" * (cast_expression "(code **)(pcVar3 + 0x64b8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar3 + 0x64b8c)" ( (binary_expression "pcVar3 + 0x64b8c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 *)((int)piVar15 + 7) = 0;" (assignment_expression "*(undefined1 *)((int)piVar15 + 7) = 0" (pointer_expression "*(undefined1 *)((int)piVar15 + 7)" * (cast_expression "(undefined1 *)((int)piVar15 + 7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 7)" ( (binary_expression "(int)piVar15 + 7" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar6 = (*pcVar9)(piVar15[3]);" (assignment_expression "iVar6 = (*pcVar9)(piVar15[3])" identifier = (call_expression "(*pcVar9)(piVar15[3])" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(piVar15[3])" ( (subscript_expression "piVar15[3]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar6 == 100) {\n    return (code *)0x0;\n  }" if (parenthesized_expression "(iVar6 == 100)" ( (binary_expression "iVar6 == 100" identifier == number_literal) )) (compound_statement "{\n    return (code *)0x0;\n  }" { (return_statement "return (code *)0x0;" return (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "pcVar9 = (code *)(**(code **)(pcVar3 + 0x64c58))(piVar15[3]);" (assignment_expression "pcVar9 = (code *)(**(code **)(pcVar3 + 0x64c58))(piVar15[3])" identifier = (cast_expression "(code *)(**(code **)(pcVar3 + 0x64c58))(piVar15[3])" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar3 + 0x64c58))(piVar15[3])" (parenthesized_expression "(**(code **)(pcVar3 + 0x64c58))" ( (pointer_expression "**(code **)(pcVar3 + 0x64c58)" * (pointer_expression "*(code **)(pcVar3 + 0x64c58)" * (cast_expression "(code **)(pcVar3 + 0x64c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar3 + 0x64c58)" ( (binary_expression "pcVar3 + 0x64c58" identifier + number_literal) ))))) )) (argument_list "(piVar15[3])" ( (subscript_expression "piVar15[3]" identifier [ number_literal ]) ))))) ;) (if_statement "if (pcVar9 == (code *)0x0) {\n    if (*(int *)(*piVar15 + 0x28) != 0) {\n      return (code *)0x0;\n    }\n    pcVar9 = (code *)0x10b;\n    *(undefined1 *)((int)piVar15 + 6) = 1;\n  }" if (parenthesized_expression "(pcVar9 == (code *)0x0)" ( (binary_expression "pcVar9 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (*(int *)(*piVar15 + 0x28) != 0) {\n      return (code *)0x0;\n    }\n    pcVar9 = (code *)0x10b;\n    *(undefined1 *)((int)piVar15 + 6) = 1;\n  }" { (if_statement "if (*(int *)(*piVar15 + 0x28) != 0) {\n      return (code *)0x0;\n    }" if (parenthesized_expression "(*(int *)(*piVar15 + 0x28) != 0)" ( (binary_expression "*(int *)(*piVar15 + 0x28) != 0" (pointer_expression "*(int *)(*piVar15 + 0x28)" * (cast_expression "(int *)(*piVar15 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar15 + 0x28)" ( (binary_expression "*piVar15 + 0x28" (pointer_expression "*piVar15" * identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n      return (code *)0x0;\n    }" { (return_statement "return (code *)0x0;" return (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "pcVar9 = (code *)0x10b;" (assignment_expression "pcVar9 = (code *)0x10b" identifier = (cast_expression "(code *)0x10b" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined1 *)((int)piVar15 + 6) = 1;" (assignment_expression "*(undefined1 *)((int)piVar15 + 6) = 1" (pointer_expression "*(undefined1 *)((int)piVar15 + 6)" * (cast_expression "(undefined1 *)((int)piVar15 + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 6)" ( (binary_expression "(int)piVar15 + 6" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) })) (labeled_statement "LAB_0012be7c:\n  if (iVar5 != 0) {\n    (**(code **)(pcVar3 + 0x64bd0))(iVar5,pcVar9);\n  }" statement_identifier : (if_statement "if (iVar5 != 0) {\n    (**(code **)(pcVar3 + 0x64bd0))(iVar5,pcVar9);\n  }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n    (**(code **)(pcVar3 + 0x64bd0))(iVar5,pcVar9);\n  }" { (expression_statement "(**(code **)(pcVar3 + 0x64bd0))(iVar5,pcVar9);" (call_expression "(**(code **)(pcVar3 + 0x64bd0))(iVar5,pcVar9)" (parenthesized_expression "(**(code **)(pcVar3 + 0x64bd0))" ( (pointer_expression "**(code **)(pcVar3 + 0x64bd0)" * (pointer_expression "*(code **)(pcVar3 + 0x64bd0)" * (cast_expression "(code **)(pcVar3 + 0x64bd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar3 + 0x64bd0)" ( (binary_expression "pcVar3 + 0x64bd0" identifier + number_literal) ))))) )) (argument_list "(iVar5,pcVar9)" ( identifier , identifier ))) ;) }))) (return_statement "return pcVar9;" return identifier ;) })))
(translation_unit "/* DWARF original prototype: int fts3DeleteSegment(Fts3Table * p, Fts3SegReader * pSeg,\n   Fts3SegReader * pSeg) */\n\nint fts3DeleteSegment(Fts3Table *p,Fts3SegReader *pSeg,Fts3SegReader *pSeg_1)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  sqlite3_vtab *psVar5;\n  int iVar6;\n  int iVar7;\n  Fts3PhraseToken *pFVar8;\n  Fts3Table *pFVar9;\n  sqlite3_stmt *psVar10;\n  sqlite3_stmt *psVar11;\n  Fts3DeferredToken *pFVar12;\n  Fts3Cursor *ppStmt;\n  Fts3Cursor *pCsr;\n  sqlite3_stmt **pp;\n  sqlite3_stmt **ppsVar13;\n  Fts3PhraseToken **pp_00;\n  code *pcVar14;\n  undefined4 uVar15;\n  uint uVar16;\n  uint uVar17;\n  undefined4 unaff_s0;\n  int *piVar18;\n  undefined4 unaff_s1;\n  int *piVar19;\n  sqlite3_stmt **unaff_s2;\n  int *piVar20;\n  undefined *puVar21;\n  code *pcVar22;\n  uint unaff_retaddr;\n  code *pcVar23;\n  code *pcStackX_0;\n  Fts3Table *pFStackX_4;\n  sqlite3_stmt **ppsStackX_8;\n  uint uStackX_c;\n  undefined1 auStack_148 [12];\n  sqlite3_stmt *psStack_13c;\n  int iStack_134;\n  int *piStack_130;\n  Fts3DeferredToken *pFStack_12c;\n  code *pcStack_128;\n  code *pcStack_124;\n  code *pcStack_110;\n  Fts3PhraseToken *pFStack_108;\n  Fts3Table *pFStack_104;\n  Fts3Table *pFStack_100;\n  code *pcStack_fc;\n  code *pcStack_f8;\n  code *pcStack_f4;\n  code *pcStack_e0;\n  code *pcStack_d4;\n  sqlite3_stmt **ppsStack_d0;\n  code *pcStack_cc;\n  Fts3Table *pFStack_c8;\n  uint uStack_c4;\n  sqlite3_stmt *psStack_bc;\n  Fts3Table *pFStack_b8;\n  uint uStack_b4;\n  undefined4 auStack_b0 [3];\n  Fts3Table *pFStack_a4;\n  int iStack_a0;\n  int *piStack_9c;\n  sqlite3_stmt **ppsStack_98;\n  code *pcStack_94;\n  code *pcStack_68;\n  Fts3Table *pFStack_64;\n  sqlite3_stmt *psStack_58;\n  Fts3Table *pFStack_54;\n  undefined *puStack_50;\n  Fts3SegReader *pFStack_4c;\n  Fts3SegReader *pFStack_48;\n  sqlite3_stmt *pDelete;\n  Fts3Table *pFStack_14;\n  \n  puVar2 = PTR___stack_chk_guard_00190e24;\n  pcVar14 = (code *)0x0;\n  ppsVar13 = &pDelete;\n  pFStack_14 = *(Fts3Table **)PTR___stack_chk_guard_00190e24;\n  iVar3 = fts3SqlStmt(p,0x11,ppsVar13,(sqlite3_value **)0x0);\n  puVar21 = PTR_sqlite3_bind_int64_00190a90;\n  if (iVar3 == 0) {\n    uVar15._0_1_ = pSeg->bLookup;\n    uVar15._1_1_ = pSeg->rootOnly;\n    uVar15._2_2_ = *(undefined2 *)&pSeg->field_0x6;\n    (*(code *)PTR_sqlite3_bind_int64_00190a90)(pDelete,1,pSeg->iIdx,uVar15);\n    pcVar14 = *(code **)&pSeg_1->bLookup;\n    ppsVar13 = (sqlite3_stmt **)pSeg_1->iIdx;\n    (*(code *)puVar21)(pDelete,2);\n    (*(code *)PTR_sqlite3_step_00190990)(pDelete);\n    iVar3 = (*(code *)PTR_sqlite3_reset_00190a5c)(pDelete);\n    pSeg = (Fts3SegReader *)puVar21;\n  }\n  if (pFStack_14 == *(Fts3Table **)puVar2) {\n    return iVar3;\n  }\n  pFVar9 = pFStack_14;\n  puVar21 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  uVar16 = 0;\n  puStack_50 = puVar2;\n  pp = &psStack_58;\n  piVar19 = *(int **)(puVar21 + 0x65898);\n  pFStack_54 = (Fts3Table *)*piVar19;\n  pFStack_4c = pSeg_1;\n  pFStack_48 = pSeg;\n  iVar3 = fts3SqlStmt(pFVar9,0xb,pp,(sqlite3_value **)0x0);\n  ppsStack_d0 = pp;\n  if (iVar3 == 0) {\n    pcVar22 = *(code **)(puVar21 + 0x65504);\n    (*pcVar22)(psStack_58,1,ppsVar13,pcVar14);\n    (*pcVar22)(psStack_58,2,0,&_gp);\n    (*pcVar22)(psStack_58,3,pDelete,pFStack_14);\n    (*pcVar22)(psStack_58,4,unaff_s0,unaff_s1);\n    if (pcStackX_0 == (code *)0x0 && pFStackX_4 == (Fts3Table *)0x0) {\n      (*pcVar22)(psStack_58,5,unaff_s2,unaff_retaddr);\n      pcVar22 = (code *)(*(int *)(puVar21 + 0x65650) + 0x2f8c);\n    }\n    else {\n      pcStack_68 = pcStackX_0;\n      pFStack_64 = pFStackX_4;\n      iVar3 = (**(code **)(puVar21 + 0x653d8))(*(int *)(puVar21 + 0x653d0) + -0x748);\n      if (iVar3 == 0) {\n        iVar3 = 7;\n        ppsStack_d0 = unaff_s2;\n        uVar16 = unaff_retaddr;\n        goto LAB_0012b608;\n      }\n      pcVar22 = (code *)(*(int *)(puVar21 + 0x65650) + 0x2f8c);\n      (*pcVar22)(psStack_58,5,iVar3,0xffffffff);\n    }\n    pFStack_64 = (Fts3Table *)0x0;\n    pcStack_68 = (code *)0x0;\n    (*pcVar22)(psStack_58,6,ppsStackX_8,uStackX_c);\n    (**(code **)(puVar21 + 0x65404))(psStack_58);\n    iVar3 = (**(code **)(puVar21 + 0x654d0))(psStack_58);\n    (**(code **)(puVar21 + 0x654fc))(psStack_58,6);\n    ppsStack_d0 = ppsStackX_8;\n    uVar16 = uStackX_c;\n  }\nLAB_0012b608:\n  if (pFStack_54 == (Fts3Table *)*piVar19) {\n    return iVar3;\n  }\n  pcVar22 = *(code **)(puVar21 + 0x6586c);\n  pFVar9 = pFStack_54;\n  (*pcVar22)();\n  pcStack_e0 = pcVar22 + 0x6d180;\n  pFVar12 = (Fts3DeferredToken *)&DAT_00000025;\n  pcStack_cc = (code *)(*(int *)(pcVar22 + 0x654c4) + 0x10f8);\n  piVar20 = *(int **)(pcVar22 + 0x65684);\n  pFStack_a4 = (Fts3Table *)*piVar20;\n  pFStack_c8 = pFVar9;\n  iStack_a0 = iVar3;\n  piStack_9c = piVar19;\n  ppsStack_98 = ppsVar13;\n  pcStack_94 = pcVar14;\n  pcStack_fc = (code *)fts3SqlStmt(pFVar9,0x25,&psStack_bc,(sqlite3_value **)0x0);\n  ppsVar13 = ppsStack_d0;\n  if (pcStack_fc == (code *)0x0) {\n    pcStack_d4 = *(code **)(pcStack_e0 + -0x7e90);\n    pcVar14 = pcStack_68 +\n              (uint)((uint)((int)pFStack_64 * 3) < (uint)((int)pFStack_64 * 2)) +\n              ((uint)pFStack_64 >> 0x1f | (int)pcStack_68 << 1);\n    uVar4 = -((int)pcVar14 >> 0x1f) + (int)pFStack_64 * 3;\n    pFStack_64 = (Fts3Table *)((int)(pcVar14 + (uVar4 < (uint)-((int)pcVar14 >> 0x1f))) >> 1);\n    uStack_c4 = (int)(pcVar14 + (uVar4 < (uint)-((int)pcVar14 >> 0x1f))) * -0x80000000 | uVar4 >> 1;\n    (*pcStack_d4)(psStack_bc,1,(uint)(uVar16 + 1 < uVar16) + (int)ppsStack_d0);\n    uVar4 = uVar16;\n    if ((int)ppsVar13 < 0) {\n      uVar4 = uVar16 + 0x3ff;\n      ppsVar13 = (sqlite3_stmt **)((uint)(uVar4 < uVar16) + (int)ppsVar13);\n    }\n    pcStack_68 = *(code **)(pcStack_e0 + -0x7f90);\n    uVar4 = (int)ppsVar13 << 0x16 | uVar4 >> 10;\n    uVar17 = uVar4 + 1;\n    pFVar12 = (Fts3DeferredToken *)&SUB_00000002;\n    (*pcStack_d4)(psStack_bc,2,\n                  (uint)(uVar17 * 0x400 - 1 < uVar17 * 0x400) +\n                  ((uVar17 >> 0x16 | ((uint)(uVar17 < uVar4) + ((int)ppsVar13 >> 10)) * 0x400) - 1))\n    ;\n    iVar6 = *(int *)(pcStack_e0 + -0x7d60);\n    iVar3 = (*pcStack_68)(psStack_bc);\n    pcVar14 = (code *)(iVar6 + 0x7794);\n    bVar1 = false;\n    while (iVar3 == 100) {\n      pFVar12 = (Fts3DeferredToken *)&SUB_00000002;\n      pFStack_b8 = (Fts3Table *)0x0;\n      uStack_b4 = 0;\n      (*pcVar14)(psStack_bc,2,auStack_b0,&pFStack_b8);\n      if ((int)pFStack_b8 < 1) {\n        pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);\n        if (pFStack_b8 == (Fts3Table *)0x0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);\n        }\nLAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar22)(psStack_bc);\n        goto LAB_0012b828;\n      }\nLAB_0012b99c:\n      pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);\n      if (((int)pFStack_64 < (int)pFStack_b8) ||\n         ((pFStack_b8 == pFStack_64 &&\n          (pcVar22 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))) goto LAB_0012ba04;\n      bVar1 = true;\n      iVar3 = (*pcStack_68)(psStack_bc);\n    }\n    pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);\n    pcStack_fc = (code *)(*pcVar22)();\n    pFVar9 = pFStack_c8;\n    if (bVar1) {\n      pFStack_b8 = (Fts3Table *)0x0;\n      auStack_b0[0] = 0;\n      if (pcStack_fc == (code *)0x0) {\n        pFVar12 = (Fts3DeferredToken *)0x26;\n        pcStack_fc = (code *)(*pcStack_cc)(pFStack_c8,0x26,&pFStack_b8,0);\n        pFStack_64 = pFVar9;\n        if (pcStack_fc == (code *)0x0) {\n          pFVar12 = (Fts3DeferredToken *)&DAT_00000027;\n          pcStack_fc = (code *)(*pcStack_cc)(pFVar9,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            pFVar12 = (Fts3DeferredToken *)0x1;\n            iVar3 = 0;\n            pcVar14 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(psStack_bc,1,ppsStack_d0,uVar16);\n            pFStack_64 = (Fts3Table *)0x0;\n            do {\n              iVar6 = (*pcStack_68)(psStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar22)(psStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  pFVar12 = (Fts3DeferredToken *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,ppsStack_d0,uVar16);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar22)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(pFStack_b8,1,iVar3,pFStack_64);\n              pFVar9 = pFStack_b8;\n              iVar6 = (*pcVar14)(psStack_bc,0);\n              (*pcStack_d4)(pFVar9,2,iVar6 >> 0x1f,iVar6);\n              pFVar9 = pFStack_b8;\n              iVar6 = (*pcVar14)(psStack_bc,1);\n              pFVar12 = (Fts3DeferredToken *)0x3;\n              (*pcStack_d4)(pFVar9,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(pFStack_b8);\n              pcVar23 = (code *)(*pcVar22)(pFStack_b8);\n              pFVar9 = (Fts3Table *)((int)&(pFStack_64->base).pModule + 1);\n              iVar3 = (uint)(pFVar9 < pFStack_64) + iVar3;\n              pFStack_64 = pFVar9;\n            } while (pcVar23 == (code *)0x0);\n            pcStack_d4 = pcVar23;\n            (*pcVar22)(psStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }\n      }\n    }\n  }\nLAB_0012b828:\n  if (pFStack_a4 == (Fts3Table *)*piVar20) {\n    return (int)pcStack_fc;\n  }\n  pcVar22 = *(code **)(pcStack_e0 + -0x7b28);\n  pcVar23 = sqlite3Fts3SelectDoctotal;\n  pFVar9 = pFStack_a4;\n  (*pcVar22)();\n  pcStack_110 = pcVar22 + 0x6cd34;\n  piVar19 = (int *)0x0;\n  pp_00 = &pFStack_108;\n  ppStmt = (Fts3Cursor *)&DAT_00000016;\n  piVar20 = *(int **)(pcVar22 + 0x65238);\n  pFStack_108 = (Fts3PhraseToken *)0x0;\n  pFStack_104 = (Fts3Table *)*piVar20;\n  pFStack_100 = pFStack_64;\n  pcStack_f8 = pcStack_68;\n  pcStack_f4 = pcVar23;\n  iVar3 = fts3SqlStmt(pFVar9,0x16,(sqlite3_stmt **)pp_00,(sqlite3_value **)0x0);\n  pFVar8 = pFStack_108;\n  if (iVar3 == 0) {\n    piVar19 = (int *)0x0;\n    pp_00 = (Fts3PhraseToken **)0x0;\n    ppStmt = (Fts3Cursor *)0x1;\n    (**(code **)(pcStack_110 + -0x7e90))(pFStack_108);\n    iVar6 = (**(code **)(pcStack_110 + -0x7f90))(pFStack_108);\n    if (iVar6 == 100) {\n      ppStmt = (Fts3Cursor *)0x0;\n      iVar6 = (**(code **)(pcStack_110 + -0x7f8c))(pFStack_108);\n      pFVar8 = pFStack_108;\n      if (iVar6 == 4) goto LAB_0012bc50;\n    }\n    iVar3 = (**(code **)(pcStack_110 + -0x7ec4))(pFStack_108);\n    if (iVar3 == 0) {\n      iVar3 = 0x10b;\n    }\n    pFVar8 = (Fts3PhraseToken *)0x0;\n  }\nLAB_0012bc50:\n  pFVar12->pToken = pFVar8;\n  if (pFStack_104 == (Fts3Table *)*piVar20) {\n    return iVar3;\n  }\n  pcVar22 = *(code **)(pcStack_110 + -0x7b28);\n  pcVar23 = fts3MatchinfoSelectDoctotal;\n  pFVar9 = pFStack_104;\n  (*pcVar22)();\n  piVar18 = *(int **)(pcVar22 + 0x65120);\n  psVar5 = (ppStmt->base).pVtab;\n  psStack_13c = (sqlite3_stmt *)*piVar18;\n  iStack_134 = iVar3;\n  piStack_130 = piVar20;\n  pFStack_12c = pFVar12;\n  pcStack_128 = pcVar14;\n  pcStack_124 = pcVar23;\n  if (psVar5 == (sqlite3_vtab *)0x0) {\n    pCsr = ppStmt;\n    iVar3 = sqlite3Fts3SelectDoctotal(pFVar9,(sqlite3_stmt **)ppStmt);\n    if (iVar3 == 0) {\n      psVar5 = (ppStmt->base).pVtab;\n      goto LAB_0012bd4c;\n    }\n  }\n  else {\nLAB_0012bd4c:\n    iVar6 = (**(code **)(pcVar22 + 0x64c9c))(psVar5,0);\n    pCsr = (Fts3Cursor *)auStack_148;\n    iVar7 = (*(code *)(*(int *)(pcVar22 + 0x64e3c) + 0x3ec8))(iVar6);\n    if ((sqlite3_vtab *)auStack_148._0_4_ == (sqlite3_vtab *)0x0 &&\n        (Fts3PhraseToken *)auStack_148._4_4_ == (Fts3PhraseToken *)0x0) {\n      iVar3 = 0x10b;\n    }\n    else {\n      *pp_00 = (Fts3PhraseToken *)0x0;\n      pp_00[1] = (Fts3PhraseToken *)auStack_148._4_4_;\n      if (piVar19 == (int *)0x0) {\n        iVar3 = 0;\n      }\n      else {\n        iVar3 = 0;\n        *piVar19 = iVar6 + iVar7;\n      }\n    }\n  }\n  if (psStack_13c == (sqlite3_stmt *)*piVar18) {\n    return iVar3;\n  }\n  pcVar14 = *(code **)(pcVar22 + 0x650f4);\n  psVar10 = psStack_13c;\n  (*pcVar14)();\n  psVar11 = pCsr->pStmt;\n  if (psVar11 == (sqlite3_stmt *)0x0) {\n    iVar3 = fts3CursorSeekStmt(pCsr);\n    if (iVar3 != 0) goto LAB_0012be7c;\n    psVar11 = pCsr->pStmt;\n  }\n  (**(code **)(pcVar14 + 0x64c8c))(psVar11,1,*(undefined4 *)&pCsr->iPrevId,(int)pCsr->iPrevId);\n  pcVar22 = *(code **)(pcVar14 + 0x64b8c);\n  pCsr->isRequireSeek = '\0';\n  iVar3 = (*pcVar22)(pCsr->pStmt);\n  if (iVar3 == 100) {\n    return 0;\n  }\n  iVar3 = (**(code **)(pcVar14 + 0x64c58))(pCsr->pStmt);\n  if (iVar3 == 0) {\n    if ((pCsr->base).pVtab[3].nRef != 0) {\n      return 0;\n    }\n    iVar3 = 0x10b;\n    pCsr->isEof = '\x01';\n  }\nLAB_0012be7c:\n  if (psVar10 != (sqlite3_stmt *)0x0) {\n    (**(code **)(pcVar14 + 0x64bd0))(psVar10,iVar3);\n  }\n  return iVar3;\n}\n\n" comment (function_definition "int fts3DeleteSegment(Fts3Table *p,Fts3SegReader *pSeg,Fts3SegReader *pSeg_1)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  sqlite3_vtab *psVar5;\n  int iVar6;\n  int iVar7;\n  Fts3PhraseToken *pFVar8;\n  Fts3Table *pFVar9;\n  sqlite3_stmt *psVar10;\n  sqlite3_stmt *psVar11;\n  Fts3DeferredToken *pFVar12;\n  Fts3Cursor *ppStmt;\n  Fts3Cursor *pCsr;\n  sqlite3_stmt **pp;\n  sqlite3_stmt **ppsVar13;\n  Fts3PhraseToken **pp_00;\n  code *pcVar14;\n  undefined4 uVar15;\n  uint uVar16;\n  uint uVar17;\n  undefined4 unaff_s0;\n  int *piVar18;\n  undefined4 unaff_s1;\n  int *piVar19;\n  sqlite3_stmt **unaff_s2;\n  int *piVar20;\n  undefined *puVar21;\n  code *pcVar22;\n  uint unaff_retaddr;\n  code *pcVar23;\n  code *pcStackX_0;\n  Fts3Table *pFStackX_4;\n  sqlite3_stmt **ppsStackX_8;\n  uint uStackX_c;\n  undefined1 auStack_148 [12];\n  sqlite3_stmt *psStack_13c;\n  int iStack_134;\n  int *piStack_130;\n  Fts3DeferredToken *pFStack_12c;\n  code *pcStack_128;\n  code *pcStack_124;\n  code *pcStack_110;\n  Fts3PhraseToken *pFStack_108;\n  Fts3Table *pFStack_104;\n  Fts3Table *pFStack_100;\n  code *pcStack_fc;\n  code *pcStack_f8;\n  code *pcStack_f4;\n  code *pcStack_e0;\n  code *pcStack_d4;\n  sqlite3_stmt **ppsStack_d0;\n  code *pcStack_cc;\n  Fts3Table *pFStack_c8;\n  uint uStack_c4;\n  sqlite3_stmt *psStack_bc;\n  Fts3Table *pFStack_b8;\n  uint uStack_b4;\n  undefined4 auStack_b0 [3];\n  Fts3Table *pFStack_a4;\n  int iStack_a0;\n  int *piStack_9c;\n  sqlite3_stmt **ppsStack_98;\n  code *pcStack_94;\n  code *pcStack_68;\n  Fts3Table *pFStack_64;\n  sqlite3_stmt *psStack_58;\n  Fts3Table *pFStack_54;\n  undefined *puStack_50;\n  Fts3SegReader *pFStack_4c;\n  Fts3SegReader *pFStack_48;\n  sqlite3_stmt *pDelete;\n  Fts3Table *pFStack_14;\n  \n  puVar2 = PTR___stack_chk_guard_00190e24;\n  pcVar14 = (code *)0x0;\n  ppsVar13 = &pDelete;\n  pFStack_14 = *(Fts3Table **)PTR___stack_chk_guard_00190e24;\n  iVar3 = fts3SqlStmt(p,0x11,ppsVar13,(sqlite3_value **)0x0);\n  puVar21 = PTR_sqlite3_bind_int64_00190a90;\n  if (iVar3 == 0) {\n    uVar15._0_1_ = pSeg->bLookup;\n    uVar15._1_1_ = pSeg->rootOnly;\n    uVar15._2_2_ = *(undefined2 *)&pSeg->field_0x6;\n    (*(code *)PTR_sqlite3_bind_int64_00190a90)(pDelete,1,pSeg->iIdx,uVar15);\n    pcVar14 = *(code **)&pSeg_1->bLookup;\n    ppsVar13 = (sqlite3_stmt **)pSeg_1->iIdx;\n    (*(code *)puVar21)(pDelete,2);\n    (*(code *)PTR_sqlite3_step_00190990)(pDelete);\n    iVar3 = (*(code *)PTR_sqlite3_reset_00190a5c)(pDelete);\n    pSeg = (Fts3SegReader *)puVar21;\n  }\n  if (pFStack_14 == *(Fts3Table **)puVar2) {\n    return iVar3;\n  }\n  pFVar9 = pFStack_14;\n  puVar21 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  uVar16 = 0;\n  puStack_50 = puVar2;\n  pp = &psStack_58;\n  piVar19 = *(int **)(puVar21 + 0x65898);\n  pFStack_54 = (Fts3Table *)*piVar19;\n  pFStack_4c = pSeg_1;\n  pFStack_48 = pSeg;\n  iVar3 = fts3SqlStmt(pFVar9,0xb,pp,(sqlite3_value **)0x0);\n  ppsStack_d0 = pp;\n  if (iVar3 == 0) {\n    pcVar22 = *(code **)(puVar21 + 0x65504);\n    (*pcVar22)(psStack_58,1,ppsVar13,pcVar14);\n    (*pcVar22)(psStack_58,2,0,&_gp);\n    (*pcVar22)(psStack_58,3,pDelete,pFStack_14);\n    (*pcVar22)(psStack_58,4,unaff_s0,unaff_s1);\n    if (pcStackX_0 == (code *)0x0 && pFStackX_4 == (Fts3Table *)0x0) {\n      (*pcVar22)(psStack_58,5,unaff_s2,unaff_retaddr);\n      pcVar22 = (code *)(*(int *)(puVar21 + 0x65650) + 0x2f8c);\n    }\n    else {\n      pcStack_68 = pcStackX_0;\n      pFStack_64 = pFStackX_4;\n      iVar3 = (**(code **)(puVar21 + 0x653d8))(*(int *)(puVar21 + 0x653d0) + -0x748);\n      if (iVar3 == 0) {\n        iVar3 = 7;\n        ppsStack_d0 = unaff_s2;\n        uVar16 = unaff_retaddr;\n        goto LAB_0012b608;\n      }\n      pcVar22 = (code *)(*(int *)(puVar21 + 0x65650) + 0x2f8c);\n      (*pcVar22)(psStack_58,5,iVar3,0xffffffff);\n    }\n    pFStack_64 = (Fts3Table *)0x0;\n    pcStack_68 = (code *)0x0;\n    (*pcVar22)(psStack_58,6,ppsStackX_8,uStackX_c);\n    (**(code **)(puVar21 + 0x65404))(psStack_58);\n    iVar3 = (**(code **)(puVar21 + 0x654d0))(psStack_58);\n    (**(code **)(puVar21 + 0x654fc))(psStack_58,6);\n    ppsStack_d0 = ppsStackX_8;\n    uVar16 = uStackX_c;\n  }\nLAB_0012b608:\n  if (pFStack_54 == (Fts3Table *)*piVar19) {\n    return iVar3;\n  }\n  pcVar22 = *(code **)(puVar21 + 0x6586c);\n  pFVar9 = pFStack_54;\n  (*pcVar22)();\n  pcStack_e0 = pcVar22 + 0x6d180;\n  pFVar12 = (Fts3DeferredToken *)&DAT_00000025;\n  pcStack_cc = (code *)(*(int *)(pcVar22 + 0x654c4) + 0x10f8);\n  piVar20 = *(int **)(pcVar22 + 0x65684);\n  pFStack_a4 = (Fts3Table *)*piVar20;\n  pFStack_c8 = pFVar9;\n  iStack_a0 = iVar3;\n  piStack_9c = piVar19;\n  ppsStack_98 = ppsVar13;\n  pcStack_94 = pcVar14;\n  pcStack_fc = (code *)fts3SqlStmt(pFVar9,0x25,&psStack_bc,(sqlite3_value **)0x0);\n  ppsVar13 = ppsStack_d0;\n  if (pcStack_fc == (code *)0x0) {\n    pcStack_d4 = *(code **)(pcStack_e0 + -0x7e90);\n    pcVar14 = pcStack_68 +\n              (uint)((uint)((int)pFStack_64 * 3) < (uint)((int)pFStack_64 * 2)) +\n              ((uint)pFStack_64 >> 0x1f | (int)pcStack_68 << 1);\n    uVar4 = -((int)pcVar14 >> 0x1f) + (int)pFStack_64 * 3;\n    pFStack_64 = (Fts3Table *)((int)(pcVar14 + (uVar4 < (uint)-((int)pcVar14 >> 0x1f))) >> 1);\n    uStack_c4 = (int)(pcVar14 + (uVar4 < (uint)-((int)pcVar14 >> 0x1f))) * -0x80000000 | uVar4 >> 1;\n    (*pcStack_d4)(psStack_bc,1,(uint)(uVar16 + 1 < uVar16) + (int)ppsStack_d0);\n    uVar4 = uVar16;\n    if ((int)ppsVar13 < 0) {\n      uVar4 = uVar16 + 0x3ff;\n      ppsVar13 = (sqlite3_stmt **)((uint)(uVar4 < uVar16) + (int)ppsVar13);\n    }\n    pcStack_68 = *(code **)(pcStack_e0 + -0x7f90);\n    uVar4 = (int)ppsVar13 << 0x16 | uVar4 >> 10;\n    uVar17 = uVar4 + 1;\n    pFVar12 = (Fts3DeferredToken *)&SUB_00000002;\n    (*pcStack_d4)(psStack_bc,2,\n                  (uint)(uVar17 * 0x400 - 1 < uVar17 * 0x400) +\n                  ((uVar17 >> 0x16 | ((uint)(uVar17 < uVar4) + ((int)ppsVar13 >> 10)) * 0x400) - 1))\n    ;\n    iVar6 = *(int *)(pcStack_e0 + -0x7d60);\n    iVar3 = (*pcStack_68)(psStack_bc);\n    pcVar14 = (code *)(iVar6 + 0x7794);\n    bVar1 = false;\n    while (iVar3 == 100) {\n      pFVar12 = (Fts3DeferredToken *)&SUB_00000002;\n      pFStack_b8 = (Fts3Table *)0x0;\n      uStack_b4 = 0;\n      (*pcVar14)(psStack_bc,2,auStack_b0,&pFStack_b8);\n      if ((int)pFStack_b8 < 1) {\n        pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);\n        if (pFStack_b8 == (Fts3Table *)0x0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);\n        }\nLAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar22)(psStack_bc);\n        goto LAB_0012b828;\n      }\nLAB_0012b99c:\n      pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);\n      if (((int)pFStack_64 < (int)pFStack_b8) ||\n         ((pFStack_b8 == pFStack_64 &&\n          (pcVar22 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))) goto LAB_0012ba04;\n      bVar1 = true;\n      iVar3 = (*pcStack_68)(psStack_bc);\n    }\n    pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);\n    pcStack_fc = (code *)(*pcVar22)();\n    pFVar9 = pFStack_c8;\n    if (bVar1) {\n      pFStack_b8 = (Fts3Table *)0x0;\n      auStack_b0[0] = 0;\n      if (pcStack_fc == (code *)0x0) {\n        pFVar12 = (Fts3DeferredToken *)0x26;\n        pcStack_fc = (code *)(*pcStack_cc)(pFStack_c8,0x26,&pFStack_b8,0);\n        pFStack_64 = pFVar9;\n        if (pcStack_fc == (code *)0x0) {\n          pFVar12 = (Fts3DeferredToken *)&DAT_00000027;\n          pcStack_fc = (code *)(*pcStack_cc)(pFVar9,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            pFVar12 = (Fts3DeferredToken *)0x1;\n            iVar3 = 0;\n            pcVar14 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(psStack_bc,1,ppsStack_d0,uVar16);\n            pFStack_64 = (Fts3Table *)0x0;\n            do {\n              iVar6 = (*pcStack_68)(psStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar22)(psStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  pFVar12 = (Fts3DeferredToken *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,ppsStack_d0,uVar16);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar22)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(pFStack_b8,1,iVar3,pFStack_64);\n              pFVar9 = pFStack_b8;\n              iVar6 = (*pcVar14)(psStack_bc,0);\n              (*pcStack_d4)(pFVar9,2,iVar6 >> 0x1f,iVar6);\n              pFVar9 = pFStack_b8;\n              iVar6 = (*pcVar14)(psStack_bc,1);\n              pFVar12 = (Fts3DeferredToken *)0x3;\n              (*pcStack_d4)(pFVar9,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(pFStack_b8);\n              pcVar23 = (code *)(*pcVar22)(pFStack_b8);\n              pFVar9 = (Fts3Table *)((int)&(pFStack_64->base).pModule + 1);\n              iVar3 = (uint)(pFVar9 < pFStack_64) + iVar3;\n              pFStack_64 = pFVar9;\n            } while (pcVar23 == (code *)0x0);\n            pcStack_d4 = pcVar23;\n            (*pcVar22)(psStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }\n      }\n    }\n  }\nLAB_0012b828:\n  if (pFStack_a4 == (Fts3Table *)*piVar20) {\n    return (int)pcStack_fc;\n  }\n  pcVar22 = *(code **)(pcStack_e0 + -0x7b28);\n  pcVar23 = sqlite3Fts3SelectDoctotal;\n  pFVar9 = pFStack_a4;\n  (*pcVar22)();\n  pcStack_110 = pcVar22 + 0x6cd34;\n  piVar19 = (int *)0x0;\n  pp_00 = &pFStack_108;\n  ppStmt = (Fts3Cursor *)&DAT_00000016;\n  piVar20 = *(int **)(pcVar22 + 0x65238);\n  pFStack_108 = (Fts3PhraseToken *)0x0;\n  pFStack_104 = (Fts3Table *)*piVar20;\n  pFStack_100 = pFStack_64;\n  pcStack_f8 = pcStack_68;\n  pcStack_f4 = pcVar23;\n  iVar3 = fts3SqlStmt(pFVar9,0x16,(sqlite3_stmt **)pp_00,(sqlite3_value **)0x0);\n  pFVar8 = pFStack_108;\n  if (iVar3 == 0) {\n    piVar19 = (int *)0x0;\n    pp_00 = (Fts3PhraseToken **)0x0;\n    ppStmt = (Fts3Cursor *)0x1;\n    (**(code **)(pcStack_110 + -0x7e90))(pFStack_108);\n    iVar6 = (**(code **)(pcStack_110 + -0x7f90))(pFStack_108);\n    if (iVar6 == 100) {\n      ppStmt = (Fts3Cursor *)0x0;\n      iVar6 = (**(code **)(pcStack_110 + -0x7f8c))(pFStack_108);\n      pFVar8 = pFStack_108;\n      if (iVar6 == 4) goto LAB_0012bc50;\n    }\n    iVar3 = (**(code **)(pcStack_110 + -0x7ec4))(pFStack_108);\n    if (iVar3 == 0) {\n      iVar3 = 0x10b;\n    }\n    pFVar8 = (Fts3PhraseToken *)0x0;\n  }\nLAB_0012bc50:\n  pFVar12->pToken = pFVar8;\n  if (pFStack_104 == (Fts3Table *)*piVar20) {\n    return iVar3;\n  }\n  pcVar22 = *(code **)(pcStack_110 + -0x7b28);\n  pcVar23 = fts3MatchinfoSelectDoctotal;\n  pFVar9 = pFStack_104;\n  (*pcVar22)();\n  piVar18 = *(int **)(pcVar22 + 0x65120);\n  psVar5 = (ppStmt->base).pVtab;\n  psStack_13c = (sqlite3_stmt *)*piVar18;\n  iStack_134 = iVar3;\n  piStack_130 = piVar20;\n  pFStack_12c = pFVar12;\n  pcStack_128 = pcVar14;\n  pcStack_124 = pcVar23;\n  if (psVar5 == (sqlite3_vtab *)0x0) {\n    pCsr = ppStmt;\n    iVar3 = sqlite3Fts3SelectDoctotal(pFVar9,(sqlite3_stmt **)ppStmt);\n    if (iVar3 == 0) {\n      psVar5 = (ppStmt->base).pVtab;\n      goto LAB_0012bd4c;\n    }\n  }\n  else {\nLAB_0012bd4c:\n    iVar6 = (**(code **)(pcVar22 + 0x64c9c))(psVar5,0);\n    pCsr = (Fts3Cursor *)auStack_148;\n    iVar7 = (*(code *)(*(int *)(pcVar22 + 0x64e3c) + 0x3ec8))(iVar6);\n    if ((sqlite3_vtab *)auStack_148._0_4_ == (sqlite3_vtab *)0x0 &&\n        (Fts3PhraseToken *)auStack_148._4_4_ == (Fts3PhraseToken *)0x0) {\n      iVar3 = 0x10b;\n    }\n    else {\n      *pp_00 = (Fts3PhraseToken *)0x0;\n      pp_00[1] = (Fts3PhraseToken *)auStack_148._4_4_;\n      if (piVar19 == (int *)0x0) {\n        iVar3 = 0;\n      }\n      else {\n        iVar3 = 0;\n        *piVar19 = iVar6 + iVar7;\n      }\n    }\n  }\n  if (psStack_13c == (sqlite3_stmt *)*piVar18) {\n    return iVar3;\n  }\n  pcVar14 = *(code **)(pcVar22 + 0x650f4);\n  psVar10 = psStack_13c;\n  (*pcVar14)();\n  psVar11 = pCsr->pStmt;\n  if (psVar11 == (sqlite3_stmt *)0x0) {\n    iVar3 = fts3CursorSeekStmt(pCsr);\n    if (iVar3 != 0) goto LAB_0012be7c;\n    psVar11 = pCsr->pStmt;\n  }\n  (**(code **)(pcVar14 + 0x64c8c))(psVar11,1,*(undefined4 *)&pCsr->iPrevId,(int)pCsr->iPrevId);\n  pcVar22 = *(code **)(pcVar14 + 0x64b8c);\n  pCsr->isRequireSeek = '\0';\n  iVar3 = (*pcVar22)(pCsr->pStmt);\n  if (iVar3 == 100) {\n    return 0;\n  }\n  iVar3 = (**(code **)(pcVar14 + 0x64c58))(pCsr->pStmt);\n  if (iVar3 == 0) {\n    if ((pCsr->base).pVtab[3].nRef != 0) {\n      return 0;\n    }\n    iVar3 = 0x10b;\n    pCsr->isEof = '\x01';\n  }\nLAB_0012be7c:\n  if (psVar10 != (sqlite3_stmt *)0x0) {\n    (**(code **)(pcVar14 + 0x64bd0))(psVar10,iVar3);\n  }\n  return iVar3;\n}" primitive_type (function_declarator "fts3DeleteSegment(Fts3Table *p,Fts3SegReader *pSeg,Fts3SegReader *pSeg_1)" identifier (parameter_list "(Fts3Table *p,Fts3SegReader *pSeg,Fts3SegReader *pSeg_1)" ( (parameter_declaration "Fts3Table *p" type_identifier (pointer_declarator "*p" * identifier)) , (parameter_declaration "Fts3SegReader *pSeg" type_identifier (pointer_declarator "*pSeg" * identifier)) , (parameter_declaration "Fts3SegReader *pSeg_1" type_identifier (pointer_declarator "*pSeg_1" * identifier)) ))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  sqlite3_vtab *psVar5;\n  int iVar6;\n  int iVar7;\n  Fts3PhraseToken *pFVar8;\n  Fts3Table *pFVar9;\n  sqlite3_stmt *psVar10;\n  sqlite3_stmt *psVar11;\n  Fts3DeferredToken *pFVar12;\n  Fts3Cursor *ppStmt;\n  Fts3Cursor *pCsr;\n  sqlite3_stmt **pp;\n  sqlite3_stmt **ppsVar13;\n  Fts3PhraseToken **pp_00;\n  code *pcVar14;\n  undefined4 uVar15;\n  uint uVar16;\n  uint uVar17;\n  undefined4 unaff_s0;\n  int *piVar18;\n  undefined4 unaff_s1;\n  int *piVar19;\n  sqlite3_stmt **unaff_s2;\n  int *piVar20;\n  undefined *puVar21;\n  code *pcVar22;\n  uint unaff_retaddr;\n  code *pcVar23;\n  code *pcStackX_0;\n  Fts3Table *pFStackX_4;\n  sqlite3_stmt **ppsStackX_8;\n  uint uStackX_c;\n  undefined1 auStack_148 [12];\n  sqlite3_stmt *psStack_13c;\n  int iStack_134;\n  int *piStack_130;\n  Fts3DeferredToken *pFStack_12c;\n  code *pcStack_128;\n  code *pcStack_124;\n  code *pcStack_110;\n  Fts3PhraseToken *pFStack_108;\n  Fts3Table *pFStack_104;\n  Fts3Table *pFStack_100;\n  code *pcStack_fc;\n  code *pcStack_f8;\n  code *pcStack_f4;\n  code *pcStack_e0;\n  code *pcStack_d4;\n  sqlite3_stmt **ppsStack_d0;\n  code *pcStack_cc;\n  Fts3Table *pFStack_c8;\n  uint uStack_c4;\n  sqlite3_stmt *psStack_bc;\n  Fts3Table *pFStack_b8;\n  uint uStack_b4;\n  undefined4 auStack_b0 [3];\n  Fts3Table *pFStack_a4;\n  int iStack_a0;\n  int *piStack_9c;\n  sqlite3_stmt **ppsStack_98;\n  code *pcStack_94;\n  code *pcStack_68;\n  Fts3Table *pFStack_64;\n  sqlite3_stmt *psStack_58;\n  Fts3Table *pFStack_54;\n  undefined *puStack_50;\n  Fts3SegReader *pFStack_4c;\n  Fts3SegReader *pFStack_48;\n  sqlite3_stmt *pDelete;\n  Fts3Table *pFStack_14;\n  \n  puVar2 = PTR___stack_chk_guard_00190e24;\n  pcVar14 = (code *)0x0;\n  ppsVar13 = &pDelete;\n  pFStack_14 = *(Fts3Table **)PTR___stack_chk_guard_00190e24;\n  iVar3 = fts3SqlStmt(p,0x11,ppsVar13,(sqlite3_value **)0x0);\n  puVar21 = PTR_sqlite3_bind_int64_00190a90;\n  if (iVar3 == 0) {\n    uVar15._0_1_ = pSeg->bLookup;\n    uVar15._1_1_ = pSeg->rootOnly;\n    uVar15._2_2_ = *(undefined2 *)&pSeg->field_0x6;\n    (*(code *)PTR_sqlite3_bind_int64_00190a90)(pDelete,1,pSeg->iIdx,uVar15);\n    pcVar14 = *(code **)&pSeg_1->bLookup;\n    ppsVar13 = (sqlite3_stmt **)pSeg_1->iIdx;\n    (*(code *)puVar21)(pDelete,2);\n    (*(code *)PTR_sqlite3_step_00190990)(pDelete);\n    iVar3 = (*(code *)PTR_sqlite3_reset_00190a5c)(pDelete);\n    pSeg = (Fts3SegReader *)puVar21;\n  }\n  if (pFStack_14 == *(Fts3Table **)puVar2) {\n    return iVar3;\n  }\n  pFVar9 = pFStack_14;\n  puVar21 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  uVar16 = 0;\n  puStack_50 = puVar2;\n  pp = &psStack_58;\n  piVar19 = *(int **)(puVar21 + 0x65898);\n  pFStack_54 = (Fts3Table *)*piVar19;\n  pFStack_4c = pSeg_1;\n  pFStack_48 = pSeg;\n  iVar3 = fts3SqlStmt(pFVar9,0xb,pp,(sqlite3_value **)0x0);\n  ppsStack_d0 = pp;\n  if (iVar3 == 0) {\n    pcVar22 = *(code **)(puVar21 + 0x65504);\n    (*pcVar22)(psStack_58,1,ppsVar13,pcVar14);\n    (*pcVar22)(psStack_58,2,0,&_gp);\n    (*pcVar22)(psStack_58,3,pDelete,pFStack_14);\n    (*pcVar22)(psStack_58,4,unaff_s0,unaff_s1);\n    if (pcStackX_0 == (code *)0x0 && pFStackX_4 == (Fts3Table *)0x0) {\n      (*pcVar22)(psStack_58,5,unaff_s2,unaff_retaddr);\n      pcVar22 = (code *)(*(int *)(puVar21 + 0x65650) + 0x2f8c);\n    }\n    else {\n      pcStack_68 = pcStackX_0;\n      pFStack_64 = pFStackX_4;\n      iVar3 = (**(code **)(puVar21 + 0x653d8))(*(int *)(puVar21 + 0x653d0) + -0x748);\n      if (iVar3 == 0) {\n        iVar3 = 7;\n        ppsStack_d0 = unaff_s2;\n        uVar16 = unaff_retaddr;\n        goto LAB_0012b608;\n      }\n      pcVar22 = (code *)(*(int *)(puVar21 + 0x65650) + 0x2f8c);\n      (*pcVar22)(psStack_58,5,iVar3,0xffffffff);\n    }\n    pFStack_64 = (Fts3Table *)0x0;\n    pcStack_68 = (code *)0x0;\n    (*pcVar22)(psStack_58,6,ppsStackX_8,uStackX_c);\n    (**(code **)(puVar21 + 0x65404))(psStack_58);\n    iVar3 = (**(code **)(puVar21 + 0x654d0))(psStack_58);\n    (**(code **)(puVar21 + 0x654fc))(psStack_58,6);\n    ppsStack_d0 = ppsStackX_8;\n    uVar16 = uStackX_c;\n  }\nLAB_0012b608:\n  if (pFStack_54 == (Fts3Table *)*piVar19) {\n    return iVar3;\n  }\n  pcVar22 = *(code **)(puVar21 + 0x6586c);\n  pFVar9 = pFStack_54;\n  (*pcVar22)();\n  pcStack_e0 = pcVar22 + 0x6d180;\n  pFVar12 = (Fts3DeferredToken *)&DAT_00000025;\n  pcStack_cc = (code *)(*(int *)(pcVar22 + 0x654c4) + 0x10f8);\n  piVar20 = *(int **)(pcVar22 + 0x65684);\n  pFStack_a4 = (Fts3Table *)*piVar20;\n  pFStack_c8 = pFVar9;\n  iStack_a0 = iVar3;\n  piStack_9c = piVar19;\n  ppsStack_98 = ppsVar13;\n  pcStack_94 = pcVar14;\n  pcStack_fc = (code *)fts3SqlStmt(pFVar9,0x25,&psStack_bc,(sqlite3_value **)0x0);\n  ppsVar13 = ppsStack_d0;\n  if (pcStack_fc == (code *)0x0) {\n    pcStack_d4 = *(code **)(pcStack_e0 + -0x7e90);\n    pcVar14 = pcStack_68 +\n              (uint)((uint)((int)pFStack_64 * 3) < (uint)((int)pFStack_64 * 2)) +\n              ((uint)pFStack_64 >> 0x1f | (int)pcStack_68 << 1);\n    uVar4 = -((int)pcVar14 >> 0x1f) + (int)pFStack_64 * 3;\n    pFStack_64 = (Fts3Table *)((int)(pcVar14 + (uVar4 < (uint)-((int)pcVar14 >> 0x1f))) >> 1);\n    uStack_c4 = (int)(pcVar14 + (uVar4 < (uint)-((int)pcVar14 >> 0x1f))) * -0x80000000 | uVar4 >> 1;\n    (*pcStack_d4)(psStack_bc,1,(uint)(uVar16 + 1 < uVar16) + (int)ppsStack_d0);\n    uVar4 = uVar16;\n    if ((int)ppsVar13 < 0) {\n      uVar4 = uVar16 + 0x3ff;\n      ppsVar13 = (sqlite3_stmt **)((uint)(uVar4 < uVar16) + (int)ppsVar13);\n    }\n    pcStack_68 = *(code **)(pcStack_e0 + -0x7f90);\n    uVar4 = (int)ppsVar13 << 0x16 | uVar4 >> 10;\n    uVar17 = uVar4 + 1;\n    pFVar12 = (Fts3DeferredToken *)&SUB_00000002;\n    (*pcStack_d4)(psStack_bc,2,\n                  (uint)(uVar17 * 0x400 - 1 < uVar17 * 0x400) +\n                  ((uVar17 >> 0x16 | ((uint)(uVar17 < uVar4) + ((int)ppsVar13 >> 10)) * 0x400) - 1))\n    ;\n    iVar6 = *(int *)(pcStack_e0 + -0x7d60);\n    iVar3 = (*pcStack_68)(psStack_bc);\n    pcVar14 = (code *)(iVar6 + 0x7794);\n    bVar1 = false;\n    while (iVar3 == 100) {\n      pFVar12 = (Fts3DeferredToken *)&SUB_00000002;\n      pFStack_b8 = (Fts3Table *)0x0;\n      uStack_b4 = 0;\n      (*pcVar14)(psStack_bc,2,auStack_b0,&pFStack_b8);\n      if ((int)pFStack_b8 < 1) {\n        pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);\n        if (pFStack_b8 == (Fts3Table *)0x0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);\n        }\nLAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar22)(psStack_bc);\n        goto LAB_0012b828;\n      }\nLAB_0012b99c:\n      pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);\n      if (((int)pFStack_64 < (int)pFStack_b8) ||\n         ((pFStack_b8 == pFStack_64 &&\n          (pcVar22 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))) goto LAB_0012ba04;\n      bVar1 = true;\n      iVar3 = (*pcStack_68)(psStack_bc);\n    }\n    pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);\n    pcStack_fc = (code *)(*pcVar22)();\n    pFVar9 = pFStack_c8;\n    if (bVar1) {\n      pFStack_b8 = (Fts3Table *)0x0;\n      auStack_b0[0] = 0;\n      if (pcStack_fc == (code *)0x0) {\n        pFVar12 = (Fts3DeferredToken *)0x26;\n        pcStack_fc = (code *)(*pcStack_cc)(pFStack_c8,0x26,&pFStack_b8,0);\n        pFStack_64 = pFVar9;\n        if (pcStack_fc == (code *)0x0) {\n          pFVar12 = (Fts3DeferredToken *)&DAT_00000027;\n          pcStack_fc = (code *)(*pcStack_cc)(pFVar9,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            pFVar12 = (Fts3DeferredToken *)0x1;\n            iVar3 = 0;\n            pcVar14 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(psStack_bc,1,ppsStack_d0,uVar16);\n            pFStack_64 = (Fts3Table *)0x0;\n            do {\n              iVar6 = (*pcStack_68)(psStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar22)(psStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  pFVar12 = (Fts3DeferredToken *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,ppsStack_d0,uVar16);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar22)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(pFStack_b8,1,iVar3,pFStack_64);\n              pFVar9 = pFStack_b8;\n              iVar6 = (*pcVar14)(psStack_bc,0);\n              (*pcStack_d4)(pFVar9,2,iVar6 >> 0x1f,iVar6);\n              pFVar9 = pFStack_b8;\n              iVar6 = (*pcVar14)(psStack_bc,1);\n              pFVar12 = (Fts3DeferredToken *)0x3;\n              (*pcStack_d4)(pFVar9,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(pFStack_b8);\n              pcVar23 = (code *)(*pcVar22)(pFStack_b8);\n              pFVar9 = (Fts3Table *)((int)&(pFStack_64->base).pModule + 1);\n              iVar3 = (uint)(pFVar9 < pFStack_64) + iVar3;\n              pFStack_64 = pFVar9;\n            } while (pcVar23 == (code *)0x0);\n            pcStack_d4 = pcVar23;\n            (*pcVar22)(psStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }\n      }\n    }\n  }\nLAB_0012b828:\n  if (pFStack_a4 == (Fts3Table *)*piVar20) {\n    return (int)pcStack_fc;\n  }\n  pcVar22 = *(code **)(pcStack_e0 + -0x7b28);\n  pcVar23 = sqlite3Fts3SelectDoctotal;\n  pFVar9 = pFStack_a4;\n  (*pcVar22)();\n  pcStack_110 = pcVar22 + 0x6cd34;\n  piVar19 = (int *)0x0;\n  pp_00 = &pFStack_108;\n  ppStmt = (Fts3Cursor *)&DAT_00000016;\n  piVar20 = *(int **)(pcVar22 + 0x65238);\n  pFStack_108 = (Fts3PhraseToken *)0x0;\n  pFStack_104 = (Fts3Table *)*piVar20;\n  pFStack_100 = pFStack_64;\n  pcStack_f8 = pcStack_68;\n  pcStack_f4 = pcVar23;\n  iVar3 = fts3SqlStmt(pFVar9,0x16,(sqlite3_stmt **)pp_00,(sqlite3_value **)0x0);\n  pFVar8 = pFStack_108;\n  if (iVar3 == 0) {\n    piVar19 = (int *)0x0;\n    pp_00 = (Fts3PhraseToken **)0x0;\n    ppStmt = (Fts3Cursor *)0x1;\n    (**(code **)(pcStack_110 + -0x7e90))(pFStack_108);\n    iVar6 = (**(code **)(pcStack_110 + -0x7f90))(pFStack_108);\n    if (iVar6 == 100) {\n      ppStmt = (Fts3Cursor *)0x0;\n      iVar6 = (**(code **)(pcStack_110 + -0x7f8c))(pFStack_108);\n      pFVar8 = pFStack_108;\n      if (iVar6 == 4) goto LAB_0012bc50;\n    }\n    iVar3 = (**(code **)(pcStack_110 + -0x7ec4))(pFStack_108);\n    if (iVar3 == 0) {\n      iVar3 = 0x10b;\n    }\n    pFVar8 = (Fts3PhraseToken *)0x0;\n  }\nLAB_0012bc50:\n  pFVar12->pToken = pFVar8;\n  if (pFStack_104 == (Fts3Table *)*piVar20) {\n    return iVar3;\n  }\n  pcVar22 = *(code **)(pcStack_110 + -0x7b28);\n  pcVar23 = fts3MatchinfoSelectDoctotal;\n  pFVar9 = pFStack_104;\n  (*pcVar22)();\n  piVar18 = *(int **)(pcVar22 + 0x65120);\n  psVar5 = (ppStmt->base).pVtab;\n  psStack_13c = (sqlite3_stmt *)*piVar18;\n  iStack_134 = iVar3;\n  piStack_130 = piVar20;\n  pFStack_12c = pFVar12;\n  pcStack_128 = pcVar14;\n  pcStack_124 = pcVar23;\n  if (psVar5 == (sqlite3_vtab *)0x0) {\n    pCsr = ppStmt;\n    iVar3 = sqlite3Fts3SelectDoctotal(pFVar9,(sqlite3_stmt **)ppStmt);\n    if (iVar3 == 0) {\n      psVar5 = (ppStmt->base).pVtab;\n      goto LAB_0012bd4c;\n    }\n  }\n  else {\nLAB_0012bd4c:\n    iVar6 = (**(code **)(pcVar22 + 0x64c9c))(psVar5,0);\n    pCsr = (Fts3Cursor *)auStack_148;\n    iVar7 = (*(code *)(*(int *)(pcVar22 + 0x64e3c) + 0x3ec8))(iVar6);\n    if ((sqlite3_vtab *)auStack_148._0_4_ == (sqlite3_vtab *)0x0 &&\n        (Fts3PhraseToken *)auStack_148._4_4_ == (Fts3PhraseToken *)0x0) {\n      iVar3 = 0x10b;\n    }\n    else {\n      *pp_00 = (Fts3PhraseToken *)0x0;\n      pp_00[1] = (Fts3PhraseToken *)auStack_148._4_4_;\n      if (piVar19 == (int *)0x0) {\n        iVar3 = 0;\n      }\n      else {\n        iVar3 = 0;\n        *piVar19 = iVar6 + iVar7;\n      }\n    }\n  }\n  if (psStack_13c == (sqlite3_stmt *)*piVar18) {\n    return iVar3;\n  }\n  pcVar14 = *(code **)(pcVar22 + 0x650f4);\n  psVar10 = psStack_13c;\n  (*pcVar14)();\n  psVar11 = pCsr->pStmt;\n  if (psVar11 == (sqlite3_stmt *)0x0) {\n    iVar3 = fts3CursorSeekStmt(pCsr);\n    if (iVar3 != 0) goto LAB_0012be7c;\n    psVar11 = pCsr->pStmt;\n  }\n  (**(code **)(pcVar14 + 0x64c8c))(psVar11,1,*(undefined4 *)&pCsr->iPrevId,(int)pCsr->iPrevId);\n  pcVar22 = *(code **)(pcVar14 + 0x64b8c);\n  pCsr->isRequireSeek = '\0';\n  iVar3 = (*pcVar22)(pCsr->pStmt);\n  if (iVar3 == 100) {\n    return 0;\n  }\n  iVar3 = (**(code **)(pcVar14 + 0x64c58))(pCsr->pStmt);\n  if (iVar3 == 0) {\n    if ((pCsr->base).pVtab[3].nRef != 0) {\n      return 0;\n    }\n    iVar3 = 0x10b;\n    pCsr->isEof = '\x01';\n  }\nLAB_0012be7c:\n  if (psVar10 != (sqlite3_stmt *)0x0) {\n    (**(code **)(pcVar14 + 0x64bd0))(psVar10,iVar3);\n  }\n  return iVar3;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "sqlite3_vtab *psVar5;" type_identifier (pointer_declarator "*psVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "Fts3PhraseToken *pFVar8;" type_identifier (pointer_declarator "*pFVar8" * identifier) ;) (declaration "Fts3Table *pFVar9;" type_identifier (pointer_declarator "*pFVar9" * identifier) ;) (declaration "sqlite3_stmt *psVar10;" type_identifier (pointer_declarator "*psVar10" * identifier) ;) (declaration "sqlite3_stmt *psVar11;" type_identifier (pointer_declarator "*psVar11" * identifier) ;) (declaration "Fts3DeferredToken *pFVar12;" type_identifier (pointer_declarator "*pFVar12" * identifier) ;) (declaration "Fts3Cursor *ppStmt;" type_identifier (pointer_declarator "*ppStmt" * identifier) ;) (declaration "Fts3Cursor *pCsr;" type_identifier (pointer_declarator "*pCsr" * identifier) ;) (declaration "sqlite3_stmt **pp;" type_identifier (pointer_declarator "**pp" * (pointer_declarator "*pp" * identifier)) ;) (declaration "sqlite3_stmt **ppsVar13;" type_identifier (pointer_declarator "**ppsVar13" * (pointer_declarator "*ppsVar13" * identifier)) ;) (declaration "Fts3PhraseToken **pp_00;" type_identifier (pointer_declarator "**pp_00" * (pointer_declarator "*pp_00" * identifier)) ;) (declaration "code *pcVar14;" type_identifier (pointer_declarator "*pcVar14" * identifier) ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "undefined4 unaff_s0;" type_identifier identifier ;) (declaration "int *piVar18;" primitive_type (pointer_declarator "*piVar18" * identifier) ;) (declaration "undefined4 unaff_s1;" type_identifier identifier ;) (declaration "int *piVar19;" primitive_type (pointer_declarator "*piVar19" * identifier) ;) (declaration "sqlite3_stmt **unaff_s2;" type_identifier (pointer_declarator "**unaff_s2" * (pointer_declarator "*unaff_s2" * identifier)) ;) (declaration "int *piVar20;" primitive_type (pointer_declarator "*piVar20" * identifier) ;) (declaration "undefined *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "code *pcVar22;" type_identifier (pointer_declarator "*pcVar22" * identifier) ;) (declaration "uint unaff_retaddr;" type_identifier identifier ;) (declaration "code *pcVar23;" type_identifier (pointer_declarator "*pcVar23" * identifier) ;) (declaration "code *pcStackX_0;" type_identifier (pointer_declarator "*pcStackX_0" * identifier) ;) (declaration "Fts3Table *pFStackX_4;" type_identifier (pointer_declarator "*pFStackX_4" * identifier) ;) (declaration "sqlite3_stmt **ppsStackX_8;" type_identifier (pointer_declarator "**ppsStackX_8" * (pointer_declarator "*ppsStackX_8" * identifier)) ;) (declaration "uint uStackX_c;" type_identifier identifier ;) (declaration "undefined1 auStack_148 [12];" type_identifier (array_declarator "auStack_148 [12]" identifier [ number_literal ]) ;) (declaration "sqlite3_stmt *psStack_13c;" type_identifier (pointer_declarator "*psStack_13c" * identifier) ;) (declaration "int iStack_134;" primitive_type identifier ;) (declaration "int *piStack_130;" primitive_type (pointer_declarator "*piStack_130" * identifier) ;) (declaration "Fts3DeferredToken *pFStack_12c;" type_identifier (pointer_declarator "*pFStack_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_110;" type_identifier (pointer_declarator "*pcStack_110" * identifier) ;) (declaration "Fts3PhraseToken *pFStack_108;" type_identifier (pointer_declarator "*pFStack_108" * identifier) ;) (declaration "Fts3Table *pFStack_104;" type_identifier (pointer_declarator "*pFStack_104" * identifier) ;) (declaration "Fts3Table *pFStack_100;" type_identifier (pointer_declarator "*pFStack_100" * identifier) ;) (declaration "code *pcStack_fc;" type_identifier (pointer_declarator "*pcStack_fc" * identifier) ;) (declaration "code *pcStack_f8;" type_identifier (pointer_declarator "*pcStack_f8" * identifier) ;) (declaration "code *pcStack_f4;" type_identifier (pointer_declarator "*pcStack_f4" * identifier) ;) (declaration "code *pcStack_e0;" type_identifier (pointer_declarator "*pcStack_e0" * identifier) ;) (declaration "code *pcStack_d4;" type_identifier (pointer_declarator "*pcStack_d4" * identifier) ;) (declaration "sqlite3_stmt **ppsStack_d0;" type_identifier (pointer_declarator "**ppsStack_d0" * (pointer_declarator "*ppsStack_d0" * identifier)) ;) (declaration "code *pcStack_cc;" type_identifier (pointer_declarator "*pcStack_cc" * identifier) ;) (declaration "Fts3Table *pFStack_c8;" type_identifier (pointer_declarator "*pFStack_c8" * identifier) ;) (declaration "uint uStack_c4;" type_identifier identifier ;) (declaration "sqlite3_stmt *psStack_bc;" type_identifier (pointer_declarator "*psStack_bc" * identifier) ;) (declaration "Fts3Table *pFStack_b8;" type_identifier (pointer_declarator "*pFStack_b8" * identifier) ;) (declaration "uint uStack_b4;" type_identifier identifier ;) (declaration "undefined4 auStack_b0 [3];" type_identifier (array_declarator "auStack_b0 [3]" identifier [ number_literal ]) ;) (declaration "Fts3Table *pFStack_a4;" type_identifier (pointer_declarator "*pFStack_a4" * identifier) ;) (declaration "int iStack_a0;" primitive_type identifier ;) (declaration "int *piStack_9c;" primitive_type (pointer_declarator "*piStack_9c" * identifier) ;) (declaration "sqlite3_stmt **ppsStack_98;" type_identifier (pointer_declarator "**ppsStack_98" * (pointer_declarator "*ppsStack_98" * identifier)) ;) (declaration "code *pcStack_94;" type_identifier (pointer_declarator "*pcStack_94" * identifier) ;) (declaration "code *pcStack_68;" type_identifier (pointer_declarator "*pcStack_68" * identifier) ;) (declaration "Fts3Table *pFStack_64;" type_identifier (pointer_declarator "*pFStack_64" * identifier) ;) (declaration "sqlite3_stmt *psStack_58;" type_identifier (pointer_declarator "*psStack_58" * identifier) ;) (declaration "Fts3Table *pFStack_54;" type_identifier (pointer_declarator "*pFStack_54" * identifier) ;) (declaration "undefined *puStack_50;" type_identifier (pointer_declarator "*puStack_50" * identifier) ;) (declaration "Fts3SegReader *pFStack_4c;" type_identifier (pointer_declarator "*pFStack_4c" * identifier) ;) (declaration "Fts3SegReader *pFStack_48;" type_identifier (pointer_declarator "*pFStack_48" * identifier) ;) (declaration "sqlite3_stmt *pDelete;" type_identifier (pointer_declarator "*pDelete" * identifier) ;) (declaration "Fts3Table *pFStack_14;" type_identifier (pointer_declarator "*pFStack_14" * identifier) ;) (expression_statement "puVar2 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar2 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "pcVar14 = (code *)0x0;" (assignment_expression "pcVar14 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppsVar13 = &pDelete;" (assignment_expression "ppsVar13 = &pDelete" identifier = (pointer_expression "&pDelete" & identifier)) ;) (expression_statement "pFStack_14 = *(Fts3Table **)PTR___stack_chk_guard_00190e24;" (assignment_expression "pFStack_14 = *(Fts3Table **)PTR___stack_chk_guard_00190e24" identifier = (pointer_expression "*(Fts3Table **)PTR___stack_chk_guard_00190e24" * (cast_expression "(Fts3Table **)PTR___stack_chk_guard_00190e24" ( (type_descriptor "Fts3Table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "iVar3 = fts3SqlStmt(p,0x11,ppsVar13,(sqlite3_value **)0x0);" (assignment_expression "iVar3 = fts3SqlStmt(p,0x11,ppsVar13,(sqlite3_value **)0x0)" identifier = (call_expression "fts3SqlStmt(p,0x11,ppsVar13,(sqlite3_value **)0x0)" identifier (argument_list "(p,0x11,ppsVar13,(sqlite3_value **)0x0)" ( identifier , number_literal , identifier , (cast_expression "(sqlite3_value **)0x0" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) )))) ;) (expression_statement "puVar21 = PTR_sqlite3_bind_int64_00190a90;" (assignment_expression "puVar21 = PTR_sqlite3_bind_int64_00190a90" identifier = identifier) ;) (if_statement "if (iVar3 == 0) {\n    uVar15._0_1_ = pSeg->bLookup;\n    uVar15._1_1_ = pSeg->rootOnly;\n    uVar15._2_2_ = *(undefined2 *)&pSeg->field_0x6;\n    (*(code *)PTR_sqlite3_bind_int64_00190a90)(pDelete,1,pSeg->iIdx,uVar15);\n    pcVar14 = *(code **)&pSeg_1->bLookup;\n    ppsVar13 = (sqlite3_stmt **)pSeg_1->iIdx;\n    (*(code *)puVar21)(pDelete,2);\n    (*(code *)PTR_sqlite3_step_00190990)(pDelete);\n    iVar3 = (*(code *)PTR_sqlite3_reset_00190a5c)(pDelete);\n    pSeg = (Fts3SegReader *)puVar21;\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar15._0_1_ = pSeg->bLookup;\n    uVar15._1_1_ = pSeg->rootOnly;\n    uVar15._2_2_ = *(undefined2 *)&pSeg->field_0x6;\n    (*(code *)PTR_sqlite3_bind_int64_00190a90)(pDelete,1,pSeg->iIdx,uVar15);\n    pcVar14 = *(code **)&pSeg_1->bLookup;\n    ppsVar13 = (sqlite3_stmt **)pSeg_1->iIdx;\n    (*(code *)puVar21)(pDelete,2);\n    (*(code *)PTR_sqlite3_step_00190990)(pDelete);\n    iVar3 = (*(code *)PTR_sqlite3_reset_00190a5c)(pDelete);\n    pSeg = (Fts3SegReader *)puVar21;\n  }" { (expression_statement "uVar15._0_1_ = pSeg->bLookup;" (assignment_expression "uVar15._0_1_ = pSeg->bLookup" (field_expression "uVar15._0_1_" identifier . field_identifier) = (field_expression "pSeg->bLookup" identifier -> field_identifier)) ;) (expression_statement "uVar15._1_1_ = pSeg->rootOnly;" (assignment_expression "uVar15._1_1_ = pSeg->rootOnly" (field_expression "uVar15._1_1_" identifier . field_identifier) = (field_expression "pSeg->rootOnly" identifier -> field_identifier)) ;) (expression_statement "uVar15._2_2_ = *(undefined2 *)&pSeg->field_0x6;" (assignment_expression "uVar15._2_2_ = *(undefined2 *)&pSeg->field_0x6" (field_expression "uVar15._2_2_" identifier . field_identifier) = (pointer_expression "*(undefined2 *)&pSeg->field_0x6" * (cast_expression "(undefined2 *)&pSeg->field_0x6" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pSeg->field_0x6" & (field_expression "pSeg->field_0x6" identifier -> field_identifier))))) ;) (expression_statement "(*(code *)PTR_sqlite3_bind_int64_00190a90)(pDelete,1,pSeg->iIdx,uVar15);" (call_expression "(*(code *)PTR_sqlite3_bind_int64_00190a90)(pDelete,1,pSeg->iIdx,uVar15)" (parenthesized_expression "(*(code *)PTR_sqlite3_bind_int64_00190a90)" ( (pointer_expression "*(code *)PTR_sqlite3_bind_int64_00190a90" * (cast_expression "(code *)PTR_sqlite3_bind_int64_00190a90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pDelete,1,pSeg->iIdx,uVar15)" ( identifier , number_literal , (field_expression "pSeg->iIdx" identifier -> field_identifier) , identifier ))) ;) (expression_statement "pcVar14 = *(code **)&pSeg_1->bLookup;" (assignment_expression "pcVar14 = *(code **)&pSeg_1->bLookup" identifier = (pointer_expression "*(code **)&pSeg_1->bLookup" * (cast_expression "(code **)&pSeg_1->bLookup" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pSeg_1->bLookup" & (field_expression "pSeg_1->bLookup" identifier -> field_identifier))))) ;) (expression_statement "ppsVar13 = (sqlite3_stmt **)pSeg_1->iIdx;" (assignment_expression "ppsVar13 = (sqlite3_stmt **)pSeg_1->iIdx" identifier = (cast_expression "(sqlite3_stmt **)pSeg_1->iIdx" ( (type_descriptor "sqlite3_stmt **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (field_expression "pSeg_1->iIdx" identifier -> field_identifier))) ;) (expression_statement "(*(code *)puVar21)(pDelete,2);" (call_expression "(*(code *)puVar21)(pDelete,2)" (parenthesized_expression "(*(code *)puVar21)" ( (pointer_expression "*(code *)puVar21" * (cast_expression "(code *)puVar21" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pDelete,2)" ( identifier , number_literal ))) ;) (expression_statement "(*(code *)PTR_sqlite3_step_00190990)(pDelete);" (call_expression "(*(code *)PTR_sqlite3_step_00190990)(pDelete)" (parenthesized_expression "(*(code *)PTR_sqlite3_step_00190990)" ( (pointer_expression "*(code *)PTR_sqlite3_step_00190990" * (cast_expression "(code *)PTR_sqlite3_step_00190990" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pDelete)" ( identifier ))) ;) (expression_statement "iVar3 = (*(code *)PTR_sqlite3_reset_00190a5c)(pDelete);" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_reset_00190a5c)(pDelete)" identifier = (call_expression "(*(code *)PTR_sqlite3_reset_00190a5c)(pDelete)" (parenthesized_expression "(*(code *)PTR_sqlite3_reset_00190a5c)" ( (pointer_expression "*(code *)PTR_sqlite3_reset_00190a5c" * (cast_expression "(code *)PTR_sqlite3_reset_00190a5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pDelete)" ( identifier )))) ;) (expression_statement "pSeg = (Fts3SegReader *)puVar21;" (assignment_expression "pSeg = (Fts3SegReader *)puVar21" identifier = (cast_expression "(Fts3SegReader *)puVar21" ( (type_descriptor "Fts3SegReader *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (if_statement "if (pFStack_14 == *(Fts3Table **)puVar2) {\n    return iVar3;\n  }" if (parenthesized_expression "(pFStack_14 == *(Fts3Table **)puVar2)" ( (binary_expression "pFStack_14 == *(Fts3Table **)puVar2" identifier == (pointer_expression "*(Fts3Table **)puVar2" * (cast_expression "(Fts3Table **)puVar2" ( (type_descriptor "Fts3Table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return iVar3;\n  }" { (return_statement "return iVar3;" return identifier ;) })) (expression_statement "pFVar9 = pFStack_14;" (assignment_expression "pFVar9 = pFStack_14" identifier = identifier) ;) (expression_statement "puVar21 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar21 = PTR___stack_chk_fail_00190df8" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00190df8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" * (cast_expression "(code *)PTR___stack_chk_fail_00190df8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (expression_statement "puStack_50 = puVar2;" (assignment_expression "puStack_50 = puVar2" identifier = identifier) ;) (expression_statement "pp = &psStack_58;" (assignment_expression "pp = &psStack_58" identifier = (pointer_expression "&psStack_58" & identifier)) ;) (expression_statement "piVar19 = *(int **)(puVar21 + 0x65898);" (assignment_expression "piVar19 = *(int **)(puVar21 + 0x65898)" identifier = (pointer_expression "*(int **)(puVar21 + 0x65898)" * (cast_expression "(int **)(puVar21 + 0x65898)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x65898)" ( (binary_expression "puVar21 + 0x65898" identifier + number_literal) ))))) ;) (expression_statement "pFStack_54 = (Fts3Table *)*piVar19;" (assignment_expression "pFStack_54 = (Fts3Table *)*piVar19" identifier = (cast_expression "(Fts3Table *)*piVar19" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar19" * identifier))) ;) (expression_statement "pFStack_4c = pSeg_1;" (assignment_expression "pFStack_4c = pSeg_1" identifier = identifier) ;) (expression_statement "pFStack_48 = pSeg;" (assignment_expression "pFStack_48 = pSeg" identifier = identifier) ;) (expression_statement "iVar3 = fts3SqlStmt(pFVar9,0xb,pp,(sqlite3_value **)0x0);" (assignment_expression "iVar3 = fts3SqlStmt(pFVar9,0xb,pp,(sqlite3_value **)0x0)" identifier = (call_expression "fts3SqlStmt(pFVar9,0xb,pp,(sqlite3_value **)0x0)" identifier (argument_list "(pFVar9,0xb,pp,(sqlite3_value **)0x0)" ( identifier , number_literal , identifier , (cast_expression "(sqlite3_value **)0x0" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) )))) ;) (expression_statement "ppsStack_d0 = pp;" (assignment_expression "ppsStack_d0 = pp" identifier = identifier) ;) (if_statement "if (iVar3 == 0) {\n    pcVar22 = *(code **)(puVar21 + 0x65504);\n    (*pcVar22)(psStack_58,1,ppsVar13,pcVar14);\n    (*pcVar22)(psStack_58,2,0,&_gp);\n    (*pcVar22)(psStack_58,3,pDelete,pFStack_14);\n    (*pcVar22)(psStack_58,4,unaff_s0,unaff_s1);\n    if (pcStackX_0 == (code *)0x0 && pFStackX_4 == (Fts3Table *)0x0) {\n      (*pcVar22)(psStack_58,5,unaff_s2,unaff_retaddr);\n      pcVar22 = (code *)(*(int *)(puVar21 + 0x65650) + 0x2f8c);\n    }\n    else {\n      pcStack_68 = pcStackX_0;\n      pFStack_64 = pFStackX_4;\n      iVar3 = (**(code **)(puVar21 + 0x653d8))(*(int *)(puVar21 + 0x653d0) + -0x748);\n      if (iVar3 == 0) {\n        iVar3 = 7;\n        ppsStack_d0 = unaff_s2;\n        uVar16 = unaff_retaddr;\n        goto LAB_0012b608;\n      }\n      pcVar22 = (code *)(*(int *)(puVar21 + 0x65650) + 0x2f8c);\n      (*pcVar22)(psStack_58,5,iVar3,0xffffffff);\n    }\n    pFStack_64 = (Fts3Table *)0x0;\n    pcStack_68 = (code *)0x0;\n    (*pcVar22)(psStack_58,6,ppsStackX_8,uStackX_c);\n    (**(code **)(puVar21 + 0x65404))(psStack_58);\n    iVar3 = (**(code **)(puVar21 + 0x654d0))(psStack_58);\n    (**(code **)(puVar21 + 0x654fc))(psStack_58,6);\n    ppsStack_d0 = ppsStackX_8;\n    uVar16 = uStackX_c;\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    pcVar22 = *(code **)(puVar21 + 0x65504);\n    (*pcVar22)(psStack_58,1,ppsVar13,pcVar14);\n    (*pcVar22)(psStack_58,2,0,&_gp);\n    (*pcVar22)(psStack_58,3,pDelete,pFStack_14);\n    (*pcVar22)(psStack_58,4,unaff_s0,unaff_s1);\n    if (pcStackX_0 == (code *)0x0 && pFStackX_4 == (Fts3Table *)0x0) {\n      (*pcVar22)(psStack_58,5,unaff_s2,unaff_retaddr);\n      pcVar22 = (code *)(*(int *)(puVar21 + 0x65650) + 0x2f8c);\n    }\n    else {\n      pcStack_68 = pcStackX_0;\n      pFStack_64 = pFStackX_4;\n      iVar3 = (**(code **)(puVar21 + 0x653d8))(*(int *)(puVar21 + 0x653d0) + -0x748);\n      if (iVar3 == 0) {\n        iVar3 = 7;\n        ppsStack_d0 = unaff_s2;\n        uVar16 = unaff_retaddr;\n        goto LAB_0012b608;\n      }\n      pcVar22 = (code *)(*(int *)(puVar21 + 0x65650) + 0x2f8c);\n      (*pcVar22)(psStack_58,5,iVar3,0xffffffff);\n    }\n    pFStack_64 = (Fts3Table *)0x0;\n    pcStack_68 = (code *)0x0;\n    (*pcVar22)(psStack_58,6,ppsStackX_8,uStackX_c);\n    (**(code **)(puVar21 + 0x65404))(psStack_58);\n    iVar3 = (**(code **)(puVar21 + 0x654d0))(psStack_58);\n    (**(code **)(puVar21 + 0x654fc))(psStack_58,6);\n    ppsStack_d0 = ppsStackX_8;\n    uVar16 = uStackX_c;\n  }" { (expression_statement "pcVar22 = *(code **)(puVar21 + 0x65504);" (assignment_expression "pcVar22 = *(code **)(puVar21 + 0x65504)" identifier = (pointer_expression "*(code **)(puVar21 + 0x65504)" * (cast_expression "(code **)(puVar21 + 0x65504)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x65504)" ( (binary_expression "puVar21 + 0x65504" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar22)(psStack_58,1,ppsVar13,pcVar14);" (call_expression "(*pcVar22)(psStack_58,1,ppsVar13,pcVar14)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(psStack_58,1,ppsVar13,pcVar14)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "(*pcVar22)(psStack_58,2,0,&_gp);" (call_expression "(*pcVar22)(psStack_58,2,0,&_gp)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(psStack_58,2,0,&_gp)" ( identifier , number_literal , number_literal , (pointer_expression "&_gp" & identifier) ))) ;) (expression_statement "(*pcVar22)(psStack_58,3,pDelete,pFStack_14);" (call_expression "(*pcVar22)(psStack_58,3,pDelete,pFStack_14)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(psStack_58,3,pDelete,pFStack_14)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "(*pcVar22)(psStack_58,4,unaff_s0,unaff_s1);" (call_expression "(*pcVar22)(psStack_58,4,unaff_s0,unaff_s1)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(psStack_58,4,unaff_s0,unaff_s1)" ( identifier , number_literal , identifier , identifier ))) ;) (if_statement "if (pcStackX_0 == (code *)0x0 && pFStackX_4 == (Fts3Table *)0x0) {\n      (*pcVar22)(psStack_58,5,unaff_s2,unaff_retaddr);\n      pcVar22 = (code *)(*(int *)(puVar21 + 0x65650) + 0x2f8c);\n    }\n    else {\n      pcStack_68 = pcStackX_0;\n      pFStack_64 = pFStackX_4;\n      iVar3 = (**(code **)(puVar21 + 0x653d8))(*(int *)(puVar21 + 0x653d0) + -0x748);\n      if (iVar3 == 0) {\n        iVar3 = 7;\n        ppsStack_d0 = unaff_s2;\n        uVar16 = unaff_retaddr;\n        goto LAB_0012b608;\n      }\n      pcVar22 = (code *)(*(int *)(puVar21 + 0x65650) + 0x2f8c);\n      (*pcVar22)(psStack_58,5,iVar3,0xffffffff);\n    }" if (parenthesized_expression "(pcStackX_0 == (code *)0x0 && pFStackX_4 == (Fts3Table *)0x0)" ( (binary_expression "pcStackX_0 == (code *)0x0 && pFStackX_4 == (Fts3Table *)0x0" (binary_expression "pcStackX_0 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "pFStackX_4 == (Fts3Table *)0x0" identifier == (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n      (*pcVar22)(psStack_58,5,unaff_s2,unaff_retaddr);\n      pcVar22 = (code *)(*(int *)(puVar21 + 0x65650) + 0x2f8c);\n    }" { (expression_statement "(*pcVar22)(psStack_58,5,unaff_s2,unaff_retaddr);" (call_expression "(*pcVar22)(psStack_58,5,unaff_s2,unaff_retaddr)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(psStack_58,5,unaff_s2,unaff_retaddr)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "pcVar22 = (code *)(*(int *)(puVar21 + 0x65650) + 0x2f8c);" (assignment_expression "pcVar22 = (code *)(*(int *)(puVar21 + 0x65650) + 0x2f8c)" identifier = (cast_expression "(code *)(*(int *)(puVar21 + 0x65650) + 0x2f8c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar21 + 0x65650) + 0x2f8c)" ( (binary_expression "*(int *)(puVar21 + 0x65650) + 0x2f8c" (pointer_expression "*(int *)(puVar21 + 0x65650)" * (cast_expression "(int *)(puVar21 + 0x65650)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x65650)" ( (binary_expression "puVar21 + 0x65650" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else {\n      pcStack_68 = pcStackX_0;\n      pFStack_64 = pFStackX_4;\n      iVar3 = (**(code **)(puVar21 + 0x653d8))(*(int *)(puVar21 + 0x653d0) + -0x748);\n      if (iVar3 == 0) {\n        iVar3 = 7;\n        ppsStack_d0 = unaff_s2;\n        uVar16 = unaff_retaddr;\n        goto LAB_0012b608;\n      }\n      pcVar22 = (code *)(*(int *)(puVar21 + 0x65650) + 0x2f8c);\n      (*pcVar22)(psStack_58,5,iVar3,0xffffffff);\n    }" else (compound_statement "{\n      pcStack_68 = pcStackX_0;\n      pFStack_64 = pFStackX_4;\n      iVar3 = (**(code **)(puVar21 + 0x653d8))(*(int *)(puVar21 + 0x653d0) + -0x748);\n      if (iVar3 == 0) {\n        iVar3 = 7;\n        ppsStack_d0 = unaff_s2;\n        uVar16 = unaff_retaddr;\n        goto LAB_0012b608;\n      }\n      pcVar22 = (code *)(*(int *)(puVar21 + 0x65650) + 0x2f8c);\n      (*pcVar22)(psStack_58,5,iVar3,0xffffffff);\n    }" { (expression_statement "pcStack_68 = pcStackX_0;" (assignment_expression "pcStack_68 = pcStackX_0" identifier = identifier) ;) (expression_statement "pFStack_64 = pFStackX_4;" (assignment_expression "pFStack_64 = pFStackX_4" identifier = identifier) ;) (expression_statement "iVar3 = (**(code **)(puVar21 + 0x653d8))(*(int *)(puVar21 + 0x653d0) + -0x748);" (assignment_expression "iVar3 = (**(code **)(puVar21 + 0x653d8))(*(int *)(puVar21 + 0x653d0) + -0x748)" identifier = (call_expression "(**(code **)(puVar21 + 0x653d8))(*(int *)(puVar21 + 0x653d0) + -0x748)" (parenthesized_expression "(**(code **)(puVar21 + 0x653d8))" ( (pointer_expression "**(code **)(puVar21 + 0x653d8)" * (pointer_expression "*(code **)(puVar21 + 0x653d8)" * (cast_expression "(code **)(puVar21 + 0x653d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x653d8)" ( (binary_expression "puVar21 + 0x653d8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar21 + 0x653d0) + -0x748)" ( (binary_expression "*(int *)(puVar21 + 0x653d0) + -0x748" (pointer_expression "*(int *)(puVar21 + 0x653d0)" * (cast_expression "(int *)(puVar21 + 0x653d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x653d0)" ( (binary_expression "puVar21 + 0x653d0" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar3 == 0) {\n        iVar3 = 7;\n        ppsStack_d0 = unaff_s2;\n        uVar16 = unaff_retaddr;\n        goto LAB_0012b608;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar3 = 7;\n        ppsStack_d0 = unaff_s2;\n        uVar16 = unaff_retaddr;\n        goto LAB_0012b608;\n      }" { (expression_statement "iVar3 = 7;" (assignment_expression "iVar3 = 7" identifier = number_literal) ;) (expression_statement "ppsStack_d0 = unaff_s2;" (assignment_expression "ppsStack_d0 = unaff_s2" identifier = identifier) ;) (expression_statement "uVar16 = unaff_retaddr;" (assignment_expression "uVar16 = unaff_retaddr" identifier = identifier) ;) (goto_statement "goto LAB_0012b608;" goto statement_identifier ;) })) (expression_statement "pcVar22 = (code *)(*(int *)(puVar21 + 0x65650) + 0x2f8c);" (assignment_expression "pcVar22 = (code *)(*(int *)(puVar21 + 0x65650) + 0x2f8c)" identifier = (cast_expression "(code *)(*(int *)(puVar21 + 0x65650) + 0x2f8c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar21 + 0x65650) + 0x2f8c)" ( (binary_expression "*(int *)(puVar21 + 0x65650) + 0x2f8c" (pointer_expression "*(int *)(puVar21 + 0x65650)" * (cast_expression "(int *)(puVar21 + 0x65650)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x65650)" ( (binary_expression "puVar21 + 0x65650" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar22)(psStack_58,5,iVar3,0xffffffff);" (call_expression "(*pcVar22)(psStack_58,5,iVar3,0xffffffff)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(psStack_58,5,iVar3,0xffffffff)" ( identifier , number_literal , identifier , number_literal ))) ;) }))) (expression_statement "pFStack_64 = (Fts3Table *)0x0;" (assignment_expression "pFStack_64 = (Fts3Table *)0x0" identifier = (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcStack_68 = (code *)0x0;" (assignment_expression "pcStack_68 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*pcVar22)(psStack_58,6,ppsStackX_8,uStackX_c);" (call_expression "(*pcVar22)(psStack_58,6,ppsStackX_8,uStackX_c)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(psStack_58,6,ppsStackX_8,uStackX_c)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "(**(code **)(puVar21 + 0x65404))(psStack_58);" (call_expression "(**(code **)(puVar21 + 0x65404))(psStack_58)" (parenthesized_expression "(**(code **)(puVar21 + 0x65404))" ( (pointer_expression "**(code **)(puVar21 + 0x65404)" * (pointer_expression "*(code **)(puVar21 + 0x65404)" * (cast_expression "(code **)(puVar21 + 0x65404)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x65404)" ( (binary_expression "puVar21 + 0x65404" identifier + number_literal) ))))) )) (argument_list "(psStack_58)" ( identifier ))) ;) (expression_statement "iVar3 = (**(code **)(puVar21 + 0x654d0))(psStack_58);" (assignment_expression "iVar3 = (**(code **)(puVar21 + 0x654d0))(psStack_58)" identifier = (call_expression "(**(code **)(puVar21 + 0x654d0))(psStack_58)" (parenthesized_expression "(**(code **)(puVar21 + 0x654d0))" ( (pointer_expression "**(code **)(puVar21 + 0x654d0)" * (pointer_expression "*(code **)(puVar21 + 0x654d0)" * (cast_expression "(code **)(puVar21 + 0x654d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x654d0)" ( (binary_expression "puVar21 + 0x654d0" identifier + number_literal) ))))) )) (argument_list "(psStack_58)" ( identifier )))) ;) (expression_statement "(**(code **)(puVar21 + 0x654fc))(psStack_58,6);" (call_expression "(**(code **)(puVar21 + 0x654fc))(psStack_58,6)" (parenthesized_expression "(**(code **)(puVar21 + 0x654fc))" ( (pointer_expression "**(code **)(puVar21 + 0x654fc)" * (pointer_expression "*(code **)(puVar21 + 0x654fc)" * (cast_expression "(code **)(puVar21 + 0x654fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x654fc)" ( (binary_expression "puVar21 + 0x654fc" identifier + number_literal) ))))) )) (argument_list "(psStack_58,6)" ( identifier , number_literal ))) ;) (expression_statement "ppsStack_d0 = ppsStackX_8;" (assignment_expression "ppsStack_d0 = ppsStackX_8" identifier = identifier) ;) (expression_statement "uVar16 = uStackX_c;" (assignment_expression "uVar16 = uStackX_c" identifier = identifier) ;) })) (labeled_statement "LAB_0012b608:\n  if (pFStack_54 == (Fts3Table *)*piVar19) {\n    return iVar3;\n  }" statement_identifier : (if_statement "if (pFStack_54 == (Fts3Table *)*piVar19) {\n    return iVar3;\n  }" if (parenthesized_expression "(pFStack_54 == (Fts3Table *)*piVar19)" ( (binary_expression "pFStack_54 == (Fts3Table *)*piVar19" identifier == (cast_expression "(Fts3Table *)*piVar19" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar19" * identifier))) )) (compound_statement "{\n    return iVar3;\n  }" { (return_statement "return iVar3;" return identifier ;) }))) (expression_statement "pcVar22 = *(code **)(puVar21 + 0x6586c);" (assignment_expression "pcVar22 = *(code **)(puVar21 + 0x6586c)" identifier = (pointer_expression "*(code **)(puVar21 + 0x6586c)" * (cast_expression "(code **)(puVar21 + 0x6586c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x6586c)" ( (binary_expression "puVar21 + 0x6586c" identifier + number_literal) ))))) ;) (expression_statement "pFVar9 = pFStack_54;" (assignment_expression "pFVar9 = pFStack_54" identifier = identifier) ;) (expression_statement "(*pcVar22)();" (call_expression "(*pcVar22)()" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_e0 = pcVar22 + 0x6d180;" (assignment_expression "pcStack_e0 = pcVar22 + 0x6d180" identifier = (binary_expression "pcVar22 + 0x6d180" identifier + number_literal)) ;) (expression_statement "pFVar12 = (Fts3DeferredToken *)&DAT_00000025;" (assignment_expression "pFVar12 = (Fts3DeferredToken *)&DAT_00000025" identifier = (cast_expression "(Fts3DeferredToken *)&DAT_00000025" ( (type_descriptor "Fts3DeferredToken *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000025" & identifier))) ;) (expression_statement "pcStack_cc = (code *)(*(int *)(pcVar22 + 0x654c4) + 0x10f8);" (assignment_expression "pcStack_cc = (code *)(*(int *)(pcVar22 + 0x654c4) + 0x10f8)" identifier = (cast_expression "(code *)(*(int *)(pcVar22 + 0x654c4) + 0x10f8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0x654c4) + 0x10f8)" ( (binary_expression "*(int *)(pcVar22 + 0x654c4) + 0x10f8" (pointer_expression "*(int *)(pcVar22 + 0x654c4)" * (cast_expression "(int *)(pcVar22 + 0x654c4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x654c4)" ( (binary_expression "pcVar22 + 0x654c4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar20 = *(int **)(pcVar22 + 0x65684);" (assignment_expression "piVar20 = *(int **)(pcVar22 + 0x65684)" identifier = (pointer_expression "*(int **)(pcVar22 + 0x65684)" * (cast_expression "(int **)(pcVar22 + 0x65684)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x65684)" ( (binary_expression "pcVar22 + 0x65684" identifier + number_literal) ))))) ;) (expression_statement "pFStack_a4 = (Fts3Table *)*piVar20;" (assignment_expression "pFStack_a4 = (Fts3Table *)*piVar20" identifier = (cast_expression "(Fts3Table *)*piVar20" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar20" * identifier))) ;) (expression_statement "pFStack_c8 = pFVar9;" (assignment_expression "pFStack_c8 = pFVar9" identifier = identifier) ;) (expression_statement "iStack_a0 = iVar3;" (assignment_expression "iStack_a0 = iVar3" identifier = identifier) ;) (expression_statement "piStack_9c = piVar19;" (assignment_expression "piStack_9c = piVar19" identifier = identifier) ;) (expression_statement "ppsStack_98 = ppsVar13;" (assignment_expression "ppsStack_98 = ppsVar13" identifier = identifier) ;) (expression_statement "pcStack_94 = pcVar14;" (assignment_expression "pcStack_94 = pcVar14" identifier = identifier) ;) (expression_statement "pcStack_fc = (code *)fts3SqlStmt(pFVar9,0x25,&psStack_bc,(sqlite3_value **)0x0);" (assignment_expression "pcStack_fc = (code *)fts3SqlStmt(pFVar9,0x25,&psStack_bc,(sqlite3_value **)0x0)" identifier = (cast_expression "(code *)fts3SqlStmt(pFVar9,0x25,&psStack_bc,(sqlite3_value **)0x0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "fts3SqlStmt(pFVar9,0x25,&psStack_bc,(sqlite3_value **)0x0)" identifier (argument_list "(pFVar9,0x25,&psStack_bc,(sqlite3_value **)0x0)" ( identifier , number_literal , (pointer_expression "&psStack_bc" & identifier) , (cast_expression "(sqlite3_value **)0x0" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) ))))) ;) (expression_statement "ppsVar13 = ppsStack_d0;" (assignment_expression "ppsVar13 = ppsStack_d0" identifier = identifier) ;) (if_statement "if (pcStack_fc == (code *)0x0) {\n    pcStack_d4 = *(code **)(pcStack_e0 + -0x7e90);\n    pcVar14 = pcStack_68 +\n              (uint)((uint)((int)pFStack_64 * 3) < (uint)((int)pFStack_64 * 2)) +\n              ((uint)pFStack_64 >> 0x1f | (int)pcStack_68 << 1);\n    uVar4 = -((int)pcVar14 >> 0x1f) + (int)pFStack_64 * 3;\n    pFStack_64 = (Fts3Table *)((int)(pcVar14 + (uVar4 < (uint)-((int)pcVar14 >> 0x1f))) >> 1);\n    uStack_c4 = (int)(pcVar14 + (uVar4 < (uint)-((int)pcVar14 >> 0x1f))) * -0x80000000 | uVar4 >> 1;\n    (*pcStack_d4)(psStack_bc,1,(uint)(uVar16 + 1 < uVar16) + (int)ppsStack_d0);\n    uVar4 = uVar16;\n    if ((int)ppsVar13 < 0) {\n      uVar4 = uVar16 + 0x3ff;\n      ppsVar13 = (sqlite3_stmt **)((uint)(uVar4 < uVar16) + (int)ppsVar13);\n    }\n    pcStack_68 = *(code **)(pcStack_e0 + -0x7f90);\n    uVar4 = (int)ppsVar13 << 0x16 | uVar4 >> 10;\n    uVar17 = uVar4 + 1;\n    pFVar12 = (Fts3DeferredToken *)&SUB_00000002;\n    (*pcStack_d4)(psStack_bc,2,\n                  (uint)(uVar17 * 0x400 - 1 < uVar17 * 0x400) +\n                  ((uVar17 >> 0x16 | ((uint)(uVar17 < uVar4) + ((int)ppsVar13 >> 10)) * 0x400) - 1))\n    ;\n    iVar6 = *(int *)(pcStack_e0 + -0x7d60);\n    iVar3 = (*pcStack_68)(psStack_bc);\n    pcVar14 = (code *)(iVar6 + 0x7794);\n    bVar1 = false;\n    while (iVar3 == 100) {\n      pFVar12 = (Fts3DeferredToken *)&SUB_00000002;\n      pFStack_b8 = (Fts3Table *)0x0;\n      uStack_b4 = 0;\n      (*pcVar14)(psStack_bc,2,auStack_b0,&pFStack_b8);\n      if ((int)pFStack_b8 < 1) {\n        pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);\n        if (pFStack_b8 == (Fts3Table *)0x0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);\n        }\nLAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar22)(psStack_bc);\n        goto LAB_0012b828;\n      }\nLAB_0012b99c:\n      pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);\n      if (((int)pFStack_64 < (int)pFStack_b8) ||\n         ((pFStack_b8 == pFStack_64 &&\n          (pcVar22 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))) goto LAB_0012ba04;\n      bVar1 = true;\n      iVar3 = (*pcStack_68)(psStack_bc);\n    }\n    pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);\n    pcStack_fc = (code *)(*pcVar22)();\n    pFVar9 = pFStack_c8;\n    if (bVar1) {\n      pFStack_b8 = (Fts3Table *)0x0;\n      auStack_b0[0] = 0;\n      if (pcStack_fc == (code *)0x0) {\n        pFVar12 = (Fts3DeferredToken *)0x26;\n        pcStack_fc = (code *)(*pcStack_cc)(pFStack_c8,0x26,&pFStack_b8,0);\n        pFStack_64 = pFVar9;\n        if (pcStack_fc == (code *)0x0) {\n          pFVar12 = (Fts3DeferredToken *)&DAT_00000027;\n          pcStack_fc = (code *)(*pcStack_cc)(pFVar9,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            pFVar12 = (Fts3DeferredToken *)0x1;\n            iVar3 = 0;\n            pcVar14 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(psStack_bc,1,ppsStack_d0,uVar16);\n            pFStack_64 = (Fts3Table *)0x0;\n            do {\n              iVar6 = (*pcStack_68)(psStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar22)(psStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  pFVar12 = (Fts3DeferredToken *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,ppsStack_d0,uVar16);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar22)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(pFStack_b8,1,iVar3,pFStack_64);\n              pFVar9 = pFStack_b8;\n              iVar6 = (*pcVar14)(psStack_bc,0);\n              (*pcStack_d4)(pFVar9,2,iVar6 >> 0x1f,iVar6);\n              pFVar9 = pFStack_b8;\n              iVar6 = (*pcVar14)(psStack_bc,1);\n              pFVar12 = (Fts3DeferredToken *)0x3;\n              (*pcStack_d4)(pFVar9,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(pFStack_b8);\n              pcVar23 = (code *)(*pcVar22)(pFStack_b8);\n              pFVar9 = (Fts3Table *)((int)&(pFStack_64->base).pModule + 1);\n              iVar3 = (uint)(pFVar9 < pFStack_64) + iVar3;\n              pFStack_64 = pFVar9;\n            } while (pcVar23 == (code *)0x0);\n            pcStack_d4 = pcVar23;\n            (*pcVar22)(psStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }\n      }\n    }\n  }" if (parenthesized_expression "(pcStack_fc == (code *)0x0)" ( (binary_expression "pcStack_fc == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcStack_d4 = *(code **)(pcStack_e0 + -0x7e90);\n    pcVar14 = pcStack_68 +\n              (uint)((uint)((int)pFStack_64 * 3) < (uint)((int)pFStack_64 * 2)) +\n              ((uint)pFStack_64 >> 0x1f | (int)pcStack_68 << 1);\n    uVar4 = -((int)pcVar14 >> 0x1f) + (int)pFStack_64 * 3;\n    pFStack_64 = (Fts3Table *)((int)(pcVar14 + (uVar4 < (uint)-((int)pcVar14 >> 0x1f))) >> 1);\n    uStack_c4 = (int)(pcVar14 + (uVar4 < (uint)-((int)pcVar14 >> 0x1f))) * -0x80000000 | uVar4 >> 1;\n    (*pcStack_d4)(psStack_bc,1,(uint)(uVar16 + 1 < uVar16) + (int)ppsStack_d0);\n    uVar4 = uVar16;\n    if ((int)ppsVar13 < 0) {\n      uVar4 = uVar16 + 0x3ff;\n      ppsVar13 = (sqlite3_stmt **)((uint)(uVar4 < uVar16) + (int)ppsVar13);\n    }\n    pcStack_68 = *(code **)(pcStack_e0 + -0x7f90);\n    uVar4 = (int)ppsVar13 << 0x16 | uVar4 >> 10;\n    uVar17 = uVar4 + 1;\n    pFVar12 = (Fts3DeferredToken *)&SUB_00000002;\n    (*pcStack_d4)(psStack_bc,2,\n                  (uint)(uVar17 * 0x400 - 1 < uVar17 * 0x400) +\n                  ((uVar17 >> 0x16 | ((uint)(uVar17 < uVar4) + ((int)ppsVar13 >> 10)) * 0x400) - 1))\n    ;\n    iVar6 = *(int *)(pcStack_e0 + -0x7d60);\n    iVar3 = (*pcStack_68)(psStack_bc);\n    pcVar14 = (code *)(iVar6 + 0x7794);\n    bVar1 = false;\n    while (iVar3 == 100) {\n      pFVar12 = (Fts3DeferredToken *)&SUB_00000002;\n      pFStack_b8 = (Fts3Table *)0x0;\n      uStack_b4 = 0;\n      (*pcVar14)(psStack_bc,2,auStack_b0,&pFStack_b8);\n      if ((int)pFStack_b8 < 1) {\n        pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);\n        if (pFStack_b8 == (Fts3Table *)0x0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);\n        }\nLAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar22)(psStack_bc);\n        goto LAB_0012b828;\n      }\nLAB_0012b99c:\n      pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);\n      if (((int)pFStack_64 < (int)pFStack_b8) ||\n         ((pFStack_b8 == pFStack_64 &&\n          (pcVar22 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))) goto LAB_0012ba04;\n      bVar1 = true;\n      iVar3 = (*pcStack_68)(psStack_bc);\n    }\n    pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);\n    pcStack_fc = (code *)(*pcVar22)();\n    pFVar9 = pFStack_c8;\n    if (bVar1) {\n      pFStack_b8 = (Fts3Table *)0x0;\n      auStack_b0[0] = 0;\n      if (pcStack_fc == (code *)0x0) {\n        pFVar12 = (Fts3DeferredToken *)0x26;\n        pcStack_fc = (code *)(*pcStack_cc)(pFStack_c8,0x26,&pFStack_b8,0);\n        pFStack_64 = pFVar9;\n        if (pcStack_fc == (code *)0x0) {\n          pFVar12 = (Fts3DeferredToken *)&DAT_00000027;\n          pcStack_fc = (code *)(*pcStack_cc)(pFVar9,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            pFVar12 = (Fts3DeferredToken *)0x1;\n            iVar3 = 0;\n            pcVar14 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(psStack_bc,1,ppsStack_d0,uVar16);\n            pFStack_64 = (Fts3Table *)0x0;\n            do {\n              iVar6 = (*pcStack_68)(psStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar22)(psStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  pFVar12 = (Fts3DeferredToken *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,ppsStack_d0,uVar16);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar22)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(pFStack_b8,1,iVar3,pFStack_64);\n              pFVar9 = pFStack_b8;\n              iVar6 = (*pcVar14)(psStack_bc,0);\n              (*pcStack_d4)(pFVar9,2,iVar6 >> 0x1f,iVar6);\n              pFVar9 = pFStack_b8;\n              iVar6 = (*pcVar14)(psStack_bc,1);\n              pFVar12 = (Fts3DeferredToken *)0x3;\n              (*pcStack_d4)(pFVar9,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(pFStack_b8);\n              pcVar23 = (code *)(*pcVar22)(pFStack_b8);\n              pFVar9 = (Fts3Table *)((int)&(pFStack_64->base).pModule + 1);\n              iVar3 = (uint)(pFVar9 < pFStack_64) + iVar3;\n              pFStack_64 = pFVar9;\n            } while (pcVar23 == (code *)0x0);\n            pcStack_d4 = pcVar23;\n            (*pcVar22)(psStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }\n      }\n    }\n  }" { (expression_statement "pcStack_d4 = *(code **)(pcStack_e0 + -0x7e90);" (assignment_expression "pcStack_d4 = *(code **)(pcStack_e0 + -0x7e90)" identifier = (pointer_expression "*(code **)(pcStack_e0 + -0x7e90)" * (cast_expression "(code **)(pcStack_e0 + -0x7e90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e0 + -0x7e90)" ( (binary_expression "pcStack_e0 + -0x7e90" identifier + number_literal) ))))) ;) (expression_statement "pcVar14 = pcStack_68 +\n              (uint)((uint)((int)pFStack_64 * 3) < (uint)((int)pFStack_64 * 2)) +\n              ((uint)pFStack_64 >> 0x1f | (int)pcStack_68 << 1);" (assignment_expression "pcVar14 = pcStack_68 +\n              (uint)((uint)((int)pFStack_64 * 3) < (uint)((int)pFStack_64 * 2)) +\n              ((uint)pFStack_64 >> 0x1f | (int)pcStack_68 << 1)" identifier = (binary_expression "pcStack_68 +\n              (uint)((uint)((int)pFStack_64 * 3) < (uint)((int)pFStack_64 * 2)) +\n              ((uint)pFStack_64 >> 0x1f | (int)pcStack_68 << 1)" (binary_expression "pcStack_68 +\n              (uint)((uint)((int)pFStack_64 * 3) < (uint)((int)pFStack_64 * 2))" identifier + (call_expression "(uint)((uint)((int)pFStack_64 * 3) < (uint)((int)pFStack_64 * 2))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)((int)pFStack_64 * 3) < (uint)((int)pFStack_64 * 2))" ( (binary_expression "(uint)((int)pFStack_64 * 3) < (uint)((int)pFStack_64 * 2)" (call_expression "(uint)((int)pFStack_64 * 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)pFStack_64 * 3)" ( (binary_expression "(int)pFStack_64 * 3" (cast_expression "(int)pFStack_64" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ))) < (call_expression "(uint)((int)pFStack_64 * 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)pFStack_64 * 2)" ( (binary_expression "(int)pFStack_64 * 2" (cast_expression "(int)pFStack_64" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) )))) + (parenthesized_expression "((uint)pFStack_64 >> 0x1f | (int)pcStack_68 << 1)" ( (binary_expression "(uint)pFStack_64 >> 0x1f | (int)pcStack_68 << 1" (binary_expression "(uint)pFStack_64 >> 0x1f" (cast_expression "(uint)pFStack_64" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) | (binary_expression "(int)pcStack_68 << 1" (cast_expression "(int)pcStack_68" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) )))) ;) (expression_statement "uVar4 = -((int)pcVar14 >> 0x1f) + (int)pFStack_64 * 3;" (assignment_expression "uVar4 = -((int)pcVar14 >> 0x1f) + (int)pFStack_64 * 3" identifier = (binary_expression "-((int)pcVar14 >> 0x1f) + (int)pFStack_64 * 3" (unary_expression "-((int)pcVar14 >> 0x1f)" - (parenthesized_expression "((int)pcVar14 >> 0x1f)" ( (binary_expression "(int)pcVar14 >> 0x1f" (cast_expression "(int)pcVar14" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) + (binary_expression "(int)pFStack_64 * 3" (cast_expression "(int)pFStack_64" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) (expression_statement "pFStack_64 = (Fts3Table *)((int)(pcVar14 + (uVar4 < (uint)-((int)pcVar14 >> 0x1f))) >> 1);" (assignment_expression "pFStack_64 = (Fts3Table *)((int)(pcVar14 + (uVar4 < (uint)-((int)pcVar14 >> 0x1f))) >> 1)" identifier = (cast_expression "(Fts3Table *)((int)(pcVar14 + (uVar4 < (uint)-((int)pcVar14 >> 0x1f))) >> 1)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(pcVar14 + (uVar4 < (uint)-((int)pcVar14 >> 0x1f))) >> 1)" ( (binary_expression "(int)(pcVar14 + (uVar4 < (uint)-((int)pcVar14 >> 0x1f))) >> 1" (cast_expression "(int)(pcVar14 + (uVar4 < (uint)-((int)pcVar14 >> 0x1f)))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar14 + (uVar4 < (uint)-((int)pcVar14 >> 0x1f)))" ( (binary_expression "pcVar14 + (uVar4 < (uint)-((int)pcVar14 >> 0x1f))" identifier + (parenthesized_expression "(uVar4 < (uint)-((int)pcVar14 >> 0x1f))" ( (binary_expression "uVar4 < (uint)-((int)pcVar14 >> 0x1f)" identifier < (binary_expression "(uint)-((int)pcVar14 >> 0x1f)" (parenthesized_expression "(uint)" ( identifier )) - (parenthesized_expression "((int)pcVar14 >> 0x1f)" ( (binary_expression "(int)pcVar14 >> 0x1f" (cast_expression "(int)pcVar14" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ))) ))) >> number_literal) )))) ;) (expression_statement "uStack_c4 = (int)(pcVar14 + (uVar4 < (uint)-((int)pcVar14 >> 0x1f))) * -0x80000000 | uVar4 >> 1;" (assignment_expression "uStack_c4 = (int)(pcVar14 + (uVar4 < (uint)-((int)pcVar14 >> 0x1f))) * -0x80000000 | uVar4 >> 1" identifier = (binary_expression "(int)(pcVar14 + (uVar4 < (uint)-((int)pcVar14 >> 0x1f))) * -0x80000000 | uVar4 >> 1" (binary_expression "(int)(pcVar14 + (uVar4 < (uint)-((int)pcVar14 >> 0x1f))) * -0x80000000" (cast_expression "(int)(pcVar14 + (uVar4 < (uint)-((int)pcVar14 >> 0x1f)))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar14 + (uVar4 < (uint)-((int)pcVar14 >> 0x1f)))" ( (binary_expression "pcVar14 + (uVar4 < (uint)-((int)pcVar14 >> 0x1f))" identifier + (parenthesized_expression "(uVar4 < (uint)-((int)pcVar14 >> 0x1f))" ( (binary_expression "uVar4 < (uint)-((int)pcVar14 >> 0x1f)" identifier < (binary_expression "(uint)-((int)pcVar14 >> 0x1f)" (parenthesized_expression "(uint)" ( identifier )) - (parenthesized_expression "((int)pcVar14 >> 0x1f)" ( (binary_expression "(int)pcVar14 >> 0x1f" (cast_expression "(int)pcVar14" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ))) ))) * number_literal) | (binary_expression "uVar4 >> 1" identifier >> number_literal))) ;) (expression_statement "(*pcStack_d4)(psStack_bc,1,(uint)(uVar16 + 1 < uVar16) + (int)ppsStack_d0);" (call_expression "(*pcStack_d4)(psStack_bc,1,(uint)(uVar16 + 1 < uVar16) + (int)ppsStack_d0)" (parenthesized_expression "(*pcStack_d4)" ( (pointer_expression "*pcStack_d4" * identifier) )) (argument_list "(psStack_bc,1,(uint)(uVar16 + 1 < uVar16) + (int)ppsStack_d0)" ( identifier , number_literal , (binary_expression "(uint)(uVar16 + 1 < uVar16) + (int)ppsStack_d0" (call_expression "(uint)(uVar16 + 1 < uVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar16 + 1 < uVar16)" ( (binary_expression "uVar16 + 1 < uVar16" (binary_expression "uVar16 + 1" identifier + number_literal) < identifier) ))) + (cast_expression "(int)ppsStack_d0" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) (expression_statement "uVar4 = uVar16;" (assignment_expression "uVar4 = uVar16" identifier = identifier) ;) (if_statement "if ((int)ppsVar13 < 0) {\n      uVar4 = uVar16 + 0x3ff;\n      ppsVar13 = (sqlite3_stmt **)((uint)(uVar4 < uVar16) + (int)ppsVar13);\n    }" if (parenthesized_expression "((int)ppsVar13 < 0)" ( (binary_expression "(int)ppsVar13 < 0" (cast_expression "(int)ppsVar13" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      uVar4 = uVar16 + 0x3ff;\n      ppsVar13 = (sqlite3_stmt **)((uint)(uVar4 < uVar16) + (int)ppsVar13);\n    }" { (expression_statement "uVar4 = uVar16 + 0x3ff;" (assignment_expression "uVar4 = uVar16 + 0x3ff" identifier = (binary_expression "uVar16 + 0x3ff" identifier + number_literal)) ;) (expression_statement "ppsVar13 = (sqlite3_stmt **)((uint)(uVar4 < uVar16) + (int)ppsVar13);" (assignment_expression "ppsVar13 = (sqlite3_stmt **)((uint)(uVar4 < uVar16) + (int)ppsVar13)" identifier = (cast_expression "(sqlite3_stmt **)((uint)(uVar4 < uVar16) + (int)ppsVar13)" ( (type_descriptor "sqlite3_stmt **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((uint)(uVar4 < uVar16) + (int)ppsVar13)" ( (binary_expression "(uint)(uVar4 < uVar16) + (int)ppsVar13" (call_expression "(uint)(uVar4 < uVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar4 < uVar16)" ( (binary_expression "uVar4 < uVar16" identifier < identifier) ))) + (cast_expression "(int)ppsVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (expression_statement "pcStack_68 = *(code **)(pcStack_e0 + -0x7f90);" (assignment_expression "pcStack_68 = *(code **)(pcStack_e0 + -0x7f90)" identifier = (pointer_expression "*(code **)(pcStack_e0 + -0x7f90)" * (cast_expression "(code **)(pcStack_e0 + -0x7f90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e0 + -0x7f90)" ( (binary_expression "pcStack_e0 + -0x7f90" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = (int)ppsVar13 << 0x16 | uVar4 >> 10;" (assignment_expression "uVar4 = (int)ppsVar13 << 0x16 | uVar4 >> 10" identifier = (binary_expression "(int)ppsVar13 << 0x16 | uVar4 >> 10" (binary_expression "(int)ppsVar13 << 0x16" (cast_expression "(int)ppsVar13" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) | (binary_expression "uVar4 >> 10" identifier >> number_literal))) ;) (expression_statement "uVar17 = uVar4 + 1;" (assignment_expression "uVar17 = uVar4 + 1" identifier = (binary_expression "uVar4 + 1" identifier + number_literal)) ;) (expression_statement "pFVar12 = (Fts3DeferredToken *)&SUB_00000002;" (assignment_expression "pFVar12 = (Fts3DeferredToken *)&SUB_00000002" identifier = (cast_expression "(Fts3DeferredToken *)&SUB_00000002" ( (type_descriptor "Fts3DeferredToken *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&SUB_00000002" & identifier))) ;) (expression_statement "(*pcStack_d4)(psStack_bc,2,\n                  (uint)(uVar17 * 0x400 - 1 < uVar17 * 0x400) +\n                  ((uVar17 >> 0x16 | ((uint)(uVar17 < uVar4) + ((int)ppsVar13 >> 10)) * 0x400) - 1))\n    ;" (call_expression "(*pcStack_d4)(psStack_bc,2,\n                  (uint)(uVar17 * 0x400 - 1 < uVar17 * 0x400) +\n                  ((uVar17 >> 0x16 | ((uint)(uVar17 < uVar4) + ((int)ppsVar13 >> 10)) * 0x400) - 1))" (parenthesized_expression "(*pcStack_d4)" ( (pointer_expression "*pcStack_d4" * identifier) )) (argument_list "(psStack_bc,2,\n                  (uint)(uVar17 * 0x400 - 1 < uVar17 * 0x400) +\n                  ((uVar17 >> 0x16 | ((uint)(uVar17 < uVar4) + ((int)ppsVar13 >> 10)) * 0x400) - 1))" ( identifier , number_literal , (binary_expression "(uint)(uVar17 * 0x400 - 1 < uVar17 * 0x400) +\n                  ((uVar17 >> 0x16 | ((uint)(uVar17 < uVar4) + ((int)ppsVar13 >> 10)) * 0x400) - 1)" (call_expression "(uint)(uVar17 * 0x400 - 1 < uVar17 * 0x400)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar17 * 0x400 - 1 < uVar17 * 0x400)" ( (binary_expression "uVar17 * 0x400 - 1 < uVar17 * 0x400" (binary_expression "uVar17 * 0x400 - 1" (binary_expression "uVar17 * 0x400" identifier * number_literal) - number_literal) < (binary_expression "uVar17 * 0x400" identifier * number_literal)) ))) + (parenthesized_expression "((uVar17 >> 0x16 | ((uint)(uVar17 < uVar4) + ((int)ppsVar13 >> 10)) * 0x400) - 1)" ( (binary_expression "(uVar17 >> 0x16 | ((uint)(uVar17 < uVar4) + ((int)ppsVar13 >> 10)) * 0x400) - 1" (parenthesized_expression "(uVar17 >> 0x16 | ((uint)(uVar17 < uVar4) + ((int)ppsVar13 >> 10)) * 0x400)" ( (binary_expression "uVar17 >> 0x16 | ((uint)(uVar17 < uVar4) + ((int)ppsVar13 >> 10)) * 0x400" (binary_expression "uVar17 >> 0x16" identifier >> number_literal) | (binary_expression "((uint)(uVar17 < uVar4) + ((int)ppsVar13 >> 10)) * 0x400" (parenthesized_expression "((uint)(uVar17 < uVar4) + ((int)ppsVar13 >> 10))" ( (binary_expression "(uint)(uVar17 < uVar4) + ((int)ppsVar13 >> 10)" (call_expression "(uint)(uVar17 < uVar4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar17 < uVar4)" ( (binary_expression "uVar17 < uVar4" identifier < identifier) ))) + (parenthesized_expression "((int)ppsVar13 >> 10)" ( (binary_expression "(int)ppsVar13 >> 10" (cast_expression "(int)ppsVar13" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )) * number_literal)) )) - number_literal) ))) ))) ;) (expression_statement "iVar6 = *(int *)(pcStack_e0 + -0x7d60);" (assignment_expression "iVar6 = *(int *)(pcStack_e0 + -0x7d60)" identifier = (pointer_expression "*(int *)(pcStack_e0 + -0x7d60)" * (cast_expression "(int *)(pcStack_e0 + -0x7d60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_e0 + -0x7d60)" ( (binary_expression "pcStack_e0 + -0x7d60" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = (*pcStack_68)(psStack_bc);" (assignment_expression "iVar3 = (*pcStack_68)(psStack_bc)" identifier = (call_expression "(*pcStack_68)(psStack_bc)" (parenthesized_expression "(*pcStack_68)" ( (pointer_expression "*pcStack_68" * identifier) )) (argument_list "(psStack_bc)" ( identifier )))) ;) (expression_statement "pcVar14 = (code *)(iVar6 + 0x7794);" (assignment_expression "pcVar14 = (code *)(iVar6 + 0x7794)" identifier = (cast_expression "(code *)(iVar6 + 0x7794)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x7794)" ( (binary_expression "iVar6 + 0x7794" identifier + number_literal) )))) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (while_statement "while (iVar3 == 100) {\n      pFVar12 = (Fts3DeferredToken *)&SUB_00000002;\n      pFStack_b8 = (Fts3Table *)0x0;\n      uStack_b4 = 0;\n      (*pcVar14)(psStack_bc,2,auStack_b0,&pFStack_b8);\n      if ((int)pFStack_b8 < 1) {\n        pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);\n        if (pFStack_b8 == (Fts3Table *)0x0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);\n        }\nLAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar22)(psStack_bc);\n        goto LAB_0012b828;\n      }\nLAB_0012b99c:\n      pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);\n      if (((int)pFStack_64 < (int)pFStack_b8) ||\n         ((pFStack_b8 == pFStack_64 &&\n          (pcVar22 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))) goto LAB_0012ba04;\n      bVar1 = true;\n      iVar3 = (*pcStack_68)(psStack_bc);\n    }" while (parenthesized_expression "(iVar3 == 100)" ( (binary_expression "iVar3 == 100" identifier == number_literal) )) (compound_statement "{\n      pFVar12 = (Fts3DeferredToken *)&SUB_00000002;\n      pFStack_b8 = (Fts3Table *)0x0;\n      uStack_b4 = 0;\n      (*pcVar14)(psStack_bc,2,auStack_b0,&pFStack_b8);\n      if ((int)pFStack_b8 < 1) {\n        pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);\n        if (pFStack_b8 == (Fts3Table *)0x0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);\n        }\nLAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar22)(psStack_bc);\n        goto LAB_0012b828;\n      }\nLAB_0012b99c:\n      pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);\n      if (((int)pFStack_64 < (int)pFStack_b8) ||\n         ((pFStack_b8 == pFStack_64 &&\n          (pcVar22 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))) goto LAB_0012ba04;\n      bVar1 = true;\n      iVar3 = (*pcStack_68)(psStack_bc);\n    }" { (expression_statement "pFVar12 = (Fts3DeferredToken *)&SUB_00000002;" (assignment_expression "pFVar12 = (Fts3DeferredToken *)&SUB_00000002" identifier = (cast_expression "(Fts3DeferredToken *)&SUB_00000002" ( (type_descriptor "Fts3DeferredToken *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&SUB_00000002" & identifier))) ;) (expression_statement "pFStack_b8 = (Fts3Table *)0x0;" (assignment_expression "pFStack_b8 = (Fts3Table *)0x0" identifier = (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uStack_b4 = 0;" (assignment_expression "uStack_b4 = 0" identifier = number_literal) ;) (expression_statement "(*pcVar14)(psStack_bc,2,auStack_b0,&pFStack_b8);" (call_expression "(*pcVar14)(psStack_bc,2,auStack_b0,&pFStack_b8)" (parenthesized_expression "(*pcVar14)" ( (pointer_expression "*pcVar14" * identifier) )) (argument_list "(psStack_bc,2,auStack_b0,&pFStack_b8)" ( identifier , number_literal , identifier , (pointer_expression "&pFStack_b8" & identifier) ))) ;) (if_statement "if ((int)pFStack_b8 < 1) {\n        pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);\n        if (pFStack_b8 == (Fts3Table *)0x0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);\n        }\nLAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar22)(psStack_bc);\n        goto LAB_0012b828;\n      }" if (parenthesized_expression "((int)pFStack_b8 < 1)" ( (binary_expression "(int)pFStack_b8 < 1" (cast_expression "(int)pFStack_b8" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);\n        if (pFStack_b8 == (Fts3Table *)0x0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);\n        }\nLAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar22)(psStack_bc);\n        goto LAB_0012b828;\n      }" { (expression_statement "pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);" (assignment_expression "pcVar22 = *(code **)(pcStack_e0 + -0x7ec4)" identifier = (pointer_expression "*(code **)(pcStack_e0 + -0x7ec4)" * (cast_expression "(code **)(pcStack_e0 + -0x7ec4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e0 + -0x7ec4)" ( (binary_expression "pcStack_e0 + -0x7ec4" identifier + number_literal) ))))) ;) (if_statement "if (pFStack_b8 == (Fts3Table *)0x0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);\n        }" if (parenthesized_expression "(pFStack_b8 == (Fts3Table *)0x0)" ( (binary_expression "pFStack_b8 == (Fts3Table *)0x0" identifier == (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);\n        }" { (if_statement "if (uStack_b4 != 0) goto LAB_0012b99c;" if (parenthesized_expression "(uStack_b4 != 0)" ( (binary_expression "uStack_b4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0012b99c;" goto statement_identifier ;)) (expression_statement "pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);" (assignment_expression "pcVar22 = *(code **)(pcStack_e0 + -0x7ec4)" identifier = (pointer_expression "*(code **)(pcStack_e0 + -0x7ec4)" * (cast_expression "(code **)(pcStack_e0 + -0x7ec4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e0 + -0x7ec4)" ( (binary_expression "pcStack_e0 + -0x7ec4" identifier + number_literal) ))))) ;) })) (labeled_statement "LAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar22)(psStack_bc);" statement_identifier : (expression_statement "pcStack_fc = (code *)(*pcVar22)(psStack_bc);" (assignment_expression "pcStack_fc = (code *)(*pcVar22)(psStack_bc)" identifier = (cast_expression "(code *)(*pcVar22)(psStack_bc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar22)(psStack_bc)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(psStack_bc)" ( identifier ))))) ;)) (goto_statement "goto LAB_0012b828;" goto statement_identifier ;) })) (labeled_statement "LAB_0012b99c:\n      pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);" statement_identifier : (expression_statement "pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);" (assignment_expression "pcVar22 = *(code **)(pcStack_e0 + -0x7ec4)" identifier = (pointer_expression "*(code **)(pcStack_e0 + -0x7ec4)" * (cast_expression "(code **)(pcStack_e0 + -0x7ec4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e0 + -0x7ec4)" ( (binary_expression "pcStack_e0 + -0x7ec4" identifier + number_literal) ))))) ;)) (if_statement "if (((int)pFStack_64 < (int)pFStack_b8) ||\n         ((pFStack_b8 == pFStack_64 &&\n          (pcVar22 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))) goto LAB_0012ba04;" if (parenthesized_expression "(((int)pFStack_64 < (int)pFStack_b8) ||\n         ((pFStack_b8 == pFStack_64 &&\n          (pcVar22 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4))))" ( (binary_expression "((int)pFStack_64 < (int)pFStack_b8) ||\n         ((pFStack_b8 == pFStack_64 &&\n          (pcVar22 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))" (parenthesized_expression "((int)pFStack_64 < (int)pFStack_b8)" ( (binary_expression "(int)pFStack_64 < (int)pFStack_b8" (cast_expression "(int)pFStack_64" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pFStack_b8" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "((pFStack_b8 == pFStack_64 &&\n          (pcVar22 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))" ( (parenthesized_expression "(pFStack_b8 == pFStack_64 &&\n          (pcVar22 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4))" ( (binary_expression "pFStack_b8 == pFStack_64 &&\n          (pcVar22 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)" (binary_expression "pFStack_b8 == pFStack_64" identifier == identifier) && (parenthesized_expression "(pcVar22 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)" ( (comma_expression "pcVar22 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4" (assignment_expression "pcVar22 = *(code **)(pcStack_e0 + -0x7ec4)" identifier = (pointer_expression "*(code **)(pcStack_e0 + -0x7ec4)" * (cast_expression "(code **)(pcStack_e0 + -0x7ec4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e0 + -0x7ec4)" ( (binary_expression "pcStack_e0 + -0x7ec4" identifier + number_literal) ))))) , (binary_expression "uStack_c4 < uStack_b4" identifier < identifier)) ))) )) ))) )) (goto_statement "goto LAB_0012ba04;" goto statement_identifier ;)) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (expression_statement "iVar3 = (*pcStack_68)(psStack_bc);" (assignment_expression "iVar3 = (*pcStack_68)(psStack_bc)" identifier = (call_expression "(*pcStack_68)(psStack_bc)" (parenthesized_expression "(*pcStack_68)" ( (pointer_expression "*pcStack_68" * identifier) )) (argument_list "(psStack_bc)" ( identifier )))) ;) })) (expression_statement "pcVar22 = *(code **)(pcStack_e0 + -0x7ec4);" (assignment_expression "pcVar22 = *(code **)(pcStack_e0 + -0x7ec4)" identifier = (pointer_expression "*(code **)(pcStack_e0 + -0x7ec4)" * (cast_expression "(code **)(pcStack_e0 + -0x7ec4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e0 + -0x7ec4)" ( (binary_expression "pcStack_e0 + -0x7ec4" identifier + number_literal) ))))) ;) (expression_statement "pcStack_fc = (code *)(*pcVar22)();" (assignment_expression "pcStack_fc = (code *)(*pcVar22)()" identifier = (cast_expression "(code *)(*pcVar22)()" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar22)()" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "()" ( ))))) ;) (expression_statement "pFVar9 = pFStack_c8;" (assignment_expression "pFVar9 = pFStack_c8" identifier = identifier) ;) (if_statement "if (bVar1) {\n      pFStack_b8 = (Fts3Table *)0x0;\n      auStack_b0[0] = 0;\n      if (pcStack_fc == (code *)0x0) {\n        pFVar12 = (Fts3DeferredToken *)0x26;\n        pcStack_fc = (code *)(*pcStack_cc)(pFStack_c8,0x26,&pFStack_b8,0);\n        pFStack_64 = pFVar9;\n        if (pcStack_fc == (code *)0x0) {\n          pFVar12 = (Fts3DeferredToken *)&DAT_00000027;\n          pcStack_fc = (code *)(*pcStack_cc)(pFVar9,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            pFVar12 = (Fts3DeferredToken *)0x1;\n            iVar3 = 0;\n            pcVar14 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(psStack_bc,1,ppsStack_d0,uVar16);\n            pFStack_64 = (Fts3Table *)0x0;\n            do {\n              iVar6 = (*pcStack_68)(psStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar22)(psStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  pFVar12 = (Fts3DeferredToken *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,ppsStack_d0,uVar16);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar22)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(pFStack_b8,1,iVar3,pFStack_64);\n              pFVar9 = pFStack_b8;\n              iVar6 = (*pcVar14)(psStack_bc,0);\n              (*pcStack_d4)(pFVar9,2,iVar6 >> 0x1f,iVar6);\n              pFVar9 = pFStack_b8;\n              iVar6 = (*pcVar14)(psStack_bc,1);\n              pFVar12 = (Fts3DeferredToken *)0x3;\n              (*pcStack_d4)(pFVar9,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(pFStack_b8);\n              pcVar23 = (code *)(*pcVar22)(pFStack_b8);\n              pFVar9 = (Fts3Table *)((int)&(pFStack_64->base).pModule + 1);\n              iVar3 = (uint)(pFVar9 < pFStack_64) + iVar3;\n              pFStack_64 = pFVar9;\n            } while (pcVar23 == (code *)0x0);\n            pcStack_d4 = pcVar23;\n            (*pcVar22)(psStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }\n      }\n    }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n      pFStack_b8 = (Fts3Table *)0x0;\n      auStack_b0[0] = 0;\n      if (pcStack_fc == (code *)0x0) {\n        pFVar12 = (Fts3DeferredToken *)0x26;\n        pcStack_fc = (code *)(*pcStack_cc)(pFStack_c8,0x26,&pFStack_b8,0);\n        pFStack_64 = pFVar9;\n        if (pcStack_fc == (code *)0x0) {\n          pFVar12 = (Fts3DeferredToken *)&DAT_00000027;\n          pcStack_fc = (code *)(*pcStack_cc)(pFVar9,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            pFVar12 = (Fts3DeferredToken *)0x1;\n            iVar3 = 0;\n            pcVar14 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(psStack_bc,1,ppsStack_d0,uVar16);\n            pFStack_64 = (Fts3Table *)0x0;\n            do {\n              iVar6 = (*pcStack_68)(psStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar22)(psStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  pFVar12 = (Fts3DeferredToken *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,ppsStack_d0,uVar16);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar22)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(pFStack_b8,1,iVar3,pFStack_64);\n              pFVar9 = pFStack_b8;\n              iVar6 = (*pcVar14)(psStack_bc,0);\n              (*pcStack_d4)(pFVar9,2,iVar6 >> 0x1f,iVar6);\n              pFVar9 = pFStack_b8;\n              iVar6 = (*pcVar14)(psStack_bc,1);\n              pFVar12 = (Fts3DeferredToken *)0x3;\n              (*pcStack_d4)(pFVar9,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(pFStack_b8);\n              pcVar23 = (code *)(*pcVar22)(pFStack_b8);\n              pFVar9 = (Fts3Table *)((int)&(pFStack_64->base).pModule + 1);\n              iVar3 = (uint)(pFVar9 < pFStack_64) + iVar3;\n              pFStack_64 = pFVar9;\n            } while (pcVar23 == (code *)0x0);\n            pcStack_d4 = pcVar23;\n            (*pcVar22)(psStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }\n      }\n    }" { (expression_statement "pFStack_b8 = (Fts3Table *)0x0;" (assignment_expression "pFStack_b8 = (Fts3Table *)0x0" identifier = (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "auStack_b0[0] = 0;" (assignment_expression "auStack_b0[0] = 0" (subscript_expression "auStack_b0[0]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (pcStack_fc == (code *)0x0) {\n        pFVar12 = (Fts3DeferredToken *)0x26;\n        pcStack_fc = (code *)(*pcStack_cc)(pFStack_c8,0x26,&pFStack_b8,0);\n        pFStack_64 = pFVar9;\n        if (pcStack_fc == (code *)0x0) {\n          pFVar12 = (Fts3DeferredToken *)&DAT_00000027;\n          pcStack_fc = (code *)(*pcStack_cc)(pFVar9,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            pFVar12 = (Fts3DeferredToken *)0x1;\n            iVar3 = 0;\n            pcVar14 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(psStack_bc,1,ppsStack_d0,uVar16);\n            pFStack_64 = (Fts3Table *)0x0;\n            do {\n              iVar6 = (*pcStack_68)(psStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar22)(psStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  pFVar12 = (Fts3DeferredToken *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,ppsStack_d0,uVar16);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar22)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(pFStack_b8,1,iVar3,pFStack_64);\n              pFVar9 = pFStack_b8;\n              iVar6 = (*pcVar14)(psStack_bc,0);\n              (*pcStack_d4)(pFVar9,2,iVar6 >> 0x1f,iVar6);\n              pFVar9 = pFStack_b8;\n              iVar6 = (*pcVar14)(psStack_bc,1);\n              pFVar12 = (Fts3DeferredToken *)0x3;\n              (*pcStack_d4)(pFVar9,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(pFStack_b8);\n              pcVar23 = (code *)(*pcVar22)(pFStack_b8);\n              pFVar9 = (Fts3Table *)((int)&(pFStack_64->base).pModule + 1);\n              iVar3 = (uint)(pFVar9 < pFStack_64) + iVar3;\n              pFStack_64 = pFVar9;\n            } while (pcVar23 == (code *)0x0);\n            pcStack_d4 = pcVar23;\n            (*pcVar22)(psStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }\n      }" if (parenthesized_expression "(pcStack_fc == (code *)0x0)" ( (binary_expression "pcStack_fc == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pFVar12 = (Fts3DeferredToken *)0x26;\n        pcStack_fc = (code *)(*pcStack_cc)(pFStack_c8,0x26,&pFStack_b8,0);\n        pFStack_64 = pFVar9;\n        if (pcStack_fc == (code *)0x0) {\n          pFVar12 = (Fts3DeferredToken *)&DAT_00000027;\n          pcStack_fc = (code *)(*pcStack_cc)(pFVar9,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            pFVar12 = (Fts3DeferredToken *)0x1;\n            iVar3 = 0;\n            pcVar14 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(psStack_bc,1,ppsStack_d0,uVar16);\n            pFStack_64 = (Fts3Table *)0x0;\n            do {\n              iVar6 = (*pcStack_68)(psStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar22)(psStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  pFVar12 = (Fts3DeferredToken *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,ppsStack_d0,uVar16);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar22)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(pFStack_b8,1,iVar3,pFStack_64);\n              pFVar9 = pFStack_b8;\n              iVar6 = (*pcVar14)(psStack_bc,0);\n              (*pcStack_d4)(pFVar9,2,iVar6 >> 0x1f,iVar6);\n              pFVar9 = pFStack_b8;\n              iVar6 = (*pcVar14)(psStack_bc,1);\n              pFVar12 = (Fts3DeferredToken *)0x3;\n              (*pcStack_d4)(pFVar9,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(pFStack_b8);\n              pcVar23 = (code *)(*pcVar22)(pFStack_b8);\n              pFVar9 = (Fts3Table *)((int)&(pFStack_64->base).pModule + 1);\n              iVar3 = (uint)(pFVar9 < pFStack_64) + iVar3;\n              pFStack_64 = pFVar9;\n            } while (pcVar23 == (code *)0x0);\n            pcStack_d4 = pcVar23;\n            (*pcVar22)(psStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }\n      }" { (expression_statement "pFVar12 = (Fts3DeferredToken *)0x26;" (assignment_expression "pFVar12 = (Fts3DeferredToken *)0x26" identifier = (cast_expression "(Fts3DeferredToken *)0x26" ( (type_descriptor "Fts3DeferredToken *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcStack_fc = (code *)(*pcStack_cc)(pFStack_c8,0x26,&pFStack_b8,0);" (assignment_expression "pcStack_fc = (code *)(*pcStack_cc)(pFStack_c8,0x26,&pFStack_b8,0)" identifier = (cast_expression "(code *)(*pcStack_cc)(pFStack_c8,0x26,&pFStack_b8,0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcStack_cc)(pFStack_c8,0x26,&pFStack_b8,0)" (parenthesized_expression "(*pcStack_cc)" ( (pointer_expression "*pcStack_cc" * identifier) )) (argument_list "(pFStack_c8,0x26,&pFStack_b8,0)" ( identifier , number_literal , (pointer_expression "&pFStack_b8" & identifier) , number_literal ))))) ;) (expression_statement "pFStack_64 = pFVar9;" (assignment_expression "pFStack_64 = pFVar9" identifier = identifier) ;) (if_statement "if (pcStack_fc == (code *)0x0) {\n          pFVar12 = (Fts3DeferredToken *)&DAT_00000027;\n          pcStack_fc = (code *)(*pcStack_cc)(pFVar9,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            pFVar12 = (Fts3DeferredToken *)0x1;\n            iVar3 = 0;\n            pcVar14 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(psStack_bc,1,ppsStack_d0,uVar16);\n            pFStack_64 = (Fts3Table *)0x0;\n            do {\n              iVar6 = (*pcStack_68)(psStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar22)(psStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  pFVar12 = (Fts3DeferredToken *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,ppsStack_d0,uVar16);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar22)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(pFStack_b8,1,iVar3,pFStack_64);\n              pFVar9 = pFStack_b8;\n              iVar6 = (*pcVar14)(psStack_bc,0);\n              (*pcStack_d4)(pFVar9,2,iVar6 >> 0x1f,iVar6);\n              pFVar9 = pFStack_b8;\n              iVar6 = (*pcVar14)(psStack_bc,1);\n              pFVar12 = (Fts3DeferredToken *)0x3;\n              (*pcStack_d4)(pFVar9,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(pFStack_b8);\n              pcVar23 = (code *)(*pcVar22)(pFStack_b8);\n              pFVar9 = (Fts3Table *)((int)&(pFStack_64->base).pModule + 1);\n              iVar3 = (uint)(pFVar9 < pFStack_64) + iVar3;\n              pFStack_64 = pFVar9;\n            } while (pcVar23 == (code *)0x0);\n            pcStack_d4 = pcVar23;\n            (*pcVar22)(psStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }" if (parenthesized_expression "(pcStack_fc == (code *)0x0)" ( (binary_expression "pcStack_fc == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pFVar12 = (Fts3DeferredToken *)&DAT_00000027;\n          pcStack_fc = (code *)(*pcStack_cc)(pFVar9,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            pFVar12 = (Fts3DeferredToken *)0x1;\n            iVar3 = 0;\n            pcVar14 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(psStack_bc,1,ppsStack_d0,uVar16);\n            pFStack_64 = (Fts3Table *)0x0;\n            do {\n              iVar6 = (*pcStack_68)(psStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar22)(psStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  pFVar12 = (Fts3DeferredToken *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,ppsStack_d0,uVar16);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar22)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(pFStack_b8,1,iVar3,pFStack_64);\n              pFVar9 = pFStack_b8;\n              iVar6 = (*pcVar14)(psStack_bc,0);\n              (*pcStack_d4)(pFVar9,2,iVar6 >> 0x1f,iVar6);\n              pFVar9 = pFStack_b8;\n              iVar6 = (*pcVar14)(psStack_bc,1);\n              pFVar12 = (Fts3DeferredToken *)0x3;\n              (*pcStack_d4)(pFVar9,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(pFStack_b8);\n              pcVar23 = (code *)(*pcVar22)(pFStack_b8);\n              pFVar9 = (Fts3Table *)((int)&(pFStack_64->base).pModule + 1);\n              iVar3 = (uint)(pFVar9 < pFStack_64) + iVar3;\n              pFStack_64 = pFVar9;\n            } while (pcVar23 == (code *)0x0);\n            pcStack_d4 = pcVar23;\n            (*pcVar22)(psStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }" { (expression_statement "pFVar12 = (Fts3DeferredToken *)&DAT_00000027;" (assignment_expression "pFVar12 = (Fts3DeferredToken *)&DAT_00000027" identifier = (cast_expression "(Fts3DeferredToken *)&DAT_00000027" ( (type_descriptor "Fts3DeferredToken *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000027" & identifier))) ;) (expression_statement "pcStack_fc = (code *)(*pcStack_cc)(pFVar9,0x27,auStack_b0,0);" (assignment_expression "pcStack_fc = (code *)(*pcStack_cc)(pFVar9,0x27,auStack_b0,0)" identifier = (cast_expression "(code *)(*pcStack_cc)(pFVar9,0x27,auStack_b0,0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcStack_cc)(pFVar9,0x27,auStack_b0,0)" (parenthesized_expression "(*pcStack_cc)" ( (pointer_expression "*pcStack_cc" * identifier) )) (argument_list "(pFVar9,0x27,auStack_b0,0)" ( identifier , number_literal , identifier , number_literal ))))) ;) (if_statement "if (pcStack_fc == (code *)0x0) {\n            pFVar12 = (Fts3DeferredToken *)0x1;\n            iVar3 = 0;\n            pcVar14 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(psStack_bc,1,ppsStack_d0,uVar16);\n            pFStack_64 = (Fts3Table *)0x0;\n            do {\n              iVar6 = (*pcStack_68)(psStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar22)(psStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  pFVar12 = (Fts3DeferredToken *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,ppsStack_d0,uVar16);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar22)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(pFStack_b8,1,iVar3,pFStack_64);\n              pFVar9 = pFStack_b8;\n              iVar6 = (*pcVar14)(psStack_bc,0);\n              (*pcStack_d4)(pFVar9,2,iVar6 >> 0x1f,iVar6);\n              pFVar9 = pFStack_b8;\n              iVar6 = (*pcVar14)(psStack_bc,1);\n              pFVar12 = (Fts3DeferredToken *)0x3;\n              (*pcStack_d4)(pFVar9,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(pFStack_b8);\n              pcVar23 = (code *)(*pcVar22)(pFStack_b8);\n              pFVar9 = (Fts3Table *)((int)&(pFStack_64->base).pModule + 1);\n              iVar3 = (uint)(pFVar9 < pFStack_64) + iVar3;\n              pFStack_64 = pFVar9;\n            } while (pcVar23 == (code *)0x0);\n            pcStack_d4 = pcVar23;\n            (*pcVar22)(psStack_bc);\n            pcStack_fc = pcStack_d4;\n          }" if (parenthesized_expression "(pcStack_fc == (code *)0x0)" ( (binary_expression "pcStack_fc == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pFVar12 = (Fts3DeferredToken *)0x1;\n            iVar3 = 0;\n            pcVar14 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(psStack_bc,1,ppsStack_d0,uVar16);\n            pFStack_64 = (Fts3Table *)0x0;\n            do {\n              iVar6 = (*pcStack_68)(psStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar22)(psStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  pFVar12 = (Fts3DeferredToken *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,ppsStack_d0,uVar16);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar22)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(pFStack_b8,1,iVar3,pFStack_64);\n              pFVar9 = pFStack_b8;\n              iVar6 = (*pcVar14)(psStack_bc,0);\n              (*pcStack_d4)(pFVar9,2,iVar6 >> 0x1f,iVar6);\n              pFVar9 = pFStack_b8;\n              iVar6 = (*pcVar14)(psStack_bc,1);\n              pFVar12 = (Fts3DeferredToken *)0x3;\n              (*pcStack_d4)(pFVar9,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(pFStack_b8);\n              pcVar23 = (code *)(*pcVar22)(pFStack_b8);\n              pFVar9 = (Fts3Table *)((int)&(pFStack_64->base).pModule + 1);\n              iVar3 = (uint)(pFVar9 < pFStack_64) + iVar3;\n              pFStack_64 = pFVar9;\n            } while (pcVar23 == (code *)0x0);\n            pcStack_d4 = pcVar23;\n            (*pcVar22)(psStack_bc);\n            pcStack_fc = pcStack_d4;\n          }" { (expression_statement "pFVar12 = (Fts3DeferredToken *)0x1;" (assignment_expression "pFVar12 = (Fts3DeferredToken *)0x1" identifier = (cast_expression "(Fts3DeferredToken *)0x1" ( (type_descriptor "Fts3DeferredToken *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "pcVar14 = *(code **)(pcStack_e0 + -0x7ed4);" (assignment_expression "pcVar14 = *(code **)(pcStack_e0 + -0x7ed4)" identifier = (pointer_expression "*(code **)(pcStack_e0 + -0x7ed4)" * (cast_expression "(code **)(pcStack_e0 + -0x7ed4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e0 + -0x7ed4)" ( (binary_expression "pcStack_e0 + -0x7ed4" identifier + number_literal) ))))) ;) (expression_statement "(*pcStack_d4)(psStack_bc,1,ppsStack_d0,uVar16);" (call_expression "(*pcStack_d4)(psStack_bc,1,ppsStack_d0,uVar16)" (parenthesized_expression "(*pcStack_d4)" ( (pointer_expression "*pcStack_d4" * identifier) )) (argument_list "(psStack_bc,1,ppsStack_d0,uVar16)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "pFStack_64 = (Fts3Table *)0x0;" (assignment_expression "pFStack_64 = (Fts3Table *)0x0" identifier = (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n              iVar6 = (*pcStack_68)(psStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar22)(psStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  pFVar12 = (Fts3DeferredToken *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,ppsStack_d0,uVar16);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar22)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(pFStack_b8,1,iVar3,pFStack_64);\n              pFVar9 = pFStack_b8;\n              iVar6 = (*pcVar14)(psStack_bc,0);\n              (*pcStack_d4)(pFVar9,2,iVar6 >> 0x1f,iVar6);\n              pFVar9 = pFStack_b8;\n              iVar6 = (*pcVar14)(psStack_bc,1);\n              pFVar12 = (Fts3DeferredToken *)0x3;\n              (*pcStack_d4)(pFVar9,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(pFStack_b8);\n              pcVar23 = (code *)(*pcVar22)(pFStack_b8);\n              pFVar9 = (Fts3Table *)((int)&(pFStack_64->base).pModule + 1);\n              iVar3 = (uint)(pFVar9 < pFStack_64) + iVar3;\n              pFStack_64 = pFVar9;\n            } while (pcVar23 == (code *)0x0);" do (compound_statement "{\n              iVar6 = (*pcStack_68)(psStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar22)(psStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  pFVar12 = (Fts3DeferredToken *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,ppsStack_d0,uVar16);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar22)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(pFStack_b8,1,iVar3,pFStack_64);\n              pFVar9 = pFStack_b8;\n              iVar6 = (*pcVar14)(psStack_bc,0);\n              (*pcStack_d4)(pFVar9,2,iVar6 >> 0x1f,iVar6);\n              pFVar9 = pFStack_b8;\n              iVar6 = (*pcVar14)(psStack_bc,1);\n              pFVar12 = (Fts3DeferredToken *)0x3;\n              (*pcStack_d4)(pFVar9,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(pFStack_b8);\n              pcVar23 = (code *)(*pcVar22)(pFStack_b8);\n              pFVar9 = (Fts3Table *)((int)&(pFStack_64->base).pModule + 1);\n              iVar3 = (uint)(pFVar9 < pFStack_64) + iVar3;\n              pFStack_64 = pFVar9;\n            }" { (expression_statement "iVar6 = (*pcStack_68)(psStack_bc);" (assignment_expression "iVar6 = (*pcStack_68)(psStack_bc)" identifier = (call_expression "(*pcStack_68)(psStack_bc)" (parenthesized_expression "(*pcStack_68)" ( (pointer_expression "*pcStack_68" * identifier) )) (argument_list "(psStack_bc)" ( identifier )))) ;) (if_statement "if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar22)(psStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  pFVar12 = (Fts3DeferredToken *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,ppsStack_d0,uVar16);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar22)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }" if (parenthesized_expression "(iVar6 != 100)" ( (binary_expression "iVar6 != 100" identifier != number_literal) )) (compound_statement "{\n                pcStack_fc = (code *)(*pcVar22)(psStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  pFVar12 = (Fts3DeferredToken *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,ppsStack_d0,uVar16);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar22)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }" { (expression_statement "pcStack_fc = (code *)(*pcVar22)(psStack_bc);" (assignment_expression "pcStack_fc = (code *)(*pcVar22)(psStack_bc)" identifier = (cast_expression "(code *)(*pcVar22)(psStack_bc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar22)(psStack_bc)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(psStack_bc)" ( identifier ))))) ;) (if_statement "if (pcStack_fc == (code *)0x0) {\n                  pFVar12 = (Fts3DeferredToken *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,ppsStack_d0,uVar16);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar22)(auStack_b0[0]);\n                }" if (parenthesized_expression "(pcStack_fc == (code *)0x0)" ( (binary_expression "pcStack_fc == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  pFVar12 = (Fts3DeferredToken *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,ppsStack_d0,uVar16);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar22)(auStack_b0[0]);\n                }" { (expression_statement "pFVar12 = (Fts3DeferredToken *)0x1;" (assignment_expression "pFVar12 = (Fts3DeferredToken *)0x1" identifier = (cast_expression "(Fts3DeferredToken *)0x1" ( (type_descriptor "Fts3DeferredToken *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*pcStack_d4)(auStack_b0[0],1,ppsStack_d0,uVar16);" (call_expression "(*pcStack_d4)(auStack_b0[0],1,ppsStack_d0,uVar16)" (parenthesized_expression "(*pcStack_d4)" ( (pointer_expression "*pcStack_d4" * identifier) )) (argument_list "(auStack_b0[0],1,ppsStack_d0,uVar16)" ( (subscript_expression "auStack_b0[0]" identifier [ number_literal ]) , number_literal , identifier , identifier ))) ;) (expression_statement "(*pcStack_68)(auStack_b0[0]);" (call_expression "(*pcStack_68)(auStack_b0[0])" (parenthesized_expression "(*pcStack_68)" ( (pointer_expression "*pcStack_68" * identifier) )) (argument_list "(auStack_b0[0])" ( (subscript_expression "auStack_b0[0]" identifier [ number_literal ]) ))) ;) (expression_statement "pcStack_fc = (code *)(*pcVar22)(auStack_b0[0]);" (assignment_expression "pcStack_fc = (code *)(*pcVar22)(auStack_b0[0])" identifier = (cast_expression "(code *)(*pcVar22)(auStack_b0[0])" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar22)(auStack_b0[0])" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(auStack_b0[0])" ( (subscript_expression "auStack_b0[0]" identifier [ number_literal ]) ))))) ;) })) (goto_statement "goto LAB_0012b828;" goto statement_identifier ;) })) (expression_statement "(*pcStack_d4)(pFStack_b8,1,iVar3,pFStack_64);" (call_expression "(*pcStack_d4)(pFStack_b8,1,iVar3,pFStack_64)" (parenthesized_expression "(*pcStack_d4)" ( (pointer_expression "*pcStack_d4" * identifier) )) (argument_list "(pFStack_b8,1,iVar3,pFStack_64)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "pFVar9 = pFStack_b8;" (assignment_expression "pFVar9 = pFStack_b8" identifier = identifier) ;) (expression_statement "iVar6 = (*pcVar14)(psStack_bc,0);" (assignment_expression "iVar6 = (*pcVar14)(psStack_bc,0)" identifier = (call_expression "(*pcVar14)(psStack_bc,0)" (parenthesized_expression "(*pcVar14)" ( (pointer_expression "*pcVar14" * identifier) )) (argument_list "(psStack_bc,0)" ( identifier , number_literal )))) ;) (expression_statement "(*pcStack_d4)(pFVar9,2,iVar6 >> 0x1f,iVar6);" (call_expression "(*pcStack_d4)(pFVar9,2,iVar6 >> 0x1f,iVar6)" (parenthesized_expression "(*pcStack_d4)" ( (pointer_expression "*pcStack_d4" * identifier) )) (argument_list "(pFVar9,2,iVar6 >> 0x1f,iVar6)" ( identifier , number_literal , (binary_expression "iVar6 >> 0x1f" identifier >> number_literal) , identifier ))) ;) (expression_statement "pFVar9 = pFStack_b8;" (assignment_expression "pFVar9 = pFStack_b8" identifier = identifier) ;) (expression_statement "iVar6 = (*pcVar14)(psStack_bc,1);" (assignment_expression "iVar6 = (*pcVar14)(psStack_bc,1)" identifier = (call_expression "(*pcVar14)(psStack_bc,1)" (parenthesized_expression "(*pcVar14)" ( (pointer_expression "*pcVar14" * identifier) )) (argument_list "(psStack_bc,1)" ( identifier , number_literal )))) ;) (expression_statement "pFVar12 = (Fts3DeferredToken *)0x3;" (assignment_expression "pFVar12 = (Fts3DeferredToken *)0x3" identifier = (cast_expression "(Fts3DeferredToken *)0x3" ( (type_descriptor "Fts3DeferredToken *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*pcStack_d4)(pFVar9,3,iVar6 >> 0x1f,iVar6);" (call_expression "(*pcStack_d4)(pFVar9,3,iVar6 >> 0x1f,iVar6)" (parenthesized_expression "(*pcStack_d4)" ( (pointer_expression "*pcStack_d4" * identifier) )) (argument_list "(pFVar9,3,iVar6 >> 0x1f,iVar6)" ( identifier , number_literal , (binary_expression "iVar6 >> 0x1f" identifier >> number_literal) , identifier ))) ;) (expression_statement "(*pcStack_68)(pFStack_b8);" (call_expression "(*pcStack_68)(pFStack_b8)" (parenthesized_expression "(*pcStack_68)" ( (pointer_expression "*pcStack_68" * identifier) )) (argument_list "(pFStack_b8)" ( identifier ))) ;) (expression_statement "pcVar23 = (code *)(*pcVar22)(pFStack_b8);" (assignment_expression "pcVar23 = (code *)(*pcVar22)(pFStack_b8)" identifier = (cast_expression "(code *)(*pcVar22)(pFStack_b8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar22)(pFStack_b8)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(pFStack_b8)" ( identifier ))))) ;) (expression_statement "pFVar9 = (Fts3Table *)((int)&(pFStack_64->base).pModule + 1);" (assignment_expression "pFVar9 = (Fts3Table *)((int)&(pFStack_64->base).pModule + 1)" identifier = (cast_expression "(Fts3Table *)((int)&(pFStack_64->base).pModule + 1)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pFStack_64->base).pModule + 1)" ( (binary_expression "(int)&(pFStack_64->base).pModule + 1" (cast_expression "(int)&(pFStack_64->base).pModule" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pFStack_64->base).pModule" & (field_expression "(pFStack_64->base).pModule" (parenthesized_expression "(pFStack_64->base)" ( (field_expression "pFStack_64->base" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) ;) (expression_statement "iVar3 = (uint)(pFVar9 < pFStack_64) + iVar3;" (assignment_expression "iVar3 = (uint)(pFVar9 < pFStack_64) + iVar3" identifier = (binary_expression "(uint)(pFVar9 < pFStack_64) + iVar3" (call_expression "(uint)(pFVar9 < pFStack_64)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pFVar9 < pFStack_64)" ( (binary_expression "pFVar9 < pFStack_64" identifier < identifier) ))) + identifier)) ;) (expression_statement "pFStack_64 = pFVar9;" (assignment_expression "pFStack_64 = pFVar9" identifier = identifier) ;) }) while (parenthesized_expression "(pcVar23 == (code *)0x0)" ( (binary_expression "pcVar23 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "pcStack_d4 = pcVar23;" (assignment_expression "pcStack_d4 = pcVar23" identifier = identifier) ;) (expression_statement "(*pcVar22)(psStack_bc);" (call_expression "(*pcVar22)(psStack_bc)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(psStack_bc)" ( identifier ))) ;) (expression_statement "pcStack_fc = pcStack_d4;" (assignment_expression "pcStack_fc = pcStack_d4" identifier = identifier) ;) })) })) })) })) })) (labeled_statement "LAB_0012b828:\n  if (pFStack_a4 == (Fts3Table *)*piVar20) {\n    return (int)pcStack_fc;\n  }" statement_identifier : (if_statement "if (pFStack_a4 == (Fts3Table *)*piVar20) {\n    return (int)pcStack_fc;\n  }" if (parenthesized_expression "(pFStack_a4 == (Fts3Table *)*piVar20)" ( (binary_expression "pFStack_a4 == (Fts3Table *)*piVar20" identifier == (cast_expression "(Fts3Table *)*piVar20" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar20" * identifier))) )) (compound_statement "{\n    return (int)pcStack_fc;\n  }" { (return_statement "return (int)pcStack_fc;" return (cast_expression "(int)pcStack_fc" ( (type_descriptor "int" primitive_type) ) identifier) ;) }))) (expression_statement "pcVar22 = *(code **)(pcStack_e0 + -0x7b28);" (assignment_expression "pcVar22 = *(code **)(pcStack_e0 + -0x7b28)" identifier = (pointer_expression "*(code **)(pcStack_e0 + -0x7b28)" * (cast_expression "(code **)(pcStack_e0 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e0 + -0x7b28)" ( (binary_expression "pcStack_e0 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "pcVar23 = sqlite3Fts3SelectDoctotal;" (assignment_expression "pcVar23 = sqlite3Fts3SelectDoctotal" identifier = identifier) ;) (expression_statement "pFVar9 = pFStack_a4;" (assignment_expression "pFVar9 = pFStack_a4" identifier = identifier) ;) (expression_statement "(*pcVar22)();" (call_expression "(*pcVar22)()" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_110 = pcVar22 + 0x6cd34;" (assignment_expression "pcStack_110 = pcVar22 + 0x6cd34" identifier = (binary_expression "pcVar22 + 0x6cd34" identifier + number_literal)) ;) (expression_statement "piVar19 = (int *)0x0;" (assignment_expression "piVar19 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pp_00 = &pFStack_108;" (assignment_expression "pp_00 = &pFStack_108" identifier = (pointer_expression "&pFStack_108" & identifier)) ;) (expression_statement "ppStmt = (Fts3Cursor *)&DAT_00000016;" (assignment_expression "ppStmt = (Fts3Cursor *)&DAT_00000016" identifier = (cast_expression "(Fts3Cursor *)&DAT_00000016" ( (type_descriptor "Fts3Cursor *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000016" & identifier))) ;) (expression_statement "piVar20 = *(int **)(pcVar22 + 0x65238);" (assignment_expression "piVar20 = *(int **)(pcVar22 + 0x65238)" identifier = (pointer_expression "*(int **)(pcVar22 + 0x65238)" * (cast_expression "(int **)(pcVar22 + 0x65238)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x65238)" ( (binary_expression "pcVar22 + 0x65238" identifier + number_literal) ))))) ;) (expression_statement "pFStack_108 = (Fts3PhraseToken *)0x0;" (assignment_expression "pFStack_108 = (Fts3PhraseToken *)0x0" identifier = (cast_expression "(Fts3PhraseToken *)0x0" ( (type_descriptor "Fts3PhraseToken *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pFStack_104 = (Fts3Table *)*piVar20;" (assignment_expression "pFStack_104 = (Fts3Table *)*piVar20" identifier = (cast_expression "(Fts3Table *)*piVar20" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar20" * identifier))) ;) (expression_statement "pFStack_100 = pFStack_64;" (assignment_expression "pFStack_100 = pFStack_64" identifier = identifier) ;) (expression_statement "pcStack_f8 = pcStack_68;" (assignment_expression "pcStack_f8 = pcStack_68" identifier = identifier) ;) (expression_statement "pcStack_f4 = pcVar23;" (assignment_expression "pcStack_f4 = pcVar23" identifier = identifier) ;) (expression_statement "iVar3 = fts3SqlStmt(pFVar9,0x16,(sqlite3_stmt **)pp_00,(sqlite3_value **)0x0);" (assignment_expression "iVar3 = fts3SqlStmt(pFVar9,0x16,(sqlite3_stmt **)pp_00,(sqlite3_value **)0x0)" identifier = (call_expression "fts3SqlStmt(pFVar9,0x16,(sqlite3_stmt **)pp_00,(sqlite3_value **)0x0)" identifier (argument_list "(pFVar9,0x16,(sqlite3_stmt **)pp_00,(sqlite3_value **)0x0)" ( identifier , number_literal , (cast_expression "(sqlite3_stmt **)pp_00" ( (type_descriptor "sqlite3_stmt **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) , (cast_expression "(sqlite3_value **)0x0" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) )))) ;) (expression_statement "pFVar8 = pFStack_108;" (assignment_expression "pFVar8 = pFStack_108" identifier = identifier) ;) (if_statement "if (iVar3 == 0) {\n    piVar19 = (int *)0x0;\n    pp_00 = (Fts3PhraseToken **)0x0;\n    ppStmt = (Fts3Cursor *)0x1;\n    (**(code **)(pcStack_110 + -0x7e90))(pFStack_108);\n    iVar6 = (**(code **)(pcStack_110 + -0x7f90))(pFStack_108);\n    if (iVar6 == 100) {\n      ppStmt = (Fts3Cursor *)0x0;\n      iVar6 = (**(code **)(pcStack_110 + -0x7f8c))(pFStack_108);\n      pFVar8 = pFStack_108;\n      if (iVar6 == 4) goto LAB_0012bc50;\n    }\n    iVar3 = (**(code **)(pcStack_110 + -0x7ec4))(pFStack_108);\n    if (iVar3 == 0) {\n      iVar3 = 0x10b;\n    }\n    pFVar8 = (Fts3PhraseToken *)0x0;\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    piVar19 = (int *)0x0;\n    pp_00 = (Fts3PhraseToken **)0x0;\n    ppStmt = (Fts3Cursor *)0x1;\n    (**(code **)(pcStack_110 + -0x7e90))(pFStack_108);\n    iVar6 = (**(code **)(pcStack_110 + -0x7f90))(pFStack_108);\n    if (iVar6 == 100) {\n      ppStmt = (Fts3Cursor *)0x0;\n      iVar6 = (**(code **)(pcStack_110 + -0x7f8c))(pFStack_108);\n      pFVar8 = pFStack_108;\n      if (iVar6 == 4) goto LAB_0012bc50;\n    }\n    iVar3 = (**(code **)(pcStack_110 + -0x7ec4))(pFStack_108);\n    if (iVar3 == 0) {\n      iVar3 = 0x10b;\n    }\n    pFVar8 = (Fts3PhraseToken *)0x0;\n  }" { (expression_statement "piVar19 = (int *)0x0;" (assignment_expression "piVar19 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pp_00 = (Fts3PhraseToken **)0x0;" (assignment_expression "pp_00 = (Fts3PhraseToken **)0x0" identifier = (cast_expression "(Fts3PhraseToken **)0x0" ( (type_descriptor "Fts3PhraseToken **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "ppStmt = (Fts3Cursor *)0x1;" (assignment_expression "ppStmt = (Fts3Cursor *)0x1" identifier = (cast_expression "(Fts3Cursor *)0x1" ( (type_descriptor "Fts3Cursor *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcStack_110 + -0x7e90))(pFStack_108);" (call_expression "(**(code **)(pcStack_110 + -0x7e90))(pFStack_108)" (parenthesized_expression "(**(code **)(pcStack_110 + -0x7e90))" ( (pointer_expression "**(code **)(pcStack_110 + -0x7e90)" * (pointer_expression "*(code **)(pcStack_110 + -0x7e90)" * (cast_expression "(code **)(pcStack_110 + -0x7e90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_110 + -0x7e90)" ( (binary_expression "pcStack_110 + -0x7e90" identifier + number_literal) ))))) )) (argument_list "(pFStack_108)" ( identifier ))) ;) (expression_statement "iVar6 = (**(code **)(pcStack_110 + -0x7f90))(pFStack_108);" (assignment_expression "iVar6 = (**(code **)(pcStack_110 + -0x7f90))(pFStack_108)" identifier = (call_expression "(**(code **)(pcStack_110 + -0x7f90))(pFStack_108)" (parenthesized_expression "(**(code **)(pcStack_110 + -0x7f90))" ( (pointer_expression "**(code **)(pcStack_110 + -0x7f90)" * (pointer_expression "*(code **)(pcStack_110 + -0x7f90)" * (cast_expression "(code **)(pcStack_110 + -0x7f90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_110 + -0x7f90)" ( (binary_expression "pcStack_110 + -0x7f90" identifier + number_literal) ))))) )) (argument_list "(pFStack_108)" ( identifier )))) ;) (if_statement "if (iVar6 == 100) {\n      ppStmt = (Fts3Cursor *)0x0;\n      iVar6 = (**(code **)(pcStack_110 + -0x7f8c))(pFStack_108);\n      pFVar8 = pFStack_108;\n      if (iVar6 == 4) goto LAB_0012bc50;\n    }" if (parenthesized_expression "(iVar6 == 100)" ( (binary_expression "iVar6 == 100" identifier == number_literal) )) (compound_statement "{\n      ppStmt = (Fts3Cursor *)0x0;\n      iVar6 = (**(code **)(pcStack_110 + -0x7f8c))(pFStack_108);\n      pFVar8 = pFStack_108;\n      if (iVar6 == 4) goto LAB_0012bc50;\n    }" { (expression_statement "ppStmt = (Fts3Cursor *)0x0;" (assignment_expression "ppStmt = (Fts3Cursor *)0x0" identifier = (cast_expression "(Fts3Cursor *)0x0" ( (type_descriptor "Fts3Cursor *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar6 = (**(code **)(pcStack_110 + -0x7f8c))(pFStack_108);" (assignment_expression "iVar6 = (**(code **)(pcStack_110 + -0x7f8c))(pFStack_108)" identifier = (call_expression "(**(code **)(pcStack_110 + -0x7f8c))(pFStack_108)" (parenthesized_expression "(**(code **)(pcStack_110 + -0x7f8c))" ( (pointer_expression "**(code **)(pcStack_110 + -0x7f8c)" * (pointer_expression "*(code **)(pcStack_110 + -0x7f8c)" * (cast_expression "(code **)(pcStack_110 + -0x7f8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_110 + -0x7f8c)" ( (binary_expression "pcStack_110 + -0x7f8c" identifier + number_literal) ))))) )) (argument_list "(pFStack_108)" ( identifier )))) ;) (expression_statement "pFVar8 = pFStack_108;" (assignment_expression "pFVar8 = pFStack_108" identifier = identifier) ;) (if_statement "if (iVar6 == 4) goto LAB_0012bc50;" if (parenthesized_expression "(iVar6 == 4)" ( (binary_expression "iVar6 == 4" identifier == number_literal) )) (goto_statement "goto LAB_0012bc50;" goto statement_identifier ;)) })) (expression_statement "iVar3 = (**(code **)(pcStack_110 + -0x7ec4))(pFStack_108);" (assignment_expression "iVar3 = (**(code **)(pcStack_110 + -0x7ec4))(pFStack_108)" identifier = (call_expression "(**(code **)(pcStack_110 + -0x7ec4))(pFStack_108)" (parenthesized_expression "(**(code **)(pcStack_110 + -0x7ec4))" ( (pointer_expression "**(code **)(pcStack_110 + -0x7ec4)" * (pointer_expression "*(code **)(pcStack_110 + -0x7ec4)" * (cast_expression "(code **)(pcStack_110 + -0x7ec4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_110 + -0x7ec4)" ( (binary_expression "pcStack_110 + -0x7ec4" identifier + number_literal) ))))) )) (argument_list "(pFStack_108)" ( identifier )))) ;) (if_statement "if (iVar3 == 0) {\n      iVar3 = 0x10b;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar3 = 0x10b;\n    }" { (expression_statement "iVar3 = 0x10b;" (assignment_expression "iVar3 = 0x10b" identifier = number_literal) ;) })) (expression_statement "pFVar8 = (Fts3PhraseToken *)0x0;" (assignment_expression "pFVar8 = (Fts3PhraseToken *)0x0" identifier = (cast_expression "(Fts3PhraseToken *)0x0" ( (type_descriptor "Fts3PhraseToken *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (labeled_statement "LAB_0012bc50:\n  pFVar12->pToken = pFVar8;" statement_identifier : (expression_statement "pFVar12->pToken = pFVar8;" (assignment_expression "pFVar12->pToken = pFVar8" (field_expression "pFVar12->pToken" identifier -> field_identifier) = identifier) ;)) (if_statement "if (pFStack_104 == (Fts3Table *)*piVar20) {\n    return iVar3;\n  }" if (parenthesized_expression "(pFStack_104 == (Fts3Table *)*piVar20)" ( (binary_expression "pFStack_104 == (Fts3Table *)*piVar20" identifier == (cast_expression "(Fts3Table *)*piVar20" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar20" * identifier))) )) (compound_statement "{\n    return iVar3;\n  }" { (return_statement "return iVar3;" return identifier ;) })) (expression_statement "pcVar22 = *(code **)(pcStack_110 + -0x7b28);" (assignment_expression "pcVar22 = *(code **)(pcStack_110 + -0x7b28)" identifier = (pointer_expression "*(code **)(pcStack_110 + -0x7b28)" * (cast_expression "(code **)(pcStack_110 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_110 + -0x7b28)" ( (binary_expression "pcStack_110 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "pcVar23 = fts3MatchinfoSelectDoctotal;" (assignment_expression "pcVar23 = fts3MatchinfoSelectDoctotal" identifier = identifier) ;) (expression_statement "pFVar9 = pFStack_104;" (assignment_expression "pFVar9 = pFStack_104" identifier = identifier) ;) (expression_statement "(*pcVar22)();" (call_expression "(*pcVar22)()" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar18 = *(int **)(pcVar22 + 0x65120);" (assignment_expression "piVar18 = *(int **)(pcVar22 + 0x65120)" identifier = (pointer_expression "*(int **)(pcVar22 + 0x65120)" * (cast_expression "(int **)(pcVar22 + 0x65120)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x65120)" ( (binary_expression "pcVar22 + 0x65120" identifier + number_literal) ))))) ;) (expression_statement "psVar5 = (ppStmt->base).pVtab;" (assignment_expression "psVar5 = (ppStmt->base).pVtab" identifier = (field_expression "(ppStmt->base).pVtab" (parenthesized_expression "(ppStmt->base)" ( (field_expression "ppStmt->base" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "psStack_13c = (sqlite3_stmt *)*piVar18;" (assignment_expression "psStack_13c = (sqlite3_stmt *)*piVar18" identifier = (cast_expression "(sqlite3_stmt *)*piVar18" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar18" * identifier))) ;) (expression_statement "iStack_134 = iVar3;" (assignment_expression "iStack_134 = iVar3" identifier = identifier) ;) (expression_statement "piStack_130 = piVar20;" (assignment_expression "piStack_130 = piVar20" identifier = identifier) ;) (expression_statement "pFStack_12c = pFVar12;" (assignment_expression "pFStack_12c = pFVar12" identifier = identifier) ;) (expression_statement "pcStack_128 = pcVar14;" (assignment_expression "pcStack_128 = pcVar14" identifier = identifier) ;) (expression_statement "pcStack_124 = pcVar23;" (assignment_expression "pcStack_124 = pcVar23" identifier = identifier) ;) (if_statement "if (psVar5 == (sqlite3_vtab *)0x0) {\n    pCsr = ppStmt;\n    iVar3 = sqlite3Fts3SelectDoctotal(pFVar9,(sqlite3_stmt **)ppStmt);\n    if (iVar3 == 0) {\n      psVar5 = (ppStmt->base).pVtab;\n      goto LAB_0012bd4c;\n    }\n  }\n  else {\nLAB_0012bd4c:\n    iVar6 = (**(code **)(pcVar22 + 0x64c9c))(psVar5,0);\n    pCsr = (Fts3Cursor *)auStack_148;\n    iVar7 = (*(code *)(*(int *)(pcVar22 + 0x64e3c) + 0x3ec8))(iVar6);\n    if ((sqlite3_vtab *)auStack_148._0_4_ == (sqlite3_vtab *)0x0 &&\n        (Fts3PhraseToken *)auStack_148._4_4_ == (Fts3PhraseToken *)0x0) {\n      iVar3 = 0x10b;\n    }\n    else {\n      *pp_00 = (Fts3PhraseToken *)0x0;\n      pp_00[1] = (Fts3PhraseToken *)auStack_148._4_4_;\n      if (piVar19 == (int *)0x0) {\n        iVar3 = 0;\n      }\n      else {\n        iVar3 = 0;\n        *piVar19 = iVar6 + iVar7;\n      }\n    }\n  }" if (parenthesized_expression "(psVar5 == (sqlite3_vtab *)0x0)" ( (binary_expression "psVar5 == (sqlite3_vtab *)0x0" identifier == (cast_expression "(sqlite3_vtab *)0x0" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pCsr = ppStmt;\n    iVar3 = sqlite3Fts3SelectDoctotal(pFVar9,(sqlite3_stmt **)ppStmt);\n    if (iVar3 == 0) {\n      psVar5 = (ppStmt->base).pVtab;\n      goto LAB_0012bd4c;\n    }\n  }" { (expression_statement "pCsr = ppStmt;" (assignment_expression "pCsr = ppStmt" identifier = identifier) ;) (expression_statement "iVar3 = sqlite3Fts3SelectDoctotal(pFVar9,(sqlite3_stmt **)ppStmt);" (assignment_expression "iVar3 = sqlite3Fts3SelectDoctotal(pFVar9,(sqlite3_stmt **)ppStmt)" identifier = (call_expression "sqlite3Fts3SelectDoctotal(pFVar9,(sqlite3_stmt **)ppStmt)" identifier (argument_list "(pFVar9,(sqlite3_stmt **)ppStmt)" ( identifier , (cast_expression "(sqlite3_stmt **)ppStmt" ( (type_descriptor "sqlite3_stmt **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) )))) ;) (if_statement "if (iVar3 == 0) {\n      psVar5 = (ppStmt->base).pVtab;\n      goto LAB_0012bd4c;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      psVar5 = (ppStmt->base).pVtab;\n      goto LAB_0012bd4c;\n    }" { (expression_statement "psVar5 = (ppStmt->base).pVtab;" (assignment_expression "psVar5 = (ppStmt->base).pVtab" identifier = (field_expression "(ppStmt->base).pVtab" (parenthesized_expression "(ppStmt->base)" ( (field_expression "ppStmt->base" identifier -> field_identifier) )) . field_identifier)) ;) (goto_statement "goto LAB_0012bd4c;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_0012bd4c:\n    iVar6 = (**(code **)(pcVar22 + 0x64c9c))(psVar5,0);\n    pCsr = (Fts3Cursor *)auStack_148;\n    iVar7 = (*(code *)(*(int *)(pcVar22 + 0x64e3c) + 0x3ec8))(iVar6);\n    if ((sqlite3_vtab *)auStack_148._0_4_ == (sqlite3_vtab *)0x0 &&\n        (Fts3PhraseToken *)auStack_148._4_4_ == (Fts3PhraseToken *)0x0) {\n      iVar3 = 0x10b;\n    }\n    else {\n      *pp_00 = (Fts3PhraseToken *)0x0;\n      pp_00[1] = (Fts3PhraseToken *)auStack_148._4_4_;\n      if (piVar19 == (int *)0x0) {\n        iVar3 = 0;\n      }\n      else {\n        iVar3 = 0;\n        *piVar19 = iVar6 + iVar7;\n      }\n    }\n  }" else (compound_statement "{\nLAB_0012bd4c:\n    iVar6 = (**(code **)(pcVar22 + 0x64c9c))(psVar5,0);\n    pCsr = (Fts3Cursor *)auStack_148;\n    iVar7 = (*(code *)(*(int *)(pcVar22 + 0x64e3c) + 0x3ec8))(iVar6);\n    if ((sqlite3_vtab *)auStack_148._0_4_ == (sqlite3_vtab *)0x0 &&\n        (Fts3PhraseToken *)auStack_148._4_4_ == (Fts3PhraseToken *)0x0) {\n      iVar3 = 0x10b;\n    }\n    else {\n      *pp_00 = (Fts3PhraseToken *)0x0;\n      pp_00[1] = (Fts3PhraseToken *)auStack_148._4_4_;\n      if (piVar19 == (int *)0x0) {\n        iVar3 = 0;\n      }\n      else {\n        iVar3 = 0;\n        *piVar19 = iVar6 + iVar7;\n      }\n    }\n  }" { (labeled_statement "LAB_0012bd4c:\n    iVar6 = (**(code **)(pcVar22 + 0x64c9c))(psVar5,0);" statement_identifier : (expression_statement "iVar6 = (**(code **)(pcVar22 + 0x64c9c))(psVar5,0);" (assignment_expression "iVar6 = (**(code **)(pcVar22 + 0x64c9c))(psVar5,0)" identifier = (call_expression "(**(code **)(pcVar22 + 0x64c9c))(psVar5,0)" (parenthesized_expression "(**(code **)(pcVar22 + 0x64c9c))" ( (pointer_expression "**(code **)(pcVar22 + 0x64c9c)" * (pointer_expression "*(code **)(pcVar22 + 0x64c9c)" * (cast_expression "(code **)(pcVar22 + 0x64c9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x64c9c)" ( (binary_expression "pcVar22 + 0x64c9c" identifier + number_literal) ))))) )) (argument_list "(psVar5,0)" ( identifier , number_literal )))) ;)) (expression_statement "pCsr = (Fts3Cursor *)auStack_148;" (assignment_expression "pCsr = (Fts3Cursor *)auStack_148" identifier = (cast_expression "(Fts3Cursor *)auStack_148" ( (type_descriptor "Fts3Cursor *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar7 = (*(code *)(*(int *)(pcVar22 + 0x64e3c) + 0x3ec8))(iVar6);" (assignment_expression "iVar7 = (*(code *)(*(int *)(pcVar22 + 0x64e3c) + 0x3ec8))(iVar6)" identifier = (call_expression "(*(code *)(*(int *)(pcVar22 + 0x64e3c) + 0x3ec8))(iVar6)" (parenthesized_expression "(*(code *)(*(int *)(pcVar22 + 0x64e3c) + 0x3ec8))" ( (pointer_expression "*(code *)(*(int *)(pcVar22 + 0x64e3c) + 0x3ec8)" * (cast_expression "(code *)(*(int *)(pcVar22 + 0x64e3c) + 0x3ec8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0x64e3c) + 0x3ec8)" ( (binary_expression "*(int *)(pcVar22 + 0x64e3c) + 0x3ec8" (pointer_expression "*(int *)(pcVar22 + 0x64e3c)" * (cast_expression "(int *)(pcVar22 + 0x64e3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x64e3c)" ( (binary_expression "pcVar22 + 0x64e3c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(iVar6)" ( identifier )))) ;) (if_statement "if ((sqlite3_vtab *)auStack_148._0_4_ == (sqlite3_vtab *)0x0 &&\n        (Fts3PhraseToken *)auStack_148._4_4_ == (Fts3PhraseToken *)0x0) {\n      iVar3 = 0x10b;\n    }\n    else {\n      *pp_00 = (Fts3PhraseToken *)0x0;\n      pp_00[1] = (Fts3PhraseToken *)auStack_148._4_4_;\n      if (piVar19 == (int *)0x0) {\n        iVar3 = 0;\n      }\n      else {\n        iVar3 = 0;\n        *piVar19 = iVar6 + iVar7;\n      }\n    }" if (parenthesized_expression "((sqlite3_vtab *)auStack_148._0_4_ == (sqlite3_vtab *)0x0 &&\n        (Fts3PhraseToken *)auStack_148._4_4_ == (Fts3PhraseToken *)0x0)" ( (binary_expression "(sqlite3_vtab *)auStack_148._0_4_ == (sqlite3_vtab *)0x0 &&\n        (Fts3PhraseToken *)auStack_148._4_4_ == (Fts3PhraseToken *)0x0" (binary_expression "(sqlite3_vtab *)auStack_148._0_4_ == (sqlite3_vtab *)0x0" (cast_expression "(sqlite3_vtab *)auStack_148._0_4_" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_148._0_4_" identifier . field_identifier)) == (cast_expression "(sqlite3_vtab *)0x0" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "(Fts3PhraseToken *)auStack_148._4_4_ == (Fts3PhraseToken *)0x0" (cast_expression "(Fts3PhraseToken *)auStack_148._4_4_" ( (type_descriptor "Fts3PhraseToken *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_148._4_4_" identifier . field_identifier)) == (cast_expression "(Fts3PhraseToken *)0x0" ( (type_descriptor "Fts3PhraseToken *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n      iVar3 = 0x10b;\n    }" { (expression_statement "iVar3 = 0x10b;" (assignment_expression "iVar3 = 0x10b" identifier = number_literal) ;) }) (else_clause "else {\n      *pp_00 = (Fts3PhraseToken *)0x0;\n      pp_00[1] = (Fts3PhraseToken *)auStack_148._4_4_;\n      if (piVar19 == (int *)0x0) {\n        iVar3 = 0;\n      }\n      else {\n        iVar3 = 0;\n        *piVar19 = iVar6 + iVar7;\n      }\n    }" else (compound_statement "{\n      *pp_00 = (Fts3PhraseToken *)0x0;\n      pp_00[1] = (Fts3PhraseToken *)auStack_148._4_4_;\n      if (piVar19 == (int *)0x0) {\n        iVar3 = 0;\n      }\n      else {\n        iVar3 = 0;\n        *piVar19 = iVar6 + iVar7;\n      }\n    }" { (expression_statement "*pp_00 = (Fts3PhraseToken *)0x0;" (assignment_expression "*pp_00 = (Fts3PhraseToken *)0x0" (pointer_expression "*pp_00" * identifier) = (cast_expression "(Fts3PhraseToken *)0x0" ( (type_descriptor "Fts3PhraseToken *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pp_00[1] = (Fts3PhraseToken *)auStack_148._4_4_;" (assignment_expression "pp_00[1] = (Fts3PhraseToken *)auStack_148._4_4_" (subscript_expression "pp_00[1]" identifier [ number_literal ]) = (cast_expression "(Fts3PhraseToken *)auStack_148._4_4_" ( (type_descriptor "Fts3PhraseToken *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_148._4_4_" identifier . field_identifier))) ;) (if_statement "if (piVar19 == (int *)0x0) {\n        iVar3 = 0;\n      }\n      else {\n        iVar3 = 0;\n        *piVar19 = iVar6 + iVar7;\n      }" if (parenthesized_expression "(piVar19 == (int *)0x0)" ( (binary_expression "piVar19 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar3 = 0;\n      }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        iVar3 = 0;\n        *piVar19 = iVar6 + iVar7;\n      }" else (compound_statement "{\n        iVar3 = 0;\n        *piVar19 = iVar6 + iVar7;\n      }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "*piVar19 = iVar6 + iVar7;" (assignment_expression "*piVar19 = iVar6 + iVar7" (pointer_expression "*piVar19" * identifier) = (binary_expression "iVar6 + iVar7" identifier + identifier)) ;) }))) }))) }))) (if_statement "if (psStack_13c == (sqlite3_stmt *)*piVar18) {\n    return iVar3;\n  }" if (parenthesized_expression "(psStack_13c == (sqlite3_stmt *)*piVar18)" ( (binary_expression "psStack_13c == (sqlite3_stmt *)*piVar18" identifier == (cast_expression "(sqlite3_stmt *)*piVar18" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar18" * identifier))) )) (compound_statement "{\n    return iVar3;\n  }" { (return_statement "return iVar3;" return identifier ;) })) (expression_statement "pcVar14 = *(code **)(pcVar22 + 0x650f4);" (assignment_expression "pcVar14 = *(code **)(pcVar22 + 0x650f4)" identifier = (pointer_expression "*(code **)(pcVar22 + 0x650f4)" * (cast_expression "(code **)(pcVar22 + 0x650f4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x650f4)" ( (binary_expression "pcVar22 + 0x650f4" identifier + number_literal) ))))) ;) (expression_statement "psVar10 = psStack_13c;" (assignment_expression "psVar10 = psStack_13c" identifier = identifier) ;) (expression_statement "(*pcVar14)();" (call_expression "(*pcVar14)()" (parenthesized_expression "(*pcVar14)" ( (pointer_expression "*pcVar14" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "psVar11 = pCsr->pStmt;" (assignment_expression "psVar11 = pCsr->pStmt" identifier = (field_expression "pCsr->pStmt" identifier -> field_identifier)) ;) (if_statement "if (psVar11 == (sqlite3_stmt *)0x0) {\n    iVar3 = fts3CursorSeekStmt(pCsr);\n    if (iVar3 != 0) goto LAB_0012be7c;\n    psVar11 = pCsr->pStmt;\n  }" if (parenthesized_expression "(psVar11 == (sqlite3_stmt *)0x0)" ( (binary_expression "psVar11 == (sqlite3_stmt *)0x0" identifier == (cast_expression "(sqlite3_stmt *)0x0" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar3 = fts3CursorSeekStmt(pCsr);\n    if (iVar3 != 0) goto LAB_0012be7c;\n    psVar11 = pCsr->pStmt;\n  }" { (expression_statement "iVar3 = fts3CursorSeekStmt(pCsr);" (assignment_expression "iVar3 = fts3CursorSeekStmt(pCsr)" identifier = (call_expression "fts3CursorSeekStmt(pCsr)" identifier (argument_list "(pCsr)" ( identifier )))) ;) (if_statement "if (iVar3 != 0) goto LAB_0012be7c;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0012be7c;" goto statement_identifier ;)) (expression_statement "psVar11 = pCsr->pStmt;" (assignment_expression "psVar11 = pCsr->pStmt" identifier = (field_expression "pCsr->pStmt" identifier -> field_identifier)) ;) })) (expression_statement "(**(code **)(pcVar14 + 0x64c8c))(psVar11,1,*(undefined4 *)&pCsr->iPrevId,(int)pCsr->iPrevId);" (call_expression "(**(code **)(pcVar14 + 0x64c8c))(psVar11,1,*(undefined4 *)&pCsr->iPrevId,(int)pCsr->iPrevId)" (parenthesized_expression "(**(code **)(pcVar14 + 0x64c8c))" ( (pointer_expression "**(code **)(pcVar14 + 0x64c8c)" * (pointer_expression "*(code **)(pcVar14 + 0x64c8c)" * (cast_expression "(code **)(pcVar14 + 0x64c8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x64c8c)" ( (binary_expression "pcVar14 + 0x64c8c" identifier + number_literal) ))))) )) (argument_list "(psVar11,1,*(undefined4 *)&pCsr->iPrevId,(int)pCsr->iPrevId)" ( identifier , number_literal , (pointer_expression "*(undefined4 *)&pCsr->iPrevId" * (cast_expression "(undefined4 *)&pCsr->iPrevId" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pCsr->iPrevId" & (field_expression "pCsr->iPrevId" identifier -> field_identifier)))) , (cast_expression "(int)pCsr->iPrevId" ( (type_descriptor "int" primitive_type) ) (field_expression "pCsr->iPrevId" identifier -> field_identifier)) ))) ;) (expression_statement "pcVar22 = *(code **)(pcVar14 + 0x64b8c);" (assignment_expression "pcVar22 = *(code **)(pcVar14 + 0x64b8c)" identifier = (pointer_expression "*(code **)(pcVar14 + 0x64b8c)" * (cast_expression "(code **)(pcVar14 + 0x64b8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x64b8c)" ( (binary_expression "pcVar14 + 0x64b8c" identifier + number_literal) ))))) ;) (expression_statement "pCsr->isRequireSeek = '\0';" (assignment_expression "pCsr->isRequireSeek = '\0'" (field_expression "pCsr->isRequireSeek" identifier -> field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "iVar3 = (*pcVar22)(pCsr->pStmt);" (assignment_expression "iVar3 = (*pcVar22)(pCsr->pStmt)" identifier = (call_expression "(*pcVar22)(pCsr->pStmt)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(pCsr->pStmt)" ( (field_expression "pCsr->pStmt" identifier -> field_identifier) )))) ;) (if_statement "if (iVar3 == 100) {\n    return 0;\n  }" if (parenthesized_expression "(iVar3 == 100)" ( (binary_expression "iVar3 == 100" identifier == number_literal) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar3 = (**(code **)(pcVar14 + 0x64c58))(pCsr->pStmt);" (assignment_expression "iVar3 = (**(code **)(pcVar14 + 0x64c58))(pCsr->pStmt)" identifier = (call_expression "(**(code **)(pcVar14 + 0x64c58))(pCsr->pStmt)" (parenthesized_expression "(**(code **)(pcVar14 + 0x64c58))" ( (pointer_expression "**(code **)(pcVar14 + 0x64c58)" * (pointer_expression "*(code **)(pcVar14 + 0x64c58)" * (cast_expression "(code **)(pcVar14 + 0x64c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x64c58)" ( (binary_expression "pcVar14 + 0x64c58" identifier + number_literal) ))))) )) (argument_list "(pCsr->pStmt)" ( (field_expression "pCsr->pStmt" identifier -> field_identifier) )))) ;) (if_statement "if (iVar3 == 0) {\n    if ((pCsr->base).pVtab[3].nRef != 0) {\n      return 0;\n    }\n    iVar3 = 0x10b;\n    pCsr->isEof = '\x01';\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    if ((pCsr->base).pVtab[3].nRef != 0) {\n      return 0;\n    }\n    iVar3 = 0x10b;\n    pCsr->isEof = '\x01';\n  }" { (if_statement "if ((pCsr->base).pVtab[3].nRef != 0) {\n      return 0;\n    }" if (parenthesized_expression "((pCsr->base).pVtab[3].nRef != 0)" ( (binary_expression "(pCsr->base).pVtab[3].nRef != 0" (field_expression "(pCsr->base).pVtab[3].nRef" (subscript_expression "(pCsr->base).pVtab[3]" (field_expression "(pCsr->base).pVtab" (parenthesized_expression "(pCsr->base)" ( (field_expression "pCsr->base" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) . field_identifier) != number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar3 = 0x10b;" (assignment_expression "iVar3 = 0x10b" identifier = number_literal) ;) (expression_statement "pCsr->isEof = '\x01';" (assignment_expression "pCsr->isEof = '\x01'" (field_expression "pCsr->isEof" identifier -> field_identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) })) (labeled_statement "LAB_0012be7c:\n  if (psVar10 != (sqlite3_stmt *)0x0) {\n    (**(code **)(pcVar14 + 0x64bd0))(psVar10,iVar3);\n  }" statement_identifier : (if_statement "if (psVar10 != (sqlite3_stmt *)0x0) {\n    (**(code **)(pcVar14 + 0x64bd0))(psVar10,iVar3);\n  }" if (parenthesized_expression "(psVar10 != (sqlite3_stmt *)0x0)" ( (binary_expression "psVar10 != (sqlite3_stmt *)0x0" identifier != (cast_expression "(sqlite3_stmt *)0x0" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (**(code **)(pcVar14 + 0x64bd0))(psVar10,iVar3);\n  }" { (expression_statement "(**(code **)(pcVar14 + 0x64bd0))(psVar10,iVar3);" (call_expression "(**(code **)(pcVar14 + 0x64bd0))(psVar10,iVar3)" (parenthesized_expression "(**(code **)(pcVar14 + 0x64bd0))" ( (pointer_expression "**(code **)(pcVar14 + 0x64bd0)" * (pointer_expression "*(code **)(pcVar14 + 0x64bd0)" * (cast_expression "(code **)(pcVar14 + 0x64bd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x64bd0)" ( (binary_expression "pcVar14 + 0x64bd0" identifier + number_literal) ))))) )) (argument_list "(psVar10,iVar3)" ( identifier , identifier ))) ;) }))) (return_statement "return iVar3;" return identifier ;) })))
(translation_unit "code * FUN_0012b4a4(undefined4 param_1,undefined4 *param_2,int *param_3)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  code *pcVar3;\n  uint uVar4;\n  int iVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  undefined4 *puVar8;\n  code *pcVar9;\n  uint uVar10;\n  uint uVar11;\n  int *piVar12;\n  undefined4 unaff_s0;\n  int *piVar13;\n  undefined4 unaff_s1;\n  uint *puVar14;\n  int *piVar15;\n  undefined4 *unaff_s2;\n  int *piVar16;\n  undefined *puVar17;\n  code *pcVar18;\n  uint unaff_retaddr;\n  undefined4 uVar19;\n  code *pcStackX_0;\n  uint uStackX_4;\n  undefined4 *puStackX_8;\n  uint uStackX_c;\n  int iStack_148;\n  int iStack_144;\n  int iStack_13c;\n  code *pcStack_134;\n  int *piStack_130;\n  undefined4 *puStack_12c;\n  code *pcStack_128;\n  undefined4 uStack_124;\n  code *pcStack_110;\n  undefined4 uStack_108;\n  int iStack_104;\n  uint uStack_100;\n  code *pcStack_fc;\n  code *pcStack_f8;\n  code *pcStack_f4;\n  code *pcStack_e0;\n  code *pcStack_d4;\n  undefined4 *puStack_d0;\n  code *pcStack_cc;\n  uint uStack_c8;\n  uint uStack_c4;\n  undefined4 uStack_bc;\n  uint uStack_b8;\n  uint uStack_b4;\n  undefined4 auStack_b0 [3];\n  int iStack_a4;\n  code *pcStack_a0;\n  uint *puStack_9c;\n  undefined4 *puStack_98;\n  code *pcStack_94;\n  code *pcStack_68;\n  uint uStack_64;\n  undefined4 uStack_58;\n  uint uStack_54;\n  undefined *puStack_50;\n  int *piStack_4c;\n  undefined4 *puStack_48;\n  undefined4 local_18;\n  int local_14;\n  \n  puVar2 = PTR___stack_chk_guard_00190e24;\n  pcVar9 = (code *)0x0;\n  puVar8 = &local_18;\n  local_14 = *(int *)PTR___stack_chk_guard_00190e24;\n  pcVar3 = (code *)FUN_001210f8(param_1,0x11);\n  puVar17 = PTR_sqlite3_bind_int64_00190a90;\n  if (pcVar3 == (code *)0x0) {\n    (*(code *)PTR_sqlite3_bind_int64_00190a90)(local_18,1,*param_2,param_2[1]);\n    pcVar9 = (code *)param_3[1];\n    puVar8 = (undefined4 *)*param_3;\n    (*(code *)puVar17)(local_18,2);\n    (*(code *)PTR_sqlite3_step_00190990)(local_18);\n    pcVar3 = (code *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_18);\n    param_2 = (undefined4 *)puVar17;\n  }\n  if (local_14 == *(int *)puVar2) {\n    return pcVar3;\n  }\n  puVar17 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  uVar10 = 0;\n  puStack_50 = puVar2;\n  puVar7 = &uStack_58;\n  puVar14 = *(uint **)(puVar17 + 0x65898);\n  uStack_54 = *puVar14;\n  piStack_4c = param_3;\n  puStack_48 = param_2;\n  pcVar3 = (code *)FUN_001210f8();\n  puStack_d0 = puVar7;\n  if (pcVar3 == (code *)0x0) {\n    pcVar3 = *(code **)(puVar17 + 0x65504);\n    (*pcVar3)(uStack_58,1,puVar8,pcVar9);\n    (*pcVar3)(uStack_58,2,0,&_gp_1);\n    (*pcVar3)(uStack_58,3,local_18,local_14);\n    (*pcVar3)(uStack_58,4,unaff_s0,unaff_s1);\n    if (pcStackX_0 == (code *)0x0 && uStackX_4 == 0) {\n      (*pcVar3)(uStack_58,5,unaff_s2,unaff_retaddr);\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n    }\n    else {\n      pcStack_68 = pcStackX_0;\n      uStack_64 = uStackX_4;\n      iVar5 = (**(code **)(puVar17 + 0x653d8))(*(int *)(puVar17 + 0x653d0) + -0x748);\n      if (iVar5 == 0) {\n        pcVar3 = (code *)&DAT_00000007;\n        puStack_d0 = unaff_s2;\n        uVar10 = unaff_retaddr;\n        goto LAB_0012b608;\n      }\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n      (*pcVar3)(uStack_58,5,iVar5,0xffffffff);\n    }\n    uStack_64 = 0;\n    pcStack_68 = (code *)0x0;\n    (*pcVar3)(uStack_58,6,puStackX_8,uStackX_c);\n    (**(code **)(puVar17 + 0x65404))(uStack_58);\n    pcVar3 = (code *)(**(code **)(puVar17 + 0x654d0))(uStack_58);\n    (**(code **)(puVar17 + 0x654fc))(uStack_58,6);\n    puStack_d0 = puStackX_8;\n    uVar10 = uStackX_c;\n  }\nLAB_0012b608:\n  if (uStack_54 == *puVar14) {\n    return pcVar3;\n  }\n  pcVar18 = *(code **)(puVar17 + 0x6586c);\n  uVar4 = uStack_54;\n  (*pcVar18)();\n  pcStack_e0 = pcVar18 + 0x6d180;\n  puVar7 = (undefined4 *)&DAT_00000025;\n  pcStack_cc = (code *)(*(int *)(pcVar18 + 0x654c4) + 0x10f8);\n  piVar16 = *(int **)(pcVar18 + 0x65684);\n  iStack_a4 = *piVar16;\n  uStack_c8 = uVar4;\n  pcStack_a0 = pcVar3;\n  puStack_9c = puVar14;\n  puStack_98 = puVar8;\n  pcStack_94 = pcVar9;\n  pcStack_fc = (code *)FUN_001210f8();\n  puVar8 = puStack_d0;\n  if (pcStack_fc == (code *)0x0) {\n    pcStack_d4 = *(code **)(pcStack_e0 + -0x7e90);\n    pcVar3 = pcStack_68 +\n             (uint)(uStack_64 * 3 < uStack_64 * 2) + (uStack_64 >> 0x1f | (int)pcStack_68 << 1);\n    uVar4 = -((int)pcVar3 >> 0x1f) + uStack_64 * 3;\n    uStack_64 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) >> 1;\n    uStack_c4 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) * -0x80000000 | uVar4 >> 1;\n    (*pcStack_d4)(uStack_bc,1,(uint)(uVar10 + 1 < uVar10) + (int)puStack_d0);\n    uVar4 = uVar10;\n    if ((int)puVar8 < 0) {\n      uVar4 = uVar10 + 0x3ff;\n      puVar8 = (undefined4 *)((uint)(uVar4 < uVar10) + (int)puVar8);\n    }\n    pcStack_68 = *(code **)(pcStack_e0 + -0x7f90);\n    uVar4 = (int)puVar8 << 0x16 | uVar4 >> 10;\n    uVar11 = uVar4 + 1;\n    puVar7 = (undefined4 *)0x2;\n    (*pcStack_d4)(uStack_bc,2,\n                  (uint)(uVar11 * 0x400 - 1 < uVar11 * 0x400) +\n                  ((uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400) - 1));\n    iVar6 = *(int *)(pcStack_e0 + -0x7d60);\n    iVar5 = (*pcStack_68)(uStack_bc);\n    pcVar9 = (code *)(iVar6 + 0x7794);\n    bVar1 = false;\n    while (iVar5 == 100) {\n      puVar7 = (undefined4 *)0x2;\n      uStack_b8 = 0;\n      uStack_b4 = 0;\n      (*pcVar9)(uStack_bc,2,auStack_b0,&uStack_b8);\n      if ((int)uStack_b8 < 1) {\n        pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        if (uStack_b8 == 0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        }\nLAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n        goto LAB_0012b828;\n      }\nLAB_0012b99c:\n      pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n      if (((int)uStack_64 < (int)uStack_b8) ||\n         ((uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))) goto LAB_0012ba04;\n      bVar1 = true;\n      iVar5 = (*pcStack_68)(uStack_bc);\n    }\n    pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n    pcStack_fc = (code *)(*pcVar3)();\n    uVar4 = uStack_c8;\n    if (bVar1) {\n      uStack_b8 = 0;\n      auStack_b0[0] = 0;\n      if (pcStack_fc == (code *)0x0) {\n        puVar7 = (undefined4 *)0x26;\n        pcStack_fc = (code *)(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0);\n        uStack_64 = uVar4;\n        if (pcStack_fc == (code *)0x0) {\n          puVar7 = (undefined4 *)0x27;\n          pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }\n      }\n    }\n  }\nLAB_0012b828:\n  if (iStack_a4 == *piVar16) {\n    return pcStack_fc;\n  }\n  pcVar3 = *(code **)(pcStack_e0 + -0x7b28);\n  pcVar18 = FUN_0012bbec;\n  (*pcVar3)();\n  pcStack_110 = pcVar3 + 0x6cd34;\n  piVar12 = (int *)0x0;\n  puVar8 = &uStack_108;\n  piVar16 = (int *)&DAT_00000016;\n  piVar15 = *(int **)(pcVar3 + 0x65238);\n  uStack_108 = 0;\n  iStack_104 = *piVar15;\n  uStack_100 = uStack_64;\n  pcStack_f8 = pcStack_68;\n  pcStack_f4 = pcVar18;\n  pcVar3 = (code *)FUN_001210f8();\n  uVar19 = uStack_108;\n  if (pcVar3 == (code *)0x0) {\n    piVar12 = (int *)0x0;\n    puVar8 = (undefined4 *)0x0;\n    piVar16 = (int *)0x1;\n    (**(code **)(pcStack_110 + -0x7e90))(uStack_108);\n    iVar5 = (**(code **)(pcStack_110 + -0x7f90))(uStack_108);\n    if (iVar5 == 100) {\n      piVar16 = (int *)0x0;\n      iVar5 = (**(code **)(pcStack_110 + -0x7f8c))(uStack_108);\n      uVar19 = uStack_108;\n      if (iVar5 == 4) goto LAB_0012bc50;\n    }\n    pcVar3 = (code *)(**(code **)(pcStack_110 + -0x7ec4))(uStack_108);\n    if (pcVar3 == (code *)0x0) {\n      pcVar3 = (code *)0x10b;\n    }\n    uVar19 = 0;\n  }\nLAB_0012bc50:\n  *puVar7 = uVar19;\n  if (iStack_104 == *piVar15) {\n    return pcVar3;\n  }\n  pcVar18 = *(code **)(pcStack_110 + -0x7b28);\n  uVar19 = 0x12bd04;\n  (*pcVar18)();\n  piVar13 = *(int **)(pcVar18 + 0x65120);\n  iVar5 = *piVar16;\n  iStack_13c = *piVar13;\n  pcStack_134 = pcVar3;\n  piStack_130 = piVar15;\n  puStack_12c = puVar7;\n  pcStack_128 = pcVar9;\n  uStack_124 = uVar19;\n  if (iVar5 == 0) {\n    piVar15 = piVar16;\n    pcVar3 = (code *)FUN_0012bbec();\n    if (pcVar3 == (code *)0x0) {\n      iVar5 = *piVar16;\n      goto LAB_0012bd4c;\n    }\n  }\n  else {\nLAB_0012bd4c:\n    iVar5 = (**(code **)(pcVar18 + 0x64c9c))(iVar5,0);\n    piVar15 = &iStack_148;\n    iVar6 = (*(code *)(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8))(iVar5);\n    if (iStack_148 == 0 && iStack_144 == 0) {\n      pcVar3 = (code *)0x10b;\n    }\n    else {\n      *puVar8 = 0;\n      puVar8[1] = iStack_144;\n      if (piVar12 == (int *)0x0) {\n        pcVar3 = (code *)0x0;\n      }\n      else {\n        pcVar3 = (code *)0x0;\n        *piVar12 = iVar5 + iVar6;\n      }\n    }\n  }\n  if (iStack_13c == *piVar13) {\n    return pcVar3;\n  }\n  pcVar3 = *(code **)(pcVar18 + 0x650f4);\n  iVar5 = iStack_13c;\n  (*pcVar3)();\n  iVar6 = piVar15[3];\n  if (iVar6 == 0) {\n    pcVar9 = (code *)FUN_0012131c(piVar15);\n    if (pcVar9 != (code *)0x0) goto LAB_0012be7c;\n    iVar6 = piVar15[3];\n  }\n  (**(code **)(pcVar3 + 0x64c8c))(iVar6,1,piVar15[8],piVar15[9]);\n  pcVar9 = *(code **)(pcVar3 + 0x64b8c);\n  *(undefined1 *)((int)piVar15 + 7) = 0;\n  iVar6 = (*pcVar9)(piVar15[3]);\n  if (iVar6 == 100) {\n    return (code *)0x0;\n  }\n  pcVar9 = (code *)(**(code **)(pcVar3 + 0x64c58))(piVar15[3]);\n  if (pcVar9 == (code *)0x0) {\n    if (*(int *)(*piVar15 + 0x28) != 0) {\n      return (code *)0x0;\n    }\n    pcVar9 = (code *)0x10b;\n    *(undefined1 *)((int)piVar15 + 6) = 1;\n  }\nLAB_0012be7c:\n  if (iVar5 != 0) {\n    (**(code **)(pcVar3 + 0x64bd0))(iVar5,pcVar9);\n  }\n  return pcVar9;\n}\n\n" (function_definition "code * FUN_0012b4a4(undefined4 param_1,undefined4 *param_2,int *param_3)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  code *pcVar3;\n  uint uVar4;\n  int iVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  undefined4 *puVar8;\n  code *pcVar9;\n  uint uVar10;\n  uint uVar11;\n  int *piVar12;\n  undefined4 unaff_s0;\n  int *piVar13;\n  undefined4 unaff_s1;\n  uint *puVar14;\n  int *piVar15;\n  undefined4 *unaff_s2;\n  int *piVar16;\n  undefined *puVar17;\n  code *pcVar18;\n  uint unaff_retaddr;\n  undefined4 uVar19;\n  code *pcStackX_0;\n  uint uStackX_4;\n  undefined4 *puStackX_8;\n  uint uStackX_c;\n  int iStack_148;\n  int iStack_144;\n  int iStack_13c;\n  code *pcStack_134;\n  int *piStack_130;\n  undefined4 *puStack_12c;\n  code *pcStack_128;\n  undefined4 uStack_124;\n  code *pcStack_110;\n  undefined4 uStack_108;\n  int iStack_104;\n  uint uStack_100;\n  code *pcStack_fc;\n  code *pcStack_f8;\n  code *pcStack_f4;\n  code *pcStack_e0;\n  code *pcStack_d4;\n  undefined4 *puStack_d0;\n  code *pcStack_cc;\n  uint uStack_c8;\n  uint uStack_c4;\n  undefined4 uStack_bc;\n  uint uStack_b8;\n  uint uStack_b4;\n  undefined4 auStack_b0 [3];\n  int iStack_a4;\n  code *pcStack_a0;\n  uint *puStack_9c;\n  undefined4 *puStack_98;\n  code *pcStack_94;\n  code *pcStack_68;\n  uint uStack_64;\n  undefined4 uStack_58;\n  uint uStack_54;\n  undefined *puStack_50;\n  int *piStack_4c;\n  undefined4 *puStack_48;\n  undefined4 local_18;\n  int local_14;\n  \n  puVar2 = PTR___stack_chk_guard_00190e24;\n  pcVar9 = (code *)0x0;\n  puVar8 = &local_18;\n  local_14 = *(int *)PTR___stack_chk_guard_00190e24;\n  pcVar3 = (code *)FUN_001210f8(param_1,0x11);\n  puVar17 = PTR_sqlite3_bind_int64_00190a90;\n  if (pcVar3 == (code *)0x0) {\n    (*(code *)PTR_sqlite3_bind_int64_00190a90)(local_18,1,*param_2,param_2[1]);\n    pcVar9 = (code *)param_3[1];\n    puVar8 = (undefined4 *)*param_3;\n    (*(code *)puVar17)(local_18,2);\n    (*(code *)PTR_sqlite3_step_00190990)(local_18);\n    pcVar3 = (code *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_18);\n    param_2 = (undefined4 *)puVar17;\n  }\n  if (local_14 == *(int *)puVar2) {\n    return pcVar3;\n  }\n  puVar17 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  uVar10 = 0;\n  puStack_50 = puVar2;\n  puVar7 = &uStack_58;\n  puVar14 = *(uint **)(puVar17 + 0x65898);\n  uStack_54 = *puVar14;\n  piStack_4c = param_3;\n  puStack_48 = param_2;\n  pcVar3 = (code *)FUN_001210f8();\n  puStack_d0 = puVar7;\n  if (pcVar3 == (code *)0x0) {\n    pcVar3 = *(code **)(puVar17 + 0x65504);\n    (*pcVar3)(uStack_58,1,puVar8,pcVar9);\n    (*pcVar3)(uStack_58,2,0,&_gp_1);\n    (*pcVar3)(uStack_58,3,local_18,local_14);\n    (*pcVar3)(uStack_58,4,unaff_s0,unaff_s1);\n    if (pcStackX_0 == (code *)0x0 && uStackX_4 == 0) {\n      (*pcVar3)(uStack_58,5,unaff_s2,unaff_retaddr);\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n    }\n    else {\n      pcStack_68 = pcStackX_0;\n      uStack_64 = uStackX_4;\n      iVar5 = (**(code **)(puVar17 + 0x653d8))(*(int *)(puVar17 + 0x653d0) + -0x748);\n      if (iVar5 == 0) {\n        pcVar3 = (code *)&DAT_00000007;\n        puStack_d0 = unaff_s2;\n        uVar10 = unaff_retaddr;\n        goto LAB_0012b608;\n      }\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n      (*pcVar3)(uStack_58,5,iVar5,0xffffffff);\n    }\n    uStack_64 = 0;\n    pcStack_68 = (code *)0x0;\n    (*pcVar3)(uStack_58,6,puStackX_8,uStackX_c);\n    (**(code **)(puVar17 + 0x65404))(uStack_58);\n    pcVar3 = (code *)(**(code **)(puVar17 + 0x654d0))(uStack_58);\n    (**(code **)(puVar17 + 0x654fc))(uStack_58,6);\n    puStack_d0 = puStackX_8;\n    uVar10 = uStackX_c;\n  }\nLAB_0012b608:\n  if (uStack_54 == *puVar14) {\n    return pcVar3;\n  }\n  pcVar18 = *(code **)(puVar17 + 0x6586c);\n  uVar4 = uStack_54;\n  (*pcVar18)();\n  pcStack_e0 = pcVar18 + 0x6d180;\n  puVar7 = (undefined4 *)&DAT_00000025;\n  pcStack_cc = (code *)(*(int *)(pcVar18 + 0x654c4) + 0x10f8);\n  piVar16 = *(int **)(pcVar18 + 0x65684);\n  iStack_a4 = *piVar16;\n  uStack_c8 = uVar4;\n  pcStack_a0 = pcVar3;\n  puStack_9c = puVar14;\n  puStack_98 = puVar8;\n  pcStack_94 = pcVar9;\n  pcStack_fc = (code *)FUN_001210f8();\n  puVar8 = puStack_d0;\n  if (pcStack_fc == (code *)0x0) {\n    pcStack_d4 = *(code **)(pcStack_e0 + -0x7e90);\n    pcVar3 = pcStack_68 +\n             (uint)(uStack_64 * 3 < uStack_64 * 2) + (uStack_64 >> 0x1f | (int)pcStack_68 << 1);\n    uVar4 = -((int)pcVar3 >> 0x1f) + uStack_64 * 3;\n    uStack_64 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) >> 1;\n    uStack_c4 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) * -0x80000000 | uVar4 >> 1;\n    (*pcStack_d4)(uStack_bc,1,(uint)(uVar10 + 1 < uVar10) + (int)puStack_d0);\n    uVar4 = uVar10;\n    if ((int)puVar8 < 0) {\n      uVar4 = uVar10 + 0x3ff;\n      puVar8 = (undefined4 *)((uint)(uVar4 < uVar10) + (int)puVar8);\n    }\n    pcStack_68 = *(code **)(pcStack_e0 + -0x7f90);\n    uVar4 = (int)puVar8 << 0x16 | uVar4 >> 10;\n    uVar11 = uVar4 + 1;\n    puVar7 = (undefined4 *)0x2;\n    (*pcStack_d4)(uStack_bc,2,\n                  (uint)(uVar11 * 0x400 - 1 < uVar11 * 0x400) +\n                  ((uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400) - 1));\n    iVar6 = *(int *)(pcStack_e0 + -0x7d60);\n    iVar5 = (*pcStack_68)(uStack_bc);\n    pcVar9 = (code *)(iVar6 + 0x7794);\n    bVar1 = false;\n    while (iVar5 == 100) {\n      puVar7 = (undefined4 *)0x2;\n      uStack_b8 = 0;\n      uStack_b4 = 0;\n      (*pcVar9)(uStack_bc,2,auStack_b0,&uStack_b8);\n      if ((int)uStack_b8 < 1) {\n        pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        if (uStack_b8 == 0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        }\nLAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n        goto LAB_0012b828;\n      }\nLAB_0012b99c:\n      pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n      if (((int)uStack_64 < (int)uStack_b8) ||\n         ((uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))) goto LAB_0012ba04;\n      bVar1 = true;\n      iVar5 = (*pcStack_68)(uStack_bc);\n    }\n    pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n    pcStack_fc = (code *)(*pcVar3)();\n    uVar4 = uStack_c8;\n    if (bVar1) {\n      uStack_b8 = 0;\n      auStack_b0[0] = 0;\n      if (pcStack_fc == (code *)0x0) {\n        puVar7 = (undefined4 *)0x26;\n        pcStack_fc = (code *)(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0);\n        uStack_64 = uVar4;\n        if (pcStack_fc == (code *)0x0) {\n          puVar7 = (undefined4 *)0x27;\n          pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }\n      }\n    }\n  }\nLAB_0012b828:\n  if (iStack_a4 == *piVar16) {\n    return pcStack_fc;\n  }\n  pcVar3 = *(code **)(pcStack_e0 + -0x7b28);\n  pcVar18 = FUN_0012bbec;\n  (*pcVar3)();\n  pcStack_110 = pcVar3 + 0x6cd34;\n  piVar12 = (int *)0x0;\n  puVar8 = &uStack_108;\n  piVar16 = (int *)&DAT_00000016;\n  piVar15 = *(int **)(pcVar3 + 0x65238);\n  uStack_108 = 0;\n  iStack_104 = *piVar15;\n  uStack_100 = uStack_64;\n  pcStack_f8 = pcStack_68;\n  pcStack_f4 = pcVar18;\n  pcVar3 = (code *)FUN_001210f8();\n  uVar19 = uStack_108;\n  if (pcVar3 == (code *)0x0) {\n    piVar12 = (int *)0x0;\n    puVar8 = (undefined4 *)0x0;\n    piVar16 = (int *)0x1;\n    (**(code **)(pcStack_110 + -0x7e90))(uStack_108);\n    iVar5 = (**(code **)(pcStack_110 + -0x7f90))(uStack_108);\n    if (iVar5 == 100) {\n      piVar16 = (int *)0x0;\n      iVar5 = (**(code **)(pcStack_110 + -0x7f8c))(uStack_108);\n      uVar19 = uStack_108;\n      if (iVar5 == 4) goto LAB_0012bc50;\n    }\n    pcVar3 = (code *)(**(code **)(pcStack_110 + -0x7ec4))(uStack_108);\n    if (pcVar3 == (code *)0x0) {\n      pcVar3 = (code *)0x10b;\n    }\n    uVar19 = 0;\n  }\nLAB_0012bc50:\n  *puVar7 = uVar19;\n  if (iStack_104 == *piVar15) {\n    return pcVar3;\n  }\n  pcVar18 = *(code **)(pcStack_110 + -0x7b28);\n  uVar19 = 0x12bd04;\n  (*pcVar18)();\n  piVar13 = *(int **)(pcVar18 + 0x65120);\n  iVar5 = *piVar16;\n  iStack_13c = *piVar13;\n  pcStack_134 = pcVar3;\n  piStack_130 = piVar15;\n  puStack_12c = puVar7;\n  pcStack_128 = pcVar9;\n  uStack_124 = uVar19;\n  if (iVar5 == 0) {\n    piVar15 = piVar16;\n    pcVar3 = (code *)FUN_0012bbec();\n    if (pcVar3 == (code *)0x0) {\n      iVar5 = *piVar16;\n      goto LAB_0012bd4c;\n    }\n  }\n  else {\nLAB_0012bd4c:\n    iVar5 = (**(code **)(pcVar18 + 0x64c9c))(iVar5,0);\n    piVar15 = &iStack_148;\n    iVar6 = (*(code *)(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8))(iVar5);\n    if (iStack_148 == 0 && iStack_144 == 0) {\n      pcVar3 = (code *)0x10b;\n    }\n    else {\n      *puVar8 = 0;\n      puVar8[1] = iStack_144;\n      if (piVar12 == (int *)0x0) {\n        pcVar3 = (code *)0x0;\n      }\n      else {\n        pcVar3 = (code *)0x0;\n        *piVar12 = iVar5 + iVar6;\n      }\n    }\n  }\n  if (iStack_13c == *piVar13) {\n    return pcVar3;\n  }\n  pcVar3 = *(code **)(pcVar18 + 0x650f4);\n  iVar5 = iStack_13c;\n  (*pcVar3)();\n  iVar6 = piVar15[3];\n  if (iVar6 == 0) {\n    pcVar9 = (code *)FUN_0012131c(piVar15);\n    if (pcVar9 != (code *)0x0) goto LAB_0012be7c;\n    iVar6 = piVar15[3];\n  }\n  (**(code **)(pcVar3 + 0x64c8c))(iVar6,1,piVar15[8],piVar15[9]);\n  pcVar9 = *(code **)(pcVar3 + 0x64b8c);\n  *(undefined1 *)((int)piVar15 + 7) = 0;\n  iVar6 = (*pcVar9)(piVar15[3]);\n  if (iVar6 == 100) {\n    return (code *)0x0;\n  }\n  pcVar9 = (code *)(**(code **)(pcVar3 + 0x64c58))(piVar15[3]);\n  if (pcVar9 == (code *)0x0) {\n    if (*(int *)(*piVar15 + 0x28) != 0) {\n      return (code *)0x0;\n    }\n    pcVar9 = (code *)0x10b;\n    *(undefined1 *)((int)piVar15 + 6) = 1;\n  }\nLAB_0012be7c:\n  if (iVar5 != 0) {\n    (**(code **)(pcVar3 + 0x64bd0))(iVar5,pcVar9);\n  }\n  return pcVar9;\n}" type_identifier (pointer_declarator "* FUN_0012b4a4(undefined4 param_1,undefined4 *param_2,int *param_3)" * (function_declarator "FUN_0012b4a4(undefined4 param_1,undefined4 *param_2,int *param_3)" identifier (parameter_list "(undefined4 param_1,undefined4 *param_2,int *param_3)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) )))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  code *pcVar3;\n  uint uVar4;\n  int iVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  undefined4 *puVar8;\n  code *pcVar9;\n  uint uVar10;\n  uint uVar11;\n  int *piVar12;\n  undefined4 unaff_s0;\n  int *piVar13;\n  undefined4 unaff_s1;\n  uint *puVar14;\n  int *piVar15;\n  undefined4 *unaff_s2;\n  int *piVar16;\n  undefined *puVar17;\n  code *pcVar18;\n  uint unaff_retaddr;\n  undefined4 uVar19;\n  code *pcStackX_0;\n  uint uStackX_4;\n  undefined4 *puStackX_8;\n  uint uStackX_c;\n  int iStack_148;\n  int iStack_144;\n  int iStack_13c;\n  code *pcStack_134;\n  int *piStack_130;\n  undefined4 *puStack_12c;\n  code *pcStack_128;\n  undefined4 uStack_124;\n  code *pcStack_110;\n  undefined4 uStack_108;\n  int iStack_104;\n  uint uStack_100;\n  code *pcStack_fc;\n  code *pcStack_f8;\n  code *pcStack_f4;\n  code *pcStack_e0;\n  code *pcStack_d4;\n  undefined4 *puStack_d0;\n  code *pcStack_cc;\n  uint uStack_c8;\n  uint uStack_c4;\n  undefined4 uStack_bc;\n  uint uStack_b8;\n  uint uStack_b4;\n  undefined4 auStack_b0 [3];\n  int iStack_a4;\n  code *pcStack_a0;\n  uint *puStack_9c;\n  undefined4 *puStack_98;\n  code *pcStack_94;\n  code *pcStack_68;\n  uint uStack_64;\n  undefined4 uStack_58;\n  uint uStack_54;\n  undefined *puStack_50;\n  int *piStack_4c;\n  undefined4 *puStack_48;\n  undefined4 local_18;\n  int local_14;\n  \n  puVar2 = PTR___stack_chk_guard_00190e24;\n  pcVar9 = (code *)0x0;\n  puVar8 = &local_18;\n  local_14 = *(int *)PTR___stack_chk_guard_00190e24;\n  pcVar3 = (code *)FUN_001210f8(param_1,0x11);\n  puVar17 = PTR_sqlite3_bind_int64_00190a90;\n  if (pcVar3 == (code *)0x0) {\n    (*(code *)PTR_sqlite3_bind_int64_00190a90)(local_18,1,*param_2,param_2[1]);\n    pcVar9 = (code *)param_3[1];\n    puVar8 = (undefined4 *)*param_3;\n    (*(code *)puVar17)(local_18,2);\n    (*(code *)PTR_sqlite3_step_00190990)(local_18);\n    pcVar3 = (code *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_18);\n    param_2 = (undefined4 *)puVar17;\n  }\n  if (local_14 == *(int *)puVar2) {\n    return pcVar3;\n  }\n  puVar17 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  uVar10 = 0;\n  puStack_50 = puVar2;\n  puVar7 = &uStack_58;\n  puVar14 = *(uint **)(puVar17 + 0x65898);\n  uStack_54 = *puVar14;\n  piStack_4c = param_3;\n  puStack_48 = param_2;\n  pcVar3 = (code *)FUN_001210f8();\n  puStack_d0 = puVar7;\n  if (pcVar3 == (code *)0x0) {\n    pcVar3 = *(code **)(puVar17 + 0x65504);\n    (*pcVar3)(uStack_58,1,puVar8,pcVar9);\n    (*pcVar3)(uStack_58,2,0,&_gp_1);\n    (*pcVar3)(uStack_58,3,local_18,local_14);\n    (*pcVar3)(uStack_58,4,unaff_s0,unaff_s1);\n    if (pcStackX_0 == (code *)0x0 && uStackX_4 == 0) {\n      (*pcVar3)(uStack_58,5,unaff_s2,unaff_retaddr);\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n    }\n    else {\n      pcStack_68 = pcStackX_0;\n      uStack_64 = uStackX_4;\n      iVar5 = (**(code **)(puVar17 + 0x653d8))(*(int *)(puVar17 + 0x653d0) + -0x748);\n      if (iVar5 == 0) {\n        pcVar3 = (code *)&DAT_00000007;\n        puStack_d0 = unaff_s2;\n        uVar10 = unaff_retaddr;\n        goto LAB_0012b608;\n      }\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n      (*pcVar3)(uStack_58,5,iVar5,0xffffffff);\n    }\n    uStack_64 = 0;\n    pcStack_68 = (code *)0x0;\n    (*pcVar3)(uStack_58,6,puStackX_8,uStackX_c);\n    (**(code **)(puVar17 + 0x65404))(uStack_58);\n    pcVar3 = (code *)(**(code **)(puVar17 + 0x654d0))(uStack_58);\n    (**(code **)(puVar17 + 0x654fc))(uStack_58,6);\n    puStack_d0 = puStackX_8;\n    uVar10 = uStackX_c;\n  }\nLAB_0012b608:\n  if (uStack_54 == *puVar14) {\n    return pcVar3;\n  }\n  pcVar18 = *(code **)(puVar17 + 0x6586c);\n  uVar4 = uStack_54;\n  (*pcVar18)();\n  pcStack_e0 = pcVar18 + 0x6d180;\n  puVar7 = (undefined4 *)&DAT_00000025;\n  pcStack_cc = (code *)(*(int *)(pcVar18 + 0x654c4) + 0x10f8);\n  piVar16 = *(int **)(pcVar18 + 0x65684);\n  iStack_a4 = *piVar16;\n  uStack_c8 = uVar4;\n  pcStack_a0 = pcVar3;\n  puStack_9c = puVar14;\n  puStack_98 = puVar8;\n  pcStack_94 = pcVar9;\n  pcStack_fc = (code *)FUN_001210f8();\n  puVar8 = puStack_d0;\n  if (pcStack_fc == (code *)0x0) {\n    pcStack_d4 = *(code **)(pcStack_e0 + -0x7e90);\n    pcVar3 = pcStack_68 +\n             (uint)(uStack_64 * 3 < uStack_64 * 2) + (uStack_64 >> 0x1f | (int)pcStack_68 << 1);\n    uVar4 = -((int)pcVar3 >> 0x1f) + uStack_64 * 3;\n    uStack_64 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) >> 1;\n    uStack_c4 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) * -0x80000000 | uVar4 >> 1;\n    (*pcStack_d4)(uStack_bc,1,(uint)(uVar10 + 1 < uVar10) + (int)puStack_d0);\n    uVar4 = uVar10;\n    if ((int)puVar8 < 0) {\n      uVar4 = uVar10 + 0x3ff;\n      puVar8 = (undefined4 *)((uint)(uVar4 < uVar10) + (int)puVar8);\n    }\n    pcStack_68 = *(code **)(pcStack_e0 + -0x7f90);\n    uVar4 = (int)puVar8 << 0x16 | uVar4 >> 10;\n    uVar11 = uVar4 + 1;\n    puVar7 = (undefined4 *)0x2;\n    (*pcStack_d4)(uStack_bc,2,\n                  (uint)(uVar11 * 0x400 - 1 < uVar11 * 0x400) +\n                  ((uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400) - 1));\n    iVar6 = *(int *)(pcStack_e0 + -0x7d60);\n    iVar5 = (*pcStack_68)(uStack_bc);\n    pcVar9 = (code *)(iVar6 + 0x7794);\n    bVar1 = false;\n    while (iVar5 == 100) {\n      puVar7 = (undefined4 *)0x2;\n      uStack_b8 = 0;\n      uStack_b4 = 0;\n      (*pcVar9)(uStack_bc,2,auStack_b0,&uStack_b8);\n      if ((int)uStack_b8 < 1) {\n        pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        if (uStack_b8 == 0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        }\nLAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n        goto LAB_0012b828;\n      }\nLAB_0012b99c:\n      pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n      if (((int)uStack_64 < (int)uStack_b8) ||\n         ((uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))) goto LAB_0012ba04;\n      bVar1 = true;\n      iVar5 = (*pcStack_68)(uStack_bc);\n    }\n    pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n    pcStack_fc = (code *)(*pcVar3)();\n    uVar4 = uStack_c8;\n    if (bVar1) {\n      uStack_b8 = 0;\n      auStack_b0[0] = 0;\n      if (pcStack_fc == (code *)0x0) {\n        puVar7 = (undefined4 *)0x26;\n        pcStack_fc = (code *)(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0);\n        uStack_64 = uVar4;\n        if (pcStack_fc == (code *)0x0) {\n          puVar7 = (undefined4 *)0x27;\n          pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }\n      }\n    }\n  }\nLAB_0012b828:\n  if (iStack_a4 == *piVar16) {\n    return pcStack_fc;\n  }\n  pcVar3 = *(code **)(pcStack_e0 + -0x7b28);\n  pcVar18 = FUN_0012bbec;\n  (*pcVar3)();\n  pcStack_110 = pcVar3 + 0x6cd34;\n  piVar12 = (int *)0x0;\n  puVar8 = &uStack_108;\n  piVar16 = (int *)&DAT_00000016;\n  piVar15 = *(int **)(pcVar3 + 0x65238);\n  uStack_108 = 0;\n  iStack_104 = *piVar15;\n  uStack_100 = uStack_64;\n  pcStack_f8 = pcStack_68;\n  pcStack_f4 = pcVar18;\n  pcVar3 = (code *)FUN_001210f8();\n  uVar19 = uStack_108;\n  if (pcVar3 == (code *)0x0) {\n    piVar12 = (int *)0x0;\n    puVar8 = (undefined4 *)0x0;\n    piVar16 = (int *)0x1;\n    (**(code **)(pcStack_110 + -0x7e90))(uStack_108);\n    iVar5 = (**(code **)(pcStack_110 + -0x7f90))(uStack_108);\n    if (iVar5 == 100) {\n      piVar16 = (int *)0x0;\n      iVar5 = (**(code **)(pcStack_110 + -0x7f8c))(uStack_108);\n      uVar19 = uStack_108;\n      if (iVar5 == 4) goto LAB_0012bc50;\n    }\n    pcVar3 = (code *)(**(code **)(pcStack_110 + -0x7ec4))(uStack_108);\n    if (pcVar3 == (code *)0x0) {\n      pcVar3 = (code *)0x10b;\n    }\n    uVar19 = 0;\n  }\nLAB_0012bc50:\n  *puVar7 = uVar19;\n  if (iStack_104 == *piVar15) {\n    return pcVar3;\n  }\n  pcVar18 = *(code **)(pcStack_110 + -0x7b28);\n  uVar19 = 0x12bd04;\n  (*pcVar18)();\n  piVar13 = *(int **)(pcVar18 + 0x65120);\n  iVar5 = *piVar16;\n  iStack_13c = *piVar13;\n  pcStack_134 = pcVar3;\n  piStack_130 = piVar15;\n  puStack_12c = puVar7;\n  pcStack_128 = pcVar9;\n  uStack_124 = uVar19;\n  if (iVar5 == 0) {\n    piVar15 = piVar16;\n    pcVar3 = (code *)FUN_0012bbec();\n    if (pcVar3 == (code *)0x0) {\n      iVar5 = *piVar16;\n      goto LAB_0012bd4c;\n    }\n  }\n  else {\nLAB_0012bd4c:\n    iVar5 = (**(code **)(pcVar18 + 0x64c9c))(iVar5,0);\n    piVar15 = &iStack_148;\n    iVar6 = (*(code *)(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8))(iVar5);\n    if (iStack_148 == 0 && iStack_144 == 0) {\n      pcVar3 = (code *)0x10b;\n    }\n    else {\n      *puVar8 = 0;\n      puVar8[1] = iStack_144;\n      if (piVar12 == (int *)0x0) {\n        pcVar3 = (code *)0x0;\n      }\n      else {\n        pcVar3 = (code *)0x0;\n        *piVar12 = iVar5 + iVar6;\n      }\n    }\n  }\n  if (iStack_13c == *piVar13) {\n    return pcVar3;\n  }\n  pcVar3 = *(code **)(pcVar18 + 0x650f4);\n  iVar5 = iStack_13c;\n  (*pcVar3)();\n  iVar6 = piVar15[3];\n  if (iVar6 == 0) {\n    pcVar9 = (code *)FUN_0012131c(piVar15);\n    if (pcVar9 != (code *)0x0) goto LAB_0012be7c;\n    iVar6 = piVar15[3];\n  }\n  (**(code **)(pcVar3 + 0x64c8c))(iVar6,1,piVar15[8],piVar15[9]);\n  pcVar9 = *(code **)(pcVar3 + 0x64b8c);\n  *(undefined1 *)((int)piVar15 + 7) = 0;\n  iVar6 = (*pcVar9)(piVar15[3]);\n  if (iVar6 == 100) {\n    return (code *)0x0;\n  }\n  pcVar9 = (code *)(**(code **)(pcVar3 + 0x64c58))(piVar15[3]);\n  if (pcVar9 == (code *)0x0) {\n    if (*(int *)(*piVar15 + 0x28) != 0) {\n      return (code *)0x0;\n    }\n    pcVar9 = (code *)0x10b;\n    *(undefined1 *)((int)piVar15 + 6) = 1;\n  }\nLAB_0012be7c:\n  if (iVar5 != 0) {\n    (**(code **)(pcVar3 + 0x64bd0))(iVar5,pcVar9);\n  }\n  return pcVar9;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "code *pcVar3;" type_identifier (pointer_declarator "*pcVar3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "code *pcVar9;" type_identifier (pointer_declarator "*pcVar9" * identifier) ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "undefined4 unaff_s0;" type_identifier identifier ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "undefined4 unaff_s1;" type_identifier identifier ;) (declaration "uint *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "undefined4 *unaff_s2;" type_identifier (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "undefined *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "code *pcVar18;" type_identifier (pointer_declarator "*pcVar18" * identifier) ;) (declaration "uint unaff_retaddr;" type_identifier identifier ;) (declaration "undefined4 uVar19;" type_identifier identifier ;) (declaration "code *pcStackX_0;" type_identifier (pointer_declarator "*pcStackX_0" * identifier) ;) (declaration "uint uStackX_4;" type_identifier identifier ;) (declaration "undefined4 *puStackX_8;" type_identifier (pointer_declarator "*puStackX_8" * identifier) ;) (declaration "uint uStackX_c;" type_identifier identifier ;) (declaration "int iStack_148;" primitive_type identifier ;) (declaration "int iStack_144;" primitive_type identifier ;) (declaration "int iStack_13c;" primitive_type identifier ;) (declaration "code *pcStack_134;" type_identifier (pointer_declarator "*pcStack_134" * identifier) ;) (declaration "int *piStack_130;" primitive_type (pointer_declarator "*piStack_130" * identifier) ;) (declaration "undefined4 *puStack_12c;" type_identifier (pointer_declarator "*puStack_12c" * identifier) ;) (declaration "code *pcStack_128;" type_identifier (pointer_declarator "*pcStack_128" * identifier) ;) (declaration "undefined4 uStack_124;" type_identifier identifier ;) (declaration "code *pcStack_110;" type_identifier (pointer_declarator "*pcStack_110" * identifier) ;) (declaration "undefined4 uStack_108;" type_identifier identifier ;) (declaration "int iStack_104;" primitive_type identifier ;) (declaration "uint uStack_100;" type_identifier identifier ;) (declaration "code *pcStack_fc;" type_identifier (pointer_declarator "*pcStack_fc" * identifier) ;) (declaration "code *pcStack_f8;" type_identifier (pointer_declarator "*pcStack_f8" * identifier) ;) (declaration "code *pcStack_f4;" type_identifier (pointer_declarator "*pcStack_f4" * identifier) ;) (declaration "code *pcStack_e0;" type_identifier (pointer_declarator "*pcStack_e0" * identifier) ;) (declaration "code *pcStack_d4;" type_identifier (pointer_declarator "*pcStack_d4" * identifier) ;) (declaration "undefined4 *puStack_d0;" type_identifier (pointer_declarator "*puStack_d0" * identifier) ;) (declaration "code *pcStack_cc;" type_identifier (pointer_declarator "*pcStack_cc" * identifier) ;) (declaration "uint uStack_c8;" type_identifier identifier ;) (declaration "uint uStack_c4;" type_identifier identifier ;) (declaration "undefined4 uStack_bc;" type_identifier identifier ;) (declaration "uint uStack_b8;" type_identifier identifier ;) (declaration "uint uStack_b4;" type_identifier identifier ;) (declaration "undefined4 auStack_b0 [3];" type_identifier (array_declarator "auStack_b0 [3]" identifier [ number_literal ]) ;) (declaration "int iStack_a4;" primitive_type identifier ;) (declaration "code *pcStack_a0;" type_identifier (pointer_declarator "*pcStack_a0" * identifier) ;) (declaration "uint *puStack_9c;" type_identifier (pointer_declarator "*puStack_9c" * identifier) ;) (declaration "undefined4 *puStack_98;" type_identifier (pointer_declarator "*puStack_98" * identifier) ;) (declaration "code *pcStack_94;" type_identifier (pointer_declarator "*pcStack_94" * identifier) ;) (declaration "code *pcStack_68;" type_identifier (pointer_declarator "*pcStack_68" * identifier) ;) (declaration "uint uStack_64;" type_identifier identifier ;) (declaration "undefined4 uStack_58;" type_identifier identifier ;) (declaration "uint uStack_54;" type_identifier identifier ;) (declaration "undefined *puStack_50;" type_identifier (pointer_declarator "*puStack_50" * identifier) ;) (declaration "int *piStack_4c;" primitive_type (pointer_declarator "*piStack_4c" * identifier) ;) (declaration "undefined4 *puStack_48;" type_identifier (pointer_declarator "*puStack_48" * identifier) ;) (declaration "undefined4 local_18;" type_identifier identifier ;) (declaration "int local_14;" primitive_type identifier ;) (expression_statement "puVar2 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar2 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "pcVar9 = (code *)0x0;" (assignment_expression "pcVar9 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar8 = &local_18;" (assignment_expression "puVar8 = &local_18" identifier = (pointer_expression "&local_18" & identifier)) ;) (expression_statement "local_14 = *(int *)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_14 = *(int *)PTR___stack_chk_guard_00190e24" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_00190e24" * (cast_expression "(int *)PTR___stack_chk_guard_00190e24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pcVar3 = (code *)FUN_001210f8(param_1,0x11);" (assignment_expression "pcVar3 = (code *)FUN_001210f8(param_1,0x11)" identifier = (cast_expression "(code *)FUN_001210f8(param_1,0x11)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001210f8(param_1,0x11)" identifier (argument_list "(param_1,0x11)" ( identifier , number_literal ))))) ;) (expression_statement "puVar17 = PTR_sqlite3_bind_int64_00190a90;" (assignment_expression "puVar17 = PTR_sqlite3_bind_int64_00190a90" identifier = identifier) ;) (if_statement "if (pcVar3 == (code *)0x0) {\n    (*(code *)PTR_sqlite3_bind_int64_00190a90)(local_18,1,*param_2,param_2[1]);\n    pcVar9 = (code *)param_3[1];\n    puVar8 = (undefined4 *)*param_3;\n    (*(code *)puVar17)(local_18,2);\n    (*(code *)PTR_sqlite3_step_00190990)(local_18);\n    pcVar3 = (code *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_18);\n    param_2 = (undefined4 *)puVar17;\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    (*(code *)PTR_sqlite3_bind_int64_00190a90)(local_18,1,*param_2,param_2[1]);\n    pcVar9 = (code *)param_3[1];\n    puVar8 = (undefined4 *)*param_3;\n    (*(code *)puVar17)(local_18,2);\n    (*(code *)PTR_sqlite3_step_00190990)(local_18);\n    pcVar3 = (code *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_18);\n    param_2 = (undefined4 *)puVar17;\n  }" { (expression_statement "(*(code *)PTR_sqlite3_bind_int64_00190a90)(local_18,1,*param_2,param_2[1]);" (call_expression "(*(code *)PTR_sqlite3_bind_int64_00190a90)(local_18,1,*param_2,param_2[1])" (parenthesized_expression "(*(code *)PTR_sqlite3_bind_int64_00190a90)" ( (pointer_expression "*(code *)PTR_sqlite3_bind_int64_00190a90" * (cast_expression "(code *)PTR_sqlite3_bind_int64_00190a90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_18,1,*param_2,param_2[1])" ( identifier , number_literal , (pointer_expression "*param_2" * identifier) , (subscript_expression "param_2[1]" identifier [ number_literal ]) ))) ;) (expression_statement "pcVar9 = (code *)param_3[1];" (assignment_expression "pcVar9 = (code *)param_3[1]" identifier = (cast_expression "(code *)param_3[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[1]" identifier [ number_literal ]))) ;) (expression_statement "puVar8 = (undefined4 *)*param_3;" (assignment_expression "puVar8 = (undefined4 *)*param_3" identifier = (cast_expression "(undefined4 *)*param_3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_3" * identifier))) ;) (expression_statement "(*(code *)puVar17)(local_18,2);" (call_expression "(*(code *)puVar17)(local_18,2)" (parenthesized_expression "(*(code *)puVar17)" ( (pointer_expression "*(code *)puVar17" * (cast_expression "(code *)puVar17" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_18,2)" ( identifier , number_literal ))) ;) (expression_statement "(*(code *)PTR_sqlite3_step_00190990)(local_18);" (call_expression "(*(code *)PTR_sqlite3_step_00190990)(local_18)" (parenthesized_expression "(*(code *)PTR_sqlite3_step_00190990)" ( (pointer_expression "*(code *)PTR_sqlite3_step_00190990" * (cast_expression "(code *)PTR_sqlite3_step_00190990" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_18)" ( identifier ))) ;) (expression_statement "pcVar3 = (code *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_18);" (assignment_expression "pcVar3 = (code *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_18)" identifier = (cast_expression "(code *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_18)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sqlite3_reset_00190a5c)(local_18)" (parenthesized_expression "(*(code *)PTR_sqlite3_reset_00190a5c)" ( (pointer_expression "*(code *)PTR_sqlite3_reset_00190a5c" * (cast_expression "(code *)PTR_sqlite3_reset_00190a5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_18)" ( identifier ))))) ;) (expression_statement "param_2 = (undefined4 *)puVar17;" (assignment_expression "param_2 = (undefined4 *)puVar17" identifier = (cast_expression "(undefined4 *)puVar17" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (if_statement "if (local_14 == *(int *)puVar2) {\n    return pcVar3;\n  }" if (parenthesized_expression "(local_14 == *(int *)puVar2)" ( (binary_expression "local_14 == *(int *)puVar2" identifier == (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return pcVar3;\n  }" { (return_statement "return pcVar3;" return identifier ;) })) (expression_statement "puVar17 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar17 = PTR___stack_chk_fail_00190df8" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00190df8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" * (cast_expression "(code *)PTR___stack_chk_fail_00190df8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (expression_statement "puStack_50 = puVar2;" (assignment_expression "puStack_50 = puVar2" identifier = identifier) ;) (expression_statement "puVar7 = &uStack_58;" (assignment_expression "puVar7 = &uStack_58" identifier = (pointer_expression "&uStack_58" & identifier)) ;) (expression_statement "puVar14 = *(uint **)(puVar17 + 0x65898);" (assignment_expression "puVar14 = *(uint **)(puVar17 + 0x65898)" identifier = (pointer_expression "*(uint **)(puVar17 + 0x65898)" * (cast_expression "(uint **)(puVar17 + 0x65898)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x65898)" ( (binary_expression "puVar17 + 0x65898" identifier + number_literal) ))))) ;) (expression_statement "uStack_54 = *puVar14;" (assignment_expression "uStack_54 = *puVar14" identifier = (pointer_expression "*puVar14" * identifier)) ;) (expression_statement "piStack_4c = param_3;" (assignment_expression "piStack_4c = param_3" identifier = identifier) ;) (expression_statement "puStack_48 = param_2;" (assignment_expression "puStack_48 = param_2" identifier = identifier) ;) (expression_statement "pcVar3 = (code *)FUN_001210f8();" (assignment_expression "pcVar3 = (code *)FUN_001210f8()" identifier = (cast_expression "(code *)FUN_001210f8()" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001210f8()" identifier (argument_list "()" ( ))))) ;) (expression_statement "puStack_d0 = puVar7;" (assignment_expression "puStack_d0 = puVar7" identifier = identifier) ;) (if_statement "if (pcVar3 == (code *)0x0) {\n    pcVar3 = *(code **)(puVar17 + 0x65504);\n    (*pcVar3)(uStack_58,1,puVar8,pcVar9);\n    (*pcVar3)(uStack_58,2,0,&_gp_1);\n    (*pcVar3)(uStack_58,3,local_18,local_14);\n    (*pcVar3)(uStack_58,4,unaff_s0,unaff_s1);\n    if (pcStackX_0 == (code *)0x0 && uStackX_4 == 0) {\n      (*pcVar3)(uStack_58,5,unaff_s2,unaff_retaddr);\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n    }\n    else {\n      pcStack_68 = pcStackX_0;\n      uStack_64 = uStackX_4;\n      iVar5 = (**(code **)(puVar17 + 0x653d8))(*(int *)(puVar17 + 0x653d0) + -0x748);\n      if (iVar5 == 0) {\n        pcVar3 = (code *)&DAT_00000007;\n        puStack_d0 = unaff_s2;\n        uVar10 = unaff_retaddr;\n        goto LAB_0012b608;\n      }\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n      (*pcVar3)(uStack_58,5,iVar5,0xffffffff);\n    }\n    uStack_64 = 0;\n    pcStack_68 = (code *)0x0;\n    (*pcVar3)(uStack_58,6,puStackX_8,uStackX_c);\n    (**(code **)(puVar17 + 0x65404))(uStack_58);\n    pcVar3 = (code *)(**(code **)(puVar17 + 0x654d0))(uStack_58);\n    (**(code **)(puVar17 + 0x654fc))(uStack_58,6);\n    puStack_d0 = puStackX_8;\n    uVar10 = uStackX_c;\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    pcVar3 = *(code **)(puVar17 + 0x65504);\n    (*pcVar3)(uStack_58,1,puVar8,pcVar9);\n    (*pcVar3)(uStack_58,2,0,&_gp_1);\n    (*pcVar3)(uStack_58,3,local_18,local_14);\n    (*pcVar3)(uStack_58,4,unaff_s0,unaff_s1);\n    if (pcStackX_0 == (code *)0x0 && uStackX_4 == 0) {\n      (*pcVar3)(uStack_58,5,unaff_s2,unaff_retaddr);\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n    }\n    else {\n      pcStack_68 = pcStackX_0;\n      uStack_64 = uStackX_4;\n      iVar5 = (**(code **)(puVar17 + 0x653d8))(*(int *)(puVar17 + 0x653d0) + -0x748);\n      if (iVar5 == 0) {\n        pcVar3 = (code *)&DAT_00000007;\n        puStack_d0 = unaff_s2;\n        uVar10 = unaff_retaddr;\n        goto LAB_0012b608;\n      }\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n      (*pcVar3)(uStack_58,5,iVar5,0xffffffff);\n    }\n    uStack_64 = 0;\n    pcStack_68 = (code *)0x0;\n    (*pcVar3)(uStack_58,6,puStackX_8,uStackX_c);\n    (**(code **)(puVar17 + 0x65404))(uStack_58);\n    pcVar3 = (code *)(**(code **)(puVar17 + 0x654d0))(uStack_58);\n    (**(code **)(puVar17 + 0x654fc))(uStack_58,6);\n    puStack_d0 = puStackX_8;\n    uVar10 = uStackX_c;\n  }" { (expression_statement "pcVar3 = *(code **)(puVar17 + 0x65504);" (assignment_expression "pcVar3 = *(code **)(puVar17 + 0x65504)" identifier = (pointer_expression "*(code **)(puVar17 + 0x65504)" * (cast_expression "(code **)(puVar17 + 0x65504)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x65504)" ( (binary_expression "puVar17 + 0x65504" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar3)(uStack_58,1,puVar8,pcVar9);" (call_expression "(*pcVar3)(uStack_58,1,puVar8,pcVar9)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(uStack_58,1,puVar8,pcVar9)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "(*pcVar3)(uStack_58,2,0,&_gp_1);" (call_expression "(*pcVar3)(uStack_58,2,0,&_gp_1)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(uStack_58,2,0,&_gp_1)" ( identifier , number_literal , number_literal , (pointer_expression "&_gp_1" & identifier) ))) ;) (expression_statement "(*pcVar3)(uStack_58,3,local_18,local_14);" (call_expression "(*pcVar3)(uStack_58,3,local_18,local_14)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(uStack_58,3,local_18,local_14)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "(*pcVar3)(uStack_58,4,unaff_s0,unaff_s1);" (call_expression "(*pcVar3)(uStack_58,4,unaff_s0,unaff_s1)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(uStack_58,4,unaff_s0,unaff_s1)" ( identifier , number_literal , identifier , identifier ))) ;) (if_statement "if (pcStackX_0 == (code *)0x0 && uStackX_4 == 0) {\n      (*pcVar3)(uStack_58,5,unaff_s2,unaff_retaddr);\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n    }\n    else {\n      pcStack_68 = pcStackX_0;\n      uStack_64 = uStackX_4;\n      iVar5 = (**(code **)(puVar17 + 0x653d8))(*(int *)(puVar17 + 0x653d0) + -0x748);\n      if (iVar5 == 0) {\n        pcVar3 = (code *)&DAT_00000007;\n        puStack_d0 = unaff_s2;\n        uVar10 = unaff_retaddr;\n        goto LAB_0012b608;\n      }\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n      (*pcVar3)(uStack_58,5,iVar5,0xffffffff);\n    }" if (parenthesized_expression "(pcStackX_0 == (code *)0x0 && uStackX_4 == 0)" ( (binary_expression "pcStackX_0 == (code *)0x0 && uStackX_4 == 0" (binary_expression "pcStackX_0 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "uStackX_4 == 0" identifier == number_literal)) )) (compound_statement "{\n      (*pcVar3)(uStack_58,5,unaff_s2,unaff_retaddr);\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n    }" { (expression_statement "(*pcVar3)(uStack_58,5,unaff_s2,unaff_retaddr);" (call_expression "(*pcVar3)(uStack_58,5,unaff_s2,unaff_retaddr)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(uStack_58,5,unaff_s2,unaff_retaddr)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);" (assignment_expression "pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c)" identifier = (cast_expression "(code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar17 + 0x65650) + 0x2f8c)" ( (binary_expression "*(int *)(puVar17 + 0x65650) + 0x2f8c" (pointer_expression "*(int *)(puVar17 + 0x65650)" * (cast_expression "(int *)(puVar17 + 0x65650)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x65650)" ( (binary_expression "puVar17 + 0x65650" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else {\n      pcStack_68 = pcStackX_0;\n      uStack_64 = uStackX_4;\n      iVar5 = (**(code **)(puVar17 + 0x653d8))(*(int *)(puVar17 + 0x653d0) + -0x748);\n      if (iVar5 == 0) {\n        pcVar3 = (code *)&DAT_00000007;\n        puStack_d0 = unaff_s2;\n        uVar10 = unaff_retaddr;\n        goto LAB_0012b608;\n      }\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n      (*pcVar3)(uStack_58,5,iVar5,0xffffffff);\n    }" else (compound_statement "{\n      pcStack_68 = pcStackX_0;\n      uStack_64 = uStackX_4;\n      iVar5 = (**(code **)(puVar17 + 0x653d8))(*(int *)(puVar17 + 0x653d0) + -0x748);\n      if (iVar5 == 0) {\n        pcVar3 = (code *)&DAT_00000007;\n        puStack_d0 = unaff_s2;\n        uVar10 = unaff_retaddr;\n        goto LAB_0012b608;\n      }\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n      (*pcVar3)(uStack_58,5,iVar5,0xffffffff);\n    }" { (expression_statement "pcStack_68 = pcStackX_0;" (assignment_expression "pcStack_68 = pcStackX_0" identifier = identifier) ;) (expression_statement "uStack_64 = uStackX_4;" (assignment_expression "uStack_64 = uStackX_4" identifier = identifier) ;) (expression_statement "iVar5 = (**(code **)(puVar17 + 0x653d8))(*(int *)(puVar17 + 0x653d0) + -0x748);" (assignment_expression "iVar5 = (**(code **)(puVar17 + 0x653d8))(*(int *)(puVar17 + 0x653d0) + -0x748)" identifier = (call_expression "(**(code **)(puVar17 + 0x653d8))(*(int *)(puVar17 + 0x653d0) + -0x748)" (parenthesized_expression "(**(code **)(puVar17 + 0x653d8))" ( (pointer_expression "**(code **)(puVar17 + 0x653d8)" * (pointer_expression "*(code **)(puVar17 + 0x653d8)" * (cast_expression "(code **)(puVar17 + 0x653d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x653d8)" ( (binary_expression "puVar17 + 0x653d8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar17 + 0x653d0) + -0x748)" ( (binary_expression "*(int *)(puVar17 + 0x653d0) + -0x748" (pointer_expression "*(int *)(puVar17 + 0x653d0)" * (cast_expression "(int *)(puVar17 + 0x653d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x653d0)" ( (binary_expression "puVar17 + 0x653d0" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar5 == 0) {\n        pcVar3 = (code *)&DAT_00000007;\n        puStack_d0 = unaff_s2;\n        uVar10 = unaff_retaddr;\n        goto LAB_0012b608;\n      }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar3 = (code *)&DAT_00000007;\n        puStack_d0 = unaff_s2;\n        uVar10 = unaff_retaddr;\n        goto LAB_0012b608;\n      }" { (expression_statement "pcVar3 = (code *)&DAT_00000007;" (assignment_expression "pcVar3 = (code *)&DAT_00000007" identifier = (cast_expression "(code *)&DAT_00000007" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (expression_statement "puStack_d0 = unaff_s2;" (assignment_expression "puStack_d0 = unaff_s2" identifier = identifier) ;) (expression_statement "uVar10 = unaff_retaddr;" (assignment_expression "uVar10 = unaff_retaddr" identifier = identifier) ;) (goto_statement "goto LAB_0012b608;" goto statement_identifier ;) })) (expression_statement "pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);" (assignment_expression "pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c)" identifier = (cast_expression "(code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar17 + 0x65650) + 0x2f8c)" ( (binary_expression "*(int *)(puVar17 + 0x65650) + 0x2f8c" (pointer_expression "*(int *)(puVar17 + 0x65650)" * (cast_expression "(int *)(puVar17 + 0x65650)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x65650)" ( (binary_expression "puVar17 + 0x65650" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar3)(uStack_58,5,iVar5,0xffffffff);" (call_expression "(*pcVar3)(uStack_58,5,iVar5,0xffffffff)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(uStack_58,5,iVar5,0xffffffff)" ( identifier , number_literal , identifier , number_literal ))) ;) }))) (expression_statement "uStack_64 = 0;" (assignment_expression "uStack_64 = 0" identifier = number_literal) ;) (expression_statement "pcStack_68 = (code *)0x0;" (assignment_expression "pcStack_68 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*pcVar3)(uStack_58,6,puStackX_8,uStackX_c);" (call_expression "(*pcVar3)(uStack_58,6,puStackX_8,uStackX_c)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(uStack_58,6,puStackX_8,uStackX_c)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "(**(code **)(puVar17 + 0x65404))(uStack_58);" (call_expression "(**(code **)(puVar17 + 0x65404))(uStack_58)" (parenthesized_expression "(**(code **)(puVar17 + 0x65404))" ( (pointer_expression "**(code **)(puVar17 + 0x65404)" * (pointer_expression "*(code **)(puVar17 + 0x65404)" * (cast_expression "(code **)(puVar17 + 0x65404)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x65404)" ( (binary_expression "puVar17 + 0x65404" identifier + number_literal) ))))) )) (argument_list "(uStack_58)" ( identifier ))) ;) (expression_statement "pcVar3 = (code *)(**(code **)(puVar17 + 0x654d0))(uStack_58);" (assignment_expression "pcVar3 = (code *)(**(code **)(puVar17 + 0x654d0))(uStack_58)" identifier = (cast_expression "(code *)(**(code **)(puVar17 + 0x654d0))(uStack_58)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar17 + 0x654d0))(uStack_58)" (parenthesized_expression "(**(code **)(puVar17 + 0x654d0))" ( (pointer_expression "**(code **)(puVar17 + 0x654d0)" * (pointer_expression "*(code **)(puVar17 + 0x654d0)" * (cast_expression "(code **)(puVar17 + 0x654d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x654d0)" ( (binary_expression "puVar17 + 0x654d0" identifier + number_literal) ))))) )) (argument_list "(uStack_58)" ( identifier ))))) ;) (expression_statement "(**(code **)(puVar17 + 0x654fc))(uStack_58,6);" (call_expression "(**(code **)(puVar17 + 0x654fc))(uStack_58,6)" (parenthesized_expression "(**(code **)(puVar17 + 0x654fc))" ( (pointer_expression "**(code **)(puVar17 + 0x654fc)" * (pointer_expression "*(code **)(puVar17 + 0x654fc)" * (cast_expression "(code **)(puVar17 + 0x654fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x654fc)" ( (binary_expression "puVar17 + 0x654fc" identifier + number_literal) ))))) )) (argument_list "(uStack_58,6)" ( identifier , number_literal ))) ;) (expression_statement "puStack_d0 = puStackX_8;" (assignment_expression "puStack_d0 = puStackX_8" identifier = identifier) ;) (expression_statement "uVar10 = uStackX_c;" (assignment_expression "uVar10 = uStackX_c" identifier = identifier) ;) })) (labeled_statement "LAB_0012b608:\n  if (uStack_54 == *puVar14) {\n    return pcVar3;\n  }" statement_identifier : (if_statement "if (uStack_54 == *puVar14) {\n    return pcVar3;\n  }" if (parenthesized_expression "(uStack_54 == *puVar14)" ( (binary_expression "uStack_54 == *puVar14" identifier == (pointer_expression "*puVar14" * identifier)) )) (compound_statement "{\n    return pcVar3;\n  }" { (return_statement "return pcVar3;" return identifier ;) }))) (expression_statement "pcVar18 = *(code **)(puVar17 + 0x6586c);" (assignment_expression "pcVar18 = *(code **)(puVar17 + 0x6586c)" identifier = (pointer_expression "*(code **)(puVar17 + 0x6586c)" * (cast_expression "(code **)(puVar17 + 0x6586c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x6586c)" ( (binary_expression "puVar17 + 0x6586c" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = uStack_54;" (assignment_expression "uVar4 = uStack_54" identifier = identifier) ;) (expression_statement "(*pcVar18)();" (call_expression "(*pcVar18)()" (parenthesized_expression "(*pcVar18)" ( (pointer_expression "*pcVar18" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_e0 = pcVar18 + 0x6d180;" (assignment_expression "pcStack_e0 = pcVar18 + 0x6d180" identifier = (binary_expression "pcVar18 + 0x6d180" identifier + number_literal)) ;) (expression_statement "puVar7 = (undefined4 *)&DAT_00000025;" (assignment_expression "puVar7 = (undefined4 *)&DAT_00000025" identifier = (cast_expression "(undefined4 *)&DAT_00000025" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000025" & identifier))) ;) (expression_statement "pcStack_cc = (code *)(*(int *)(pcVar18 + 0x654c4) + 0x10f8);" (assignment_expression "pcStack_cc = (code *)(*(int *)(pcVar18 + 0x654c4) + 0x10f8)" identifier = (cast_expression "(code *)(*(int *)(pcVar18 + 0x654c4) + 0x10f8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar18 + 0x654c4) + 0x10f8)" ( (binary_expression "*(int *)(pcVar18 + 0x654c4) + 0x10f8" (pointer_expression "*(int *)(pcVar18 + 0x654c4)" * (cast_expression "(int *)(pcVar18 + 0x654c4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar18 + 0x654c4)" ( (binary_expression "pcVar18 + 0x654c4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar16 = *(int **)(pcVar18 + 0x65684);" (assignment_expression "piVar16 = *(int **)(pcVar18 + 0x65684)" identifier = (pointer_expression "*(int **)(pcVar18 + 0x65684)" * (cast_expression "(int **)(pcVar18 + 0x65684)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x65684)" ( (binary_expression "pcVar18 + 0x65684" identifier + number_literal) ))))) ;) (expression_statement "iStack_a4 = *piVar16;" (assignment_expression "iStack_a4 = *piVar16" identifier = (pointer_expression "*piVar16" * identifier)) ;) (expression_statement "uStack_c8 = uVar4;" (assignment_expression "uStack_c8 = uVar4" identifier = identifier) ;) (expression_statement "pcStack_a0 = pcVar3;" (assignment_expression "pcStack_a0 = pcVar3" identifier = identifier) ;) (expression_statement "puStack_9c = puVar14;" (assignment_expression "puStack_9c = puVar14" identifier = identifier) ;) (expression_statement "puStack_98 = puVar8;" (assignment_expression "puStack_98 = puVar8" identifier = identifier) ;) (expression_statement "pcStack_94 = pcVar9;" (assignment_expression "pcStack_94 = pcVar9" identifier = identifier) ;) (expression_statement "pcStack_fc = (code *)FUN_001210f8();" (assignment_expression "pcStack_fc = (code *)FUN_001210f8()" identifier = (cast_expression "(code *)FUN_001210f8()" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001210f8()" identifier (argument_list "()" ( ))))) ;) (expression_statement "puVar8 = puStack_d0;" (assignment_expression "puVar8 = puStack_d0" identifier = identifier) ;) (if_statement "if (pcStack_fc == (code *)0x0) {\n    pcStack_d4 = *(code **)(pcStack_e0 + -0x7e90);\n    pcVar3 = pcStack_68 +\n             (uint)(uStack_64 * 3 < uStack_64 * 2) + (uStack_64 >> 0x1f | (int)pcStack_68 << 1);\n    uVar4 = -((int)pcVar3 >> 0x1f) + uStack_64 * 3;\n    uStack_64 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) >> 1;\n    uStack_c4 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) * -0x80000000 | uVar4 >> 1;\n    (*pcStack_d4)(uStack_bc,1,(uint)(uVar10 + 1 < uVar10) + (int)puStack_d0);\n    uVar4 = uVar10;\n    if ((int)puVar8 < 0) {\n      uVar4 = uVar10 + 0x3ff;\n      puVar8 = (undefined4 *)((uint)(uVar4 < uVar10) + (int)puVar8);\n    }\n    pcStack_68 = *(code **)(pcStack_e0 + -0x7f90);\n    uVar4 = (int)puVar8 << 0x16 | uVar4 >> 10;\n    uVar11 = uVar4 + 1;\n    puVar7 = (undefined4 *)0x2;\n    (*pcStack_d4)(uStack_bc,2,\n                  (uint)(uVar11 * 0x400 - 1 < uVar11 * 0x400) +\n                  ((uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400) - 1));\n    iVar6 = *(int *)(pcStack_e0 + -0x7d60);\n    iVar5 = (*pcStack_68)(uStack_bc);\n    pcVar9 = (code *)(iVar6 + 0x7794);\n    bVar1 = false;\n    while (iVar5 == 100) {\n      puVar7 = (undefined4 *)0x2;\n      uStack_b8 = 0;\n      uStack_b4 = 0;\n      (*pcVar9)(uStack_bc,2,auStack_b0,&uStack_b8);\n      if ((int)uStack_b8 < 1) {\n        pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        if (uStack_b8 == 0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        }\nLAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n        goto LAB_0012b828;\n      }\nLAB_0012b99c:\n      pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n      if (((int)uStack_64 < (int)uStack_b8) ||\n         ((uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))) goto LAB_0012ba04;\n      bVar1 = true;\n      iVar5 = (*pcStack_68)(uStack_bc);\n    }\n    pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n    pcStack_fc = (code *)(*pcVar3)();\n    uVar4 = uStack_c8;\n    if (bVar1) {\n      uStack_b8 = 0;\n      auStack_b0[0] = 0;\n      if (pcStack_fc == (code *)0x0) {\n        puVar7 = (undefined4 *)0x26;\n        pcStack_fc = (code *)(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0);\n        uStack_64 = uVar4;\n        if (pcStack_fc == (code *)0x0) {\n          puVar7 = (undefined4 *)0x27;\n          pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }\n      }\n    }\n  }" if (parenthesized_expression "(pcStack_fc == (code *)0x0)" ( (binary_expression "pcStack_fc == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcStack_d4 = *(code **)(pcStack_e0 + -0x7e90);\n    pcVar3 = pcStack_68 +\n             (uint)(uStack_64 * 3 < uStack_64 * 2) + (uStack_64 >> 0x1f | (int)pcStack_68 << 1);\n    uVar4 = -((int)pcVar3 >> 0x1f) + uStack_64 * 3;\n    uStack_64 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) >> 1;\n    uStack_c4 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) * -0x80000000 | uVar4 >> 1;\n    (*pcStack_d4)(uStack_bc,1,(uint)(uVar10 + 1 < uVar10) + (int)puStack_d0);\n    uVar4 = uVar10;\n    if ((int)puVar8 < 0) {\n      uVar4 = uVar10 + 0x3ff;\n      puVar8 = (undefined4 *)((uint)(uVar4 < uVar10) + (int)puVar8);\n    }\n    pcStack_68 = *(code **)(pcStack_e0 + -0x7f90);\n    uVar4 = (int)puVar8 << 0x16 | uVar4 >> 10;\n    uVar11 = uVar4 + 1;\n    puVar7 = (undefined4 *)0x2;\n    (*pcStack_d4)(uStack_bc,2,\n                  (uint)(uVar11 * 0x400 - 1 < uVar11 * 0x400) +\n                  ((uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400) - 1));\n    iVar6 = *(int *)(pcStack_e0 + -0x7d60);\n    iVar5 = (*pcStack_68)(uStack_bc);\n    pcVar9 = (code *)(iVar6 + 0x7794);\n    bVar1 = false;\n    while (iVar5 == 100) {\n      puVar7 = (undefined4 *)0x2;\n      uStack_b8 = 0;\n      uStack_b4 = 0;\n      (*pcVar9)(uStack_bc,2,auStack_b0,&uStack_b8);\n      if ((int)uStack_b8 < 1) {\n        pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        if (uStack_b8 == 0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        }\nLAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n        goto LAB_0012b828;\n      }\nLAB_0012b99c:\n      pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n      if (((int)uStack_64 < (int)uStack_b8) ||\n         ((uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))) goto LAB_0012ba04;\n      bVar1 = true;\n      iVar5 = (*pcStack_68)(uStack_bc);\n    }\n    pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n    pcStack_fc = (code *)(*pcVar3)();\n    uVar4 = uStack_c8;\n    if (bVar1) {\n      uStack_b8 = 0;\n      auStack_b0[0] = 0;\n      if (pcStack_fc == (code *)0x0) {\n        puVar7 = (undefined4 *)0x26;\n        pcStack_fc = (code *)(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0);\n        uStack_64 = uVar4;\n        if (pcStack_fc == (code *)0x0) {\n          puVar7 = (undefined4 *)0x27;\n          pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }\n      }\n    }\n  }" { (expression_statement "pcStack_d4 = *(code **)(pcStack_e0 + -0x7e90);" (assignment_expression "pcStack_d4 = *(code **)(pcStack_e0 + -0x7e90)" identifier = (pointer_expression "*(code **)(pcStack_e0 + -0x7e90)" * (cast_expression "(code **)(pcStack_e0 + -0x7e90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e0 + -0x7e90)" ( (binary_expression "pcStack_e0 + -0x7e90" identifier + number_literal) ))))) ;) (expression_statement "pcVar3 = pcStack_68 +\n             (uint)(uStack_64 * 3 < uStack_64 * 2) + (uStack_64 >> 0x1f | (int)pcStack_68 << 1);" (assignment_expression "pcVar3 = pcStack_68 +\n             (uint)(uStack_64 * 3 < uStack_64 * 2) + (uStack_64 >> 0x1f | (int)pcStack_68 << 1)" identifier = (binary_expression "pcStack_68 +\n             (uint)(uStack_64 * 3 < uStack_64 * 2) + (uStack_64 >> 0x1f | (int)pcStack_68 << 1)" (binary_expression "pcStack_68 +\n             (uint)(uStack_64 * 3 < uStack_64 * 2)" identifier + (call_expression "(uint)(uStack_64 * 3 < uStack_64 * 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uStack_64 * 3 < uStack_64 * 2)" ( (binary_expression "uStack_64 * 3 < uStack_64 * 2" (binary_expression "uStack_64 * 3" identifier * number_literal) < (binary_expression "uStack_64 * 2" identifier * number_literal)) )))) + (parenthesized_expression "(uStack_64 >> 0x1f | (int)pcStack_68 << 1)" ( (binary_expression "uStack_64 >> 0x1f | (int)pcStack_68 << 1" (binary_expression "uStack_64 >> 0x1f" identifier >> number_literal) | (binary_expression "(int)pcStack_68 << 1" (cast_expression "(int)pcStack_68" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) )))) ;) (expression_statement "uVar4 = -((int)pcVar3 >> 0x1f) + uStack_64 * 3;" (assignment_expression "uVar4 = -((int)pcVar3 >> 0x1f) + uStack_64 * 3" identifier = (binary_expression "-((int)pcVar3 >> 0x1f) + uStack_64 * 3" (unary_expression "-((int)pcVar3 >> 0x1f)" - (parenthesized_expression "((int)pcVar3 >> 0x1f)" ( (binary_expression "(int)pcVar3 >> 0x1f" (cast_expression "(int)pcVar3" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) + (binary_expression "uStack_64 * 3" identifier * number_literal))) ;) (expression_statement "uStack_64 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) >> 1;" (assignment_expression "uStack_64 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) >> 1" identifier = (binary_expression "(int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) >> 1" (cast_expression "(int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f)))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f)))" ( (binary_expression "pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))" identifier + (parenthesized_expression "(uVar4 < (uint)-((int)pcVar3 >> 0x1f))" ( (binary_expression "uVar4 < (uint)-((int)pcVar3 >> 0x1f)" identifier < (binary_expression "(uint)-((int)pcVar3 >> 0x1f)" (parenthesized_expression "(uint)" ( identifier )) - (parenthesized_expression "((int)pcVar3 >> 0x1f)" ( (binary_expression "(int)pcVar3 >> 0x1f" (cast_expression "(int)pcVar3" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ))) ))) >> number_literal)) ;) (expression_statement "uStack_c4 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) * -0x80000000 | uVar4 >> 1;" (assignment_expression "uStack_c4 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) * -0x80000000 | uVar4 >> 1" identifier = (binary_expression "(int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) * -0x80000000 | uVar4 >> 1" (binary_expression "(int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) * -0x80000000" (cast_expression "(int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f)))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f)))" ( (binary_expression "pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))" identifier + (parenthesized_expression "(uVar4 < (uint)-((int)pcVar3 >> 0x1f))" ( (binary_expression "uVar4 < (uint)-((int)pcVar3 >> 0x1f)" identifier < (binary_expression "(uint)-((int)pcVar3 >> 0x1f)" (parenthesized_expression "(uint)" ( identifier )) - (parenthesized_expression "((int)pcVar3 >> 0x1f)" ( (binary_expression "(int)pcVar3 >> 0x1f" (cast_expression "(int)pcVar3" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ))) ))) * number_literal) | (binary_expression "uVar4 >> 1" identifier >> number_literal))) ;) (expression_statement "(*pcStack_d4)(uStack_bc,1,(uint)(uVar10 + 1 < uVar10) + (int)puStack_d0);" (call_expression "(*pcStack_d4)(uStack_bc,1,(uint)(uVar10 + 1 < uVar10) + (int)puStack_d0)" (parenthesized_expression "(*pcStack_d4)" ( (pointer_expression "*pcStack_d4" * identifier) )) (argument_list "(uStack_bc,1,(uint)(uVar10 + 1 < uVar10) + (int)puStack_d0)" ( identifier , number_literal , (binary_expression "(uint)(uVar10 + 1 < uVar10) + (int)puStack_d0" (call_expression "(uint)(uVar10 + 1 < uVar10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar10 + 1 < uVar10)" ( (binary_expression "uVar10 + 1 < uVar10" (binary_expression "uVar10 + 1" identifier + number_literal) < identifier) ))) + (cast_expression "(int)puStack_d0" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) (expression_statement "uVar4 = uVar10;" (assignment_expression "uVar4 = uVar10" identifier = identifier) ;) (if_statement "if ((int)puVar8 < 0) {\n      uVar4 = uVar10 + 0x3ff;\n      puVar8 = (undefined4 *)((uint)(uVar4 < uVar10) + (int)puVar8);\n    }" if (parenthesized_expression "((int)puVar8 < 0)" ( (binary_expression "(int)puVar8 < 0" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      uVar4 = uVar10 + 0x3ff;\n      puVar8 = (undefined4 *)((uint)(uVar4 < uVar10) + (int)puVar8);\n    }" { (expression_statement "uVar4 = uVar10 + 0x3ff;" (assignment_expression "uVar4 = uVar10 + 0x3ff" identifier = (binary_expression "uVar10 + 0x3ff" identifier + number_literal)) ;) (expression_statement "puVar8 = (undefined4 *)((uint)(uVar4 < uVar10) + (int)puVar8);" (assignment_expression "puVar8 = (undefined4 *)((uint)(uVar4 < uVar10) + (int)puVar8)" identifier = (cast_expression "(undefined4 *)((uint)(uVar4 < uVar10) + (int)puVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(uVar4 < uVar10) + (int)puVar8)" ( (binary_expression "(uint)(uVar4 < uVar10) + (int)puVar8" (call_expression "(uint)(uVar4 < uVar10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar4 < uVar10)" ( (binary_expression "uVar4 < uVar10" identifier < identifier) ))) + (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (expression_statement "pcStack_68 = *(code **)(pcStack_e0 + -0x7f90);" (assignment_expression "pcStack_68 = *(code **)(pcStack_e0 + -0x7f90)" identifier = (pointer_expression "*(code **)(pcStack_e0 + -0x7f90)" * (cast_expression "(code **)(pcStack_e0 + -0x7f90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e0 + -0x7f90)" ( (binary_expression "pcStack_e0 + -0x7f90" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = (int)puVar8 << 0x16 | uVar4 >> 10;" (assignment_expression "uVar4 = (int)puVar8 << 0x16 | uVar4 >> 10" identifier = (binary_expression "(int)puVar8 << 0x16 | uVar4 >> 10" (binary_expression "(int)puVar8 << 0x16" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) | (binary_expression "uVar4 >> 10" identifier >> number_literal))) ;) (expression_statement "uVar11 = uVar4 + 1;" (assignment_expression "uVar11 = uVar4 + 1" identifier = (binary_expression "uVar4 + 1" identifier + number_literal)) ;) (expression_statement "puVar7 = (undefined4 *)0x2;" (assignment_expression "puVar7 = (undefined4 *)0x2" identifier = (cast_expression "(undefined4 *)0x2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*pcStack_d4)(uStack_bc,2,\n                  (uint)(uVar11 * 0x400 - 1 < uVar11 * 0x400) +\n                  ((uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400) - 1));" (call_expression "(*pcStack_d4)(uStack_bc,2,\n                  (uint)(uVar11 * 0x400 - 1 < uVar11 * 0x400) +\n                  ((uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400) - 1))" (parenthesized_expression "(*pcStack_d4)" ( (pointer_expression "*pcStack_d4" * identifier) )) (argument_list "(uStack_bc,2,\n                  (uint)(uVar11 * 0x400 - 1 < uVar11 * 0x400) +\n                  ((uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400) - 1))" ( identifier , number_literal , (binary_expression "(uint)(uVar11 * 0x400 - 1 < uVar11 * 0x400) +\n                  ((uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400) - 1)" (call_expression "(uint)(uVar11 * 0x400 - 1 < uVar11 * 0x400)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar11 * 0x400 - 1 < uVar11 * 0x400)" ( (binary_expression "uVar11 * 0x400 - 1 < uVar11 * 0x400" (binary_expression "uVar11 * 0x400 - 1" (binary_expression "uVar11 * 0x400" identifier * number_literal) - number_literal) < (binary_expression "uVar11 * 0x400" identifier * number_literal)) ))) + (parenthesized_expression "((uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400) - 1)" ( (binary_expression "(uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400) - 1" (parenthesized_expression "(uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400)" ( (binary_expression "uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400" (binary_expression "uVar11 >> 0x16" identifier >> number_literal) | (binary_expression "((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400" (parenthesized_expression "((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10))" ( (binary_expression "(uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)" (call_expression "(uint)(uVar11 < uVar4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar11 < uVar4)" ( (binary_expression "uVar11 < uVar4" identifier < identifier) ))) + (parenthesized_expression "((int)puVar8 >> 10)" ( (binary_expression "(int)puVar8 >> 10" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )) * number_literal)) )) - number_literal) ))) ))) ;) (expression_statement "iVar6 = *(int *)(pcStack_e0 + -0x7d60);" (assignment_expression "iVar6 = *(int *)(pcStack_e0 + -0x7d60)" identifier = (pointer_expression "*(int *)(pcStack_e0 + -0x7d60)" * (cast_expression "(int *)(pcStack_e0 + -0x7d60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_e0 + -0x7d60)" ( (binary_expression "pcStack_e0 + -0x7d60" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = (*pcStack_68)(uStack_bc);" (assignment_expression "iVar5 = (*pcStack_68)(uStack_bc)" identifier = (call_expression "(*pcStack_68)(uStack_bc)" (parenthesized_expression "(*pcStack_68)" ( (pointer_expression "*pcStack_68" * identifier) )) (argument_list "(uStack_bc)" ( identifier )))) ;) (expression_statement "pcVar9 = (code *)(iVar6 + 0x7794);" (assignment_expression "pcVar9 = (code *)(iVar6 + 0x7794)" identifier = (cast_expression "(code *)(iVar6 + 0x7794)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x7794)" ( (binary_expression "iVar6 + 0x7794" identifier + number_literal) )))) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (while_statement "while (iVar5 == 100) {\n      puVar7 = (undefined4 *)0x2;\n      uStack_b8 = 0;\n      uStack_b4 = 0;\n      (*pcVar9)(uStack_bc,2,auStack_b0,&uStack_b8);\n      if ((int)uStack_b8 < 1) {\n        pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        if (uStack_b8 == 0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        }\nLAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n        goto LAB_0012b828;\n      }\nLAB_0012b99c:\n      pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n      if (((int)uStack_64 < (int)uStack_b8) ||\n         ((uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))) goto LAB_0012ba04;\n      bVar1 = true;\n      iVar5 = (*pcStack_68)(uStack_bc);\n    }" while (parenthesized_expression "(iVar5 == 100)" ( (binary_expression "iVar5 == 100" identifier == number_literal) )) (compound_statement "{\n      puVar7 = (undefined4 *)0x2;\n      uStack_b8 = 0;\n      uStack_b4 = 0;\n      (*pcVar9)(uStack_bc,2,auStack_b0,&uStack_b8);\n      if ((int)uStack_b8 < 1) {\n        pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        if (uStack_b8 == 0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        }\nLAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n        goto LAB_0012b828;\n      }\nLAB_0012b99c:\n      pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n      if (((int)uStack_64 < (int)uStack_b8) ||\n         ((uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))) goto LAB_0012ba04;\n      bVar1 = true;\n      iVar5 = (*pcStack_68)(uStack_bc);\n    }" { (expression_statement "puVar7 = (undefined4 *)0x2;" (assignment_expression "puVar7 = (undefined4 *)0x2" identifier = (cast_expression "(undefined4 *)0x2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uStack_b8 = 0;" (assignment_expression "uStack_b8 = 0" identifier = number_literal) ;) (expression_statement "uStack_b4 = 0;" (assignment_expression "uStack_b4 = 0" identifier = number_literal) ;) (expression_statement "(*pcVar9)(uStack_bc,2,auStack_b0,&uStack_b8);" (call_expression "(*pcVar9)(uStack_bc,2,auStack_b0,&uStack_b8)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(uStack_bc,2,auStack_b0,&uStack_b8)" ( identifier , number_literal , identifier , (pointer_expression "&uStack_b8" & identifier) ))) ;) (if_statement "if ((int)uStack_b8 < 1) {\n        pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        if (uStack_b8 == 0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        }\nLAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n        goto LAB_0012b828;\n      }" if (parenthesized_expression "((int)uStack_b8 < 1)" ( (binary_expression "(int)uStack_b8 < 1" (cast_expression "(int)uStack_b8" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        if (uStack_b8 == 0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        }\nLAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n        goto LAB_0012b828;\n      }" { (expression_statement "pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);" (assignment_expression "pcVar3 = *(code **)(pcStack_e0 + -0x7ec4)" identifier = (pointer_expression "*(code **)(pcStack_e0 + -0x7ec4)" * (cast_expression "(code **)(pcStack_e0 + -0x7ec4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e0 + -0x7ec4)" ( (binary_expression "pcStack_e0 + -0x7ec4" identifier + number_literal) ))))) ;) (if_statement "if (uStack_b8 == 0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        }" if (parenthesized_expression "(uStack_b8 == 0)" ( (binary_expression "uStack_b8 == 0" identifier == number_literal) )) (compound_statement "{\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        }" { (if_statement "if (uStack_b4 != 0) goto LAB_0012b99c;" if (parenthesized_expression "(uStack_b4 != 0)" ( (binary_expression "uStack_b4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0012b99c;" goto statement_identifier ;)) (expression_statement "pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);" (assignment_expression "pcVar3 = *(code **)(pcStack_e0 + -0x7ec4)" identifier = (pointer_expression "*(code **)(pcStack_e0 + -0x7ec4)" * (cast_expression "(code **)(pcStack_e0 + -0x7ec4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e0 + -0x7ec4)" ( (binary_expression "pcStack_e0 + -0x7ec4" identifier + number_literal) ))))) ;) })) (labeled_statement "LAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar3)(uStack_bc);" statement_identifier : (expression_statement "pcStack_fc = (code *)(*pcVar3)(uStack_bc);" (assignment_expression "pcStack_fc = (code *)(*pcVar3)(uStack_bc)" identifier = (cast_expression "(code *)(*pcVar3)(uStack_bc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar3)(uStack_bc)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(uStack_bc)" ( identifier ))))) ;)) (goto_statement "goto LAB_0012b828;" goto statement_identifier ;) })) (labeled_statement "LAB_0012b99c:\n      pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);" statement_identifier : (expression_statement "pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);" (assignment_expression "pcVar3 = *(code **)(pcStack_e0 + -0x7ec4)" identifier = (pointer_expression "*(code **)(pcStack_e0 + -0x7ec4)" * (cast_expression "(code **)(pcStack_e0 + -0x7ec4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e0 + -0x7ec4)" ( (binary_expression "pcStack_e0 + -0x7ec4" identifier + number_literal) ))))) ;)) (if_statement "if (((int)uStack_64 < (int)uStack_b8) ||\n         ((uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))) goto LAB_0012ba04;" if (parenthesized_expression "(((int)uStack_64 < (int)uStack_b8) ||\n         ((uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4))))" ( (binary_expression "((int)uStack_64 < (int)uStack_b8) ||\n         ((uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))" (parenthesized_expression "((int)uStack_64 < (int)uStack_b8)" ( (binary_expression "(int)uStack_64 < (int)uStack_b8" (cast_expression "(int)uStack_64" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uStack_b8" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "((uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))" ( (parenthesized_expression "(uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4))" ( (binary_expression "uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)" (binary_expression "uStack_b8 == uStack_64" identifier == identifier) && (parenthesized_expression "(pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)" ( (comma_expression "pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4" (assignment_expression "pcVar3 = *(code **)(pcStack_e0 + -0x7ec4)" identifier = (pointer_expression "*(code **)(pcStack_e0 + -0x7ec4)" * (cast_expression "(code **)(pcStack_e0 + -0x7ec4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e0 + -0x7ec4)" ( (binary_expression "pcStack_e0 + -0x7ec4" identifier + number_literal) ))))) , (binary_expression "uStack_c4 < uStack_b4" identifier < identifier)) ))) )) ))) )) (goto_statement "goto LAB_0012ba04;" goto statement_identifier ;)) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (expression_statement "iVar5 = (*pcStack_68)(uStack_bc);" (assignment_expression "iVar5 = (*pcStack_68)(uStack_bc)" identifier = (call_expression "(*pcStack_68)(uStack_bc)" (parenthesized_expression "(*pcStack_68)" ( (pointer_expression "*pcStack_68" * identifier) )) (argument_list "(uStack_bc)" ( identifier )))) ;) })) (expression_statement "pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);" (assignment_expression "pcVar3 = *(code **)(pcStack_e0 + -0x7ec4)" identifier = (pointer_expression "*(code **)(pcStack_e0 + -0x7ec4)" * (cast_expression "(code **)(pcStack_e0 + -0x7ec4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e0 + -0x7ec4)" ( (binary_expression "pcStack_e0 + -0x7ec4" identifier + number_literal) ))))) ;) (expression_statement "pcStack_fc = (code *)(*pcVar3)();" (assignment_expression "pcStack_fc = (code *)(*pcVar3)()" identifier = (cast_expression "(code *)(*pcVar3)()" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar4 = uStack_c8;" (assignment_expression "uVar4 = uStack_c8" identifier = identifier) ;) (if_statement "if (bVar1) {\n      uStack_b8 = 0;\n      auStack_b0[0] = 0;\n      if (pcStack_fc == (code *)0x0) {\n        puVar7 = (undefined4 *)0x26;\n        pcStack_fc = (code *)(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0);\n        uStack_64 = uVar4;\n        if (pcStack_fc == (code *)0x0) {\n          puVar7 = (undefined4 *)0x27;\n          pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }\n      }\n    }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n      uStack_b8 = 0;\n      auStack_b0[0] = 0;\n      if (pcStack_fc == (code *)0x0) {\n        puVar7 = (undefined4 *)0x26;\n        pcStack_fc = (code *)(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0);\n        uStack_64 = uVar4;\n        if (pcStack_fc == (code *)0x0) {\n          puVar7 = (undefined4 *)0x27;\n          pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }\n      }\n    }" { (expression_statement "uStack_b8 = 0;" (assignment_expression "uStack_b8 = 0" identifier = number_literal) ;) (expression_statement "auStack_b0[0] = 0;" (assignment_expression "auStack_b0[0] = 0" (subscript_expression "auStack_b0[0]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (pcStack_fc == (code *)0x0) {\n        puVar7 = (undefined4 *)0x26;\n        pcStack_fc = (code *)(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0);\n        uStack_64 = uVar4;\n        if (pcStack_fc == (code *)0x0) {\n          puVar7 = (undefined4 *)0x27;\n          pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }\n      }" if (parenthesized_expression "(pcStack_fc == (code *)0x0)" ( (binary_expression "pcStack_fc == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        puVar7 = (undefined4 *)0x26;\n        pcStack_fc = (code *)(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0);\n        uStack_64 = uVar4;\n        if (pcStack_fc == (code *)0x0) {\n          puVar7 = (undefined4 *)0x27;\n          pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }\n      }" { (expression_statement "puVar7 = (undefined4 *)0x26;" (assignment_expression "puVar7 = (undefined4 *)0x26" identifier = (cast_expression "(undefined4 *)0x26" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcStack_fc = (code *)(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0);" (assignment_expression "pcStack_fc = (code *)(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0)" identifier = (cast_expression "(code *)(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0)" (parenthesized_expression "(*pcStack_cc)" ( (pointer_expression "*pcStack_cc" * identifier) )) (argument_list "(uStack_c8,0x26,&uStack_b8,0)" ( identifier , number_literal , (pointer_expression "&uStack_b8" & identifier) , number_literal ))))) ;) (expression_statement "uStack_64 = uVar4;" (assignment_expression "uStack_64 = uVar4" identifier = identifier) ;) (if_statement "if (pcStack_fc == (code *)0x0) {\n          puVar7 = (undefined4 *)0x27;\n          pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }" if (parenthesized_expression "(pcStack_fc == (code *)0x0)" ( (binary_expression "pcStack_fc == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          puVar7 = (undefined4 *)0x27;\n          pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }" { (expression_statement "puVar7 = (undefined4 *)0x27;" (assignment_expression "puVar7 = (undefined4 *)0x27" identifier = (cast_expression "(undefined4 *)0x27" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0);" (assignment_expression "pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0)" identifier = (cast_expression "(code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcStack_cc)(uVar4,0x27,auStack_b0,0)" (parenthesized_expression "(*pcStack_cc)" ( (pointer_expression "*pcStack_cc" * identifier) )) (argument_list "(uVar4,0x27,auStack_b0,0)" ( identifier , number_literal , identifier , number_literal ))))) ;) (if_statement "if (pcStack_fc == (code *)0x0) {\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }" if (parenthesized_expression "(pcStack_fc == (code *)0x0)" ( (binary_expression "pcStack_fc == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }" { (expression_statement "puVar7 = (undefined4 *)0x1;" (assignment_expression "puVar7 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (expression_statement "pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);" (assignment_expression "pcVar9 = *(code **)(pcStack_e0 + -0x7ed4)" identifier = (pointer_expression "*(code **)(pcStack_e0 + -0x7ed4)" * (cast_expression "(code **)(pcStack_e0 + -0x7ed4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e0 + -0x7ed4)" ( (binary_expression "pcStack_e0 + -0x7ed4" identifier + number_literal) ))))) ;) (expression_statement "(*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);" (call_expression "(*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10)" (parenthesized_expression "(*pcStack_d4)" ( (pointer_expression "*pcStack_d4" * identifier) )) (argument_list "(uStack_bc,1,puStack_d0,uVar10)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "uStack_64 = 0;" (assignment_expression "uStack_64 = 0" identifier = number_literal) ;) (do_statement "do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);" do (compound_statement "{\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            }" { (expression_statement "iVar6 = (*pcStack_68)(uStack_bc);" (assignment_expression "iVar6 = (*pcStack_68)(uStack_bc)" identifier = (call_expression "(*pcStack_68)(uStack_bc)" (parenthesized_expression "(*pcStack_68)" ( (pointer_expression "*pcStack_68" * identifier) )) (argument_list "(uStack_bc)" ( identifier )))) ;) (if_statement "if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }" if (parenthesized_expression "(iVar6 != 100)" ( (binary_expression "iVar6 != 100" identifier != number_literal) )) (compound_statement "{\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }" { (expression_statement "pcStack_fc = (code *)(*pcVar3)(uStack_bc);" (assignment_expression "pcStack_fc = (code *)(*pcVar3)(uStack_bc)" identifier = (cast_expression "(code *)(*pcVar3)(uStack_bc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar3)(uStack_bc)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(uStack_bc)" ( identifier ))))) ;) (if_statement "if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }" if (parenthesized_expression "(pcStack_fc == (code *)0x0)" ( (binary_expression "pcStack_fc == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }" { (expression_statement "puVar7 = (undefined4 *)0x1;" (assignment_expression "puVar7 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);" (call_expression "(*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10)" (parenthesized_expression "(*pcStack_d4)" ( (pointer_expression "*pcStack_d4" * identifier) )) (argument_list "(auStack_b0[0],1,puStack_d0,uVar10)" ( (subscript_expression "auStack_b0[0]" identifier [ number_literal ]) , number_literal , identifier , identifier ))) ;) (expression_statement "(*pcStack_68)(auStack_b0[0]);" (call_expression "(*pcStack_68)(auStack_b0[0])" (parenthesized_expression "(*pcStack_68)" ( (pointer_expression "*pcStack_68" * identifier) )) (argument_list "(auStack_b0[0])" ( (subscript_expression "auStack_b0[0]" identifier [ number_literal ]) ))) ;) (expression_statement "pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);" (assignment_expression "pcStack_fc = (code *)(*pcVar3)(auStack_b0[0])" identifier = (cast_expression "(code *)(*pcVar3)(auStack_b0[0])" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar3)(auStack_b0[0])" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(auStack_b0[0])" ( (subscript_expression "auStack_b0[0]" identifier [ number_literal ]) ))))) ;) })) (goto_statement "goto LAB_0012b828;" goto statement_identifier ;) })) (expression_statement "(*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);" (call_expression "(*pcStack_d4)(uStack_b8,1,iVar5,uStack_64)" (parenthesized_expression "(*pcStack_d4)" ( (pointer_expression "*pcStack_d4" * identifier) )) (argument_list "(uStack_b8,1,iVar5,uStack_64)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "uVar4 = uStack_b8;" (assignment_expression "uVar4 = uStack_b8" identifier = identifier) ;) (expression_statement "iVar6 = (*pcVar9)(uStack_bc,0);" (assignment_expression "iVar6 = (*pcVar9)(uStack_bc,0)" identifier = (call_expression "(*pcVar9)(uStack_bc,0)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(uStack_bc,0)" ( identifier , number_literal )))) ;) (expression_statement "(*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);" (call_expression "(*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6)" (parenthesized_expression "(*pcStack_d4)" ( (pointer_expression "*pcStack_d4" * identifier) )) (argument_list "(uVar4,2,iVar6 >> 0x1f,iVar6)" ( identifier , number_literal , (binary_expression "iVar6 >> 0x1f" identifier >> number_literal) , identifier ))) ;) (expression_statement "uVar4 = uStack_b8;" (assignment_expression "uVar4 = uStack_b8" identifier = identifier) ;) (expression_statement "iVar6 = (*pcVar9)(uStack_bc,1);" (assignment_expression "iVar6 = (*pcVar9)(uStack_bc,1)" identifier = (call_expression "(*pcVar9)(uStack_bc,1)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(uStack_bc,1)" ( identifier , number_literal )))) ;) (expression_statement "puVar7 = (undefined4 *)0x3;" (assignment_expression "puVar7 = (undefined4 *)0x3" identifier = (cast_expression "(undefined4 *)0x3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);" (call_expression "(*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6)" (parenthesized_expression "(*pcStack_d4)" ( (pointer_expression "*pcStack_d4" * identifier) )) (argument_list "(uVar4,3,iVar6 >> 0x1f,iVar6)" ( identifier , number_literal , (binary_expression "iVar6 >> 0x1f" identifier >> number_literal) , identifier ))) ;) (expression_statement "(*pcStack_68)(uStack_b8);" (call_expression "(*pcStack_68)(uStack_b8)" (parenthesized_expression "(*pcStack_68)" ( (pointer_expression "*pcStack_68" * identifier) )) (argument_list "(uStack_b8)" ( identifier ))) ;) (expression_statement "pcVar18 = (code *)(*pcVar3)(uStack_b8);" (assignment_expression "pcVar18 = (code *)(*pcVar3)(uStack_b8)" identifier = (cast_expression "(code *)(*pcVar3)(uStack_b8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar3)(uStack_b8)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(uStack_b8)" ( identifier ))))) ;) (expression_statement "uVar4 = uStack_64 + 1;" (assignment_expression "uVar4 = uStack_64 + 1" identifier = (binary_expression "uStack_64 + 1" identifier + number_literal)) ;) (expression_statement "iVar5 = (uint)(uVar4 < uStack_64) + iVar5;" (assignment_expression "iVar5 = (uint)(uVar4 < uStack_64) + iVar5" identifier = (binary_expression "(uint)(uVar4 < uStack_64) + iVar5" (call_expression "(uint)(uVar4 < uStack_64)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar4 < uStack_64)" ( (binary_expression "uVar4 < uStack_64" identifier < identifier) ))) + identifier)) ;) (expression_statement "uStack_64 = uVar4;" (assignment_expression "uStack_64 = uVar4" identifier = identifier) ;) }) while (parenthesized_expression "(pcVar18 == (code *)0x0)" ( (binary_expression "pcVar18 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "pcStack_d4 = pcVar18;" (assignment_expression "pcStack_d4 = pcVar18" identifier = identifier) ;) (expression_statement "(*pcVar3)(uStack_bc);" (call_expression "(*pcVar3)(uStack_bc)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(uStack_bc)" ( identifier ))) ;) (expression_statement "pcStack_fc = pcStack_d4;" (assignment_expression "pcStack_fc = pcStack_d4" identifier = identifier) ;) })) })) })) })) })) (labeled_statement "LAB_0012b828:\n  if (iStack_a4 == *piVar16) {\n    return pcStack_fc;\n  }" statement_identifier : (if_statement "if (iStack_a4 == *piVar16) {\n    return pcStack_fc;\n  }" if (parenthesized_expression "(iStack_a4 == *piVar16)" ( (binary_expression "iStack_a4 == *piVar16" identifier == (pointer_expression "*piVar16" * identifier)) )) (compound_statement "{\n    return pcStack_fc;\n  }" { (return_statement "return pcStack_fc;" return identifier ;) }))) (expression_statement "pcVar3 = *(code **)(pcStack_e0 + -0x7b28);" (assignment_expression "pcVar3 = *(code **)(pcStack_e0 + -0x7b28)" identifier = (pointer_expression "*(code **)(pcStack_e0 + -0x7b28)" * (cast_expression "(code **)(pcStack_e0 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e0 + -0x7b28)" ( (binary_expression "pcStack_e0 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "pcVar18 = FUN_0012bbec;" (assignment_expression "pcVar18 = FUN_0012bbec" identifier = identifier) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_110 = pcVar3 + 0x6cd34;" (assignment_expression "pcStack_110 = pcVar3 + 0x6cd34" identifier = (binary_expression "pcVar3 + 0x6cd34" identifier + number_literal)) ;) (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar8 = &uStack_108;" (assignment_expression "puVar8 = &uStack_108" identifier = (pointer_expression "&uStack_108" & identifier)) ;) (expression_statement "piVar16 = (int *)&DAT_00000016;" (assignment_expression "piVar16 = (int *)&DAT_00000016" identifier = (cast_expression "(int *)&DAT_00000016" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000016" & identifier))) ;) (expression_statement "piVar15 = *(int **)(pcVar3 + 0x65238);" (assignment_expression "piVar15 = *(int **)(pcVar3 + 0x65238)" identifier = (pointer_expression "*(int **)(pcVar3 + 0x65238)" * (cast_expression "(int **)(pcVar3 + 0x65238)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar3 + 0x65238)" ( (binary_expression "pcVar3 + 0x65238" identifier + number_literal) ))))) ;) (expression_statement "uStack_108 = 0;" (assignment_expression "uStack_108 = 0" identifier = number_literal) ;) (expression_statement "iStack_104 = *piVar15;" (assignment_expression "iStack_104 = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) (expression_statement "uStack_100 = uStack_64;" (assignment_expression "uStack_100 = uStack_64" identifier = identifier) ;) (expression_statement "pcStack_f8 = pcStack_68;" (assignment_expression "pcStack_f8 = pcStack_68" identifier = identifier) ;) (expression_statement "pcStack_f4 = pcVar18;" (assignment_expression "pcStack_f4 = pcVar18" identifier = identifier) ;) (expression_statement "pcVar3 = (code *)FUN_001210f8();" (assignment_expression "pcVar3 = (code *)FUN_001210f8()" identifier = (cast_expression "(code *)FUN_001210f8()" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001210f8()" identifier (argument_list "()" ( ))))) ;) (expression_statement "uVar19 = uStack_108;" (assignment_expression "uVar19 = uStack_108" identifier = identifier) ;) (if_statement "if (pcVar3 == (code *)0x0) {\n    piVar12 = (int *)0x0;\n    puVar8 = (undefined4 *)0x0;\n    piVar16 = (int *)0x1;\n    (**(code **)(pcStack_110 + -0x7e90))(uStack_108);\n    iVar5 = (**(code **)(pcStack_110 + -0x7f90))(uStack_108);\n    if (iVar5 == 100) {\n      piVar16 = (int *)0x0;\n      iVar5 = (**(code **)(pcStack_110 + -0x7f8c))(uStack_108);\n      uVar19 = uStack_108;\n      if (iVar5 == 4) goto LAB_0012bc50;\n    }\n    pcVar3 = (code *)(**(code **)(pcStack_110 + -0x7ec4))(uStack_108);\n    if (pcVar3 == (code *)0x0) {\n      pcVar3 = (code *)0x10b;\n    }\n    uVar19 = 0;\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    piVar12 = (int *)0x0;\n    puVar8 = (undefined4 *)0x0;\n    piVar16 = (int *)0x1;\n    (**(code **)(pcStack_110 + -0x7e90))(uStack_108);\n    iVar5 = (**(code **)(pcStack_110 + -0x7f90))(uStack_108);\n    if (iVar5 == 100) {\n      piVar16 = (int *)0x0;\n      iVar5 = (**(code **)(pcStack_110 + -0x7f8c))(uStack_108);\n      uVar19 = uStack_108;\n      if (iVar5 == 4) goto LAB_0012bc50;\n    }\n    pcVar3 = (code *)(**(code **)(pcStack_110 + -0x7ec4))(uStack_108);\n    if (pcVar3 == (code *)0x0) {\n      pcVar3 = (code *)0x10b;\n    }\n    uVar19 = 0;\n  }" { (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar8 = (undefined4 *)0x0;" (assignment_expression "puVar8 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar16 = (int *)0x1;" (assignment_expression "piVar16 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcStack_110 + -0x7e90))(uStack_108);" (call_expression "(**(code **)(pcStack_110 + -0x7e90))(uStack_108)" (parenthesized_expression "(**(code **)(pcStack_110 + -0x7e90))" ( (pointer_expression "**(code **)(pcStack_110 + -0x7e90)" * (pointer_expression "*(code **)(pcStack_110 + -0x7e90)" * (cast_expression "(code **)(pcStack_110 + -0x7e90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_110 + -0x7e90)" ( (binary_expression "pcStack_110 + -0x7e90" identifier + number_literal) ))))) )) (argument_list "(uStack_108)" ( identifier ))) ;) (expression_statement "iVar5 = (**(code **)(pcStack_110 + -0x7f90))(uStack_108);" (assignment_expression "iVar5 = (**(code **)(pcStack_110 + -0x7f90))(uStack_108)" identifier = (call_expression "(**(code **)(pcStack_110 + -0x7f90))(uStack_108)" (parenthesized_expression "(**(code **)(pcStack_110 + -0x7f90))" ( (pointer_expression "**(code **)(pcStack_110 + -0x7f90)" * (pointer_expression "*(code **)(pcStack_110 + -0x7f90)" * (cast_expression "(code **)(pcStack_110 + -0x7f90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_110 + -0x7f90)" ( (binary_expression "pcStack_110 + -0x7f90" identifier + number_literal) ))))) )) (argument_list "(uStack_108)" ( identifier )))) ;) (if_statement "if (iVar5 == 100) {\n      piVar16 = (int *)0x0;\n      iVar5 = (**(code **)(pcStack_110 + -0x7f8c))(uStack_108);\n      uVar19 = uStack_108;\n      if (iVar5 == 4) goto LAB_0012bc50;\n    }" if (parenthesized_expression "(iVar5 == 100)" ( (binary_expression "iVar5 == 100" identifier == number_literal) )) (compound_statement "{\n      piVar16 = (int *)0x0;\n      iVar5 = (**(code **)(pcStack_110 + -0x7f8c))(uStack_108);\n      uVar19 = uStack_108;\n      if (iVar5 == 4) goto LAB_0012bc50;\n    }" { (expression_statement "piVar16 = (int *)0x0;" (assignment_expression "piVar16 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar5 = (**(code **)(pcStack_110 + -0x7f8c))(uStack_108);" (assignment_expression "iVar5 = (**(code **)(pcStack_110 + -0x7f8c))(uStack_108)" identifier = (call_expression "(**(code **)(pcStack_110 + -0x7f8c))(uStack_108)" (parenthesized_expression "(**(code **)(pcStack_110 + -0x7f8c))" ( (pointer_expression "**(code **)(pcStack_110 + -0x7f8c)" * (pointer_expression "*(code **)(pcStack_110 + -0x7f8c)" * (cast_expression "(code **)(pcStack_110 + -0x7f8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_110 + -0x7f8c)" ( (binary_expression "pcStack_110 + -0x7f8c" identifier + number_literal) ))))) )) (argument_list "(uStack_108)" ( identifier )))) ;) (expression_statement "uVar19 = uStack_108;" (assignment_expression "uVar19 = uStack_108" identifier = identifier) ;) (if_statement "if (iVar5 == 4) goto LAB_0012bc50;" if (parenthesized_expression "(iVar5 == 4)" ( (binary_expression "iVar5 == 4" identifier == number_literal) )) (goto_statement "goto LAB_0012bc50;" goto statement_identifier ;)) })) (expression_statement "pcVar3 = (code *)(**(code **)(pcStack_110 + -0x7ec4))(uStack_108);" (assignment_expression "pcVar3 = (code *)(**(code **)(pcStack_110 + -0x7ec4))(uStack_108)" identifier = (cast_expression "(code *)(**(code **)(pcStack_110 + -0x7ec4))(uStack_108)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_110 + -0x7ec4))(uStack_108)" (parenthesized_expression "(**(code **)(pcStack_110 + -0x7ec4))" ( (pointer_expression "**(code **)(pcStack_110 + -0x7ec4)" * (pointer_expression "*(code **)(pcStack_110 + -0x7ec4)" * (cast_expression "(code **)(pcStack_110 + -0x7ec4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_110 + -0x7ec4)" ( (binary_expression "pcStack_110 + -0x7ec4" identifier + number_literal) ))))) )) (argument_list "(uStack_108)" ( identifier ))))) ;) (if_statement "if (pcVar3 == (code *)0x0) {\n      pcVar3 = (code *)0x10b;\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      pcVar3 = (code *)0x10b;\n    }" { (expression_statement "pcVar3 = (code *)0x10b;" (assignment_expression "pcVar3 = (code *)0x10b" identifier = (cast_expression "(code *)0x10b" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) })) (labeled_statement "LAB_0012bc50:\n  *puVar7 = uVar19;" statement_identifier : (expression_statement "*puVar7 = uVar19;" (assignment_expression "*puVar7 = uVar19" (pointer_expression "*puVar7" * identifier) = identifier) ;)) (if_statement "if (iStack_104 == *piVar15) {\n    return pcVar3;\n  }" if (parenthesized_expression "(iStack_104 == *piVar15)" ( (binary_expression "iStack_104 == *piVar15" identifier == (pointer_expression "*piVar15" * identifier)) )) (compound_statement "{\n    return pcVar3;\n  }" { (return_statement "return pcVar3;" return identifier ;) })) (expression_statement "pcVar18 = *(code **)(pcStack_110 + -0x7b28);" (assignment_expression "pcVar18 = *(code **)(pcStack_110 + -0x7b28)" identifier = (pointer_expression "*(code **)(pcStack_110 + -0x7b28)" * (cast_expression "(code **)(pcStack_110 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_110 + -0x7b28)" ( (binary_expression "pcStack_110 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = 0x12bd04;" (assignment_expression "uVar19 = 0x12bd04" identifier = number_literal) ;) (expression_statement "(*pcVar18)();" (call_expression "(*pcVar18)()" (parenthesized_expression "(*pcVar18)" ( (pointer_expression "*pcVar18" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar13 = *(int **)(pcVar18 + 0x65120);" (assignment_expression "piVar13 = *(int **)(pcVar18 + 0x65120)" identifier = (pointer_expression "*(int **)(pcVar18 + 0x65120)" * (cast_expression "(int **)(pcVar18 + 0x65120)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x65120)" ( (binary_expression "pcVar18 + 0x65120" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *piVar16;" (assignment_expression "iVar5 = *piVar16" identifier = (pointer_expression "*piVar16" * identifier)) ;) (expression_statement "iStack_13c = *piVar13;" (assignment_expression "iStack_13c = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;) (expression_statement "pcStack_134 = pcVar3;" (assignment_expression "pcStack_134 = pcVar3" identifier = identifier) ;) (expression_statement "piStack_130 = piVar15;" (assignment_expression "piStack_130 = piVar15" identifier = identifier) ;) (expression_statement "puStack_12c = puVar7;" (assignment_expression "puStack_12c = puVar7" identifier = identifier) ;) (expression_statement "pcStack_128 = pcVar9;" (assignment_expression "pcStack_128 = pcVar9" identifier = identifier) ;) (expression_statement "uStack_124 = uVar19;" (assignment_expression "uStack_124 = uVar19" identifier = identifier) ;) (if_statement "if (iVar5 == 0) {\n    piVar15 = piVar16;\n    pcVar3 = (code *)FUN_0012bbec();\n    if (pcVar3 == (code *)0x0) {\n      iVar5 = *piVar16;\n      goto LAB_0012bd4c;\n    }\n  }\n  else {\nLAB_0012bd4c:\n    iVar5 = (**(code **)(pcVar18 + 0x64c9c))(iVar5,0);\n    piVar15 = &iStack_148;\n    iVar6 = (*(code *)(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8))(iVar5);\n    if (iStack_148 == 0 && iStack_144 == 0) {\n      pcVar3 = (code *)0x10b;\n    }\n    else {\n      *puVar8 = 0;\n      puVar8[1] = iStack_144;\n      if (piVar12 == (int *)0x0) {\n        pcVar3 = (code *)0x0;\n      }\n      else {\n        pcVar3 = (code *)0x0;\n        *piVar12 = iVar5 + iVar6;\n      }\n    }\n  }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n    piVar15 = piVar16;\n    pcVar3 = (code *)FUN_0012bbec();\n    if (pcVar3 == (code *)0x0) {\n      iVar5 = *piVar16;\n      goto LAB_0012bd4c;\n    }\n  }" { (expression_statement "piVar15 = piVar16;" (assignment_expression "piVar15 = piVar16" identifier = identifier) ;) (expression_statement "pcVar3 = (code *)FUN_0012bbec();" (assignment_expression "pcVar3 = (code *)FUN_0012bbec()" identifier = (cast_expression "(code *)FUN_0012bbec()" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0012bbec()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (pcVar3 == (code *)0x0) {\n      iVar5 = *piVar16;\n      goto LAB_0012bd4c;\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      iVar5 = *piVar16;\n      goto LAB_0012bd4c;\n    }" { (expression_statement "iVar5 = *piVar16;" (assignment_expression "iVar5 = *piVar16" identifier = (pointer_expression "*piVar16" * identifier)) ;) (goto_statement "goto LAB_0012bd4c;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_0012bd4c:\n    iVar5 = (**(code **)(pcVar18 + 0x64c9c))(iVar5,0);\n    piVar15 = &iStack_148;\n    iVar6 = (*(code *)(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8))(iVar5);\n    if (iStack_148 == 0 && iStack_144 == 0) {\n      pcVar3 = (code *)0x10b;\n    }\n    else {\n      *puVar8 = 0;\n      puVar8[1] = iStack_144;\n      if (piVar12 == (int *)0x0) {\n        pcVar3 = (code *)0x0;\n      }\n      else {\n        pcVar3 = (code *)0x0;\n        *piVar12 = iVar5 + iVar6;\n      }\n    }\n  }" else (compound_statement "{\nLAB_0012bd4c:\n    iVar5 = (**(code **)(pcVar18 + 0x64c9c))(iVar5,0);\n    piVar15 = &iStack_148;\n    iVar6 = (*(code *)(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8))(iVar5);\n    if (iStack_148 == 0 && iStack_144 == 0) {\n      pcVar3 = (code *)0x10b;\n    }\n    else {\n      *puVar8 = 0;\n      puVar8[1] = iStack_144;\n      if (piVar12 == (int *)0x0) {\n        pcVar3 = (code *)0x0;\n      }\n      else {\n        pcVar3 = (code *)0x0;\n        *piVar12 = iVar5 + iVar6;\n      }\n    }\n  }" { (labeled_statement "LAB_0012bd4c:\n    iVar5 = (**(code **)(pcVar18 + 0x64c9c))(iVar5,0);" statement_identifier : (expression_statement "iVar5 = (**(code **)(pcVar18 + 0x64c9c))(iVar5,0);" (assignment_expression "iVar5 = (**(code **)(pcVar18 + 0x64c9c))(iVar5,0)" identifier = (call_expression "(**(code **)(pcVar18 + 0x64c9c))(iVar5,0)" (parenthesized_expression "(**(code **)(pcVar18 + 0x64c9c))" ( (pointer_expression "**(code **)(pcVar18 + 0x64c9c)" * (pointer_expression "*(code **)(pcVar18 + 0x64c9c)" * (cast_expression "(code **)(pcVar18 + 0x64c9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x64c9c)" ( (binary_expression "pcVar18 + 0x64c9c" identifier + number_literal) ))))) )) (argument_list "(iVar5,0)" ( identifier , number_literal )))) ;)) (expression_statement "piVar15 = &iStack_148;" (assignment_expression "piVar15 = &iStack_148" identifier = (pointer_expression "&iStack_148" & identifier)) ;) (expression_statement "iVar6 = (*(code *)(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8))(iVar5);" (assignment_expression "iVar6 = (*(code *)(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8))(iVar5)" identifier = (call_expression "(*(code *)(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8))(iVar5)" (parenthesized_expression "(*(code *)(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8))" ( (pointer_expression "*(code *)(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8)" * (cast_expression "(code *)(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8)" ( (binary_expression "*(int *)(pcVar18 + 0x64e3c) + 0x3ec8" (pointer_expression "*(int *)(pcVar18 + 0x64e3c)" * (cast_expression "(int *)(pcVar18 + 0x64e3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar18 + 0x64e3c)" ( (binary_expression "pcVar18 + 0x64e3c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(iVar5)" ( identifier )))) ;) (if_statement "if (iStack_148 == 0 && iStack_144 == 0) {\n      pcVar3 = (code *)0x10b;\n    }\n    else {\n      *puVar8 = 0;\n      puVar8[1] = iStack_144;\n      if (piVar12 == (int *)0x0) {\n        pcVar3 = (code *)0x0;\n      }\n      else {\n        pcVar3 = (code *)0x0;\n        *piVar12 = iVar5 + iVar6;\n      }\n    }" if (parenthesized_expression "(iStack_148 == 0 && iStack_144 == 0)" ( (binary_expression "iStack_148 == 0 && iStack_144 == 0" (binary_expression "iStack_148 == 0" identifier == number_literal) && (binary_expression "iStack_144 == 0" identifier == number_literal)) )) (compound_statement "{\n      pcVar3 = (code *)0x10b;\n    }" { (expression_statement "pcVar3 = (code *)0x10b;" (assignment_expression "pcVar3 = (code *)0x10b" identifier = (cast_expression "(code *)0x10b" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      *puVar8 = 0;\n      puVar8[1] = iStack_144;\n      if (piVar12 == (int *)0x0) {\n        pcVar3 = (code *)0x0;\n      }\n      else {\n        pcVar3 = (code *)0x0;\n        *piVar12 = iVar5 + iVar6;\n      }\n    }" else (compound_statement "{\n      *puVar8 = 0;\n      puVar8[1] = iStack_144;\n      if (piVar12 == (int *)0x0) {\n        pcVar3 = (code *)0x0;\n      }\n      else {\n        pcVar3 = (code *)0x0;\n        *piVar12 = iVar5 + iVar6;\n      }\n    }" { (expression_statement "*puVar8 = 0;" (assignment_expression "*puVar8 = 0" (pointer_expression "*puVar8" * identifier) = number_literal) ;) (expression_statement "puVar8[1] = iStack_144;" (assignment_expression "puVar8[1] = iStack_144" (subscript_expression "puVar8[1]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (piVar12 == (int *)0x0) {\n        pcVar3 = (code *)0x0;\n      }\n      else {\n        pcVar3 = (code *)0x0;\n        *piVar12 = iVar5 + iVar6;\n      }" if (parenthesized_expression "(piVar12 == (int *)0x0)" ( (binary_expression "piVar12 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar3 = (code *)0x0;\n      }" { (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)) ;) }) (else_clause "else {\n        pcVar3 = (code *)0x0;\n        *piVar12 = iVar5 + iVar6;\n      }" else (compound_statement "{\n        pcVar3 = (code *)0x0;\n        *piVar12 = iVar5 + iVar6;\n      }" { (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 "*piVar12 = iVar5 + iVar6;" (assignment_expression "*piVar12 = iVar5 + iVar6" (pointer_expression "*piVar12" * identifier) = (binary_expression "iVar5 + iVar6" identifier + identifier)) ;) }))) }))) }))) (if_statement "if (iStack_13c == *piVar13) {\n    return pcVar3;\n  }" if (parenthesized_expression "(iStack_13c == *piVar13)" ( (binary_expression "iStack_13c == *piVar13" identifier == (pointer_expression "*piVar13" * identifier)) )) (compound_statement "{\n    return pcVar3;\n  }" { (return_statement "return pcVar3;" return identifier ;) })) (expression_statement "pcVar3 = *(code **)(pcVar18 + 0x650f4);" (assignment_expression "pcVar3 = *(code **)(pcVar18 + 0x650f4)" identifier = (pointer_expression "*(code **)(pcVar18 + 0x650f4)" * (cast_expression "(code **)(pcVar18 + 0x650f4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x650f4)" ( (binary_expression "pcVar18 + 0x650f4" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = iStack_13c;" (assignment_expression "iVar5 = iStack_13c" identifier = identifier) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar6 = piVar15[3];" (assignment_expression "iVar6 = piVar15[3]" identifier = (subscript_expression "piVar15[3]" identifier [ number_literal ])) ;) (if_statement "if (iVar6 == 0) {\n    pcVar9 = (code *)FUN_0012131c(piVar15);\n    if (pcVar9 != (code *)0x0) goto LAB_0012be7c;\n    iVar6 = piVar15[3];\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    pcVar9 = (code *)FUN_0012131c(piVar15);\n    if (pcVar9 != (code *)0x0) goto LAB_0012be7c;\n    iVar6 = piVar15[3];\n  }" { (expression_statement "pcVar9 = (code *)FUN_0012131c(piVar15);" (assignment_expression "pcVar9 = (code *)FUN_0012131c(piVar15)" identifier = (cast_expression "(code *)FUN_0012131c(piVar15)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0012131c(piVar15)" identifier (argument_list "(piVar15)" ( identifier ))))) ;) (if_statement "if (pcVar9 != (code *)0x0) goto LAB_0012be7c;" if (parenthesized_expression "(pcVar9 != (code *)0x0)" ( (binary_expression "pcVar9 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0012be7c;" goto statement_identifier ;)) (expression_statement "iVar6 = piVar15[3];" (assignment_expression "iVar6 = piVar15[3]" identifier = (subscript_expression "piVar15[3]" identifier [ number_literal ])) ;) })) (expression_statement "(**(code **)(pcVar3 + 0x64c8c))(iVar6,1,piVar15[8],piVar15[9]);" (call_expression "(**(code **)(pcVar3 + 0x64c8c))(iVar6,1,piVar15[8],piVar15[9])" (parenthesized_expression "(**(code **)(pcVar3 + 0x64c8c))" ( (pointer_expression "**(code **)(pcVar3 + 0x64c8c)" * (pointer_expression "*(code **)(pcVar3 + 0x64c8c)" * (cast_expression "(code **)(pcVar3 + 0x64c8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar3 + 0x64c8c)" ( (binary_expression "pcVar3 + 0x64c8c" identifier + number_literal) ))))) )) (argument_list "(iVar6,1,piVar15[8],piVar15[9])" ( identifier , number_literal , (subscript_expression "piVar15[8]" identifier [ number_literal ]) , (subscript_expression "piVar15[9]" identifier [ number_literal ]) ))) ;) (expression_statement "pcVar9 = *(code **)(pcVar3 + 0x64b8c);" (assignment_expression "pcVar9 = *(code **)(pcVar3 + 0x64b8c)" identifier = (pointer_expression "*(code **)(pcVar3 + 0x64b8c)" * (cast_expression "(code **)(pcVar3 + 0x64b8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar3 + 0x64b8c)" ( (binary_expression "pcVar3 + 0x64b8c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 *)((int)piVar15 + 7) = 0;" (assignment_expression "*(undefined1 *)((int)piVar15 + 7) = 0" (pointer_expression "*(undefined1 *)((int)piVar15 + 7)" * (cast_expression "(undefined1 *)((int)piVar15 + 7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 7)" ( (binary_expression "(int)piVar15 + 7" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar6 = (*pcVar9)(piVar15[3]);" (assignment_expression "iVar6 = (*pcVar9)(piVar15[3])" identifier = (call_expression "(*pcVar9)(piVar15[3])" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(piVar15[3])" ( (subscript_expression "piVar15[3]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar6 == 100) {\n    return (code *)0x0;\n  }" if (parenthesized_expression "(iVar6 == 100)" ( (binary_expression "iVar6 == 100" identifier == number_literal) )) (compound_statement "{\n    return (code *)0x0;\n  }" { (return_statement "return (code *)0x0;" return (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "pcVar9 = (code *)(**(code **)(pcVar3 + 0x64c58))(piVar15[3]);" (assignment_expression "pcVar9 = (code *)(**(code **)(pcVar3 + 0x64c58))(piVar15[3])" identifier = (cast_expression "(code *)(**(code **)(pcVar3 + 0x64c58))(piVar15[3])" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar3 + 0x64c58))(piVar15[3])" (parenthesized_expression "(**(code **)(pcVar3 + 0x64c58))" ( (pointer_expression "**(code **)(pcVar3 + 0x64c58)" * (pointer_expression "*(code **)(pcVar3 + 0x64c58)" * (cast_expression "(code **)(pcVar3 + 0x64c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar3 + 0x64c58)" ( (binary_expression "pcVar3 + 0x64c58" identifier + number_literal) ))))) )) (argument_list "(piVar15[3])" ( (subscript_expression "piVar15[3]" identifier [ number_literal ]) ))))) ;) (if_statement "if (pcVar9 == (code *)0x0) {\n    if (*(int *)(*piVar15 + 0x28) != 0) {\n      return (code *)0x0;\n    }\n    pcVar9 = (code *)0x10b;\n    *(undefined1 *)((int)piVar15 + 6) = 1;\n  }" if (parenthesized_expression "(pcVar9 == (code *)0x0)" ( (binary_expression "pcVar9 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (*(int *)(*piVar15 + 0x28) != 0) {\n      return (code *)0x0;\n    }\n    pcVar9 = (code *)0x10b;\n    *(undefined1 *)((int)piVar15 + 6) = 1;\n  }" { (if_statement "if (*(int *)(*piVar15 + 0x28) != 0) {\n      return (code *)0x0;\n    }" if (parenthesized_expression "(*(int *)(*piVar15 + 0x28) != 0)" ( (binary_expression "*(int *)(*piVar15 + 0x28) != 0" (pointer_expression "*(int *)(*piVar15 + 0x28)" * (cast_expression "(int *)(*piVar15 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar15 + 0x28)" ( (binary_expression "*piVar15 + 0x28" (pointer_expression "*piVar15" * identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n      return (code *)0x0;\n    }" { (return_statement "return (code *)0x0;" return (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "pcVar9 = (code *)0x10b;" (assignment_expression "pcVar9 = (code *)0x10b" identifier = (cast_expression "(code *)0x10b" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined1 *)((int)piVar15 + 6) = 1;" (assignment_expression "*(undefined1 *)((int)piVar15 + 6) = 1" (pointer_expression "*(undefined1 *)((int)piVar15 + 6)" * (cast_expression "(undefined1 *)((int)piVar15 + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 6)" ( (binary_expression "(int)piVar15 + 6" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) })) (labeled_statement "LAB_0012be7c:\n  if (iVar5 != 0) {\n    (**(code **)(pcVar3 + 0x64bd0))(iVar5,pcVar9);\n  }" statement_identifier : (if_statement "if (iVar5 != 0) {\n    (**(code **)(pcVar3 + 0x64bd0))(iVar5,pcVar9);\n  }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n    (**(code **)(pcVar3 + 0x64bd0))(iVar5,pcVar9);\n  }" { (expression_statement "(**(code **)(pcVar3 + 0x64bd0))(iVar5,pcVar9);" (call_expression "(**(code **)(pcVar3 + 0x64bd0))(iVar5,pcVar9)" (parenthesized_expression "(**(code **)(pcVar3 + 0x64bd0))" ( (pointer_expression "**(code **)(pcVar3 + 0x64bd0)" * (pointer_expression "*(code **)(pcVar3 + 0x64bd0)" * (cast_expression "(code **)(pcVar3 + 0x64bd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar3 + 0x64bd0)" ( (binary_expression "pcVar3 + 0x64bd0" identifier + number_literal) ))))) )) (argument_list "(iVar5,pcVar9)" ( identifier , identifier ))) ;) }))) (return_statement "return pcVar9;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) )))) (compound_statement { (declaration TYPE 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 (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (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 IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (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 (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 (array_declarator IDENT [ LIT ]) ;) (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 IDENT ;) (declaration TYPE 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 ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , (pointer_expression * IDENT) , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT ))) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return 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 = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , LIT , (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) && (binary_expression IDENT == LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (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) )))) ;) (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))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 ( IDENT , LIT , IDENT , LIT ))) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (expression_statement (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 ))) ;) (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 * IDENT)) )) (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 = (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 *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * 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 *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT * LIT) < (binary_expression IDENT * LIT)) )))) + (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (unary_expression - (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + (parenthesized_expression ( (binary_expression IDENT < (binary_expression (parenthesized_expression ( IDENT )) - (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ))) ))) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + (parenthesized_expression ( (binary_expression IDENT < (binary_expression (parenthesized_expression ( IDENT )) - (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ))) ))) * LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT + LIT) < IDENT) ))) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (binary_expression IDENT * LIT) - LIT) < (binary_expression IDENT * LIT)) ))) + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) )) * LIT)) )) - LIT) ))) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (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 ( IDENT ))))) ;)) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == IDENT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression IDENT < IDENT)) ))) )) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ 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 *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (pointer_expression & IDENT) , LIT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , 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 = 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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT , IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))))) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (binary_expression IDENT >> LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (binary_expression IDENT >> LIT) , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) })) })) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = (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 = (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 *)) ) (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 (assignment_expression IDENT = (pointer_expression * 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 *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (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 = LIT) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (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 ( IDENT , LIT )))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression IDENT == LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + IDENT)) ;) }))) }))) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (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 = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (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 ( IDENT , LIT , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression 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 IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return (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 ( (subscript_expression IDENT [ LIT ]) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) != LIT) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) })) (labeled_statement statement_identifier : (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 , IDENT ))) ;) }))) (return_statement return IDENT ;) })))
(function_definition "code * FUN_0012b4a4(undefined4 param_1,undefined4 *param_2,int *param_3)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  code *pcVar3;\n  uint uVar4;\n  int iVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  undefined4 *puVar8;\n  code *pcVar9;\n  uint uVar10;\n  uint uVar11;\n  int *piVar12;\n  undefined4 unaff_s0;\n  int *piVar13;\n  undefined4 unaff_s1;\n  uint *puVar14;\n  int *piVar15;\n  undefined4 *unaff_s2;\n  int *piVar16;\n  undefined *puVar17;\n  code *pcVar18;\n  uint unaff_retaddr;\n  undefined4 uVar19;\n  code *pcStackX_0;\n  uint uStackX_4;\n  undefined4 *puStackX_8;\n  uint uStackX_c;\n  int iStack_148;\n  int iStack_144;\n  int iStack_13c;\n  code *pcStack_134;\n  int *piStack_130;\n  undefined4 *puStack_12c;\n  code *pcStack_128;\n  undefined4 uStack_124;\n  code *pcStack_110;\n  undefined4 uStack_108;\n  int iStack_104;\n  uint uStack_100;\n  code *pcStack_fc;\n  code *pcStack_f8;\n  code *pcStack_f4;\n  code *pcStack_e0;\n  code *pcStack_d4;\n  undefined4 *puStack_d0;\n  code *pcStack_cc;\n  uint uStack_c8;\n  uint uStack_c4;\n  undefined4 uStack_bc;\n  uint uStack_b8;\n  uint uStack_b4;\n  undefined4 auStack_b0 [3];\n  int iStack_a4;\n  code *pcStack_a0;\n  uint *puStack_9c;\n  undefined4 *puStack_98;\n  code *pcStack_94;\n  code *pcStack_68;\n  uint uStack_64;\n  undefined4 uStack_58;\n  uint uStack_54;\n  undefined *puStack_50;\n  int *piStack_4c;\n  undefined4 *puStack_48;\n  undefined4 local_18;\n  int local_14;\n  \n  puVar2 = PTR___stack_chk_guard_00190e24;\n  pcVar9 = (code *)0x0;\n  puVar8 = &local_18;\n  local_14 = *(int *)PTR___stack_chk_guard_00190e24;\n  pcVar3 = (code *)FUN_001210f8(param_1,0x11);\n  puVar17 = PTR_sqlite3_bind_int64_00190a90;\n  if (pcVar3 == (code *)0x0) {\n    (*(code *)PTR_sqlite3_bind_int64_00190a90)(local_18,1,*param_2,param_2[1]);\n    pcVar9 = (code *)param_3[1];\n    puVar8 = (undefined4 *)*param_3;\n    (*(code *)puVar17)(local_18,2);\n    (*(code *)PTR_sqlite3_step_00190990)(local_18);\n    pcVar3 = (code *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_18);\n    param_2 = (undefined4 *)puVar17;\n  }\n  if (local_14 == *(int *)puVar2) {\n    return pcVar3;\n  }\n  puVar17 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  uVar10 = 0;\n  puStack_50 = puVar2;\n  puVar7 = &uStack_58;\n  puVar14 = *(uint **)(puVar17 + 0x65898);\n  uStack_54 = *puVar14;\n  piStack_4c = param_3;\n  puStack_48 = param_2;\n  pcVar3 = (code *)FUN_001210f8();\n  puStack_d0 = puVar7;\n  if (pcVar3 == (code *)0x0) {\n    pcVar3 = *(code **)(puVar17 + 0x65504);\n    (*pcVar3)(uStack_58,1,puVar8,pcVar9);\n    (*pcVar3)(uStack_58,2,0,&_gp_1);\n    (*pcVar3)(uStack_58,3,local_18,local_14);\n    (*pcVar3)(uStack_58,4,unaff_s0,unaff_s1);\n    if (pcStackX_0 == (code *)0x0 && uStackX_4 == 0) {\n      (*pcVar3)(uStack_58,5,unaff_s2,unaff_retaddr);\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n    }\n    else {\n      pcStack_68 = pcStackX_0;\n      uStack_64 = uStackX_4;\n      iVar5 = (**(code **)(puVar17 + 0x653d8))(*(int *)(puVar17 + 0x653d0) + -0x748);\n      if (iVar5 == 0) {\n        pcVar3 = (code *)&DAT_00000007;\n        puStack_d0 = unaff_s2;\n        uVar10 = unaff_retaddr;\n        goto LAB_0012b608;\n      }\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n      (*pcVar3)(uStack_58,5,iVar5,0xffffffff);\n    }\n    uStack_64 = 0;\n    pcStack_68 = (code *)0x0;\n    (*pcVar3)(uStack_58,6,puStackX_8,uStackX_c);\n    (**(code **)(puVar17 + 0x65404))(uStack_58);\n    pcVar3 = (code *)(**(code **)(puVar17 + 0x654d0))(uStack_58);\n    (**(code **)(puVar17 + 0x654fc))(uStack_58,6);\n    puStack_d0 = puStackX_8;\n    uVar10 = uStackX_c;\n  }\nLAB_0012b608:\n  if (uStack_54 == *puVar14) {\n    return pcVar3;\n  }\n  pcVar18 = *(code **)(puVar17 + 0x6586c);\n  uVar4 = uStack_54;\n  (*pcVar18)();\n  pcStack_e0 = pcVar18 + 0x6d180;\n  puVar7 = (undefined4 *)&DAT_00000025;\n  pcStack_cc = (code *)(*(int *)(pcVar18 + 0x654c4) + 0x10f8);\n  piVar16 = *(int **)(pcVar18 + 0x65684);\n  iStack_a4 = *piVar16;\n  uStack_c8 = uVar4;\n  pcStack_a0 = pcVar3;\n  puStack_9c = puVar14;\n  puStack_98 = puVar8;\n  pcStack_94 = pcVar9;\n  pcStack_fc = (code *)FUN_001210f8();\n  puVar8 = puStack_d0;\n  if (pcStack_fc == (code *)0x0) {\n    pcStack_d4 = *(code **)(pcStack_e0 + -0x7e90);\n    pcVar3 = pcStack_68 +\n             (uint)(uStack_64 * 3 < uStack_64 * 2) + (uStack_64 >> 0x1f | (int)pcStack_68 << 1);\n    uVar4 = -((int)pcVar3 >> 0x1f) + uStack_64 * 3;\n    uStack_64 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) >> 1;\n    uStack_c4 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) * -0x80000000 | uVar4 >> 1;\n    (*pcStack_d4)(uStack_bc,1,(uint)(uVar10 + 1 < uVar10) + (int)puStack_d0);\n    uVar4 = uVar10;\n    if ((int)puVar8 < 0) {\n      uVar4 = uVar10 + 0x3ff;\n      puVar8 = (undefined4 *)((uint)(uVar4 < uVar10) + (int)puVar8);\n    }\n    pcStack_68 = *(code **)(pcStack_e0 + -0x7f90);\n    uVar4 = (int)puVar8 << 0x16 | uVar4 >> 10;\n    uVar11 = uVar4 + 1;\n    puVar7 = (undefined4 *)0x2;\n    (*pcStack_d4)(uStack_bc,2,\n                  (uint)(uVar11 * 0x400 - 1 < uVar11 * 0x400) +\n                  ((uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400) - 1));\n    iVar6 = *(int *)(pcStack_e0 + -0x7d60);\n    iVar5 = (*pcStack_68)(uStack_bc);\n    pcVar9 = (code *)(iVar6 + 0x7794);\n    bVar1 = false;\n    while (iVar5 == 100) {\n      puVar7 = (undefined4 *)0x2;\n      uStack_b8 = 0;\n      uStack_b4 = 0;\n      (*pcVar9)(uStack_bc,2,auStack_b0,&uStack_b8);\n      if ((int)uStack_b8 < 1) {\n        pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        if (uStack_b8 == 0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        }\nLAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n        goto LAB_0012b828;\n      }\nLAB_0012b99c:\n      pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n      if (((int)uStack_64 < (int)uStack_b8) ||\n         ((uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))) goto LAB_0012ba04;\n      bVar1 = true;\n      iVar5 = (*pcStack_68)(uStack_bc);\n    }\n    pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n    pcStack_fc = (code *)(*pcVar3)();\n    uVar4 = uStack_c8;\n    if (bVar1) {\n      uStack_b8 = 0;\n      auStack_b0[0] = 0;\n      if (pcStack_fc == (code *)0x0) {\n        puVar7 = (undefined4 *)0x26;\n        pcStack_fc = (code *)(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0);\n        uStack_64 = uVar4;\n        if (pcStack_fc == (code *)0x0) {\n          puVar7 = (undefined4 *)0x27;\n          pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }\n      }\n    }\n  }\nLAB_0012b828:\n  if (iStack_a4 == *piVar16) {\n    return pcStack_fc;\n  }\n  pcVar3 = *(code **)(pcStack_e0 + -0x7b28);\n  pcVar18 = FUN_0012bbec;\n  (*pcVar3)();\n  pcStack_110 = pcVar3 + 0x6cd34;\n  piVar12 = (int *)0x0;\n  puVar8 = &uStack_108;\n  piVar16 = (int *)&DAT_00000016;\n  piVar15 = *(int **)(pcVar3 + 0x65238);\n  uStack_108 = 0;\n  iStack_104 = *piVar15;\n  uStack_100 = uStack_64;\n  pcStack_f8 = pcStack_68;\n  pcStack_f4 = pcVar18;\n  pcVar3 = (code *)FUN_001210f8();\n  uVar19 = uStack_108;\n  if (pcVar3 == (code *)0x0) {\n    piVar12 = (int *)0x0;\n    puVar8 = (undefined4 *)0x0;\n    piVar16 = (int *)0x1;\n    (**(code **)(pcStack_110 + -0x7e90))(uStack_108);\n    iVar5 = (**(code **)(pcStack_110 + -0x7f90))(uStack_108);\n    if (iVar5 == 100) {\n      piVar16 = (int *)0x0;\n      iVar5 = (**(code **)(pcStack_110 + -0x7f8c))(uStack_108);\n      uVar19 = uStack_108;\n      if (iVar5 == 4) goto LAB_0012bc50;\n    }\n    pcVar3 = (code *)(**(code **)(pcStack_110 + -0x7ec4))(uStack_108);\n    if (pcVar3 == (code *)0x0) {\n      pcVar3 = (code *)0x10b;\n    }\n    uVar19 = 0;\n  }\nLAB_0012bc50:\n  *puVar7 = uVar19;\n  if (iStack_104 == *piVar15) {\n    return pcVar3;\n  }\n  pcVar18 = *(code **)(pcStack_110 + -0x7b28);\n  uVar19 = 0x12bd04;\n  (*pcVar18)();\n  piVar13 = *(int **)(pcVar18 + 0x65120);\n  iVar5 = *piVar16;\n  iStack_13c = *piVar13;\n  pcStack_134 = pcVar3;\n  piStack_130 = piVar15;\n  puStack_12c = puVar7;\n  pcStack_128 = pcVar9;\n  uStack_124 = uVar19;\n  if (iVar5 == 0) {\n    piVar15 = piVar16;\n    pcVar3 = (code *)FUN_0012bbec();\n    if (pcVar3 == (code *)0x0) {\n      iVar5 = *piVar16;\n      goto LAB_0012bd4c;\n    }\n  }\n  else {\nLAB_0012bd4c:\n    iVar5 = (**(code **)(pcVar18 + 0x64c9c))(iVar5,0);\n    piVar15 = &iStack_148;\n    iVar6 = (*(code *)(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8))(iVar5);\n    if (iStack_148 == 0 && iStack_144 == 0) {\n      pcVar3 = (code *)0x10b;\n    }\n    else {\n      *puVar8 = 0;\n      puVar8[1] = iStack_144;\n      if (piVar12 == (int *)0x0) {\n        pcVar3 = (code *)0x0;\n      }\n      else {\n        pcVar3 = (code *)0x0;\n        *piVar12 = iVar5 + iVar6;\n      }\n    }\n  }\n  if (iStack_13c == *piVar13) {\n    return pcVar3;\n  }\n  pcVar3 = *(code **)(pcVar18 + 0x650f4);\n  iVar5 = iStack_13c;\n  (*pcVar3)();\n  iVar6 = piVar15[3];\n  if (iVar6 == 0) {\n    pcVar9 = (code *)FUN_0012131c(piVar15);\n    if (pcVar9 != (code *)0x0) goto LAB_0012be7c;\n    iVar6 = piVar15[3];\n  }\n  (**(code **)(pcVar3 + 0x64c8c))(iVar6,1,piVar15[8],piVar15[9]);\n  pcVar9 = *(code **)(pcVar3 + 0x64b8c);\n  *(undefined1 *)((int)piVar15 + 7) = 0;\n  iVar6 = (*pcVar9)(piVar15[3]);\n  if (iVar6 == 100) {\n    return (code *)0x0;\n  }\n  pcVar9 = (code *)(**(code **)(pcVar3 + 0x64c58))(piVar15[3]);\n  if (pcVar9 == (code *)0x0) {\n    if (*(int *)(*piVar15 + 0x28) != 0) {\n      return (code *)0x0;\n    }\n    pcVar9 = (code *)0x10b;\n    *(undefined1 *)((int)piVar15 + 6) = 1;\n  }\nLAB_0012be7c:\n  if (iVar5 != 0) {\n    (**(code **)(pcVar3 + 0x64bd0))(iVar5,pcVar9);\n  }\n  return pcVar9;\n}" (type_identifier "code") (pointer_declarator "* FUN_0012b4a4(undefined4 param_1,undefined4 *param_2,int *param_3)" (* "*") (function_declarator "FUN_0012b4a4(undefined4 param_1,undefined4 *param_2,int *param_3)" (identifier "FUN_0012b4a4") (parameter_list "(undefined4 param_1,undefined4 *param_2,int *param_3)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 *param_2" (type_identifier "undefined4") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "int *param_3" (primitive_type "int") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) () ")")))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  code *pcVar3;\n  uint uVar4;\n  int iVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  undefined4 *puVar8;\n  code *pcVar9;\n  uint uVar10;\n  uint uVar11;\n  int *piVar12;\n  undefined4 unaff_s0;\n  int *piVar13;\n  undefined4 unaff_s1;\n  uint *puVar14;\n  int *piVar15;\n  undefined4 *unaff_s2;\n  int *piVar16;\n  undefined *puVar17;\n  code *pcVar18;\n  uint unaff_retaddr;\n  undefined4 uVar19;\n  code *pcStackX_0;\n  uint uStackX_4;\n  undefined4 *puStackX_8;\n  uint uStackX_c;\n  int iStack_148;\n  int iStack_144;\n  int iStack_13c;\n  code *pcStack_134;\n  int *piStack_130;\n  undefined4 *puStack_12c;\n  code *pcStack_128;\n  undefined4 uStack_124;\n  code *pcStack_110;\n  undefined4 uStack_108;\n  int iStack_104;\n  uint uStack_100;\n  code *pcStack_fc;\n  code *pcStack_f8;\n  code *pcStack_f4;\n  code *pcStack_e0;\n  code *pcStack_d4;\n  undefined4 *puStack_d0;\n  code *pcStack_cc;\n  uint uStack_c8;\n  uint uStack_c4;\n  undefined4 uStack_bc;\n  uint uStack_b8;\n  uint uStack_b4;\n  undefined4 auStack_b0 [3];\n  int iStack_a4;\n  code *pcStack_a0;\n  uint *puStack_9c;\n  undefined4 *puStack_98;\n  code *pcStack_94;\n  code *pcStack_68;\n  uint uStack_64;\n  undefined4 uStack_58;\n  uint uStack_54;\n  undefined *puStack_50;\n  int *piStack_4c;\n  undefined4 *puStack_48;\n  undefined4 local_18;\n  int local_14;\n  \n  puVar2 = PTR___stack_chk_guard_00190e24;\n  pcVar9 = (code *)0x0;\n  puVar8 = &local_18;\n  local_14 = *(int *)PTR___stack_chk_guard_00190e24;\n  pcVar3 = (code *)FUN_001210f8(param_1,0x11);\n  puVar17 = PTR_sqlite3_bind_int64_00190a90;\n  if (pcVar3 == (code *)0x0) {\n    (*(code *)PTR_sqlite3_bind_int64_00190a90)(local_18,1,*param_2,param_2[1]);\n    pcVar9 = (code *)param_3[1];\n    puVar8 = (undefined4 *)*param_3;\n    (*(code *)puVar17)(local_18,2);\n    (*(code *)PTR_sqlite3_step_00190990)(local_18);\n    pcVar3 = (code *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_18);\n    param_2 = (undefined4 *)puVar17;\n  }\n  if (local_14 == *(int *)puVar2) {\n    return pcVar3;\n  }\n  puVar17 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  uVar10 = 0;\n  puStack_50 = puVar2;\n  puVar7 = &uStack_58;\n  puVar14 = *(uint **)(puVar17 + 0x65898);\n  uStack_54 = *puVar14;\n  piStack_4c = param_3;\n  puStack_48 = param_2;\n  pcVar3 = (code *)FUN_001210f8();\n  puStack_d0 = puVar7;\n  if (pcVar3 == (code *)0x0) {\n    pcVar3 = *(code **)(puVar17 + 0x65504);\n    (*pcVar3)(uStack_58,1,puVar8,pcVar9);\n    (*pcVar3)(uStack_58,2,0,&_gp_1);\n    (*pcVar3)(uStack_58,3,local_18,local_14);\n    (*pcVar3)(uStack_58,4,unaff_s0,unaff_s1);\n    if (pcStackX_0 == (code *)0x0 && uStackX_4 == 0) {\n      (*pcVar3)(uStack_58,5,unaff_s2,unaff_retaddr);\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n    }\n    else {\n      pcStack_68 = pcStackX_0;\n      uStack_64 = uStackX_4;\n      iVar5 = (**(code **)(puVar17 + 0x653d8))(*(int *)(puVar17 + 0x653d0) + -0x748);\n      if (iVar5 == 0) {\n        pcVar3 = (code *)&DAT_00000007;\n        puStack_d0 = unaff_s2;\n        uVar10 = unaff_retaddr;\n        goto LAB_0012b608;\n      }\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n      (*pcVar3)(uStack_58,5,iVar5,0xffffffff);\n    }\n    uStack_64 = 0;\n    pcStack_68 = (code *)0x0;\n    (*pcVar3)(uStack_58,6,puStackX_8,uStackX_c);\n    (**(code **)(puVar17 + 0x65404))(uStack_58);\n    pcVar3 = (code *)(**(code **)(puVar17 + 0x654d0))(uStack_58);\n    (**(code **)(puVar17 + 0x654fc))(uStack_58,6);\n    puStack_d0 = puStackX_8;\n    uVar10 = uStackX_c;\n  }\nLAB_0012b608:\n  if (uStack_54 == *puVar14) {\n    return pcVar3;\n  }\n  pcVar18 = *(code **)(puVar17 + 0x6586c);\n  uVar4 = uStack_54;\n  (*pcVar18)();\n  pcStack_e0 = pcVar18 + 0x6d180;\n  puVar7 = (undefined4 *)&DAT_00000025;\n  pcStack_cc = (code *)(*(int *)(pcVar18 + 0x654c4) + 0x10f8);\n  piVar16 = *(int **)(pcVar18 + 0x65684);\n  iStack_a4 = *piVar16;\n  uStack_c8 = uVar4;\n  pcStack_a0 = pcVar3;\n  puStack_9c = puVar14;\n  puStack_98 = puVar8;\n  pcStack_94 = pcVar9;\n  pcStack_fc = (code *)FUN_001210f8();\n  puVar8 = puStack_d0;\n  if (pcStack_fc == (code *)0x0) {\n    pcStack_d4 = *(code **)(pcStack_e0 + -0x7e90);\n    pcVar3 = pcStack_68 +\n             (uint)(uStack_64 * 3 < uStack_64 * 2) + (uStack_64 >> 0x1f | (int)pcStack_68 << 1);\n    uVar4 = -((int)pcVar3 >> 0x1f) + uStack_64 * 3;\n    uStack_64 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) >> 1;\n    uStack_c4 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) * -0x80000000 | uVar4 >> 1;\n    (*pcStack_d4)(uStack_bc,1,(uint)(uVar10 + 1 < uVar10) + (int)puStack_d0);\n    uVar4 = uVar10;\n    if ((int)puVar8 < 0) {\n      uVar4 = uVar10 + 0x3ff;\n      puVar8 = (undefined4 *)((uint)(uVar4 < uVar10) + (int)puVar8);\n    }\n    pcStack_68 = *(code **)(pcStack_e0 + -0x7f90);\n    uVar4 = (int)puVar8 << 0x16 | uVar4 >> 10;\n    uVar11 = uVar4 + 1;\n    puVar7 = (undefined4 *)0x2;\n    (*pcStack_d4)(uStack_bc,2,\n                  (uint)(uVar11 * 0x400 - 1 < uVar11 * 0x400) +\n                  ((uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400) - 1));\n    iVar6 = *(int *)(pcStack_e0 + -0x7d60);\n    iVar5 = (*pcStack_68)(uStack_bc);\n    pcVar9 = (code *)(iVar6 + 0x7794);\n    bVar1 = false;\n    while (iVar5 == 100) {\n      puVar7 = (undefined4 *)0x2;\n      uStack_b8 = 0;\n      uStack_b4 = 0;\n      (*pcVar9)(uStack_bc,2,auStack_b0,&uStack_b8);\n      if ((int)uStack_b8 < 1) {\n        pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        if (uStack_b8 == 0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        }\nLAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n        goto LAB_0012b828;\n      }\nLAB_0012b99c:\n      pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n      if (((int)uStack_64 < (int)uStack_b8) ||\n         ((uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))) goto LAB_0012ba04;\n      bVar1 = true;\n      iVar5 = (*pcStack_68)(uStack_bc);\n    }\n    pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n    pcStack_fc = (code *)(*pcVar3)();\n    uVar4 = uStack_c8;\n    if (bVar1) {\n      uStack_b8 = 0;\n      auStack_b0[0] = 0;\n      if (pcStack_fc == (code *)0x0) {\n        puVar7 = (undefined4 *)0x26;\n        pcStack_fc = (code *)(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0);\n        uStack_64 = uVar4;\n        if (pcStack_fc == (code *)0x0) {\n          puVar7 = (undefined4 *)0x27;\n          pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }\n      }\n    }\n  }\nLAB_0012b828:\n  if (iStack_a4 == *piVar16) {\n    return pcStack_fc;\n  }\n  pcVar3 = *(code **)(pcStack_e0 + -0x7b28);\n  pcVar18 = FUN_0012bbec;\n  (*pcVar3)();\n  pcStack_110 = pcVar3 + 0x6cd34;\n  piVar12 = (int *)0x0;\n  puVar8 = &uStack_108;\n  piVar16 = (int *)&DAT_00000016;\n  piVar15 = *(int **)(pcVar3 + 0x65238);\n  uStack_108 = 0;\n  iStack_104 = *piVar15;\n  uStack_100 = uStack_64;\n  pcStack_f8 = pcStack_68;\n  pcStack_f4 = pcVar18;\n  pcVar3 = (code *)FUN_001210f8();\n  uVar19 = uStack_108;\n  if (pcVar3 == (code *)0x0) {\n    piVar12 = (int *)0x0;\n    puVar8 = (undefined4 *)0x0;\n    piVar16 = (int *)0x1;\n    (**(code **)(pcStack_110 + -0x7e90))(uStack_108);\n    iVar5 = (**(code **)(pcStack_110 + -0x7f90))(uStack_108);\n    if (iVar5 == 100) {\n      piVar16 = (int *)0x0;\n      iVar5 = (**(code **)(pcStack_110 + -0x7f8c))(uStack_108);\n      uVar19 = uStack_108;\n      if (iVar5 == 4) goto LAB_0012bc50;\n    }\n    pcVar3 = (code *)(**(code **)(pcStack_110 + -0x7ec4))(uStack_108);\n    if (pcVar3 == (code *)0x0) {\n      pcVar3 = (code *)0x10b;\n    }\n    uVar19 = 0;\n  }\nLAB_0012bc50:\n  *puVar7 = uVar19;\n  if (iStack_104 == *piVar15) {\n    return pcVar3;\n  }\n  pcVar18 = *(code **)(pcStack_110 + -0x7b28);\n  uVar19 = 0x12bd04;\n  (*pcVar18)();\n  piVar13 = *(int **)(pcVar18 + 0x65120);\n  iVar5 = *piVar16;\n  iStack_13c = *piVar13;\n  pcStack_134 = pcVar3;\n  piStack_130 = piVar15;\n  puStack_12c = puVar7;\n  pcStack_128 = pcVar9;\n  uStack_124 = uVar19;\n  if (iVar5 == 0) {\n    piVar15 = piVar16;\n    pcVar3 = (code *)FUN_0012bbec();\n    if (pcVar3 == (code *)0x0) {\n      iVar5 = *piVar16;\n      goto LAB_0012bd4c;\n    }\n  }\n  else {\nLAB_0012bd4c:\n    iVar5 = (**(code **)(pcVar18 + 0x64c9c))(iVar5,0);\n    piVar15 = &iStack_148;\n    iVar6 = (*(code *)(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8))(iVar5);\n    if (iStack_148 == 0 && iStack_144 == 0) {\n      pcVar3 = (code *)0x10b;\n    }\n    else {\n      *puVar8 = 0;\n      puVar8[1] = iStack_144;\n      if (piVar12 == (int *)0x0) {\n        pcVar3 = (code *)0x0;\n      }\n      else {\n        pcVar3 = (code *)0x0;\n        *piVar12 = iVar5 + iVar6;\n      }\n    }\n  }\n  if (iStack_13c == *piVar13) {\n    return pcVar3;\n  }\n  pcVar3 = *(code **)(pcVar18 + 0x650f4);\n  iVar5 = iStack_13c;\n  (*pcVar3)();\n  iVar6 = piVar15[3];\n  if (iVar6 == 0) {\n    pcVar9 = (code *)FUN_0012131c(piVar15);\n    if (pcVar9 != (code *)0x0) goto LAB_0012be7c;\n    iVar6 = piVar15[3];\n  }\n  (**(code **)(pcVar3 + 0x64c8c))(iVar6,1,piVar15[8],piVar15[9]);\n  pcVar9 = *(code **)(pcVar3 + 0x64b8c);\n  *(undefined1 *)((int)piVar15 + 7) = 0;\n  iVar6 = (*pcVar9)(piVar15[3]);\n  if (iVar6 == 100) {\n    return (code *)0x0;\n  }\n  pcVar9 = (code *)(**(code **)(pcVar3 + 0x64c58))(piVar15[3]);\n  if (pcVar9 == (code *)0x0) {\n    if (*(int *)(*piVar15 + 0x28) != 0) {\n      return (code *)0x0;\n    }\n    pcVar9 = (code *)0x10b;\n    *(undefined1 *)((int)piVar15 + 6) = 1;\n  }\nLAB_0012be7c:\n  if (iVar5 != 0) {\n    (**(code **)(pcVar3 + 0x64bd0))(iVar5,pcVar9);\n  }\n  return pcVar9;\n}" ({ "{") (declaration "bool bVar1;" (primitive_type "bool") (identifier "bVar1") (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "code *pcVar3;" (type_identifier "code") (pointer_declarator "*pcVar3" (* "*") (identifier "pcVar3")) (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "undefined4 *puVar7;" (type_identifier "undefined4") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "undefined4 *puVar8;" (type_identifier "undefined4") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "code *pcVar9;" (type_identifier "code") (pointer_declarator "*pcVar9" (* "*") (identifier "pcVar9")) (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "int *piVar12;" (primitive_type "int") (pointer_declarator "*piVar12" (* "*") (identifier "piVar12")) (; ";")) (declaration "undefined4 unaff_s0;" (type_identifier "undefined4") (identifier "unaff_s0") (; ";")) (declaration "int *piVar13;" (primitive_type "int") (pointer_declarator "*piVar13" (* "*") (identifier "piVar13")) (; ";")) (declaration "undefined4 unaff_s1;" (type_identifier "undefined4") (identifier "unaff_s1") (; ";")) (declaration "uint *puVar14;" (type_identifier "uint") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "int *piVar15;" (primitive_type "int") (pointer_declarator "*piVar15" (* "*") (identifier "piVar15")) (; ";")) (declaration "undefined4 *unaff_s2;" (type_identifier "undefined4") (pointer_declarator "*unaff_s2" (* "*") (identifier "unaff_s2")) (; ";")) (declaration "int *piVar16;" (primitive_type "int") (pointer_declarator "*piVar16" (* "*") (identifier "piVar16")) (; ";")) (declaration "undefined *puVar17;" (type_identifier "undefined") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "code *pcVar18;" (type_identifier "code") (pointer_declarator "*pcVar18" (* "*") (identifier "pcVar18")) (; ";")) (declaration "uint unaff_retaddr;" (type_identifier "uint") (identifier "unaff_retaddr") (; ";")) (declaration "undefined4 uVar19;" (type_identifier "undefined4") (identifier "uVar19") (; ";")) (declaration "code *pcStackX_0;" (type_identifier "code") (pointer_declarator "*pcStackX_0" (* "*") (identifier "pcStackX_0")) (; ";")) (declaration "uint uStackX_4;" (type_identifier "uint") (identifier "uStackX_4") (; ";")) (declaration "undefined4 *puStackX_8;" (type_identifier "undefined4") (pointer_declarator "*puStackX_8" (* "*") (identifier "puStackX_8")) (; ";")) (declaration "uint uStackX_c;" (type_identifier "uint") (identifier "uStackX_c") (; ";")) (declaration "int iStack_148;" (primitive_type "int") (identifier "iStack_148") (; ";")) (declaration "int iStack_144;" (primitive_type "int") (identifier "iStack_144") (; ";")) (declaration "int iStack_13c;" (primitive_type "int") (identifier "iStack_13c") (; ";")) (declaration "code *pcStack_134;" (type_identifier "code") (pointer_declarator "*pcStack_134" (* "*") (identifier "pcStack_134")) (; ";")) (declaration "int *piStack_130;" (primitive_type "int") (pointer_declarator "*piStack_130" (* "*") (identifier "piStack_130")) (; ";")) (declaration "undefined4 *puStack_12c;" (type_identifier "undefined4") (pointer_declarator "*puStack_12c" (* "*") (identifier "puStack_12c")) (; ";")) (declaration "code *pcStack_128;" (type_identifier "code") (pointer_declarator "*pcStack_128" (* "*") (identifier "pcStack_128")) (; ";")) (declaration "undefined4 uStack_124;" (type_identifier "undefined4") (identifier "uStack_124") (; ";")) (declaration "code *pcStack_110;" (type_identifier "code") (pointer_declarator "*pcStack_110" (* "*") (identifier "pcStack_110")) (; ";")) (declaration "undefined4 uStack_108;" (type_identifier "undefined4") (identifier "uStack_108") (; ";")) (declaration "int iStack_104;" (primitive_type "int") (identifier "iStack_104") (; ";")) (declaration "uint uStack_100;" (type_identifier "uint") (identifier "uStack_100") (; ";")) (declaration "code *pcStack_fc;" (type_identifier "code") (pointer_declarator "*pcStack_fc" (* "*") (identifier "pcStack_fc")) (; ";")) (declaration "code *pcStack_f8;" (type_identifier "code") (pointer_declarator "*pcStack_f8" (* "*") (identifier "pcStack_f8")) (; ";")) (declaration "code *pcStack_f4;" (type_identifier "code") (pointer_declarator "*pcStack_f4" (* "*") (identifier "pcStack_f4")) (; ";")) (declaration "code *pcStack_e0;" (type_identifier "code") (pointer_declarator "*pcStack_e0" (* "*") (identifier "pcStack_e0")) (; ";")) (declaration "code *pcStack_d4;" (type_identifier "code") (pointer_declarator "*pcStack_d4" (* "*") (identifier "pcStack_d4")) (; ";")) (declaration "undefined4 *puStack_d0;" (type_identifier "undefined4") (pointer_declarator "*puStack_d0" (* "*") (identifier "puStack_d0")) (; ";")) (declaration "code *pcStack_cc;" (type_identifier "code") (pointer_declarator "*pcStack_cc" (* "*") (identifier "pcStack_cc")) (; ";")) (declaration "uint uStack_c8;" (type_identifier "uint") (identifier "uStack_c8") (; ";")) (declaration "uint uStack_c4;" (type_identifier "uint") (identifier "uStack_c4") (; ";")) (declaration "undefined4 uStack_bc;" (type_identifier "undefined4") (identifier "uStack_bc") (; ";")) (declaration "uint uStack_b8;" (type_identifier "uint") (identifier "uStack_b8") (; ";")) (declaration "uint uStack_b4;" (type_identifier "uint") (identifier "uStack_b4") (; ";")) (declaration "undefined4 auStack_b0 [3];" (type_identifier "undefined4") (array_declarator "auStack_b0 [3]" (identifier "auStack_b0") ([ "[") (number_literal "3") (] "]")) (; ";")) (declaration "int iStack_a4;" (primitive_type "int") (identifier "iStack_a4") (; ";")) (declaration "code *pcStack_a0;" (type_identifier "code") (pointer_declarator "*pcStack_a0" (* "*") (identifier "pcStack_a0")) (; ";")) (declaration "uint *puStack_9c;" (type_identifier "uint") (pointer_declarator "*puStack_9c" (* "*") (identifier "puStack_9c")) (; ";")) (declaration "undefined4 *puStack_98;" (type_identifier "undefined4") (pointer_declarator "*puStack_98" (* "*") (identifier "puStack_98")) (; ";")) (declaration "code *pcStack_94;" (type_identifier "code") (pointer_declarator "*pcStack_94" (* "*") (identifier "pcStack_94")) (; ";")) (declaration "code *pcStack_68;" (type_identifier "code") (pointer_declarator "*pcStack_68" (* "*") (identifier "pcStack_68")) (; ";")) (declaration "uint uStack_64;" (type_identifier "uint") (identifier "uStack_64") (; ";")) (declaration "undefined4 uStack_58;" (type_identifier "undefined4") (identifier "uStack_58") (; ";")) (declaration "uint uStack_54;" (type_identifier "uint") (identifier "uStack_54") (; ";")) (declaration "undefined *puStack_50;" (type_identifier "undefined") (pointer_declarator "*puStack_50" (* "*") (identifier "puStack_50")) (; ";")) (declaration "int *piStack_4c;" (primitive_type "int") (pointer_declarator "*piStack_4c" (* "*") (identifier "piStack_4c")) (; ";")) (declaration "undefined4 *puStack_48;" (type_identifier "undefined4") (pointer_declarator "*puStack_48" (* "*") (identifier "puStack_48")) (; ";")) (declaration "undefined4 local_18;" (type_identifier "undefined4") (identifier "local_18") (; ";")) (declaration "int local_14;" (primitive_type "int") (identifier "local_14") (; ";")) (expression_statement "puVar2 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar2 = PTR___stack_chk_guard_00190e24" (identifier "puVar2") (= "=") (identifier "PTR___stack_chk_guard_00190e24")) (; ";")) (expression_statement "pcVar9 = (code *)0x0;" (assignment_expression "pcVar9 = (code *)0x0" (identifier "pcVar9") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "puVar8 = &local_18;" (assignment_expression "puVar8 = &local_18" (identifier "puVar8") (= "=") (pointer_expression "&local_18" (& "&") (identifier "local_18"))) (; ";")) (expression_statement "local_14 = *(int *)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_14 = *(int *)PTR___stack_chk_guard_00190e24" (identifier "local_14") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_00190e24" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_00190e24" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_00190e24")))) (; ";")) (expression_statement "pcVar3 = (code *)FUN_001210f8(param_1,0x11);" (assignment_expression "pcVar3 = (code *)FUN_001210f8(param_1,0x11)" (identifier "pcVar3") (= "=") (cast_expression "(code *)FUN_001210f8(param_1,0x11)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001210f8(param_1,0x11)" (identifier "FUN_001210f8") (argument_list "(param_1,0x11)" (( "(") (identifier "param_1") (, ",") (number_literal "0x11") () ")"))))) (; ";")) (expression_statement "puVar17 = PTR_sqlite3_bind_int64_00190a90;" (assignment_expression "puVar17 = PTR_sqlite3_bind_int64_00190a90" (identifier "puVar17") (= "=") (identifier "PTR_sqlite3_bind_int64_00190a90")) (; ";")) (if_statement "if (pcVar3 == (code *)0x0) {\n    (*(code *)PTR_sqlite3_bind_int64_00190a90)(local_18,1,*param_2,param_2[1]);\n    pcVar9 = (code *)param_3[1];\n    puVar8 = (undefined4 *)*param_3;\n    (*(code *)puVar17)(local_18,2);\n    (*(code *)PTR_sqlite3_step_00190990)(local_18);\n    pcVar3 = (code *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_18);\n    param_2 = (undefined4 *)puVar17;\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    (*(code *)PTR_sqlite3_bind_int64_00190a90)(local_18,1,*param_2,param_2[1]);\n    pcVar9 = (code *)param_3[1];\n    puVar8 = (undefined4 *)*param_3;\n    (*(code *)puVar17)(local_18,2);\n    (*(code *)PTR_sqlite3_step_00190990)(local_18);\n    pcVar3 = (code *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_18);\n    param_2 = (undefined4 *)puVar17;\n  }" ({ "{") (expression_statement "(*(code *)PTR_sqlite3_bind_int64_00190a90)(local_18,1,*param_2,param_2[1]);" (call_expression "(*(code *)PTR_sqlite3_bind_int64_00190a90)(local_18,1,*param_2,param_2[1])" (parenthesized_expression "(*(code *)PTR_sqlite3_bind_int64_00190a90)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_bind_int64_00190a90" (* "*") (cast_expression "(code *)PTR_sqlite3_bind_int64_00190a90" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_bind_int64_00190a90"))) () ")")) (argument_list "(local_18,1,*param_2,param_2[1])" (( "(") (identifier "local_18") (, ",") (number_literal "1") (, ",") (pointer_expression "*param_2" (* "*") (identifier "param_2")) (, ",") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) () ")"))) (; ";")) (expression_statement "pcVar9 = (code *)param_3[1];" (assignment_expression "pcVar9 = (code *)param_3[1]" (identifier "pcVar9") (= "=") (cast_expression "(code *)param_3[1]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "puVar8 = (undefined4 *)*param_3;" (assignment_expression "puVar8 = (undefined4 *)*param_3" (identifier "puVar8") (= "=") (cast_expression "(undefined4 *)*param_3" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_3" (* "*") (identifier "param_3")))) (; ";")) (expression_statement "(*(code *)puVar17)(local_18,2);" (call_expression "(*(code *)puVar17)(local_18,2)" (parenthesized_expression "(*(code *)puVar17)" (( "(") (pointer_expression "*(code *)puVar17" (* "*") (cast_expression "(code *)puVar17" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar17"))) () ")")) (argument_list "(local_18,2)" (( "(") (identifier "local_18") (, ",") (number_literal "2") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_sqlite3_step_00190990)(local_18);" (call_expression "(*(code *)PTR_sqlite3_step_00190990)(local_18)" (parenthesized_expression "(*(code *)PTR_sqlite3_step_00190990)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_step_00190990" (* "*") (cast_expression "(code *)PTR_sqlite3_step_00190990" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_step_00190990"))) () ")")) (argument_list "(local_18)" (( "(") (identifier "local_18") () ")"))) (; ";")) (expression_statement "pcVar3 = (code *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_18);" (assignment_expression "pcVar3 = (code *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_18)" (identifier "pcVar3") (= "=") (cast_expression "(code *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_18)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_sqlite3_reset_00190a5c)(local_18)" (parenthesized_expression "(*(code *)PTR_sqlite3_reset_00190a5c)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_reset_00190a5c" (* "*") (cast_expression "(code *)PTR_sqlite3_reset_00190a5c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_reset_00190a5c"))) () ")")) (argument_list "(local_18)" (( "(") (identifier "local_18") () ")"))))) (; ";")) (expression_statement "param_2 = (undefined4 *)puVar17;" (assignment_expression "param_2 = (undefined4 *)puVar17" (identifier "param_2") (= "=") (cast_expression "(undefined4 *)puVar17" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar17"))) (; ";")) (} "}"))) (if_statement "if (local_14 == *(int *)puVar2) {\n    return pcVar3;\n  }" (if "if") (parenthesized_expression "(local_14 == *(int *)puVar2)" (( "(") (binary_expression "local_14 == *(int *)puVar2" (identifier "local_14") (== "==") (pointer_expression "*(int *)puVar2" (* "*") (cast_expression "(int *)puVar2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2")))) () ")")) (compound_statement "{\n    return pcVar3;\n  }" ({ "{") (return_statement "return pcVar3;" (return "return") (identifier "pcVar3") (; ";")) (} "}"))) (expression_statement "puVar17 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar17 = PTR___stack_chk_fail_00190df8" (identifier "puVar17") (= "=") (identifier "PTR___stack_chk_fail_00190df8")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_00190df8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_00190df8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_00190df8"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" (identifier "uVar10") (= "=") (number_literal "0")) (; ";")) (expression_statement "puStack_50 = puVar2;" (assignment_expression "puStack_50 = puVar2" (identifier "puStack_50") (= "=") (identifier "puVar2")) (; ";")) (expression_statement "puVar7 = &uStack_58;" (assignment_expression "puVar7 = &uStack_58" (identifier "puVar7") (= "=") (pointer_expression "&uStack_58" (& "&") (identifier "uStack_58"))) (; ";")) (expression_statement "puVar14 = *(uint **)(puVar17 + 0x65898);" (assignment_expression "puVar14 = *(uint **)(puVar17 + 0x65898)" (identifier "puVar14") (= "=") (pointer_expression "*(uint **)(puVar17 + 0x65898)" (* "*") (cast_expression "(uint **)(puVar17 + 0x65898)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + 0x65898)" (( "(") (binary_expression "puVar17 + 0x65898" (identifier "puVar17") (+ "+") (number_literal "0x65898")) () ")"))))) (; ";")) (expression_statement "uStack_54 = *puVar14;" (assignment_expression "uStack_54 = *puVar14" (identifier "uStack_54") (= "=") (pointer_expression "*puVar14" (* "*") (identifier "puVar14"))) (; ";")) (expression_statement "piStack_4c = param_3;" (assignment_expression "piStack_4c = param_3" (identifier "piStack_4c") (= "=") (identifier "param_3")) (; ";")) (expression_statement "puStack_48 = param_2;" (assignment_expression "puStack_48 = param_2" (identifier "puStack_48") (= "=") (identifier "param_2")) (; ";")) (expression_statement "pcVar3 = (code *)FUN_001210f8();" (assignment_expression "pcVar3 = (code *)FUN_001210f8()" (identifier "pcVar3") (= "=") (cast_expression "(code *)FUN_001210f8()" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001210f8()" (identifier "FUN_001210f8") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "puStack_d0 = puVar7;" (assignment_expression "puStack_d0 = puVar7" (identifier "puStack_d0") (= "=") (identifier "puVar7")) (; ";")) (if_statement "if (pcVar3 == (code *)0x0) {\n    pcVar3 = *(code **)(puVar17 + 0x65504);\n    (*pcVar3)(uStack_58,1,puVar8,pcVar9);\n    (*pcVar3)(uStack_58,2,0,&_gp_1);\n    (*pcVar3)(uStack_58,3,local_18,local_14);\n    (*pcVar3)(uStack_58,4,unaff_s0,unaff_s1);\n    if (pcStackX_0 == (code *)0x0 && uStackX_4 == 0) {\n      (*pcVar3)(uStack_58,5,unaff_s2,unaff_retaddr);\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n    }\n    else {\n      pcStack_68 = pcStackX_0;\n      uStack_64 = uStackX_4;\n      iVar5 = (**(code **)(puVar17 + 0x653d8))(*(int *)(puVar17 + 0x653d0) + -0x748);\n      if (iVar5 == 0) {\n        pcVar3 = (code *)&DAT_00000007;\n        puStack_d0 = unaff_s2;\n        uVar10 = unaff_retaddr;\n        goto LAB_0012b608;\n      }\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n      (*pcVar3)(uStack_58,5,iVar5,0xffffffff);\n    }\n    uStack_64 = 0;\n    pcStack_68 = (code *)0x0;\n    (*pcVar3)(uStack_58,6,puStackX_8,uStackX_c);\n    (**(code **)(puVar17 + 0x65404))(uStack_58);\n    pcVar3 = (code *)(**(code **)(puVar17 + 0x654d0))(uStack_58);\n    (**(code **)(puVar17 + 0x654fc))(uStack_58,6);\n    puStack_d0 = puStackX_8;\n    uVar10 = uStackX_c;\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    pcVar3 = *(code **)(puVar17 + 0x65504);\n    (*pcVar3)(uStack_58,1,puVar8,pcVar9);\n    (*pcVar3)(uStack_58,2,0,&_gp_1);\n    (*pcVar3)(uStack_58,3,local_18,local_14);\n    (*pcVar3)(uStack_58,4,unaff_s0,unaff_s1);\n    if (pcStackX_0 == (code *)0x0 && uStackX_4 == 0) {\n      (*pcVar3)(uStack_58,5,unaff_s2,unaff_retaddr);\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n    }\n    else {\n      pcStack_68 = pcStackX_0;\n      uStack_64 = uStackX_4;\n      iVar5 = (**(code **)(puVar17 + 0x653d8))(*(int *)(puVar17 + 0x653d0) + -0x748);\n      if (iVar5 == 0) {\n        pcVar3 = (code *)&DAT_00000007;\n        puStack_d0 = unaff_s2;\n        uVar10 = unaff_retaddr;\n        goto LAB_0012b608;\n      }\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n      (*pcVar3)(uStack_58,5,iVar5,0xffffffff);\n    }\n    uStack_64 = 0;\n    pcStack_68 = (code *)0x0;\n    (*pcVar3)(uStack_58,6,puStackX_8,uStackX_c);\n    (**(code **)(puVar17 + 0x65404))(uStack_58);\n    pcVar3 = (code *)(**(code **)(puVar17 + 0x654d0))(uStack_58);\n    (**(code **)(puVar17 + 0x654fc))(uStack_58,6);\n    puStack_d0 = puStackX_8;\n    uVar10 = uStackX_c;\n  }" ({ "{") (expression_statement "pcVar3 = *(code **)(puVar17 + 0x65504);" (assignment_expression "pcVar3 = *(code **)(puVar17 + 0x65504)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(puVar17 + 0x65504)" (* "*") (cast_expression "(code **)(puVar17 + 0x65504)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + 0x65504)" (( "(") (binary_expression "puVar17 + 0x65504" (identifier "puVar17") (+ "+") (number_literal "0x65504")) () ")"))))) (; ";")) (expression_statement "(*pcVar3)(uStack_58,1,puVar8,pcVar9);" (call_expression "(*pcVar3)(uStack_58,1,puVar8,pcVar9)" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "(uStack_58,1,puVar8,pcVar9)" (( "(") (identifier "uStack_58") (, ",") (number_literal "1") (, ",") (identifier "puVar8") (, ",") (identifier "pcVar9") () ")"))) (; ";")) (expression_statement "(*pcVar3)(uStack_58,2,0,&_gp_1);" (call_expression "(*pcVar3)(uStack_58,2,0,&_gp_1)" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "(uStack_58,2,0,&_gp_1)" (( "(") (identifier "uStack_58") (, ",") (number_literal "2") (, ",") (number_literal "0") (, ",") (pointer_expression "&_gp_1" (& "&") (identifier "_gp_1")) () ")"))) (; ";")) (expression_statement "(*pcVar3)(uStack_58,3,local_18,local_14);" (call_expression "(*pcVar3)(uStack_58,3,local_18,local_14)" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "(uStack_58,3,local_18,local_14)" (( "(") (identifier "uStack_58") (, ",") (number_literal "3") (, ",") (identifier "local_18") (, ",") (identifier "local_14") () ")"))) (; ";")) (expression_statement "(*pcVar3)(uStack_58,4,unaff_s0,unaff_s1);" (call_expression "(*pcVar3)(uStack_58,4,unaff_s0,unaff_s1)" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "(uStack_58,4,unaff_s0,unaff_s1)" (( "(") (identifier "uStack_58") (, ",") (number_literal "4") (, ",") (identifier "unaff_s0") (, ",") (identifier "unaff_s1") () ")"))) (; ";")) (if_statement "if (pcStackX_0 == (code *)0x0 && uStackX_4 == 0) {\n      (*pcVar3)(uStack_58,5,unaff_s2,unaff_retaddr);\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n    }\n    else {\n      pcStack_68 = pcStackX_0;\n      uStack_64 = uStackX_4;\n      iVar5 = (**(code **)(puVar17 + 0x653d8))(*(int *)(puVar17 + 0x653d0) + -0x748);\n      if (iVar5 == 0) {\n        pcVar3 = (code *)&DAT_00000007;\n        puStack_d0 = unaff_s2;\n        uVar10 = unaff_retaddr;\n        goto LAB_0012b608;\n      }\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n      (*pcVar3)(uStack_58,5,iVar5,0xffffffff);\n    }" (if "if") (parenthesized_expression "(pcStackX_0 == (code *)0x0 && uStackX_4 == 0)" (( "(") (binary_expression "pcStackX_0 == (code *)0x0 && uStackX_4 == 0" (binary_expression "pcStackX_0 == (code *)0x0" (identifier "pcStackX_0") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (&& "&&") (binary_expression "uStackX_4 == 0" (identifier "uStackX_4") (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n      (*pcVar3)(uStack_58,5,unaff_s2,unaff_retaddr);\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n    }" ({ "{") (expression_statement "(*pcVar3)(uStack_58,5,unaff_s2,unaff_retaddr);" (call_expression "(*pcVar3)(uStack_58,5,unaff_s2,unaff_retaddr)" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "(uStack_58,5,unaff_s2,unaff_retaddr)" (( "(") (identifier "uStack_58") (, ",") (number_literal "5") (, ",") (identifier "unaff_s2") (, ",") (identifier "unaff_retaddr") () ")"))) (; ";")) (expression_statement "pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);" (assignment_expression "pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c)" (identifier "pcVar3") (= "=") (cast_expression "(code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar17 + 0x65650) + 0x2f8c)" (( "(") (binary_expression "*(int *)(puVar17 + 0x65650) + 0x2f8c" (pointer_expression "*(int *)(puVar17 + 0x65650)" (* "*") (cast_expression "(int *)(puVar17 + 0x65650)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + 0x65650)" (( "(") (binary_expression "puVar17 + 0x65650" (identifier "puVar17") (+ "+") (number_literal "0x65650")) () ")")))) (+ "+") (number_literal "0x2f8c")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n      pcStack_68 = pcStackX_0;\n      uStack_64 = uStackX_4;\n      iVar5 = (**(code **)(puVar17 + 0x653d8))(*(int *)(puVar17 + 0x653d0) + -0x748);\n      if (iVar5 == 0) {\n        pcVar3 = (code *)&DAT_00000007;\n        puStack_d0 = unaff_s2;\n        uVar10 = unaff_retaddr;\n        goto LAB_0012b608;\n      }\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n      (*pcVar3)(uStack_58,5,iVar5,0xffffffff);\n    }" (else "else") (compound_statement "{\n      pcStack_68 = pcStackX_0;\n      uStack_64 = uStackX_4;\n      iVar5 = (**(code **)(puVar17 + 0x653d8))(*(int *)(puVar17 + 0x653d0) + -0x748);\n      if (iVar5 == 0) {\n        pcVar3 = (code *)&DAT_00000007;\n        puStack_d0 = unaff_s2;\n        uVar10 = unaff_retaddr;\n        goto LAB_0012b608;\n      }\n      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);\n      (*pcVar3)(uStack_58,5,iVar5,0xffffffff);\n    }" ({ "{") (expression_statement "pcStack_68 = pcStackX_0;" (assignment_expression "pcStack_68 = pcStackX_0" (identifier "pcStack_68") (= "=") (identifier "pcStackX_0")) (; ";")) (expression_statement "uStack_64 = uStackX_4;" (assignment_expression "uStack_64 = uStackX_4" (identifier "uStack_64") (= "=") (identifier "uStackX_4")) (; ";")) (expression_statement "iVar5 = (**(code **)(puVar17 + 0x653d8))(*(int *)(puVar17 + 0x653d0) + -0x748);" (assignment_expression "iVar5 = (**(code **)(puVar17 + 0x653d8))(*(int *)(puVar17 + 0x653d0) + -0x748)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(puVar17 + 0x653d8))(*(int *)(puVar17 + 0x653d0) + -0x748)" (parenthesized_expression "(**(code **)(puVar17 + 0x653d8))" (( "(") (pointer_expression "**(code **)(puVar17 + 0x653d8)" (* "*") (pointer_expression "*(code **)(puVar17 + 0x653d8)" (* "*") (cast_expression "(code **)(puVar17 + 0x653d8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + 0x653d8)" (( "(") (binary_expression "puVar17 + 0x653d8" (identifier "puVar17") (+ "+") (number_literal "0x653d8")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar17 + 0x653d0) + -0x748)" (( "(") (binary_expression "*(int *)(puVar17 + 0x653d0) + -0x748" (pointer_expression "*(int *)(puVar17 + 0x653d0)" (* "*") (cast_expression "(int *)(puVar17 + 0x653d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + 0x653d0)" (( "(") (binary_expression "puVar17 + 0x653d0" (identifier "puVar17") (+ "+") (number_literal "0x653d0")) () ")")))) (+ "+") (number_literal "-0x748")) () ")")))) (; ";")) (if_statement "if (iVar5 == 0) {\n        pcVar3 = (code *)&DAT_00000007;\n        puStack_d0 = unaff_s2;\n        uVar10 = unaff_retaddr;\n        goto LAB_0012b608;\n      }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        pcVar3 = (code *)&DAT_00000007;\n        puStack_d0 = unaff_s2;\n        uVar10 = unaff_retaddr;\n        goto LAB_0012b608;\n      }" ({ "{") (expression_statement "pcVar3 = (code *)&DAT_00000007;" (assignment_expression "pcVar3 = (code *)&DAT_00000007" (identifier "pcVar3") (= "=") (cast_expression "(code *)&DAT_00000007" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000007" (& "&") (identifier "DAT_00000007")))) (; ";")) (expression_statement "puStack_d0 = unaff_s2;" (assignment_expression "puStack_d0 = unaff_s2" (identifier "puStack_d0") (= "=") (identifier "unaff_s2")) (; ";")) (expression_statement "uVar10 = unaff_retaddr;" (assignment_expression "uVar10 = unaff_retaddr" (identifier "uVar10") (= "=") (identifier "unaff_retaddr")) (; ";")) (goto_statement "goto LAB_0012b608;" (goto "goto") (statement_identifier "LAB_0012b608") (; ";")) (} "}"))) (expression_statement "pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);" (assignment_expression "pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c)" (identifier "pcVar3") (= "=") (cast_expression "(code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar17 + 0x65650) + 0x2f8c)" (( "(") (binary_expression "*(int *)(puVar17 + 0x65650) + 0x2f8c" (pointer_expression "*(int *)(puVar17 + 0x65650)" (* "*") (cast_expression "(int *)(puVar17 + 0x65650)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + 0x65650)" (( "(") (binary_expression "puVar17 + 0x65650" (identifier "puVar17") (+ "+") (number_literal "0x65650")) () ")")))) (+ "+") (number_literal "0x2f8c")) () ")")))) (; ";")) (expression_statement "(*pcVar3)(uStack_58,5,iVar5,0xffffffff);" (call_expression "(*pcVar3)(uStack_58,5,iVar5,0xffffffff)" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "(uStack_58,5,iVar5,0xffffffff)" (( "(") (identifier "uStack_58") (, ",") (number_literal "5") (, ",") (identifier "iVar5") (, ",") (number_literal "0xffffffff") () ")"))) (; ";")) (} "}")))) (expression_statement "uStack_64 = 0;" (assignment_expression "uStack_64 = 0" (identifier "uStack_64") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcStack_68 = (code *)0x0;" (assignment_expression "pcStack_68 = (code *)0x0" (identifier "pcStack_68") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "(*pcVar3)(uStack_58,6,puStackX_8,uStackX_c);" (call_expression "(*pcVar3)(uStack_58,6,puStackX_8,uStackX_c)" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "(uStack_58,6,puStackX_8,uStackX_c)" (( "(") (identifier "uStack_58") (, ",") (number_literal "6") (, ",") (identifier "puStackX_8") (, ",") (identifier "uStackX_c") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar17 + 0x65404))(uStack_58);" (call_expression "(**(code **)(puVar17 + 0x65404))(uStack_58)" (parenthesized_expression "(**(code **)(puVar17 + 0x65404))" (( "(") (pointer_expression "**(code **)(puVar17 + 0x65404)" (* "*") (pointer_expression "*(code **)(puVar17 + 0x65404)" (* "*") (cast_expression "(code **)(puVar17 + 0x65404)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + 0x65404)" (( "(") (binary_expression "puVar17 + 0x65404" (identifier "puVar17") (+ "+") (number_literal "0x65404")) () ")"))))) () ")")) (argument_list "(uStack_58)" (( "(") (identifier "uStack_58") () ")"))) (; ";")) (expression_statement "pcVar3 = (code *)(**(code **)(puVar17 + 0x654d0))(uStack_58);" (assignment_expression "pcVar3 = (code *)(**(code **)(puVar17 + 0x654d0))(uStack_58)" (identifier "pcVar3") (= "=") (cast_expression "(code *)(**(code **)(puVar17 + 0x654d0))(uStack_58)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar17 + 0x654d0))(uStack_58)" (parenthesized_expression "(**(code **)(puVar17 + 0x654d0))" (( "(") (pointer_expression "**(code **)(puVar17 + 0x654d0)" (* "*") (pointer_expression "*(code **)(puVar17 + 0x654d0)" (* "*") (cast_expression "(code **)(puVar17 + 0x654d0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + 0x654d0)" (( "(") (binary_expression "puVar17 + 0x654d0" (identifier "puVar17") (+ "+") (number_literal "0x654d0")) () ")"))))) () ")")) (argument_list "(uStack_58)" (( "(") (identifier "uStack_58") () ")"))))) (; ";")) (expression_statement "(**(code **)(puVar17 + 0x654fc))(uStack_58,6);" (call_expression "(**(code **)(puVar17 + 0x654fc))(uStack_58,6)" (parenthesized_expression "(**(code **)(puVar17 + 0x654fc))" (( "(") (pointer_expression "**(code **)(puVar17 + 0x654fc)" (* "*") (pointer_expression "*(code **)(puVar17 + 0x654fc)" (* "*") (cast_expression "(code **)(puVar17 + 0x654fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + 0x654fc)" (( "(") (binary_expression "puVar17 + 0x654fc" (identifier "puVar17") (+ "+") (number_literal "0x654fc")) () ")"))))) () ")")) (argument_list "(uStack_58,6)" (( "(") (identifier "uStack_58") (, ",") (number_literal "6") () ")"))) (; ";")) (expression_statement "puStack_d0 = puStackX_8;" (assignment_expression "puStack_d0 = puStackX_8" (identifier "puStack_d0") (= "=") (identifier "puStackX_8")) (; ";")) (expression_statement "uVar10 = uStackX_c;" (assignment_expression "uVar10 = uStackX_c" (identifier "uVar10") (= "=") (identifier "uStackX_c")) (; ";")) (} "}"))) (labeled_statement "LAB_0012b608:\n  if (uStack_54 == *puVar14) {\n    return pcVar3;\n  }" (statement_identifier "LAB_0012b608") (: ":") (if_statement "if (uStack_54 == *puVar14) {\n    return pcVar3;\n  }" (if "if") (parenthesized_expression "(uStack_54 == *puVar14)" (( "(") (binary_expression "uStack_54 == *puVar14" (identifier "uStack_54") (== "==") (pointer_expression "*puVar14" (* "*") (identifier "puVar14"))) () ")")) (compound_statement "{\n    return pcVar3;\n  }" ({ "{") (return_statement "return pcVar3;" (return "return") (identifier "pcVar3") (; ";")) (} "}")))) (expression_statement "pcVar18 = *(code **)(puVar17 + 0x6586c);" (assignment_expression "pcVar18 = *(code **)(puVar17 + 0x6586c)" (identifier "pcVar18") (= "=") (pointer_expression "*(code **)(puVar17 + 0x6586c)" (* "*") (cast_expression "(code **)(puVar17 + 0x6586c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + 0x6586c)" (( "(") (binary_expression "puVar17 + 0x6586c" (identifier "puVar17") (+ "+") (number_literal "0x6586c")) () ")"))))) (; ";")) (expression_statement "uVar4 = uStack_54;" (assignment_expression "uVar4 = uStack_54" (identifier "uVar4") (= "=") (identifier "uStack_54")) (; ";")) (expression_statement "(*pcVar18)();" (call_expression "(*pcVar18)()" (parenthesized_expression "(*pcVar18)" (( "(") (pointer_expression "*pcVar18" (* "*") (identifier "pcVar18")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcStack_e0 = pcVar18 + 0x6d180;" (assignment_expression "pcStack_e0 = pcVar18 + 0x6d180" (identifier "pcStack_e0") (= "=") (binary_expression "pcVar18 + 0x6d180" (identifier "pcVar18") (+ "+") (number_literal "0x6d180"))) (; ";")) (expression_statement "puVar7 = (undefined4 *)&DAT_00000025;" (assignment_expression "puVar7 = (undefined4 *)&DAT_00000025" (identifier "puVar7") (= "=") (cast_expression "(undefined4 *)&DAT_00000025" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000025" (& "&") (identifier "DAT_00000025")))) (; ";")) (expression_statement "pcStack_cc = (code *)(*(int *)(pcVar18 + 0x654c4) + 0x10f8);" (assignment_expression "pcStack_cc = (code *)(*(int *)(pcVar18 + 0x654c4) + 0x10f8)" (identifier "pcStack_cc") (= "=") (cast_expression "(code *)(*(int *)(pcVar18 + 0x654c4) + 0x10f8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar18 + 0x654c4) + 0x10f8)" (( "(") (binary_expression "*(int *)(pcVar18 + 0x654c4) + 0x10f8" (pointer_expression "*(int *)(pcVar18 + 0x654c4)" (* "*") (cast_expression "(int *)(pcVar18 + 0x654c4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar18 + 0x654c4)" (( "(") (binary_expression "pcVar18 + 0x654c4" (identifier "pcVar18") (+ "+") (number_literal "0x654c4")) () ")")))) (+ "+") (number_literal "0x10f8")) () ")")))) (; ";")) (expression_statement "piVar16 = *(int **)(pcVar18 + 0x65684);" (assignment_expression "piVar16 = *(int **)(pcVar18 + 0x65684)" (identifier "piVar16") (= "=") (pointer_expression "*(int **)(pcVar18 + 0x65684)" (* "*") (cast_expression "(int **)(pcVar18 + 0x65684)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar18 + 0x65684)" (( "(") (binary_expression "pcVar18 + 0x65684" (identifier "pcVar18") (+ "+") (number_literal "0x65684")) () ")"))))) (; ";")) (expression_statement "iStack_a4 = *piVar16;" (assignment_expression "iStack_a4 = *piVar16" (identifier "iStack_a4") (= "=") (pointer_expression "*piVar16" (* "*") (identifier "piVar16"))) (; ";")) (expression_statement "uStack_c8 = uVar4;" (assignment_expression "uStack_c8 = uVar4" (identifier "uStack_c8") (= "=") (identifier "uVar4")) (; ";")) (expression_statement "pcStack_a0 = pcVar3;" (assignment_expression "pcStack_a0 = pcVar3" (identifier "pcStack_a0") (= "=") (identifier "pcVar3")) (; ";")) (expression_statement "puStack_9c = puVar14;" (assignment_expression "puStack_9c = puVar14" (identifier "puStack_9c") (= "=") (identifier "puVar14")) (; ";")) (expression_statement "puStack_98 = puVar8;" (assignment_expression "puStack_98 = puVar8" (identifier "puStack_98") (= "=") (identifier "puVar8")) (; ";")) (expression_statement "pcStack_94 = pcVar9;" (assignment_expression "pcStack_94 = pcVar9" (identifier "pcStack_94") (= "=") (identifier "pcVar9")) (; ";")) (expression_statement "pcStack_fc = (code *)FUN_001210f8();" (assignment_expression "pcStack_fc = (code *)FUN_001210f8()" (identifier "pcStack_fc") (= "=") (cast_expression "(code *)FUN_001210f8()" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001210f8()" (identifier "FUN_001210f8") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "puVar8 = puStack_d0;" (assignment_expression "puVar8 = puStack_d0" (identifier "puVar8") (= "=") (identifier "puStack_d0")) (; ";")) (if_statement "if (pcStack_fc == (code *)0x0) {\n    pcStack_d4 = *(code **)(pcStack_e0 + -0x7e90);\n    pcVar3 = pcStack_68 +\n             (uint)(uStack_64 * 3 < uStack_64 * 2) + (uStack_64 >> 0x1f | (int)pcStack_68 << 1);\n    uVar4 = -((int)pcVar3 >> 0x1f) + uStack_64 * 3;\n    uStack_64 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) >> 1;\n    uStack_c4 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) * -0x80000000 | uVar4 >> 1;\n    (*pcStack_d4)(uStack_bc,1,(uint)(uVar10 + 1 < uVar10) + (int)puStack_d0);\n    uVar4 = uVar10;\n    if ((int)puVar8 < 0) {\n      uVar4 = uVar10 + 0x3ff;\n      puVar8 = (undefined4 *)((uint)(uVar4 < uVar10) + (int)puVar8);\n    }\n    pcStack_68 = *(code **)(pcStack_e0 + -0x7f90);\n    uVar4 = (int)puVar8 << 0x16 | uVar4 >> 10;\n    uVar11 = uVar4 + 1;\n    puVar7 = (undefined4 *)0x2;\n    (*pcStack_d4)(uStack_bc,2,\n                  (uint)(uVar11 * 0x400 - 1 < uVar11 * 0x400) +\n                  ((uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400) - 1));\n    iVar6 = *(int *)(pcStack_e0 + -0x7d60);\n    iVar5 = (*pcStack_68)(uStack_bc);\n    pcVar9 = (code *)(iVar6 + 0x7794);\n    bVar1 = false;\n    while (iVar5 == 100) {\n      puVar7 = (undefined4 *)0x2;\n      uStack_b8 = 0;\n      uStack_b4 = 0;\n      (*pcVar9)(uStack_bc,2,auStack_b0,&uStack_b8);\n      if ((int)uStack_b8 < 1) {\n        pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        if (uStack_b8 == 0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        }\nLAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n        goto LAB_0012b828;\n      }\nLAB_0012b99c:\n      pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n      if (((int)uStack_64 < (int)uStack_b8) ||\n         ((uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))) goto LAB_0012ba04;\n      bVar1 = true;\n      iVar5 = (*pcStack_68)(uStack_bc);\n    }\n    pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n    pcStack_fc = (code *)(*pcVar3)();\n    uVar4 = uStack_c8;\n    if (bVar1) {\n      uStack_b8 = 0;\n      auStack_b0[0] = 0;\n      if (pcStack_fc == (code *)0x0) {\n        puVar7 = (undefined4 *)0x26;\n        pcStack_fc = (code *)(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0);\n        uStack_64 = uVar4;\n        if (pcStack_fc == (code *)0x0) {\n          puVar7 = (undefined4 *)0x27;\n          pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }\n      }\n    }\n  }" (if "if") (parenthesized_expression "(pcStack_fc == (code *)0x0)" (( "(") (binary_expression "pcStack_fc == (code *)0x0" (identifier "pcStack_fc") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    pcStack_d4 = *(code **)(pcStack_e0 + -0x7e90);\n    pcVar3 = pcStack_68 +\n             (uint)(uStack_64 * 3 < uStack_64 * 2) + (uStack_64 >> 0x1f | (int)pcStack_68 << 1);\n    uVar4 = -((int)pcVar3 >> 0x1f) + uStack_64 * 3;\n    uStack_64 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) >> 1;\n    uStack_c4 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) * -0x80000000 | uVar4 >> 1;\n    (*pcStack_d4)(uStack_bc,1,(uint)(uVar10 + 1 < uVar10) + (int)puStack_d0);\n    uVar4 = uVar10;\n    if ((int)puVar8 < 0) {\n      uVar4 = uVar10 + 0x3ff;\n      puVar8 = (undefined4 *)((uint)(uVar4 < uVar10) + (int)puVar8);\n    }\n    pcStack_68 = *(code **)(pcStack_e0 + -0x7f90);\n    uVar4 = (int)puVar8 << 0x16 | uVar4 >> 10;\n    uVar11 = uVar4 + 1;\n    puVar7 = (undefined4 *)0x2;\n    (*pcStack_d4)(uStack_bc,2,\n                  (uint)(uVar11 * 0x400 - 1 < uVar11 * 0x400) +\n                  ((uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400) - 1));\n    iVar6 = *(int *)(pcStack_e0 + -0x7d60);\n    iVar5 = (*pcStack_68)(uStack_bc);\n    pcVar9 = (code *)(iVar6 + 0x7794);\n    bVar1 = false;\n    while (iVar5 == 100) {\n      puVar7 = (undefined4 *)0x2;\n      uStack_b8 = 0;\n      uStack_b4 = 0;\n      (*pcVar9)(uStack_bc,2,auStack_b0,&uStack_b8);\n      if ((int)uStack_b8 < 1) {\n        pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        if (uStack_b8 == 0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        }\nLAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n        goto LAB_0012b828;\n      }\nLAB_0012b99c:\n      pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n      if (((int)uStack_64 < (int)uStack_b8) ||\n         ((uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))) goto LAB_0012ba04;\n      bVar1 = true;\n      iVar5 = (*pcStack_68)(uStack_bc);\n    }\n    pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n    pcStack_fc = (code *)(*pcVar3)();\n    uVar4 = uStack_c8;\n    if (bVar1) {\n      uStack_b8 = 0;\n      auStack_b0[0] = 0;\n      if (pcStack_fc == (code *)0x0) {\n        puVar7 = (undefined4 *)0x26;\n        pcStack_fc = (code *)(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0);\n        uStack_64 = uVar4;\n        if (pcStack_fc == (code *)0x0) {\n          puVar7 = (undefined4 *)0x27;\n          pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }\n      }\n    }\n  }" ({ "{") (expression_statement "pcStack_d4 = *(code **)(pcStack_e0 + -0x7e90);" (assignment_expression "pcStack_d4 = *(code **)(pcStack_e0 + -0x7e90)" (identifier "pcStack_d4") (= "=") (pointer_expression "*(code **)(pcStack_e0 + -0x7e90)" (* "*") (cast_expression "(code **)(pcStack_e0 + -0x7e90)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_e0 + -0x7e90)" (( "(") (binary_expression "pcStack_e0 + -0x7e90" (identifier "pcStack_e0") (+ "+") (number_literal "-0x7e90")) () ")"))))) (; ";")) (expression_statement "pcVar3 = pcStack_68 +\n             (uint)(uStack_64 * 3 < uStack_64 * 2) + (uStack_64 >> 0x1f | (int)pcStack_68 << 1);" (assignment_expression "pcVar3 = pcStack_68 +\n             (uint)(uStack_64 * 3 < uStack_64 * 2) + (uStack_64 >> 0x1f | (int)pcStack_68 << 1)" (identifier "pcVar3") (= "=") (binary_expression "pcStack_68 +\n             (uint)(uStack_64 * 3 < uStack_64 * 2) + (uStack_64 >> 0x1f | (int)pcStack_68 << 1)" (binary_expression "pcStack_68 +\n             (uint)(uStack_64 * 3 < uStack_64 * 2)" (identifier "pcStack_68") (+ "+") (call_expression "(uint)(uStack_64 * 3 < uStack_64 * 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uStack_64 * 3 < uStack_64 * 2)" (( "(") (binary_expression "uStack_64 * 3 < uStack_64 * 2" (binary_expression "uStack_64 * 3" (identifier "uStack_64") (* "*") (number_literal "3")) (< "<") (binary_expression "uStack_64 * 2" (identifier "uStack_64") (* "*") (number_literal "2"))) () ")")))) (+ "+") (parenthesized_expression "(uStack_64 >> 0x1f | (int)pcStack_68 << 1)" (( "(") (binary_expression "uStack_64 >> 0x1f | (int)pcStack_68 << 1" (binary_expression "uStack_64 >> 0x1f" (identifier "uStack_64") (>> ">>") (number_literal "0x1f")) (| "|") (binary_expression "(int)pcStack_68 << 1" (cast_expression "(int)pcStack_68" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcStack_68")) (<< "<<") (number_literal "1"))) () ")")))) (; ";")) (expression_statement "uVar4 = -((int)pcVar3 >> 0x1f) + uStack_64 * 3;" (assignment_expression "uVar4 = -((int)pcVar3 >> 0x1f) + uStack_64 * 3" (identifier "uVar4") (= "=") (binary_expression "-((int)pcVar3 >> 0x1f) + uStack_64 * 3" (unary_expression "-((int)pcVar3 >> 0x1f)" (- "-") (parenthesized_expression "((int)pcVar3 >> 0x1f)" (( "(") (binary_expression "(int)pcVar3 >> 0x1f" (cast_expression "(int)pcVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar3")) (>> ">>") (number_literal "0x1f")) () ")"))) (+ "+") (binary_expression "uStack_64 * 3" (identifier "uStack_64") (* "*") (number_literal "3")))) (; ";")) (expression_statement "uStack_64 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) >> 1;" (assignment_expression "uStack_64 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) >> 1" (identifier "uStack_64") (= "=") (binary_expression "(int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) >> 1" (cast_expression "(int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f)))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f)))" (( "(") (binary_expression "pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))" (identifier "pcVar3") (+ "+") (parenthesized_expression "(uVar4 < (uint)-((int)pcVar3 >> 0x1f))" (( "(") (binary_expression "uVar4 < (uint)-((int)pcVar3 >> 0x1f)" (identifier "uVar4") (< "<") (binary_expression "(uint)-((int)pcVar3 >> 0x1f)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (- "-") (parenthesized_expression "((int)pcVar3 >> 0x1f)" (( "(") (binary_expression "(int)pcVar3 >> 0x1f" (cast_expression "(int)pcVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar3")) (>> ">>") (number_literal "0x1f")) () ")")))) () ")"))) () ")"))) (>> ">>") (number_literal "1"))) (; ";")) (expression_statement "uStack_c4 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) * -0x80000000 | uVar4 >> 1;" (assignment_expression "uStack_c4 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) * -0x80000000 | uVar4 >> 1" (identifier "uStack_c4") (= "=") (binary_expression "(int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) * -0x80000000 | uVar4 >> 1" (binary_expression "(int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) * -0x80000000" (cast_expression "(int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f)))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f)))" (( "(") (binary_expression "pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))" (identifier "pcVar3") (+ "+") (parenthesized_expression "(uVar4 < (uint)-((int)pcVar3 >> 0x1f))" (( "(") (binary_expression "uVar4 < (uint)-((int)pcVar3 >> 0x1f)" (identifier "uVar4") (< "<") (binary_expression "(uint)-((int)pcVar3 >> 0x1f)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (- "-") (parenthesized_expression "((int)pcVar3 >> 0x1f)" (( "(") (binary_expression "(int)pcVar3 >> 0x1f" (cast_expression "(int)pcVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar3")) (>> ">>") (number_literal "0x1f")) () ")")))) () ")"))) () ")"))) (* "*") (number_literal "-0x80000000")) (| "|") (binary_expression "uVar4 >> 1" (identifier "uVar4") (>> ">>") (number_literal "1")))) (; ";")) (expression_statement "(*pcStack_d4)(uStack_bc,1,(uint)(uVar10 + 1 < uVar10) + (int)puStack_d0);" (call_expression "(*pcStack_d4)(uStack_bc,1,(uint)(uVar10 + 1 < uVar10) + (int)puStack_d0)" (parenthesized_expression "(*pcStack_d4)" (( "(") (pointer_expression "*pcStack_d4" (* "*") (identifier "pcStack_d4")) () ")")) (argument_list "(uStack_bc,1,(uint)(uVar10 + 1 < uVar10) + (int)puStack_d0)" (( "(") (identifier "uStack_bc") (, ",") (number_literal "1") (, ",") (binary_expression "(uint)(uVar10 + 1 < uVar10) + (int)puStack_d0" (call_expression "(uint)(uVar10 + 1 < uVar10)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar10 + 1 < uVar10)" (( "(") (binary_expression "uVar10 + 1 < uVar10" (binary_expression "uVar10 + 1" (identifier "uVar10") (+ "+") (number_literal "1")) (< "<") (identifier "uVar10")) () ")"))) (+ "+") (cast_expression "(int)puStack_d0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puStack_d0"))) () ")"))) (; ";")) (expression_statement "uVar4 = uVar10;" (assignment_expression "uVar4 = uVar10" (identifier "uVar4") (= "=") (identifier "uVar10")) (; ";")) (if_statement "if ((int)puVar8 < 0) {\n      uVar4 = uVar10 + 0x3ff;\n      puVar8 = (undefined4 *)((uint)(uVar4 < uVar10) + (int)puVar8);\n    }" (if "if") (parenthesized_expression "((int)puVar8 < 0)" (( "(") (binary_expression "(int)puVar8 < 0" (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      uVar4 = uVar10 + 0x3ff;\n      puVar8 = (undefined4 *)((uint)(uVar4 < uVar10) + (int)puVar8);\n    }" ({ "{") (expression_statement "uVar4 = uVar10 + 0x3ff;" (assignment_expression "uVar4 = uVar10 + 0x3ff" (identifier "uVar4") (= "=") (binary_expression "uVar10 + 0x3ff" (identifier "uVar10") (+ "+") (number_literal "0x3ff"))) (; ";")) (expression_statement "puVar8 = (undefined4 *)((uint)(uVar4 < uVar10) + (int)puVar8);" (assignment_expression "puVar8 = (undefined4 *)((uint)(uVar4 < uVar10) + (int)puVar8)" (identifier "puVar8") (= "=") (cast_expression "(undefined4 *)((uint)(uVar4 < uVar10) + (int)puVar8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)(uVar4 < uVar10) + (int)puVar8)" (( "(") (binary_expression "(uint)(uVar4 < uVar10) + (int)puVar8" (call_expression "(uint)(uVar4 < uVar10)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar4 < uVar10)" (( "(") (binary_expression "uVar4 < uVar10" (identifier "uVar4") (< "<") (identifier "uVar10")) () ")"))) (+ "+") (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8"))) () ")")))) (; ";")) (} "}"))) (expression_statement "pcStack_68 = *(code **)(pcStack_e0 + -0x7f90);" (assignment_expression "pcStack_68 = *(code **)(pcStack_e0 + -0x7f90)" (identifier "pcStack_68") (= "=") (pointer_expression "*(code **)(pcStack_e0 + -0x7f90)" (* "*") (cast_expression "(code **)(pcStack_e0 + -0x7f90)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_e0 + -0x7f90)" (( "(") (binary_expression "pcStack_e0 + -0x7f90" (identifier "pcStack_e0") (+ "+") (number_literal "-0x7f90")) () ")"))))) (; ";")) (expression_statement "uVar4 = (int)puVar8 << 0x16 | uVar4 >> 10;" (assignment_expression "uVar4 = (int)puVar8 << 0x16 | uVar4 >> 10" (identifier "uVar4") (= "=") (binary_expression "(int)puVar8 << 0x16 | uVar4 >> 10" (binary_expression "(int)puVar8 << 0x16" (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")) (<< "<<") (number_literal "0x16")) (| "|") (binary_expression "uVar4 >> 10" (identifier "uVar4") (>> ">>") (number_literal "10")))) (; ";")) (expression_statement "uVar11 = uVar4 + 1;" (assignment_expression "uVar11 = uVar4 + 1" (identifier "uVar11") (= "=") (binary_expression "uVar4 + 1" (identifier "uVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar7 = (undefined4 *)0x2;" (assignment_expression "puVar7 = (undefined4 *)0x2" (identifier "puVar7") (= "=") (cast_expression "(undefined4 *)0x2" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2"))) (; ";")) (expression_statement "(*pcStack_d4)(uStack_bc,2,\n                  (uint)(uVar11 * 0x400 - 1 < uVar11 * 0x400) +\n                  ((uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400) - 1));" (call_expression "(*pcStack_d4)(uStack_bc,2,\n                  (uint)(uVar11 * 0x400 - 1 < uVar11 * 0x400) +\n                  ((uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400) - 1))" (parenthesized_expression "(*pcStack_d4)" (( "(") (pointer_expression "*pcStack_d4" (* "*") (identifier "pcStack_d4")) () ")")) (argument_list "(uStack_bc,2,\n                  (uint)(uVar11 * 0x400 - 1 < uVar11 * 0x400) +\n                  ((uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400) - 1))" (( "(") (identifier "uStack_bc") (, ",") (number_literal "2") (, ",") (binary_expression "(uint)(uVar11 * 0x400 - 1 < uVar11 * 0x400) +\n                  ((uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400) - 1)" (call_expression "(uint)(uVar11 * 0x400 - 1 < uVar11 * 0x400)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar11 * 0x400 - 1 < uVar11 * 0x400)" (( "(") (binary_expression "uVar11 * 0x400 - 1 < uVar11 * 0x400" (binary_expression "uVar11 * 0x400 - 1" (binary_expression "uVar11 * 0x400" (identifier "uVar11") (* "*") (number_literal "0x400")) (- "-") (number_literal "1")) (< "<") (binary_expression "uVar11 * 0x400" (identifier "uVar11") (* "*") (number_literal "0x400"))) () ")"))) (+ "+") (parenthesized_expression "((uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400) - 1)" (( "(") (binary_expression "(uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400) - 1" (parenthesized_expression "(uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400)" (( "(") (binary_expression "uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400" (binary_expression "uVar11 >> 0x16" (identifier "uVar11") (>> ">>") (number_literal "0x16")) (| "|") (binary_expression "((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400" (parenthesized_expression "((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10))" (( "(") (binary_expression "(uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)" (call_expression "(uint)(uVar11 < uVar4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar11 < uVar4)" (( "(") (binary_expression "uVar11 < uVar4" (identifier "uVar11") (< "<") (identifier "uVar4")) () ")"))) (+ "+") (parenthesized_expression "((int)puVar8 >> 10)" (( "(") (binary_expression "(int)puVar8 >> 10" (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")) (>> ">>") (number_literal "10")) () ")"))) () ")")) (* "*") (number_literal "0x400"))) () ")")) (- "-") (number_literal "1")) () ")"))) () ")"))) (; ";")) (expression_statement "iVar6 = *(int *)(pcStack_e0 + -0x7d60);" (assignment_expression "iVar6 = *(int *)(pcStack_e0 + -0x7d60)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(pcStack_e0 + -0x7d60)" (* "*") (cast_expression "(int *)(pcStack_e0 + -0x7d60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_e0 + -0x7d60)" (( "(") (binary_expression "pcStack_e0 + -0x7d60" (identifier "pcStack_e0") (+ "+") (number_literal "-0x7d60")) () ")"))))) (; ";")) (expression_statement "iVar5 = (*pcStack_68)(uStack_bc);" (assignment_expression "iVar5 = (*pcStack_68)(uStack_bc)" (identifier "iVar5") (= "=") (call_expression "(*pcStack_68)(uStack_bc)" (parenthesized_expression "(*pcStack_68)" (( "(") (pointer_expression "*pcStack_68" (* "*") (identifier "pcStack_68")) () ")")) (argument_list "(uStack_bc)" (( "(") (identifier "uStack_bc") () ")")))) (; ";")) (expression_statement "pcVar9 = (code *)(iVar6 + 0x7794);" (assignment_expression "pcVar9 = (code *)(iVar6 + 0x7794)" (identifier "pcVar9") (= "=") (cast_expression "(code *)(iVar6 + 0x7794)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x7794)" (( "(") (binary_expression "iVar6 + 0x7794" (identifier "iVar6") (+ "+") (number_literal "0x7794")) () ")")))) (; ";")) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" (identifier "bVar1") (= "=") (false "false")) (; ";")) (while_statement "while (iVar5 == 100) {\n      puVar7 = (undefined4 *)0x2;\n      uStack_b8 = 0;\n      uStack_b4 = 0;\n      (*pcVar9)(uStack_bc,2,auStack_b0,&uStack_b8);\n      if ((int)uStack_b8 < 1) {\n        pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        if (uStack_b8 == 0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        }\nLAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n        goto LAB_0012b828;\n      }\nLAB_0012b99c:\n      pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n      if (((int)uStack_64 < (int)uStack_b8) ||\n         ((uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))) goto LAB_0012ba04;\n      bVar1 = true;\n      iVar5 = (*pcStack_68)(uStack_bc);\n    }" (while "while") (parenthesized_expression "(iVar5 == 100)" (( "(") (binary_expression "iVar5 == 100" (identifier "iVar5") (== "==") (number_literal "100")) () ")")) (compound_statement "{\n      puVar7 = (undefined4 *)0x2;\n      uStack_b8 = 0;\n      uStack_b4 = 0;\n      (*pcVar9)(uStack_bc,2,auStack_b0,&uStack_b8);\n      if ((int)uStack_b8 < 1) {\n        pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        if (uStack_b8 == 0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        }\nLAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n        goto LAB_0012b828;\n      }\nLAB_0012b99c:\n      pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n      if (((int)uStack_64 < (int)uStack_b8) ||\n         ((uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))) goto LAB_0012ba04;\n      bVar1 = true;\n      iVar5 = (*pcStack_68)(uStack_bc);\n    }" ({ "{") (expression_statement "puVar7 = (undefined4 *)0x2;" (assignment_expression "puVar7 = (undefined4 *)0x2" (identifier "puVar7") (= "=") (cast_expression "(undefined4 *)0x2" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2"))) (; ";")) (expression_statement "uStack_b8 = 0;" (assignment_expression "uStack_b8 = 0" (identifier "uStack_b8") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_b4 = 0;" (assignment_expression "uStack_b4 = 0" (identifier "uStack_b4") (= "=") (number_literal "0")) (; ";")) (expression_statement "(*pcVar9)(uStack_bc,2,auStack_b0,&uStack_b8);" (call_expression "(*pcVar9)(uStack_bc,2,auStack_b0,&uStack_b8)" (parenthesized_expression "(*pcVar9)" (( "(") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) () ")")) (argument_list "(uStack_bc,2,auStack_b0,&uStack_b8)" (( "(") (identifier "uStack_bc") (, ",") (number_literal "2") (, ",") (identifier "auStack_b0") (, ",") (pointer_expression "&uStack_b8" (& "&") (identifier "uStack_b8")) () ")"))) (; ";")) (if_statement "if ((int)uStack_b8 < 1) {\n        pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        if (uStack_b8 == 0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        }\nLAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n        goto LAB_0012b828;\n      }" (if "if") (parenthesized_expression "((int)uStack_b8 < 1)" (( "(") (binary_expression "(int)uStack_b8 < 1" (cast_expression "(int)uStack_b8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uStack_b8")) (< "<") (number_literal "1")) () ")")) (compound_statement "{\n        pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        if (uStack_b8 == 0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        }\nLAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n        goto LAB_0012b828;\n      }" ({ "{") (expression_statement "pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);" (assignment_expression "pcVar3 = *(code **)(pcStack_e0 + -0x7ec4)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(pcStack_e0 + -0x7ec4)" (* "*") (cast_expression "(code **)(pcStack_e0 + -0x7ec4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_e0 + -0x7ec4)" (( "(") (binary_expression "pcStack_e0 + -0x7ec4" (identifier "pcStack_e0") (+ "+") (number_literal "-0x7ec4")) () ")"))))) (; ";")) (if_statement "if (uStack_b8 == 0) {\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        }" (if "if") (parenthesized_expression "(uStack_b8 == 0)" (( "(") (binary_expression "uStack_b8 == 0" (identifier "uStack_b8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if (uStack_b4 != 0) goto LAB_0012b99c;\n          pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);\n        }" ({ "{") (if_statement "if (uStack_b4 != 0) goto LAB_0012b99c;" (if "if") (parenthesized_expression "(uStack_b4 != 0)" (( "(") (binary_expression "uStack_b4 != 0" (identifier "uStack_b4") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0012b99c;" (goto "goto") (statement_identifier "LAB_0012b99c") (; ";"))) (expression_statement "pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);" (assignment_expression "pcVar3 = *(code **)(pcStack_e0 + -0x7ec4)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(pcStack_e0 + -0x7ec4)" (* "*") (cast_expression "(code **)(pcStack_e0 + -0x7ec4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_e0 + -0x7ec4)" (( "(") (binary_expression "pcStack_e0 + -0x7ec4" (identifier "pcStack_e0") (+ "+") (number_literal "-0x7ec4")) () ")"))))) (; ";")) (} "}"))) (labeled_statement "LAB_0012ba04:\n        pcStack_fc = (code *)(*pcVar3)(uStack_bc);" (statement_identifier "LAB_0012ba04") (: ":") (expression_statement "pcStack_fc = (code *)(*pcVar3)(uStack_bc);" (assignment_expression "pcStack_fc = (code *)(*pcVar3)(uStack_bc)" (identifier "pcStack_fc") (= "=") (cast_expression "(code *)(*pcVar3)(uStack_bc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar3)(uStack_bc)" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "(uStack_bc)" (( "(") (identifier "uStack_bc") () ")"))))) (; ";"))) (goto_statement "goto LAB_0012b828;" (goto "goto") (statement_identifier "LAB_0012b828") (; ";")) (} "}"))) (labeled_statement "LAB_0012b99c:\n      pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);" (statement_identifier "LAB_0012b99c") (: ":") (expression_statement "pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);" (assignment_expression "pcVar3 = *(code **)(pcStack_e0 + -0x7ec4)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(pcStack_e0 + -0x7ec4)" (* "*") (cast_expression "(code **)(pcStack_e0 + -0x7ec4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_e0 + -0x7ec4)" (( "(") (binary_expression "pcStack_e0 + -0x7ec4" (identifier "pcStack_e0") (+ "+") (number_literal "-0x7ec4")) () ")"))))) (; ";"))) (if_statement "if (((int)uStack_64 < (int)uStack_b8) ||\n         ((uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))) goto LAB_0012ba04;" (if "if") (parenthesized_expression "(((int)uStack_64 < (int)uStack_b8) ||\n         ((uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4))))" (( "(") (binary_expression "((int)uStack_64 < (int)uStack_b8) ||\n         ((uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))" (parenthesized_expression "((int)uStack_64 < (int)uStack_b8)" (( "(") (binary_expression "(int)uStack_64 < (int)uStack_b8" (cast_expression "(int)uStack_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uStack_64")) (< "<") (cast_expression "(int)uStack_b8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uStack_b8"))) () ")")) (|| "||") (parenthesized_expression "((uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))" (( "(") (parenthesized_expression "(uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4))" (( "(") (binary_expression "uStack_b8 == uStack_64 &&\n          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)" (binary_expression "uStack_b8 == uStack_64" (identifier "uStack_b8") (== "==") (identifier "uStack_64")) (&& "&&") (parenthesized_expression "(pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)" (( "(") (comma_expression "pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4" (assignment_expression "pcVar3 = *(code **)(pcStack_e0 + -0x7ec4)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(pcStack_e0 + -0x7ec4)" (* "*") (cast_expression "(code **)(pcStack_e0 + -0x7ec4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_e0 + -0x7ec4)" (( "(") (binary_expression "pcStack_e0 + -0x7ec4" (identifier "pcStack_e0") (+ "+") (number_literal "-0x7ec4")) () ")"))))) (, ",") (binary_expression "uStack_c4 < uStack_b4" (identifier "uStack_c4") (< "<") (identifier "uStack_b4"))) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_0012ba04;" (goto "goto") (statement_identifier "LAB_0012ba04") (; ";"))) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" (identifier "bVar1") (= "=") (true "true")) (; ";")) (expression_statement "iVar5 = (*pcStack_68)(uStack_bc);" (assignment_expression "iVar5 = (*pcStack_68)(uStack_bc)" (identifier "iVar5") (= "=") (call_expression "(*pcStack_68)(uStack_bc)" (parenthesized_expression "(*pcStack_68)" (( "(") (pointer_expression "*pcStack_68" (* "*") (identifier "pcStack_68")) () ")")) (argument_list "(uStack_bc)" (( "(") (identifier "uStack_bc") () ")")))) (; ";")) (} "}"))) (expression_statement "pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);" (assignment_expression "pcVar3 = *(code **)(pcStack_e0 + -0x7ec4)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(pcStack_e0 + -0x7ec4)" (* "*") (cast_expression "(code **)(pcStack_e0 + -0x7ec4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_e0 + -0x7ec4)" (( "(") (binary_expression "pcStack_e0 + -0x7ec4" (identifier "pcStack_e0") (+ "+") (number_literal "-0x7ec4")) () ")"))))) (; ";")) (expression_statement "pcStack_fc = (code *)(*pcVar3)();" (assignment_expression "pcStack_fc = (code *)(*pcVar3)()" (identifier "pcStack_fc") (= "=") (cast_expression "(code *)(*pcVar3)()" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar4 = uStack_c8;" (assignment_expression "uVar4 = uStack_c8" (identifier "uVar4") (= "=") (identifier "uStack_c8")) (; ";")) (if_statement "if (bVar1) {\n      uStack_b8 = 0;\n      auStack_b0[0] = 0;\n      if (pcStack_fc == (code *)0x0) {\n        puVar7 = (undefined4 *)0x26;\n        pcStack_fc = (code *)(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0);\n        uStack_64 = uVar4;\n        if (pcStack_fc == (code *)0x0) {\n          puVar7 = (undefined4 *)0x27;\n          pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }\n      }\n    }" (if "if") (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (compound_statement "{\n      uStack_b8 = 0;\n      auStack_b0[0] = 0;\n      if (pcStack_fc == (code *)0x0) {\n        puVar7 = (undefined4 *)0x26;\n        pcStack_fc = (code *)(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0);\n        uStack_64 = uVar4;\n        if (pcStack_fc == (code *)0x0) {\n          puVar7 = (undefined4 *)0x27;\n          pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }\n      }\n    }" ({ "{") (expression_statement "uStack_b8 = 0;" (assignment_expression "uStack_b8 = 0" (identifier "uStack_b8") (= "=") (number_literal "0")) (; ";")) (expression_statement "auStack_b0[0] = 0;" (assignment_expression "auStack_b0[0] = 0" (subscript_expression "auStack_b0[0]" (identifier "auStack_b0") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (pcStack_fc == (code *)0x0) {\n        puVar7 = (undefined4 *)0x26;\n        pcStack_fc = (code *)(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0);\n        uStack_64 = uVar4;\n        if (pcStack_fc == (code *)0x0) {\n          puVar7 = (undefined4 *)0x27;\n          pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(pcStack_fc == (code *)0x0)" (( "(") (binary_expression "pcStack_fc == (code *)0x0" (identifier "pcStack_fc") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        puVar7 = (undefined4 *)0x26;\n        pcStack_fc = (code *)(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0);\n        uStack_64 = uVar4;\n        if (pcStack_fc == (code *)0x0) {\n          puVar7 = (undefined4 *)0x27;\n          pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }\n      }" ({ "{") (expression_statement "puVar7 = (undefined4 *)0x26;" (assignment_expression "puVar7 = (undefined4 *)0x26" (identifier "puVar7") (= "=") (cast_expression "(undefined4 *)0x26" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x26"))) (; ";")) (expression_statement "pcStack_fc = (code *)(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0);" (assignment_expression "pcStack_fc = (code *)(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0)" (identifier "pcStack_fc") (= "=") (cast_expression "(code *)(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0)" (parenthesized_expression "(*pcStack_cc)" (( "(") (pointer_expression "*pcStack_cc" (* "*") (identifier "pcStack_cc")) () ")")) (argument_list "(uStack_c8,0x26,&uStack_b8,0)" (( "(") (identifier "uStack_c8") (, ",") (number_literal "0x26") (, ",") (pointer_expression "&uStack_b8" (& "&") (identifier "uStack_b8")) (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "uStack_64 = uVar4;" (assignment_expression "uStack_64 = uVar4" (identifier "uStack_64") (= "=") (identifier "uVar4")) (; ";")) (if_statement "if (pcStack_fc == (code *)0x0) {\n          puVar7 = (undefined4 *)0x27;\n          pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }" (if "if") (parenthesized_expression "(pcStack_fc == (code *)0x0)" (( "(") (binary_expression "pcStack_fc == (code *)0x0" (identifier "pcStack_fc") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          puVar7 = (undefined4 *)0x27;\n          pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0);\n          if (pcStack_fc == (code *)0x0) {\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }\n        }" ({ "{") (expression_statement "puVar7 = (undefined4 *)0x27;" (assignment_expression "puVar7 = (undefined4 *)0x27" (identifier "puVar7") (= "=") (cast_expression "(undefined4 *)0x27" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x27"))) (; ";")) (expression_statement "pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0);" (assignment_expression "pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0)" (identifier "pcStack_fc") (= "=") (cast_expression "(code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcStack_cc)(uVar4,0x27,auStack_b0,0)" (parenthesized_expression "(*pcStack_cc)" (( "(") (pointer_expression "*pcStack_cc" (* "*") (identifier "pcStack_cc")) () ")")) (argument_list "(uVar4,0x27,auStack_b0,0)" (( "(") (identifier "uVar4") (, ",") (number_literal "0x27") (, ",") (identifier "auStack_b0") (, ",") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (pcStack_fc == (code *)0x0) {\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }" (if "if") (parenthesized_expression "(pcStack_fc == (code *)0x0)" (( "(") (binary_expression "pcStack_fc == (code *)0x0" (identifier "pcStack_fc") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            puVar7 = (undefined4 *)0x1;\n            iVar5 = 0;\n            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);\n            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);\n            uStack_64 = 0;\n            do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);\n            pcStack_d4 = pcVar18;\n            (*pcVar3)(uStack_bc);\n            pcStack_fc = pcStack_d4;\n          }" ({ "{") (expression_statement "puVar7 = (undefined4 *)0x1;" (assignment_expression "puVar7 = (undefined4 *)0x1" (identifier "puVar7") (= "=") (cast_expression "(undefined4 *)0x1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" (identifier "iVar5") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);" (assignment_expression "pcVar9 = *(code **)(pcStack_e0 + -0x7ed4)" (identifier "pcVar9") (= "=") (pointer_expression "*(code **)(pcStack_e0 + -0x7ed4)" (* "*") (cast_expression "(code **)(pcStack_e0 + -0x7ed4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_e0 + -0x7ed4)" (( "(") (binary_expression "pcStack_e0 + -0x7ed4" (identifier "pcStack_e0") (+ "+") (number_literal "-0x7ed4")) () ")"))))) (; ";")) (expression_statement "(*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);" (call_expression "(*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10)" (parenthesized_expression "(*pcStack_d4)" (( "(") (pointer_expression "*pcStack_d4" (* "*") (identifier "pcStack_d4")) () ")")) (argument_list "(uStack_bc,1,puStack_d0,uVar10)" (( "(") (identifier "uStack_bc") (, ",") (number_literal "1") (, ",") (identifier "puStack_d0") (, ",") (identifier "uVar10") () ")"))) (; ";")) (expression_statement "uStack_64 = 0;" (assignment_expression "uStack_64 = 0" (identifier "uStack_64") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            } while (pcVar18 == (code *)0x0);" (do "do") (compound_statement "{\n              iVar6 = (*pcStack_68)(uStack_bc);\n              if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }\n              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,0);\n              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);\n              uVar4 = uStack_b8;\n              iVar6 = (*pcVar9)(uStack_bc,1);\n              puVar7 = (undefined4 *)0x3;\n              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);\n              (*pcStack_68)(uStack_b8);\n              pcVar18 = (code *)(*pcVar3)(uStack_b8);\n              uVar4 = uStack_64 + 1;\n              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;\n              uStack_64 = uVar4;\n            }" ({ "{") (expression_statement "iVar6 = (*pcStack_68)(uStack_bc);" (assignment_expression "iVar6 = (*pcStack_68)(uStack_bc)" (identifier "iVar6") (= "=") (call_expression "(*pcStack_68)(uStack_bc)" (parenthesized_expression "(*pcStack_68)" (( "(") (pointer_expression "*pcStack_68" (* "*") (identifier "pcStack_68")) () ")")) (argument_list "(uStack_bc)" (( "(") (identifier "uStack_bc") () ")")))) (; ";")) (if_statement "if (iVar6 != 100) {\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }" (if "if") (parenthesized_expression "(iVar6 != 100)" (( "(") (binary_expression "iVar6 != 100" (identifier "iVar6") (!= "!=") (number_literal "100")) () ")")) (compound_statement "{\n                pcStack_fc = (code *)(*pcVar3)(uStack_bc);\n                if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }\n                goto LAB_0012b828;\n              }" ({ "{") (expression_statement "pcStack_fc = (code *)(*pcVar3)(uStack_bc);" (assignment_expression "pcStack_fc = (code *)(*pcVar3)(uStack_bc)" (identifier "pcStack_fc") (= "=") (cast_expression "(code *)(*pcVar3)(uStack_bc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar3)(uStack_bc)" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "(uStack_bc)" (( "(") (identifier "uStack_bc") () ")"))))) (; ";")) (if_statement "if (pcStack_fc == (code *)0x0) {\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }" (if "if") (parenthesized_expression "(pcStack_fc == (code *)0x0)" (( "(") (binary_expression "pcStack_fc == (code *)0x0" (identifier "pcStack_fc") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  puVar7 = (undefined4 *)0x1;\n                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);\n                  (*pcStack_68)(auStack_b0[0]);\n                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);\n                }" ({ "{") (expression_statement "puVar7 = (undefined4 *)0x1;" (assignment_expression "puVar7 = (undefined4 *)0x1" (identifier "puVar7") (= "=") (cast_expression "(undefined4 *)0x1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "(*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);" (call_expression "(*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10)" (parenthesized_expression "(*pcStack_d4)" (( "(") (pointer_expression "*pcStack_d4" (* "*") (identifier "pcStack_d4")) () ")")) (argument_list "(auStack_b0[0],1,puStack_d0,uVar10)" (( "(") (subscript_expression "auStack_b0[0]" (identifier "auStack_b0") ([ "[") (number_literal "0") (] "]")) (, ",") (number_literal "1") (, ",") (identifier "puStack_d0") (, ",") (identifier "uVar10") () ")"))) (; ";")) (expression_statement "(*pcStack_68)(auStack_b0[0]);" (call_expression "(*pcStack_68)(auStack_b0[0])" (parenthesized_expression "(*pcStack_68)" (( "(") (pointer_expression "*pcStack_68" (* "*") (identifier "pcStack_68")) () ")")) (argument_list "(auStack_b0[0])" (( "(") (subscript_expression "auStack_b0[0]" (identifier "auStack_b0") ([ "[") (number_literal "0") (] "]")) () ")"))) (; ";")) (expression_statement "pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);" (assignment_expression "pcStack_fc = (code *)(*pcVar3)(auStack_b0[0])" (identifier "pcStack_fc") (= "=") (cast_expression "(code *)(*pcVar3)(auStack_b0[0])" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar3)(auStack_b0[0])" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "(auStack_b0[0])" (( "(") (subscript_expression "auStack_b0[0]" (identifier "auStack_b0") ([ "[") (number_literal "0") (] "]")) () ")"))))) (; ";")) (} "}"))) (goto_statement "goto LAB_0012b828;" (goto "goto") (statement_identifier "LAB_0012b828") (; ";")) (} "}"))) (expression_statement "(*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);" (call_expression "(*pcStack_d4)(uStack_b8,1,iVar5,uStack_64)" (parenthesized_expression "(*pcStack_d4)" (( "(") (pointer_expression "*pcStack_d4" (* "*") (identifier "pcStack_d4")) () ")")) (argument_list "(uStack_b8,1,iVar5,uStack_64)" (( "(") (identifier "uStack_b8") (, ",") (number_literal "1") (, ",") (identifier "iVar5") (, ",") (identifier "uStack_64") () ")"))) (; ";")) (expression_statement "uVar4 = uStack_b8;" (assignment_expression "uVar4 = uStack_b8" (identifier "uVar4") (= "=") (identifier "uStack_b8")) (; ";")) (expression_statement "iVar6 = (*pcVar9)(uStack_bc,0);" (assignment_expression "iVar6 = (*pcVar9)(uStack_bc,0)" (identifier "iVar6") (= "=") (call_expression "(*pcVar9)(uStack_bc,0)" (parenthesized_expression "(*pcVar9)" (( "(") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) () ")")) (argument_list "(uStack_bc,0)" (( "(") (identifier "uStack_bc") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "(*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);" (call_expression "(*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6)" (parenthesized_expression "(*pcStack_d4)" (( "(") (pointer_expression "*pcStack_d4" (* "*") (identifier "pcStack_d4")) () ")")) (argument_list "(uVar4,2,iVar6 >> 0x1f,iVar6)" (( "(") (identifier "uVar4") (, ",") (number_literal "2") (, ",") (binary_expression "iVar6 >> 0x1f" (identifier "iVar6") (>> ">>") (number_literal "0x1f")) (, ",") (identifier "iVar6") () ")"))) (; ";")) (expression_statement "uVar4 = uStack_b8;" (assignment_expression "uVar4 = uStack_b8" (identifier "uVar4") (= "=") (identifier "uStack_b8")) (; ";")) (expression_statement "iVar6 = (*pcVar9)(uStack_bc,1);" (assignment_expression "iVar6 = (*pcVar9)(uStack_bc,1)" (identifier "iVar6") (= "=") (call_expression "(*pcVar9)(uStack_bc,1)" (parenthesized_expression "(*pcVar9)" (( "(") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) () ")")) (argument_list "(uStack_bc,1)" (( "(") (identifier "uStack_bc") (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "puVar7 = (undefined4 *)0x3;" (assignment_expression "puVar7 = (undefined4 *)0x3" (identifier "puVar7") (= "=") (cast_expression "(undefined4 *)0x3" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3"))) (; ";")) (expression_statement "(*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);" (call_expression "(*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6)" (parenthesized_expression "(*pcStack_d4)" (( "(") (pointer_expression "*pcStack_d4" (* "*") (identifier "pcStack_d4")) () ")")) (argument_list "(uVar4,3,iVar6 >> 0x1f,iVar6)" (( "(") (identifier "uVar4") (, ",") (number_literal "3") (, ",") (binary_expression "iVar6 >> 0x1f" (identifier "iVar6") (>> ">>") (number_literal "0x1f")) (, ",") (identifier "iVar6") () ")"))) (; ";")) (expression_statement "(*pcStack_68)(uStack_b8);" (call_expression "(*pcStack_68)(uStack_b8)" (parenthesized_expression "(*pcStack_68)" (( "(") (pointer_expression "*pcStack_68" (* "*") (identifier "pcStack_68")) () ")")) (argument_list "(uStack_b8)" (( "(") (identifier "uStack_b8") () ")"))) (; ";")) (expression_statement "pcVar18 = (code *)(*pcVar3)(uStack_b8);" (assignment_expression "pcVar18 = (code *)(*pcVar3)(uStack_b8)" (identifier "pcVar18") (= "=") (cast_expression "(code *)(*pcVar3)(uStack_b8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar3)(uStack_b8)" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "(uStack_b8)" (( "(") (identifier "uStack_b8") () ")"))))) (; ";")) (expression_statement "uVar4 = uStack_64 + 1;" (assignment_expression "uVar4 = uStack_64 + 1" (identifier "uVar4") (= "=") (binary_expression "uStack_64 + 1" (identifier "uStack_64") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar5 = (uint)(uVar4 < uStack_64) + iVar5;" (assignment_expression "iVar5 = (uint)(uVar4 < uStack_64) + iVar5" (identifier "iVar5") (= "=") (binary_expression "(uint)(uVar4 < uStack_64) + iVar5" (call_expression "(uint)(uVar4 < uStack_64)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar4 < uStack_64)" (( "(") (binary_expression "uVar4 < uStack_64" (identifier "uVar4") (< "<") (identifier "uStack_64")) () ")"))) (+ "+") (identifier "iVar5"))) (; ";")) (expression_statement "uStack_64 = uVar4;" (assignment_expression "uStack_64 = uVar4" (identifier "uStack_64") (= "=") (identifier "uVar4")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pcVar18 == (code *)0x0)" (( "(") (binary_expression "pcVar18 == (code *)0x0" (identifier "pcVar18") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (expression_statement "pcStack_d4 = pcVar18;" (assignment_expression "pcStack_d4 = pcVar18" (identifier "pcStack_d4") (= "=") (identifier "pcVar18")) (; ";")) (expression_statement "(*pcVar3)(uStack_bc);" (call_expression "(*pcVar3)(uStack_bc)" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "(uStack_bc)" (( "(") (identifier "uStack_bc") () ")"))) (; ";")) (expression_statement "pcStack_fc = pcStack_d4;" (assignment_expression "pcStack_fc = pcStack_d4" (identifier "pcStack_fc") (= "=") (identifier "pcStack_d4")) (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (labeled_statement "LAB_0012b828:\n  if (iStack_a4 == *piVar16) {\n    return pcStack_fc;\n  }" (statement_identifier "LAB_0012b828") (: ":") (if_statement "if (iStack_a4 == *piVar16) {\n    return pcStack_fc;\n  }" (if "if") (parenthesized_expression "(iStack_a4 == *piVar16)" (( "(") (binary_expression "iStack_a4 == *piVar16" (identifier "iStack_a4") (== "==") (pointer_expression "*piVar16" (* "*") (identifier "piVar16"))) () ")")) (compound_statement "{\n    return pcStack_fc;\n  }" ({ "{") (return_statement "return pcStack_fc;" (return "return") (identifier "pcStack_fc") (; ";")) (} "}")))) (expression_statement "pcVar3 = *(code **)(pcStack_e0 + -0x7b28);" (assignment_expression "pcVar3 = *(code **)(pcStack_e0 + -0x7b28)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(pcStack_e0 + -0x7b28)" (* "*") (cast_expression "(code **)(pcStack_e0 + -0x7b28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_e0 + -0x7b28)" (( "(") (binary_expression "pcStack_e0 + -0x7b28" (identifier "pcStack_e0") (+ "+") (number_literal "-0x7b28")) () ")"))))) (; ";")) (expression_statement "pcVar18 = FUN_0012bbec;" (assignment_expression "pcVar18 = FUN_0012bbec" (identifier "pcVar18") (= "=") (identifier "FUN_0012bbec")) (; ";")) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcStack_110 = pcVar3 + 0x6cd34;" (assignment_expression "pcStack_110 = pcVar3 + 0x6cd34" (identifier "pcStack_110") (= "=") (binary_expression "pcVar3 + 0x6cd34" (identifier "pcVar3") (+ "+") (number_literal "0x6cd34"))) (; ";")) (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" (identifier "piVar12") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "puVar8 = &uStack_108;" (assignment_expression "puVar8 = &uStack_108" (identifier "puVar8") (= "=") (pointer_expression "&uStack_108" (& "&") (identifier "uStack_108"))) (; ";")) (expression_statement "piVar16 = (int *)&DAT_00000016;" (assignment_expression "piVar16 = (int *)&DAT_00000016" (identifier "piVar16") (= "=") (cast_expression "(int *)&DAT_00000016" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000016" (& "&") (identifier "DAT_00000016")))) (; ";")) (expression_statement "piVar15 = *(int **)(pcVar3 + 0x65238);" (assignment_expression "piVar15 = *(int **)(pcVar3 + 0x65238)" (identifier "piVar15") (= "=") (pointer_expression "*(int **)(pcVar3 + 0x65238)" (* "*") (cast_expression "(int **)(pcVar3 + 0x65238)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar3 + 0x65238)" (( "(") (binary_expression "pcVar3 + 0x65238" (identifier "pcVar3") (+ "+") (number_literal "0x65238")) () ")"))))) (; ";")) (expression_statement "uStack_108 = 0;" (assignment_expression "uStack_108 = 0" (identifier "uStack_108") (= "=") (number_literal "0")) (; ";")) (expression_statement "iStack_104 = *piVar15;" (assignment_expression "iStack_104 = *piVar15" (identifier "iStack_104") (= "=") (pointer_expression "*piVar15" (* "*") (identifier "piVar15"))) (; ";")) (expression_statement "uStack_100 = uStack_64;" (assignment_expression "uStack_100 = uStack_64" (identifier "uStack_100") (= "=") (identifier "uStack_64")) (; ";")) (expression_statement "pcStack_f8 = pcStack_68;" (assignment_expression "pcStack_f8 = pcStack_68" (identifier "pcStack_f8") (= "=") (identifier "pcStack_68")) (; ";")) (expression_statement "pcStack_f4 = pcVar18;" (assignment_expression "pcStack_f4 = pcVar18" (identifier "pcStack_f4") (= "=") (identifier "pcVar18")) (; ";")) (expression_statement "pcVar3 = (code *)FUN_001210f8();" (assignment_expression "pcVar3 = (code *)FUN_001210f8()" (identifier "pcVar3") (= "=") (cast_expression "(code *)FUN_001210f8()" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001210f8()" (identifier "FUN_001210f8") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar19 = uStack_108;" (assignment_expression "uVar19 = uStack_108" (identifier "uVar19") (= "=") (identifier "uStack_108")) (; ";")) (if_statement "if (pcVar3 == (code *)0x0) {\n    piVar12 = (int *)0x0;\n    puVar8 = (undefined4 *)0x0;\n    piVar16 = (int *)0x1;\n    (**(code **)(pcStack_110 + -0x7e90))(uStack_108);\n    iVar5 = (**(code **)(pcStack_110 + -0x7f90))(uStack_108);\n    if (iVar5 == 100) {\n      piVar16 = (int *)0x0;\n      iVar5 = (**(code **)(pcStack_110 + -0x7f8c))(uStack_108);\n      uVar19 = uStack_108;\n      if (iVar5 == 4) goto LAB_0012bc50;\n    }\n    pcVar3 = (code *)(**(code **)(pcStack_110 + -0x7ec4))(uStack_108);\n    if (pcVar3 == (code *)0x0) {\n      pcVar3 = (code *)0x10b;\n    }\n    uVar19 = 0;\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    piVar12 = (int *)0x0;\n    puVar8 = (undefined4 *)0x0;\n    piVar16 = (int *)0x1;\n    (**(code **)(pcStack_110 + -0x7e90))(uStack_108);\n    iVar5 = (**(code **)(pcStack_110 + -0x7f90))(uStack_108);\n    if (iVar5 == 100) {\n      piVar16 = (int *)0x0;\n      iVar5 = (**(code **)(pcStack_110 + -0x7f8c))(uStack_108);\n      uVar19 = uStack_108;\n      if (iVar5 == 4) goto LAB_0012bc50;\n    }\n    pcVar3 = (code *)(**(code **)(pcStack_110 + -0x7ec4))(uStack_108);\n    if (pcVar3 == (code *)0x0) {\n      pcVar3 = (code *)0x10b;\n    }\n    uVar19 = 0;\n  }" ({ "{") (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" (identifier "piVar12") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "puVar8 = (undefined4 *)0x0;" (assignment_expression "puVar8 = (undefined4 *)0x0" (identifier "puVar8") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "piVar16 = (int *)0x1;" (assignment_expression "piVar16 = (int *)0x1" (identifier "piVar16") (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "(**(code **)(pcStack_110 + -0x7e90))(uStack_108);" (call_expression "(**(code **)(pcStack_110 + -0x7e90))(uStack_108)" (parenthesized_expression "(**(code **)(pcStack_110 + -0x7e90))" (( "(") (pointer_expression "**(code **)(pcStack_110 + -0x7e90)" (* "*") (pointer_expression "*(code **)(pcStack_110 + -0x7e90)" (* "*") (cast_expression "(code **)(pcStack_110 + -0x7e90)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_110 + -0x7e90)" (( "(") (binary_expression "pcStack_110 + -0x7e90" (identifier "pcStack_110") (+ "+") (number_literal "-0x7e90")) () ")"))))) () ")")) (argument_list "(uStack_108)" (( "(") (identifier "uStack_108") () ")"))) (; ";")) (expression_statement "iVar5 = (**(code **)(pcStack_110 + -0x7f90))(uStack_108);" (assignment_expression "iVar5 = (**(code **)(pcStack_110 + -0x7f90))(uStack_108)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcStack_110 + -0x7f90))(uStack_108)" (parenthesized_expression "(**(code **)(pcStack_110 + -0x7f90))" (( "(") (pointer_expression "**(code **)(pcStack_110 + -0x7f90)" (* "*") (pointer_expression "*(code **)(pcStack_110 + -0x7f90)" (* "*") (cast_expression "(code **)(pcStack_110 + -0x7f90)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_110 + -0x7f90)" (( "(") (binary_expression "pcStack_110 + -0x7f90" (identifier "pcStack_110") (+ "+") (number_literal "-0x7f90")) () ")"))))) () ")")) (argument_list "(uStack_108)" (( "(") (identifier "uStack_108") () ")")))) (; ";")) (if_statement "if (iVar5 == 100) {\n      piVar16 = (int *)0x0;\n      iVar5 = (**(code **)(pcStack_110 + -0x7f8c))(uStack_108);\n      uVar19 = uStack_108;\n      if (iVar5 == 4) goto LAB_0012bc50;\n    }" (if "if") (parenthesized_expression "(iVar5 == 100)" (( "(") (binary_expression "iVar5 == 100" (identifier "iVar5") (== "==") (number_literal "100")) () ")")) (compound_statement "{\n      piVar16 = (int *)0x0;\n      iVar5 = (**(code **)(pcStack_110 + -0x7f8c))(uStack_108);\n      uVar19 = uStack_108;\n      if (iVar5 == 4) goto LAB_0012bc50;\n    }" ({ "{") (expression_statement "piVar16 = (int *)0x0;" (assignment_expression "piVar16 = (int *)0x0" (identifier "piVar16") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar5 = (**(code **)(pcStack_110 + -0x7f8c))(uStack_108);" (assignment_expression "iVar5 = (**(code **)(pcStack_110 + -0x7f8c))(uStack_108)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcStack_110 + -0x7f8c))(uStack_108)" (parenthesized_expression "(**(code **)(pcStack_110 + -0x7f8c))" (( "(") (pointer_expression "**(code **)(pcStack_110 + -0x7f8c)" (* "*") (pointer_expression "*(code **)(pcStack_110 + -0x7f8c)" (* "*") (cast_expression "(code **)(pcStack_110 + -0x7f8c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_110 + -0x7f8c)" (( "(") (binary_expression "pcStack_110 + -0x7f8c" (identifier "pcStack_110") (+ "+") (number_literal "-0x7f8c")) () ")"))))) () ")")) (argument_list "(uStack_108)" (( "(") (identifier "uStack_108") () ")")))) (; ";")) (expression_statement "uVar19 = uStack_108;" (assignment_expression "uVar19 = uStack_108" (identifier "uVar19") (= "=") (identifier "uStack_108")) (; ";")) (if_statement "if (iVar5 == 4) goto LAB_0012bc50;" (if "if") (parenthesized_expression "(iVar5 == 4)" (( "(") (binary_expression "iVar5 == 4" (identifier "iVar5") (== "==") (number_literal "4")) () ")")) (goto_statement "goto LAB_0012bc50;" (goto "goto") (statement_identifier "LAB_0012bc50") (; ";"))) (} "}"))) (expression_statement "pcVar3 = (code *)(**(code **)(pcStack_110 + -0x7ec4))(uStack_108);" (assignment_expression "pcVar3 = (code *)(**(code **)(pcStack_110 + -0x7ec4))(uStack_108)" (identifier "pcVar3") (= "=") (cast_expression "(code *)(**(code **)(pcStack_110 + -0x7ec4))(uStack_108)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_110 + -0x7ec4))(uStack_108)" (parenthesized_expression "(**(code **)(pcStack_110 + -0x7ec4))" (( "(") (pointer_expression "**(code **)(pcStack_110 + -0x7ec4)" (* "*") (pointer_expression "*(code **)(pcStack_110 + -0x7ec4)" (* "*") (cast_expression "(code **)(pcStack_110 + -0x7ec4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_110 + -0x7ec4)" (( "(") (binary_expression "pcStack_110 + -0x7ec4" (identifier "pcStack_110") (+ "+") (number_literal "-0x7ec4")) () ")"))))) () ")")) (argument_list "(uStack_108)" (( "(") (identifier "uStack_108") () ")"))))) (; ";")) (if_statement "if (pcVar3 == (code *)0x0) {\n      pcVar3 = (code *)0x10b;\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      pcVar3 = (code *)0x10b;\n    }" ({ "{") (expression_statement "pcVar3 = (code *)0x10b;" (assignment_expression "pcVar3 = (code *)0x10b" (identifier "pcVar3") (= "=") (cast_expression "(code *)0x10b" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x10b"))) (; ";")) (} "}"))) (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" (identifier "uVar19") (= "=") (number_literal "0")) (; ";")) (} "}"))) (labeled_statement "LAB_0012bc50:\n  *puVar7 = uVar19;" (statement_identifier "LAB_0012bc50") (: ":") (expression_statement "*puVar7 = uVar19;" (assignment_expression "*puVar7 = uVar19" (pointer_expression "*puVar7" (* "*") (identifier "puVar7")) (= "=") (identifier "uVar19")) (; ";"))) (if_statement "if (iStack_104 == *piVar15) {\n    return pcVar3;\n  }" (if "if") (parenthesized_expression "(iStack_104 == *piVar15)" (( "(") (binary_expression "iStack_104 == *piVar15" (identifier "iStack_104") (== "==") (pointer_expression "*piVar15" (* "*") (identifier "piVar15"))) () ")")) (compound_statement "{\n    return pcVar3;\n  }" ({ "{") (return_statement "return pcVar3;" (return "return") (identifier "pcVar3") (; ";")) (} "}"))) (expression_statement "pcVar18 = *(code **)(pcStack_110 + -0x7b28);" (assignment_expression "pcVar18 = *(code **)(pcStack_110 + -0x7b28)" (identifier "pcVar18") (= "=") (pointer_expression "*(code **)(pcStack_110 + -0x7b28)" (* "*") (cast_expression "(code **)(pcStack_110 + -0x7b28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_110 + -0x7b28)" (( "(") (binary_expression "pcStack_110 + -0x7b28" (identifier "pcStack_110") (+ "+") (number_literal "-0x7b28")) () ")"))))) (; ";")) (expression_statement "uVar19 = 0x12bd04;" (assignment_expression "uVar19 = 0x12bd04" (identifier "uVar19") (= "=") (number_literal "0x12bd04")) (; ";")) (expression_statement "(*pcVar18)();" (call_expression "(*pcVar18)()" (parenthesized_expression "(*pcVar18)" (( "(") (pointer_expression "*pcVar18" (* "*") (identifier "pcVar18")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar13 = *(int **)(pcVar18 + 0x65120);" (assignment_expression "piVar13 = *(int **)(pcVar18 + 0x65120)" (identifier "piVar13") (= "=") (pointer_expression "*(int **)(pcVar18 + 0x65120)" (* "*") (cast_expression "(int **)(pcVar18 + 0x65120)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar18 + 0x65120)" (( "(") (binary_expression "pcVar18 + 0x65120" (identifier "pcVar18") (+ "+") (number_literal "0x65120")) () ")"))))) (; ";")) (expression_statement "iVar5 = *piVar16;" (assignment_expression "iVar5 = *piVar16" (identifier "iVar5") (= "=") (pointer_expression "*piVar16" (* "*") (identifier "piVar16"))) (; ";")) (expression_statement "iStack_13c = *piVar13;" (assignment_expression "iStack_13c = *piVar13" (identifier "iStack_13c") (= "=") (pointer_expression "*piVar13" (* "*") (identifier "piVar13"))) (; ";")) (expression_statement "pcStack_134 = pcVar3;" (assignment_expression "pcStack_134 = pcVar3" (identifier "pcStack_134") (= "=") (identifier "pcVar3")) (; ";")) (expression_statement "piStack_130 = piVar15;" (assignment_expression "piStack_130 = piVar15" (identifier "piStack_130") (= "=") (identifier "piVar15")) (; ";")) (expression_statement "puStack_12c = puVar7;" (assignment_expression "puStack_12c = puVar7" (identifier "puStack_12c") (= "=") (identifier "puVar7")) (; ";")) (expression_statement "pcStack_128 = pcVar9;" (assignment_expression "pcStack_128 = pcVar9" (identifier "pcStack_128") (= "=") (identifier "pcVar9")) (; ";")) (expression_statement "uStack_124 = uVar19;" (assignment_expression "uStack_124 = uVar19" (identifier "uStack_124") (= "=") (identifier "uVar19")) (; ";")) (if_statement "if (iVar5 == 0) {\n    piVar15 = piVar16;\n    pcVar3 = (code *)FUN_0012bbec();\n    if (pcVar3 == (code *)0x0) {\n      iVar5 = *piVar16;\n      goto LAB_0012bd4c;\n    }\n  }\n  else {\nLAB_0012bd4c:\n    iVar5 = (**(code **)(pcVar18 + 0x64c9c))(iVar5,0);\n    piVar15 = &iStack_148;\n    iVar6 = (*(code *)(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8))(iVar5);\n    if (iStack_148 == 0 && iStack_144 == 0) {\n      pcVar3 = (code *)0x10b;\n    }\n    else {\n      *puVar8 = 0;\n      puVar8[1] = iStack_144;\n      if (piVar12 == (int *)0x0) {\n        pcVar3 = (code *)0x0;\n      }\n      else {\n        pcVar3 = (code *)0x0;\n        *piVar12 = iVar5 + iVar6;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    piVar15 = piVar16;\n    pcVar3 = (code *)FUN_0012bbec();\n    if (pcVar3 == (code *)0x0) {\n      iVar5 = *piVar16;\n      goto LAB_0012bd4c;\n    }\n  }" ({ "{") (expression_statement "piVar15 = piVar16;" (assignment_expression "piVar15 = piVar16" (identifier "piVar15") (= "=") (identifier "piVar16")) (; ";")) (expression_statement "pcVar3 = (code *)FUN_0012bbec();" (assignment_expression "pcVar3 = (code *)FUN_0012bbec()" (identifier "pcVar3") (= "=") (cast_expression "(code *)FUN_0012bbec()" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0012bbec()" (identifier "FUN_0012bbec") (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (pcVar3 == (code *)0x0) {\n      iVar5 = *piVar16;\n      goto LAB_0012bd4c;\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      iVar5 = *piVar16;\n      goto LAB_0012bd4c;\n    }" ({ "{") (expression_statement "iVar5 = *piVar16;" (assignment_expression "iVar5 = *piVar16" (identifier "iVar5") (= "=") (pointer_expression "*piVar16" (* "*") (identifier "piVar16"))) (; ";")) (goto_statement "goto LAB_0012bd4c;" (goto "goto") (statement_identifier "LAB_0012bd4c") (; ";")) (} "}"))) (} "}")) (else_clause "else {\nLAB_0012bd4c:\n    iVar5 = (**(code **)(pcVar18 + 0x64c9c))(iVar5,0);\n    piVar15 = &iStack_148;\n    iVar6 = (*(code *)(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8))(iVar5);\n    if (iStack_148 == 0 && iStack_144 == 0) {\n      pcVar3 = (code *)0x10b;\n    }\n    else {\n      *puVar8 = 0;\n      puVar8[1] = iStack_144;\n      if (piVar12 == (int *)0x0) {\n        pcVar3 = (code *)0x0;\n      }\n      else {\n        pcVar3 = (code *)0x0;\n        *piVar12 = iVar5 + iVar6;\n      }\n    }\n  }" (else "else") (compound_statement "{\nLAB_0012bd4c:\n    iVar5 = (**(code **)(pcVar18 + 0x64c9c))(iVar5,0);\n    piVar15 = &iStack_148;\n    iVar6 = (*(code *)(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8))(iVar5);\n    if (iStack_148 == 0 && iStack_144 == 0) {\n      pcVar3 = (code *)0x10b;\n    }\n    else {\n      *puVar8 = 0;\n      puVar8[1] = iStack_144;\n      if (piVar12 == (int *)0x0) {\n        pcVar3 = (code *)0x0;\n      }\n      else {\n        pcVar3 = (code *)0x0;\n        *piVar12 = iVar5 + iVar6;\n      }\n    }\n  }" ({ "{") (labeled_statement "LAB_0012bd4c:\n    iVar5 = (**(code **)(pcVar18 + 0x64c9c))(iVar5,0);" (statement_identifier "LAB_0012bd4c") (: ":") (expression_statement "iVar5 = (**(code **)(pcVar18 + 0x64c9c))(iVar5,0);" (assignment_expression "iVar5 = (**(code **)(pcVar18 + 0x64c9c))(iVar5,0)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcVar18 + 0x64c9c))(iVar5,0)" (parenthesized_expression "(**(code **)(pcVar18 + 0x64c9c))" (( "(") (pointer_expression "**(code **)(pcVar18 + 0x64c9c)" (* "*") (pointer_expression "*(code **)(pcVar18 + 0x64c9c)" (* "*") (cast_expression "(code **)(pcVar18 + 0x64c9c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar18 + 0x64c9c)" (( "(") (binary_expression "pcVar18 + 0x64c9c" (identifier "pcVar18") (+ "+") (number_literal "0x64c9c")) () ")"))))) () ")")) (argument_list "(iVar5,0)" (( "(") (identifier "iVar5") (, ",") (number_literal "0") () ")")))) (; ";"))) (expression_statement "piVar15 = &iStack_148;" (assignment_expression "piVar15 = &iStack_148" (identifier "piVar15") (= "=") (pointer_expression "&iStack_148" (& "&") (identifier "iStack_148"))) (; ";")) (expression_statement "iVar6 = (*(code *)(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8))(iVar5);" (assignment_expression "iVar6 = (*(code *)(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8))(iVar5)" (identifier "iVar6") (= "=") (call_expression "(*(code *)(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8))(iVar5)" (parenthesized_expression "(*(code *)(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8)" (* "*") (cast_expression "(code *)(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8)" (( "(") (binary_expression "*(int *)(pcVar18 + 0x64e3c) + 0x3ec8" (pointer_expression "*(int *)(pcVar18 + 0x64e3c)" (* "*") (cast_expression "(int *)(pcVar18 + 0x64e3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar18 + 0x64e3c)" (( "(") (binary_expression "pcVar18 + 0x64e3c" (identifier "pcVar18") (+ "+") (number_literal "0x64e3c")) () ")")))) (+ "+") (number_literal "0x3ec8")) () ")")))) () ")")) (argument_list "(iVar5)" (( "(") (identifier "iVar5") () ")")))) (; ";")) (if_statement "if (iStack_148 == 0 && iStack_144 == 0) {\n      pcVar3 = (code *)0x10b;\n    }\n    else {\n      *puVar8 = 0;\n      puVar8[1] = iStack_144;\n      if (piVar12 == (int *)0x0) {\n        pcVar3 = (code *)0x0;\n      }\n      else {\n        pcVar3 = (code *)0x0;\n        *piVar12 = iVar5 + iVar6;\n      }\n    }" (if "if") (parenthesized_expression "(iStack_148 == 0 && iStack_144 == 0)" (( "(") (binary_expression "iStack_148 == 0 && iStack_144 == 0" (binary_expression "iStack_148 == 0" (identifier "iStack_148") (== "==") (number_literal "0")) (&& "&&") (binary_expression "iStack_144 == 0" (identifier "iStack_144") (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n      pcVar3 = (code *)0x10b;\n    }" ({ "{") (expression_statement "pcVar3 = (code *)0x10b;" (assignment_expression "pcVar3 = (code *)0x10b" (identifier "pcVar3") (= "=") (cast_expression "(code *)0x10b" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x10b"))) (; ";")) (} "}")) (else_clause "else {\n      *puVar8 = 0;\n      puVar8[1] = iStack_144;\n      if (piVar12 == (int *)0x0) {\n        pcVar3 = (code *)0x0;\n      }\n      else {\n        pcVar3 = (code *)0x0;\n        *piVar12 = iVar5 + iVar6;\n      }\n    }" (else "else") (compound_statement "{\n      *puVar8 = 0;\n      puVar8[1] = iStack_144;\n      if (piVar12 == (int *)0x0) {\n        pcVar3 = (code *)0x0;\n      }\n      else {\n        pcVar3 = (code *)0x0;\n        *piVar12 = iVar5 + iVar6;\n      }\n    }" ({ "{") (expression_statement "*puVar8 = 0;" (assignment_expression "*puVar8 = 0" (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar8[1] = iStack_144;" (assignment_expression "puVar8[1] = iStack_144" (subscript_expression "puVar8[1]" (identifier "puVar8") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "iStack_144")) (; ";")) (if_statement "if (piVar12 == (int *)0x0) {\n        pcVar3 = (code *)0x0;\n      }\n      else {\n        pcVar3 = (code *)0x0;\n        *piVar12 = iVar5 + iVar6;\n      }" (if "if") (parenthesized_expression "(piVar12 == (int *)0x0)" (( "(") (binary_expression "piVar12 == (int *)0x0" (identifier "piVar12") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        pcVar3 = (code *)0x0;\n      }" ({ "{") (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"))) (; ";")) (} "}")) (else_clause "else {\n        pcVar3 = (code *)0x0;\n        *piVar12 = iVar5 + iVar6;\n      }" (else "else") (compound_statement "{\n        pcVar3 = (code *)0x0;\n        *piVar12 = iVar5 + iVar6;\n      }" ({ "{") (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 "*piVar12 = iVar5 + iVar6;" (assignment_expression "*piVar12 = iVar5 + iVar6" (pointer_expression "*piVar12" (* "*") (identifier "piVar12")) (= "=") (binary_expression "iVar5 + iVar6" (identifier "iVar5") (+ "+") (identifier "iVar6"))) (; ";")) (} "}")))) (} "}")))) (} "}")))) (if_statement "if (iStack_13c == *piVar13) {\n    return pcVar3;\n  }" (if "if") (parenthesized_expression "(iStack_13c == *piVar13)" (( "(") (binary_expression "iStack_13c == *piVar13" (identifier "iStack_13c") (== "==") (pointer_expression "*piVar13" (* "*") (identifier "piVar13"))) () ")")) (compound_statement "{\n    return pcVar3;\n  }" ({ "{") (return_statement "return pcVar3;" (return "return") (identifier "pcVar3") (; ";")) (} "}"))) (expression_statement "pcVar3 = *(code **)(pcVar18 + 0x650f4);" (assignment_expression "pcVar3 = *(code **)(pcVar18 + 0x650f4)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(pcVar18 + 0x650f4)" (* "*") (cast_expression "(code **)(pcVar18 + 0x650f4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar18 + 0x650f4)" (( "(") (binary_expression "pcVar18 + 0x650f4" (identifier "pcVar18") (+ "+") (number_literal "0x650f4")) () ")"))))) (; ";")) (expression_statement "iVar5 = iStack_13c;" (assignment_expression "iVar5 = iStack_13c" (identifier "iVar5") (= "=") (identifier "iStack_13c")) (; ";")) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar6 = piVar15[3];" (assignment_expression "iVar6 = piVar15[3]" (identifier "iVar6") (= "=") (subscript_expression "piVar15[3]" (identifier "piVar15") ([ "[") (number_literal "3") (] "]"))) (; ";")) (if_statement "if (iVar6 == 0) {\n    pcVar9 = (code *)FUN_0012131c(piVar15);\n    if (pcVar9 != (code *)0x0) goto LAB_0012be7c;\n    iVar6 = piVar15[3];\n  }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    pcVar9 = (code *)FUN_0012131c(piVar15);\n    if (pcVar9 != (code *)0x0) goto LAB_0012be7c;\n    iVar6 = piVar15[3];\n  }" ({ "{") (expression_statement "pcVar9 = (code *)FUN_0012131c(piVar15);" (assignment_expression "pcVar9 = (code *)FUN_0012131c(piVar15)" (identifier "pcVar9") (= "=") (cast_expression "(code *)FUN_0012131c(piVar15)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0012131c(piVar15)" (identifier "FUN_0012131c") (argument_list "(piVar15)" (( "(") (identifier "piVar15") () ")"))))) (; ";")) (if_statement "if (pcVar9 != (code *)0x0) goto LAB_0012be7c;" (if "if") (parenthesized_expression "(pcVar9 != (code *)0x0)" (( "(") (binary_expression "pcVar9 != (code *)0x0" (identifier "pcVar9") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0012be7c;" (goto "goto") (statement_identifier "LAB_0012be7c") (; ";"))) (expression_statement "iVar6 = piVar15[3];" (assignment_expression "iVar6 = piVar15[3]" (identifier "iVar6") (= "=") (subscript_expression "piVar15[3]" (identifier "piVar15") ([ "[") (number_literal "3") (] "]"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar3 + 0x64c8c))(iVar6,1,piVar15[8],piVar15[9]);" (call_expression "(**(code **)(pcVar3 + 0x64c8c))(iVar6,1,piVar15[8],piVar15[9])" (parenthesized_expression "(**(code **)(pcVar3 + 0x64c8c))" (( "(") (pointer_expression "**(code **)(pcVar3 + 0x64c8c)" (* "*") (pointer_expression "*(code **)(pcVar3 + 0x64c8c)" (* "*") (cast_expression "(code **)(pcVar3 + 0x64c8c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar3 + 0x64c8c)" (( "(") (binary_expression "pcVar3 + 0x64c8c" (identifier "pcVar3") (+ "+") (number_literal "0x64c8c")) () ")"))))) () ")")) (argument_list "(iVar6,1,piVar15[8],piVar15[9])" (( "(") (identifier "iVar6") (, ",") (number_literal "1") (, ",") (subscript_expression "piVar15[8]" (identifier "piVar15") ([ "[") (number_literal "8") (] "]")) (, ",") (subscript_expression "piVar15[9]" (identifier "piVar15") ([ "[") (number_literal "9") (] "]")) () ")"))) (; ";")) (expression_statement "pcVar9 = *(code **)(pcVar3 + 0x64b8c);" (assignment_expression "pcVar9 = *(code **)(pcVar3 + 0x64b8c)" (identifier "pcVar9") (= "=") (pointer_expression "*(code **)(pcVar3 + 0x64b8c)" (* "*") (cast_expression "(code **)(pcVar3 + 0x64b8c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar3 + 0x64b8c)" (( "(") (binary_expression "pcVar3 + 0x64b8c" (identifier "pcVar3") (+ "+") (number_literal "0x64b8c")) () ")"))))) (; ";")) (expression_statement "*(undefined1 *)((int)piVar15 + 7) = 0;" (assignment_expression "*(undefined1 *)((int)piVar15 + 7) = 0" (pointer_expression "*(undefined1 *)((int)piVar15 + 7)" (* "*") (cast_expression "(undefined1 *)((int)piVar15 + 7)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 7)" (( "(") (binary_expression "(int)piVar15 + 7" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "7")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar6 = (*pcVar9)(piVar15[3]);" (assignment_expression "iVar6 = (*pcVar9)(piVar15[3])" (identifier "iVar6") (= "=") (call_expression "(*pcVar9)(piVar15[3])" (parenthesized_expression "(*pcVar9)" (( "(") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) () ")")) (argument_list "(piVar15[3])" (( "(") (subscript_expression "piVar15[3]" (identifier "piVar15") ([ "[") (number_literal "3") (] "]")) () ")")))) (; ";")) (if_statement "if (iVar6 == 100) {\n    return (code *)0x0;\n  }" (if "if") (parenthesized_expression "(iVar6 == 100)" (( "(") (binary_expression "iVar6 == 100" (identifier "iVar6") (== "==") (number_literal "100")) () ")")) (compound_statement "{\n    return (code *)0x0;\n  }" ({ "{") (return_statement "return (code *)0x0;" (return "return") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}"))) (expression_statement "pcVar9 = (code *)(**(code **)(pcVar3 + 0x64c58))(piVar15[3]);" (assignment_expression "pcVar9 = (code *)(**(code **)(pcVar3 + 0x64c58))(piVar15[3])" (identifier "pcVar9") (= "=") (cast_expression "(code *)(**(code **)(pcVar3 + 0x64c58))(piVar15[3])" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar3 + 0x64c58))(piVar15[3])" (parenthesized_expression "(**(code **)(pcVar3 + 0x64c58))" (( "(") (pointer_expression "**(code **)(pcVar3 + 0x64c58)" (* "*") (pointer_expression "*(code **)(pcVar3 + 0x64c58)" (* "*") (cast_expression "(code **)(pcVar3 + 0x64c58)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar3 + 0x64c58)" (( "(") (binary_expression "pcVar3 + 0x64c58" (identifier "pcVar3") (+ "+") (number_literal "0x64c58")) () ")"))))) () ")")) (argument_list "(piVar15[3])" (( "(") (subscript_expression "piVar15[3]" (identifier "piVar15") ([ "[") (number_literal "3") (] "]")) () ")"))))) (; ";")) (if_statement "if (pcVar9 == (code *)0x0) {\n    if (*(int *)(*piVar15 + 0x28) != 0) {\n      return (code *)0x0;\n    }\n    pcVar9 = (code *)0x10b;\n    *(undefined1 *)((int)piVar15 + 6) = 1;\n  }" (if "if") (parenthesized_expression "(pcVar9 == (code *)0x0)" (( "(") (binary_expression "pcVar9 == (code *)0x0" (identifier "pcVar9") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if (*(int *)(*piVar15 + 0x28) != 0) {\n      return (code *)0x0;\n    }\n    pcVar9 = (code *)0x10b;\n    *(undefined1 *)((int)piVar15 + 6) = 1;\n  }" ({ "{") (if_statement "if (*(int *)(*piVar15 + 0x28) != 0) {\n      return (code *)0x0;\n    }" (if "if") (parenthesized_expression "(*(int *)(*piVar15 + 0x28) != 0)" (( "(") (binary_expression "*(int *)(*piVar15 + 0x28) != 0" (pointer_expression "*(int *)(*piVar15 + 0x28)" (* "*") (cast_expression "(int *)(*piVar15 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar15 + 0x28)" (( "(") (binary_expression "*piVar15 + 0x28" (pointer_expression "*piVar15" (* "*") (identifier "piVar15")) (+ "+") (number_literal "0x28")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      return (code *)0x0;\n    }" ({ "{") (return_statement "return (code *)0x0;" (return "return") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}"))) (expression_statement "pcVar9 = (code *)0x10b;" (assignment_expression "pcVar9 = (code *)0x10b" (identifier "pcVar9") (= "=") (cast_expression "(code *)0x10b" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x10b"))) (; ";")) (expression_statement "*(undefined1 *)((int)piVar15 + 6) = 1;" (assignment_expression "*(undefined1 *)((int)piVar15 + 6) = 1" (pointer_expression "*(undefined1 *)((int)piVar15 + 6)" (* "*") (cast_expression "(undefined1 *)((int)piVar15 + 6)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 6)" (( "(") (binary_expression "(int)piVar15 + 6" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "6")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}"))) (labeled_statement "LAB_0012be7c:\n  if (iVar5 != 0) {\n    (**(code **)(pcVar3 + 0x64bd0))(iVar5,pcVar9);\n  }" (statement_identifier "LAB_0012be7c") (: ":") (if_statement "if (iVar5 != 0) {\n    (**(code **)(pcVar3 + 0x64bd0))(iVar5,pcVar9);\n  }" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    (**(code **)(pcVar3 + 0x64bd0))(iVar5,pcVar9);\n  }" ({ "{") (expression_statement "(**(code **)(pcVar3 + 0x64bd0))(iVar5,pcVar9);" (call_expression "(**(code **)(pcVar3 + 0x64bd0))(iVar5,pcVar9)" (parenthesized_expression "(**(code **)(pcVar3 + 0x64bd0))" (( "(") (pointer_expression "**(code **)(pcVar3 + 0x64bd0)" (* "*") (pointer_expression "*(code **)(pcVar3 + 0x64bd0)" (* "*") (cast_expression "(code **)(pcVar3 + 0x64bd0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar3 + 0x64bd0)" (( "(") (binary_expression "pcVar3 + 0x64bd0" (identifier "pcVar3") (+ "+") (number_literal "0x64bd0")) () ")"))))) () ")")) (argument_list "(iVar5,pcVar9)" (( "(") (identifier "iVar5") (, ",") (identifier "pcVar9") () ")"))) (; ";")) (} "}")))) (return_statement "return pcVar9;" (return "return") (identifier "pcVar9") (; ";")) (} "}")))
(translation_unit (function_definition type: (type_identifier) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier)))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (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: (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: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (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: (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: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (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)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (pointer_expression argument: (identifier)) (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (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: (identifier)))) arguments: (argument_list (identifier) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) consequence: (compound_statement (return_statement (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (number_literal) (pointer_expression argument: (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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)))))) (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))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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 (identifier) (number_literal) (identifier) (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))) (expression_statement (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)))) (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: (identifier)))) 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: (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: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (unary_expression argument: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))))) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (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: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (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: (identifier))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (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))))) 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: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (false))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) body: (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: (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 (identifier) (number_literal) (identifier) (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier))))))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (binary_expression left: (identifier) right: (identifier))))))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (true))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (pointer_expression argument: (identifier)) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (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: (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: (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (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 (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: (identifier))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (number_literal) (identifier) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))))))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (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)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) 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: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (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: (identifier)))) 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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) 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: (primitive_type) 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: (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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 (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))) (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: (number_literal))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (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 (identifier) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) 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: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) 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: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (identifier))))))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (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: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (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 (identifier) (number_literal) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (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: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)))))) (if_statement condition: (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: (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 (subscript_expression argument: (identifier) index: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (return_statement (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (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))))) (labeled_statement label: (statement_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) (identifier))))))) (return_statement (identifier)))))

code * MASKED(undefined4 param_1,undefined4 *param_2,int *param_3)

{
  bool bVar1;
  undefined *puVar2;
  code *pcVar3;
  uint uVar4;
  int iVar5;
  int iVar6;
  undefined4 *puVar7;
  undefined4 *puVar8;
  code *pcVar9;
  uint uVar10;
  uint uVar11;
  int *piVar12;
  undefined4 unaff_s0;
  int *piVar13;
  undefined4 unaff_s1;
  uint *puVar14;
  int *piVar15;
  undefined4 *unaff_s2;
  int *piVar16;
  undefined *puVar17;
  code *pcVar18;
  uint unaff_retaddr;
  undefined4 uVar19;
  code *pcStackX_0;
  uint uStackX_4;
  undefined4 *puStackX_8;
  uint uStackX_c;
  int iStack_148;
  int iStack_144;
  int iStack_13c;
  code *pcStack_134;
  int *piStack_130;
  undefined4 *puStack_12c;
  code *pcStack_128;
  undefined4 uStack_124;
  code *pcStack_110;
  undefined4 uStack_108;
  int iStack_104;
  uint uStack_100;
  code *pcStack_fc;
  code *pcStack_f8;
  code *pcStack_f4;
  code *pcStack_e0;
  code *pcStack_d4;
  undefined4 *puStack_d0;
  code *pcStack_cc;
  uint uStack_c8;
  uint uStack_c4;
  undefined4 uStack_bc;
  uint uStack_b8;
  uint uStack_b4;
  undefined4 auStack_b0 [3];
  int iStack_a4;
  code *pcStack_a0;
  uint *puStack_9c;
  undefined4 *puStack_98;
  code *pcStack_94;
  code *pcStack_68;
  uint uStack_64;
  undefined4 uStack_58;
  uint uStack_54;
  undefined *puStack_50;
  int *piStack_4c;
  undefined4 *puStack_48;
  undefined4 local_18;
  int local_14;
  
  puVar2 = PTR___stack_chk_guard_00190e24;
  pcVar9 = (code *)0x0;
  puVar8 = &local_18;
  local_14 = *(int *)PTR___stack_chk_guard_00190e24;
  pcVar3 = (code *)FUN_001210f8(param_1,0x11);
  puVar17 = PTR_sqlite3_bind_int64_00190a90;
  if (pcVar3 == (code *)0x0) {
    (*(code *)PTR_sqlite3_bind_int64_00190a90)(local_18,1,*param_2,param_2[1]);
    pcVar9 = (code *)param_3[1];
    puVar8 = (undefined4 *)*param_3;
    (*(code *)puVar17)(local_18,2);
    (*(code *)PTR_sqlite3_step_00190990)(local_18);
    pcVar3 = (code *)(*(code *)PTR_sqlite3_reset_00190a5c)(local_18);
    param_2 = (undefined4 *)puVar17;
  }
  if (local_14 == *(int *)puVar2) {
    return pcVar3;
  }
  puVar17 = PTR___stack_chk_fail_00190df8;
  (*(code *)PTR___stack_chk_fail_00190df8)();
  uVar10 = 0;
  puStack_50 = puVar2;
  puVar7 = &uStack_58;
  puVar14 = *(uint **)(puVar17 + 0x65898);
  uStack_54 = *puVar14;
  piStack_4c = param_3;
  puStack_48 = param_2;
  pcVar3 = (code *)FUN_001210f8();
  puStack_d0 = puVar7;
  if (pcVar3 == (code *)0x0) {
    pcVar3 = *(code **)(puVar17 + 0x65504);
    (*pcVar3)(uStack_58,1,puVar8,pcVar9);
    (*pcVar3)(uStack_58,2,0,&_gp_1);
    (*pcVar3)(uStack_58,3,local_18,local_14);
    (*pcVar3)(uStack_58,4,unaff_s0,unaff_s1);
    if (pcStackX_0 == (code *)0x0 && uStackX_4 == 0) {
      (*pcVar3)(uStack_58,5,unaff_s2,unaff_retaddr);
      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);
    }
    else {
      pcStack_68 = pcStackX_0;
      uStack_64 = uStackX_4;
      iVar5 = (**(code **)(puVar17 + 0x653d8))(*(int *)(puVar17 + 0x653d0) + -0x748);
      if (iVar5 == 0) {
        pcVar3 = (code *)&DAT_00000007;
        puStack_d0 = unaff_s2;
        uVar10 = unaff_retaddr;
        goto LAB_0012b608;
      }
      pcVar3 = (code *)(*(int *)(puVar17 + 0x65650) + 0x2f8c);
      (*pcVar3)(uStack_58,5,iVar5,0xffffffff);
    }
    uStack_64 = 0;
    pcStack_68 = (code *)0x0;
    (*pcVar3)(uStack_58,6,puStackX_8,uStackX_c);
    (**(code **)(puVar17 + 0x65404))(uStack_58);
    pcVar3 = (code *)(**(code **)(puVar17 + 0x654d0))(uStack_58);
    (**(code **)(puVar17 + 0x654fc))(uStack_58,6);
    puStack_d0 = puStackX_8;
    uVar10 = uStackX_c;
  }
LAB_0012b608:
  if (uStack_54 == *puVar14) {
    return pcVar3;
  }
  pcVar18 = *(code **)(puVar17 + 0x6586c);
  uVar4 = uStack_54;
  (*pcVar18)();
  pcStack_e0 = pcVar18 + 0x6d180;
  puVar7 = (undefined4 *)&DAT_00000025;
  pcStack_cc = (code *)(*(int *)(pcVar18 + 0x654c4) + 0x10f8);
  piVar16 = *(int **)(pcVar18 + 0x65684);
  iStack_a4 = *piVar16;
  uStack_c8 = uVar4;
  pcStack_a0 = pcVar3;
  puStack_9c = puVar14;
  puStack_98 = puVar8;
  pcStack_94 = pcVar9;
  pcStack_fc = (code *)FUN_001210f8();
  puVar8 = puStack_d0;
  if (pcStack_fc == (code *)0x0) {
    pcStack_d4 = *(code **)(pcStack_e0 + -0x7e90);
    pcVar3 = pcStack_68 +
             (uint)(uStack_64 * 3 < uStack_64 * 2) + (uStack_64 >> 0x1f | (int)pcStack_68 << 1);
    uVar4 = -((int)pcVar3 >> 0x1f) + uStack_64 * 3;
    uStack_64 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) >> 1;
    uStack_c4 = (int)(pcVar3 + (uVar4 < (uint)-((int)pcVar3 >> 0x1f))) * -0x80000000 | uVar4 >> 1;
    (*pcStack_d4)(uStack_bc,1,(uint)(uVar10 + 1 < uVar10) + (int)puStack_d0);
    uVar4 = uVar10;
    if ((int)puVar8 < 0) {
      uVar4 = uVar10 + 0x3ff;
      puVar8 = (undefined4 *)((uint)(uVar4 < uVar10) + (int)puVar8);
    }
    pcStack_68 = *(code **)(pcStack_e0 + -0x7f90);
    uVar4 = (int)puVar8 << 0x16 | uVar4 >> 10;
    uVar11 = uVar4 + 1;
    puVar7 = (undefined4 *)0x2;
    (*pcStack_d4)(uStack_bc,2,
                  (uint)(uVar11 * 0x400 - 1 < uVar11 * 0x400) +
                  ((uVar11 >> 0x16 | ((uint)(uVar11 < uVar4) + ((int)puVar8 >> 10)) * 0x400) - 1));
    iVar6 = *(int *)(pcStack_e0 + -0x7d60);
    iVar5 = (*pcStack_68)(uStack_bc);
    pcVar9 = (code *)(iVar6 + 0x7794);
    bVar1 = false;
    while (iVar5 == 100) {
      puVar7 = (undefined4 *)0x2;
      uStack_b8 = 0;
      uStack_b4 = 0;
      (*pcVar9)(uStack_bc,2,auStack_b0,&uStack_b8);
      if ((int)uStack_b8 < 1) {
        pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);
        if (uStack_b8 == 0) {
          if (uStack_b4 != 0) goto LAB_0012b99c;
          pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);
        }
LAB_0012ba04:
        pcStack_fc = (code *)(*pcVar3)(uStack_bc);
        goto LAB_0012b828;
      }
LAB_0012b99c:
      pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);
      if (((int)uStack_64 < (int)uStack_b8) ||
         ((uStack_b8 == uStack_64 &&
          (pcVar3 = *(code **)(pcStack_e0 + -0x7ec4), uStack_c4 < uStack_b4)))) goto LAB_0012ba04;
      bVar1 = true;
      iVar5 = (*pcStack_68)(uStack_bc);
    }
    pcVar3 = *(code **)(pcStack_e0 + -0x7ec4);
    pcStack_fc = (code *)(*pcVar3)();
    uVar4 = uStack_c8;
    if (bVar1) {
      uStack_b8 = 0;
      auStack_b0[0] = 0;
      if (pcStack_fc == (code *)0x0) {
        puVar7 = (undefined4 *)0x26;
        pcStack_fc = (code *)(*pcStack_cc)(uStack_c8,0x26,&uStack_b8,0);
        uStack_64 = uVar4;
        if (pcStack_fc == (code *)0x0) {
          puVar7 = (undefined4 *)0x27;
          pcStack_fc = (code *)(*pcStack_cc)(uVar4,0x27,auStack_b0,0);
          if (pcStack_fc == (code *)0x0) {
            puVar7 = (undefined4 *)0x1;
            iVar5 = 0;
            pcVar9 = *(code **)(pcStack_e0 + -0x7ed4);
            (*pcStack_d4)(uStack_bc,1,puStack_d0,uVar10);
            uStack_64 = 0;
            do {
              iVar6 = (*pcStack_68)(uStack_bc);
              if (iVar6 != 100) {
                pcStack_fc = (code *)(*pcVar3)(uStack_bc);
                if (pcStack_fc == (code *)0x0) {
                  puVar7 = (undefined4 *)0x1;
                  (*pcStack_d4)(auStack_b0[0],1,puStack_d0,uVar10);
                  (*pcStack_68)(auStack_b0[0]);
                  pcStack_fc = (code *)(*pcVar3)(auStack_b0[0]);
                }
                goto LAB_0012b828;
              }
              (*pcStack_d4)(uStack_b8,1,iVar5,uStack_64);
              uVar4 = uStack_b8;
              iVar6 = (*pcVar9)(uStack_bc,0);
              (*pcStack_d4)(uVar4,2,iVar6 >> 0x1f,iVar6);
              uVar4 = uStack_b8;
              iVar6 = (*pcVar9)(uStack_bc,1);
              puVar7 = (undefined4 *)0x3;
              (*pcStack_d4)(uVar4,3,iVar6 >> 0x1f,iVar6);
              (*pcStack_68)(uStack_b8);
              pcVar18 = (code *)(*pcVar3)(uStack_b8);
              uVar4 = uStack_64 + 1;
              iVar5 = (uint)(uVar4 < uStack_64) + iVar5;
              uStack_64 = uVar4;
            } while (pcVar18 == (code *)0x0);
            pcStack_d4 = pcVar18;
            (*pcVar3)(uStack_bc);
            pcStack_fc = pcStack_d4;
          }
        }
      }
    }
  }
LAB_0012b828:
  if (iStack_a4 == *piVar16) {
    return pcStack_fc;
  }
  pcVar3 = *(code **)(pcStack_e0 + -0x7b28);
  pcVar18 = FUN_0012bbec;
  (*pcVar3)();
  pcStack_110 = pcVar3 + 0x6cd34;
  piVar12 = (int *)0x0;
  puVar8 = &uStack_108;
  piVar16 = (int *)&DAT_00000016;
  piVar15 = *(int **)(pcVar3 + 0x65238);
  uStack_108 = 0;
  iStack_104 = *piVar15;
  uStack_100 = uStack_64;
  pcStack_f8 = pcStack_68;
  pcStack_f4 = pcVar18;
  pcVar3 = (code *)FUN_001210f8();
  uVar19 = uStack_108;
  if (pcVar3 == (code *)0x0) {
    piVar12 = (int *)0x0;
    puVar8 = (undefined4 *)0x0;
    piVar16 = (int *)0x1;
    (**(code **)(pcStack_110 + -0x7e90))(uStack_108);
    iVar5 = (**(code **)(pcStack_110 + -0x7f90))(uStack_108);
    if (iVar5 == 100) {
      piVar16 = (int *)0x0;
      iVar5 = (**(code **)(pcStack_110 + -0x7f8c))(uStack_108);
      uVar19 = uStack_108;
      if (iVar5 == 4) goto LAB_0012bc50;
    }
    pcVar3 = (code *)(**(code **)(pcStack_110 + -0x7ec4))(uStack_108);
    if (pcVar3 == (code *)0x0) {
      pcVar3 = (code *)0x10b;
    }
    uVar19 = 0;
  }
LAB_0012bc50:
  *puVar7 = uVar19;
  if (iStack_104 == *piVar15) {
    return pcVar3;
  }
  pcVar18 = *(code **)(pcStack_110 + -0x7b28);
  uVar19 = 0x12bd04;
  (*pcVar18)();
  piVar13 = *(int **)(pcVar18 + 0x65120);
  iVar5 = *piVar16;
  iStack_13c = *piVar13;
  pcStack_134 = pcVar3;
  piStack_130 = piVar15;
  puStack_12c = puVar7;
  pcStack_128 = pcVar9;
  uStack_124 = uVar19;
  if (iVar5 == 0) {
    piVar15 = piVar16;
    pcVar3 = (code *)FUN_0012bbec();
    if (pcVar3 == (code *)0x0) {
      iVar5 = *piVar16;
      goto LAB_0012bd4c;
    }
  }
  else {
LAB_0012bd4c:
    iVar5 = (**(code **)(pcVar18 + 0x64c9c))(iVar5,0);
    piVar15 = &iStack_148;
    iVar6 = (*(code *)(*(int *)(pcVar18 + 0x64e3c) + 0x3ec8))(iVar5);
    if (iStack_148 == 0 && iStack_144 == 0) {
      pcVar3 = (code *)0x10b;
    }
    else {
      *puVar8 = 0;
      puVar8[1] = iStack_144;
      if (piVar12 == (int *)0x0) {
        pcVar3 = (code *)0x0;
      }
      else {
        pcVar3 = (code *)0x0;
        *piVar12 = iVar5 + iVar6;
      }
    }
  }
  if (iStack_13c == *piVar13) {
    return pcVar3;
  }
  pcVar3 = *(code **)(pcVar18 + 0x650f4);
  iVar5 = iStack_13c;
  (*pcVar3)();
  iVar6 = piVar15[3];
  if (iVar6 == 0) {
    pcVar9 = (code *)FUN_0012131c(piVar15);
    if (pcVar9 != (code *)0x0) goto LAB_0012be7c;
    iVar6 = piVar15[3];
  }
  (**(code **)(pcVar3 + 0x64c8c))(iVar6,1,piVar15[8],piVar15[9]);
  pcVar9 = *(code **)(pcVar3 + 0x64b8c);
  *(undefined1 *)((int)piVar15 + 7) = 0;
  iVar6 = (*pcVar9)(piVar15[3]);
  if (iVar6 == 100) {
    return (code *)0x0;
  }
  pcVar9 = (code *)(**(code **)(pcVar3 + 0x64c58))(piVar15[3]);
  if (pcVar9 == (code *)0x0) {
    if (*(int *)(*piVar15 + 0x28) != 0) {
      return (code *)0x0;
    }
    pcVar9 = (code *)0x10b;
    *(undefined1 *)((int)piVar15 + 6) = 1;
  }
LAB_0012be7c:
  if (iVar5 != 0) {
    (**(code **)(pcVar3 + 0x64bd0))(iVar5,pcVar9);
  }
  return pcVar9;
}

