
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

int __regparm3 sqlite3RunVacuum(char **pzErrMsg,sqlite3 *db,int iDb,sqlite3_value *pOut)

{
  byte bVar1;
  Db *pDVar2;
  sqlite3_file *psVar3;
  sqlite3_io_methods *psVar4;
  BtShared *pBVar5;
  u32 uVar6;
  uint uVar7;
  code *pcVar8;
  Btree *p;
  Pager *pPager;
  longlong lVar9;
  int iVar10;
  Btree *pBVar11;
  Btree *p_00;
  undefined **ppuVar12;
  sqlite3_value **ppsVar13;
  int iVar14;
  int *piVar15;
  uint uVar16;
  int *piVar17;
  int in_GS_OFFSET;
  byte bVar18;
  int aiStack_b8 [3];
  uchar *puStack_a0;
  sqlite3_value *local_9c;
  uint local_98 [2];
  Db *local_90;
  Btree *local_8c;
  uint local_88 [3];
  undefined4 local_7c;
  u8 local_71;
  int local_70;
  char *local_6c;
  u8 local_65;
  Btree *local_64;
  int local_60;
  u32 meta;
  i64 sz;
  int aiStack_28 [5];
  undefined4 uStack_14;
  
  bVar18 = 0;
  uStack_14 = 0xa71ad;
  ppuVar12 = &_GLOBAL_OFFSET_TABLE_;
  ppsVar13 = &local_9c;
  local_9c = pOut;
  aiStack_28[2] = *(undefined4 *)(in_GS_OFFSET + 0x14);
  if (db->autoCommit == '\0') {
    iVar10 = 1;
    puStack_a0 = (uchar *)0xa7262;
    sqlite3SetString(pzErrMsg,db,"cannot VACUUM from within a transaction");
    goto LAB_000a7232;
  }
  if (1 < db->nVdbeActive) {
    iVar10 = 1;
    puStack_a0 = (uchar *)0xa7232;
    sqlite3SetString(pzErrMsg,db,"cannot VACUUM - SQL statements in progress");
    ppsVar13 = &local_9c;
    goto LAB_000a7232;
  }
  local_90 = (Db *)db->openFlags;
  if (pOut == (sqlite3_value *)0x0) {
    puStack_a0 = "";
  }
  else {
    iVar10 = sqlite3_value_type(pOut);
    if (iVar10 != 3) {
      iVar10 = 1;
      puStack_a0 = (uchar *)0xa7217;
      sqlite3SetString(pzErrMsg,db,"non-text filename");
      ppsVar13 = &local_9c;
      goto LAB_000a7232;
    }
    puStack_a0 = sqlite3_value_text(local_9c);
    db->openFlags = db->openFlags & 0xfffffffe | 6;
  }
  local_98[0] = (uint)db->flags;
  local_88[0] = db->mDbFlags;
  local_70 = iDb * 0x10;
  local_98[1] = *(uint *)((int)&db->flags + 4);
  db->mDbFlags = local_88[0] | 6;
  local_88[1] = db->nChange;
  local_88[2] = db->nTotalChange;
  *(uint *)&db->flags = local_98[0] & 0xefffafff | 0x201;
  pDVar2 = db->aDb;
  local_71 = db->mTrace;
  db->mTrace = '\0';
  *(uint *)((int)&db->flags + 4) = local_98[1] & 0xfffffffe;
  local_6c = pDVar2[iDb].zDbSName;
  local_8c = pDVar2[iDb].pBt;
  local_65 = local_8c->pBt->pPager->tempFile;
  local_7c = db->nDb;
  iVar10 = execSqlF(db,pzErrMsg,"ATTACH %Q AS vacuum_db");
  ppsVar13 = &local_9c;
  db->openFlags = (uint)local_90;
  if (iVar10 == 0) {
    local_90 = db->aDb + local_7c;
    local_64 = local_90->pBt;
    if (local_9c == (sqlite3_value *)0x0) {
      puStack_a0 = (uchar *)0xa76c1;
      local_60 = sqlite3BtreeGetRequestedReserve(local_8c);
      pBVar11 = local_64;
      puStack_a0 = (uchar *)0xa76de;
      sqlite3BtreeSetCacheSize
                (local_64,*(int *)(*(int *)((int)&db->aDb->pSchema + local_70) + 0x50));
      puStack_a0 = (uchar *)0xa76e9;
      iVar10 = sqlite3BtreeSetSpillSize(local_8c,0);
      puStack_a0 = (uchar *)0xa76f2;
      sqlite3BtreeSetSpillSize(pBVar11,iVar10);
      puStack_a0 = (uchar *)0xa76fe;
      sqlite3BtreeSetPagerFlags(pBVar11,0x21);
      puStack_a0 = (uchar *)0xa770d;
      iVar10 = execSql(db,pzErrMsg,"BEGIN");
      if (iVar10 == 0) {
        iVar10 = 2;
        goto LAB_000a73fb;
      }
LAB_000a7644:
      uVar6 = *(u32 *)((int)ppsVar13 + 0x14);
      (db->init).iDb = '\0';
      db->mDbFlags = uVar6;
      *(undefined4 *)&db->flags = *(undefined4 *)((int)ppsVar13 + 4);
      *(undefined4 *)((int)&db->flags + 4) = *(undefined4 *)((int)ppsVar13 + 8);
      db->nChange = *(int *)((int)ppsVar13 + 0x18);
      db->nTotalChange = *(int *)((int)ppsVar13 + 0x1c);
      *(undefined4 *)((int)ppsVar13 + -0x10) = 1;
      db->mTrace = *(u8 *)((int)ppsVar13 + 0x2b);
      *(undefined4 *)((int)ppsVar13 + -0x14) = 0xa768b;
      sqlite3BtreeSetPageSize
                (*(Btree **)((int)ppsVar13 + 0x10),-1,0,*(int *)((int)ppsVar13 + -0x10));
      db->autoCommit = '\x01';
    }
    else {
      psVar3 = local_64->pBt->pPager->fd;
      sz._0_4_ = 0;
      sz._4_4_ = 0;
      psVar4 = psVar3->pMethods;
      if (psVar4 != (sqlite3_io_methods *)0x0) {
        iVar10 = (*psVar4->xFileSize)(psVar3,&sz);
        ppsVar13 = &local_9c;
        if ((iVar10 != 0) || ((-1 < sz._4_4_ && ((0 < sz._4_4_ || ((int)sz != 0)))))) {
          iVar10 = 1;
          puStack_a0 = (uchar *)0xa7644;
          sqlite3SetString(pzErrMsg,db,"output file already exists");
          goto LAB_000a7644;
        }
      }
      db->mDbFlags = db->mDbFlags | 8;
      puStack_a0 = (uchar *)0xa73a5;
      local_60 = sqlite3BtreeGetRequestedReserve(local_8c);
      pBVar11 = local_64;
      puStack_a0 = (uchar *)0xa73c2;
      sqlite3BtreeSetCacheSize
                (local_64,*(int *)(*(int *)((int)&db->aDb->pSchema + local_70) + 0x50));
      puStack_a0 = (uchar *)0xa73cd;
      iVar10 = sqlite3BtreeSetSpillSize(local_8c,0);
      puStack_a0 = (uchar *)0xa73d6;
      sqlite3BtreeSetSpillSize(pBVar11,iVar10);
      puStack_a0 = (uchar *)0xa73e2;
      sqlite3BtreeSetPagerFlags(pBVar11,0x21);
      puStack_a0 = (uchar *)0xa73f1;
      iVar10 = execSql(db,pzErrMsg,"BEGIN");
      ppsVar13 = &local_9c;
      if (iVar10 != 0) goto LAB_000a7644;
LAB_000a73fb:
      puStack_a0 = (uchar *)0xa7408;
      iVar10 = sqlite3BtreeBeginTrans(local_8c,iVar10,(int *)0x0);
      ppsVar13 = &local_9c;
      if (iVar10 != 0) goto LAB_000a7644;
      pBVar5 = local_8c->pBt;
      if (pBVar5->pPager->journalMode == '\x05') {
        db->nextPagesize = 0;
      }
      iVar10 = sqlite3BtreeSetPageSize(local_64,pBVar5->pageSize,local_60,0);
      if ((iVar10 != 0) ||
         (((local_65 == '\0' &&
           (iVar10 = sqlite3BtreeSetPageSize(local_64,db->nextPagesize,local_60,0), iVar10 != 0)) ||
          (db->mallocFailed != '\0')))) {
        iVar10 = 7;
        ppsVar13 = &local_9c;
        goto LAB_000a7644;
      }
      pBVar11 = (Btree *)(int)db->nextAutovac;
      ppsVar13 = &local_9c;
      if (db->nextAutovac < '\0') {
        ppsVar13 = (sqlite3_value **)&puStack_a0;
        puStack_a0 = (uchar *)0xa7754;
        pBVar11 = (Btree *)sqlite3BtreeGetAutoVacuum(pBVar11);
      }
      ((int *)ppsVar13)[-1] = 0xa7472;
      sqlite3BtreeSetAutoVacuum((Btree *)((int *)ppsVar13)[0xe],(int)pBVar11);
      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];
      (db->init).iDb = (u8)((int *)ppsVar13)[8];
      ((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbcc7);
      ((int *)ppsVar13)[-3] = (int)pzErrMsg;
      ((int *)ppsVar13)[-4] = (int)db;
      ((int *)ppsVar13)[-5] = 0xa748f;
      iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],
                        (char *)((int *)ppsVar13)[-2]);
      if (iVar10 != 0) goto LAB_000a7644;
      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];
      ((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbcac);
      ((int *)ppsVar13)[-3] = (int)pzErrMsg;
      ((int *)ppsVar13)[-4] = (int)db;
      ((int *)ppsVar13)[-5] = 0xa74ae;
      iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],
                        (char *)((int *)ppsVar13)[-2]);
      if (iVar10 != 0) goto LAB_000a7644;
      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];
      (db->init).iDb = '\0';
      ((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbc9e);
      ((int *)ppsVar13)[-3] = (int)pzErrMsg;
      ((int *)ppsVar13)[-4] = (int)db;
      ((int *)ppsVar13)[-5] = 0xa74d4;
      iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],
                        (char *)((int *)ppsVar13)[-2]);
      db->mDbFlags = db->mDbFlags & 0xfffffffb;
      if (iVar10 != 0) goto LAB_000a7644;
      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];
      ((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbc78);
      ((int *)ppsVar13)[-3] = (int)pzErrMsg;
      ((int *)ppsVar13)[-4] = (int)db;
      ((int *)ppsVar13)[-5] = 0xa74f7;
      iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],
                        (char *)((int *)ppsVar13)[-2]);
      if (iVar10 != 0) goto LAB_000a7644;
      ((int *)ppsVar13)[8] = (int)((int *)ppsVar13 + 0x11);
      iVar14 = 0;
      do {
        uVar16 = (uint)*(byte *)(iVar14 + -0x2d058 + (int)ppuVar12);
        ((int *)ppsVar13)[-1] = 0xa7523;
        sqlite3BtreeGetMeta((Btree *)((int *)ppsVar13)[4],uVar16,(u32 *)((int *)ppsVar13)[8]);
        bVar1 = *(byte *)(iVar14 + -0x2d057 + (int)ppuVar12);
        ((int *)ppsVar13)[-1] = 0xa753a;
        iVar10 = sqlite3BtreeUpdateMeta
                           ((Btree *)((int *)ppsVar13)[0xe],uVar16,
                            (uint)bVar1 + ((int *)ppsVar13)[0x11]);
        if (iVar10 != 0) goto LAB_000a7644;
        iVar14 = iVar14 + 2;
      } while (iVar14 != 10);
      if (*ppsVar13 == (sqlite3_value *)0x0) {
        if (((Btree *)((int *)ppsVar13)[4])->sharable != '\0') {
          ((int *)ppsVar13)[-1] = 0xa7778;
          sqlite3BtreeEnter((Btree *)((int *)ppsVar13)[4]);
        }
        if (((Btree *)((int *)ppsVar13)[0xe])->sharable != '\0') {
          ((int *)ppsVar13)[-1] = 0xa7787;
          sqlite3BtreeEnter((Btree *)((int *)ppsVar13)[0xe]);
        }
        iVar10 = **(int **)(**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c);
        *ppsVar13 = (sqlite3_value *)*(int **)(**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c);
        if (iVar10 == 0) {
LAB_000a77ea:
          piVar15 = (int *)ppsVar13 + 0x12;
          piVar17 = piVar15;
          for (iVar10 = 0xc; iVar10 != 0; iVar10 = iVar10 + -1) {
            *piVar17 = 0;
            piVar17 = piVar17 + (uint)bVar18 * -2 + 1;
          }
          iVar10 = *(int *)((int *)ppsVar13)[0xe];
          ((int *)ppsVar13)[0x18] = ((int *)ppsVar13)[0xe];
          ((int *)ppsVar13)[0x16] = 1;
          ((int *)ppsVar13)[0x17] = iVar10;
          iVar10 = ((int *)ppsVar13)[4];
          ((int *)ppsVar13)[0x13] = iVar10;
          ((int *)ppsVar13)[-1] = iVar10;
          ((int *)ppsVar13)[-2] = iVar10;
          ((int *)ppsVar13)[-3] = 0x7fffffff;
          ((int *)ppsVar13)[-4] = (int)piVar15;
          ((int *)ppsVar13)[-5] = 0xa7820;
          sqlite3_backup_step((sqlite3_backup *)((int *)ppsVar13)[-4],((int *)ppsVar13)[-3]);
          ((int *)ppsVar13)[-4] = (int)piVar15;
          ((int *)ppsVar13)[-5] = 0xa7828;
          iVar10 = sqlite3_backup_finish((sqlite3_backup *)((int *)ppsVar13)[-4]);
          if (iVar10 == 0) {
            *(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18) =
                 *(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18) & 0xfffd;
          }
          else {
            pPager = (Pager *)**(undefined4 **)(((int *)ppsVar13)[0x13] + 4);
            if (pPager->tempFile == '\0') {
              ((int *)ppsVar13)[-1] = 0xa78ee;
              pager_reset(pPager);
            }
          }
        }
        else {
          uVar16 = *(uint *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x24);
          uVar7 = *(uint *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x30);
          ((int *)ppsVar13)[8] = uVar16;
          ((int *)ppsVar13)[9] = (int)uVar16 >> 0x1f;
          lVar9 = (ulonglong)uVar7 * (ulonglong)uVar16;
          iVar14 = (int)((ulonglong)lVar9 >> 0x20) + ((int *)ppsVar13)[9] * uVar7;
          ((int *)ppsVar13)[0x12] = (int)lVar9;
          ((int *)ppsVar13)[0x13] = iVar14;
          ((int *)ppsVar13)[-1] = iVar14;
          ((int *)ppsVar13)[-2] = (int)((int *)ppsVar13 + 0x12);
          ((int *)ppsVar13)[-3] = 0xb;
          ((int *)ppsVar13)[-4] = (int)*ppsVar13;
          pcVar8 = *(code **)(iVar10 + 0x28);
          ((int *)ppsVar13)[-5] = 0xa77dc;
          iVar10 = (*pcVar8)();
          if ((iVar10 == 0xc) || (iVar10 == 0)) goto LAB_000a77ea;
        }
        pBVar11 = (Btree *)((int *)ppsVar13)[0xe];
        if (pBVar11->sharable != '\0') {
          iVar14 = pBVar11->wantToLock;
          *ppsVar13 = (sqlite3_value *)iVar14;
          iVar14 = iVar14 + -1;
          pBVar11->wantToLock = iVar14;
          if (iVar14 == 0) {
            ((int *)ppsVar13)[-1] = 0xa7862;
            sqlite3BtreeLeave(pBVar11);
          }
        }
        pBVar11 = (Btree *)((int *)ppsVar13)[4];
        if (pBVar11->sharable != '\0') {
          iVar14 = pBVar11->wantToLock;
          *ppsVar13 = (sqlite3_value *)iVar14;
          iVar14 = iVar14 + -1;
          pBVar11->wantToLock = iVar14;
          if (iVar14 == 0) {
            ((int *)ppsVar13)[-1] = 0xa7883;
            sqlite3BtreeLeave(pBVar11);
          }
        }
        if (iVar10 == 0) {
          pBVar11 = (Btree *)((int *)ppsVar13)[0xe];
          ((int *)ppsVar13)[-1] = 0xa7896;
          iVar10 = sqlite3BtreeCommit(pBVar11);
          if (iVar10 == 0) {
            ((int *)ppsVar13)[-1] = 0xa78a9;
            iVar10 = sqlite3BtreeGetAutoVacuum(p_00);
            p = (Btree *)((int *)ppsVar13)[3];
            ((int *)ppsVar13)[-2] = 0xa78b6;
            sqlite3BtreeSetAutoVacuum(p,iVar10);
            uVar6 = pBVar11->pBt->pageSize;
            ((int *)ppsVar13)[-5] = 1;
            ((int *)ppsVar13)[-6] = 0xa78cc;
            iVar10 = sqlite3BtreeSetPageSize(p,uVar6,((int *)ppsVar13)[0xe],((int *)ppsVar13)[-5]);
            ppsVar13 = (sqlite3_value **)((int *)ppsVar13 + -1);
          }
        }
        goto LAB_000a7644;
      }
      ((int *)ppsVar13)[-1] = 0xa755d;
      iVar10 = sqlite3BtreeCommit((Btree *)((int *)ppsVar13)[0xe]);
      if (iVar10 != 0) goto LAB_000a7644;
      uVar6 = ((int *)ppsVar13)[5];
      (db->init).iDb = '\0';
      iVar10 = 0;
      db->mDbFlags = uVar6;
      *(int *)&db->flags = ((int *)ppsVar13)[1];
      *(int *)((int)&db->flags + 4) = ((int *)ppsVar13)[2];
      db->nChange = ((int *)ppsVar13)[6];
      db->nTotalChange = ((int *)ppsVar13)[7];
      ((int *)ppsVar13)[-4] = 1;
      db->mTrace = *(u8 *)((int)ppsVar13 + 0x2b);
      ((int *)ppsVar13)[-5] = 0xa75ae;
      sqlite3BtreeSetPageSize((Btree *)((int *)ppsVar13)[4],-1,0,((int *)ppsVar13)[-4]);
      db->autoCommit = '\x01';
    }
    iVar14 = *(int *)((int)ppsVar13 + 0xc);
    pBVar11 = *(Btree **)(iVar14 + 4);
    *(undefined4 *)((int)ppsVar13 + -4) = 0xa769e;
    sqlite3BtreeClose(pBVar11);
    *(undefined4 *)(iVar14 + 4) = 0;
    *(undefined4 *)(iVar14 + 0xc) = 0;
  }
  else {
    (db->init).iDb = '\0';
    db->mDbFlags = local_88[0];
    *(uint *)&db->flags = local_98[0];
    *(uint *)((int)&db->flags + 4) = local_98[1];
    db->nChange = local_88[1];
    db->nTotalChange = local_88[2];
    db->mTrace = local_71;
    sqlite3BtreeSetPageSize(local_8c,-1,0,1);
    db->autoCommit = '\x01';
    ppsVar13 = &local_9c;
  }
  *(undefined4 *)((int)ppsVar13 + -4) = 0xa7625;
  sqlite3ResetAllSchemasOfConnection(db);
LAB_000a7232:
  if (*(int *)((int)ppsVar13 + 0x7c) != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)((int)ppsVar13 + -4) = 0xa7760;
    __stack_chk_fail_local();
  }
  return iVar10;
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */

int __regparm3 FUN_000a71a0(undefined4 param_1,int param_2,int param_3,int param_4)

{
  int *piVar1;
  uint uVar2;
  code *pcVar3;
  longlong lVar4;
  int iVar5;
  undefined4 *puVar6;
  char *pcVar7;
  undefined **ppuVar8;
  char **ppcVar9;
  int iVar10;
  char **ppcVar11;
  char **ppcVar12;
  int in_GS_OFFSET;
  byte bVar13;
  char *apcStackY_b8 [3];
  char *apcStack_a0 [2];
  uint local_98 [2];
  char *local_90 [5];
  undefined4 local_7c;
  undefined1 local_71;
  int local_70;
  undefined4 local_6c;
  char local_65;
  int local_64;
  undefined4 local_60;
  int local_54;
  int local_50;
  char *apcStack_28 [5];
  undefined4 uStack_14;
  
  bVar13 = 0;
  uStack_14 = 0xa71ad;
  ppuVar8 = &__DT_PLTGOT;
  ppcVar9 = apcStack_a0 + 1;
  apcStack_a0[1] = (char *)param_4;
  apcStack_28[2] = *(char **)(in_GS_OFFSET + 0x14);
  if (*(char *)(param_2 + 0x4b) == '\0') {
    iVar5 = 1;
    apcStack_a0[0] = (char *)0xa7262;
    FUN_0002ec00();
    goto LAB_000a7232;
  }
  if (1 < *(int *)(param_2 + 0xa8)) {
    iVar5 = 1;
    apcStack_a0[0] = (char *)0xa7232;
    FUN_0002ec00();
    ppcVar9 = apcStack_a0 + 1;
    goto LAB_000a7232;
  }
  local_90[0] = *(char **)(param_2 + 0x38);
  if (param_4 == 0) {
    apcStack_a0[0] = "";
  }
  else {
    iVar5 = sqlite3_value_type(param_4);
    if (iVar5 != 3) {
      iVar5 = 1;
      apcStack_a0[0] = (char *)0xa7217;
      FUN_0002ec00();
      ppcVar9 = apcStack_a0 + 1;
      goto LAB_000a7232;
    }
    apcStack_a0[0] = (char *)sqlite3_value_text(apcStack_a0[1]);
    *(uint *)(param_2 + 0x38) = *(uint *)(param_2 + 0x38) & 0xfffffffe | 6;
  }
  local_98[0] = *(uint *)(param_2 + 0x1c);
  local_90[2] = *(char **)(param_2 + 0x18);
  local_70 = param_3 * 0x10;
  local_98[1] = *(uint *)(param_2 + 0x20);
  *(uint *)(param_2 + 0x18) = (uint)local_90[2] | 6;
  local_90[3] = *(char **)(param_2 + 0x60);
  local_90[4] = *(char **)(param_2 + 100);
  *(uint *)(param_2 + 0x1c) = local_98[0] & 0xefffafff | 0x201;
  puVar6 = (undefined4 *)(local_70 + *(int *)(param_2 + 0x10));
  local_71 = *(undefined1 *)(param_2 + 0x54);
  *(undefined1 *)(param_2 + 0x54) = 0;
  *(uint *)(param_2 + 0x20) = local_98[1] & 0xfffffffe;
  local_6c = *puVar6;
  local_90[1] = (char *)puVar6[1];
  local_65 = *(char *)(**(int **)((int)local_90[1] + 4) + 0xc);
  local_7c = *(int *)(param_2 + 0x14);
  iVar5 = FUN_000a7160(param_2,param_1,"ATTACH %Q AS vacuum_db");
  ppcVar9 = apcStack_a0 + 1;
  *(char **)(param_2 + 0x38) = local_90[0];
  if (iVar5 == 0) {
    local_90[0] = (char *)(local_7c * 0x10 + *(int *)(param_2 + 0x10));
    local_64 = *(int *)((int)local_90[0] + 4);
    if (apcStack_a0[1] == (char *)0x0) {
      apcStack_a0[0] = (char *)0xa76c1;
      local_60 = FUN_000279c0();
      apcStack_a0[0] = (char *)0xa76de;
      FUN_00027ef0();
      apcStack_a0[0] = (char *)0xa76e9;
      FUN_00027fa0();
      apcStack_a0[0] = (char *)0xa76f2;
      FUN_00027fa0();
      apcStack_a0[0] = (char *)0xa76fe;
      FUN_000280a0();
      apcStack_a0[0] = (char *)0xa770d;
      iVar5 = FUN_000a7010();
      if (iVar5 == 0) goto LAB_000a73fb;
LAB_000a7644:
      pcVar7 = ppcVar9[5];
      *(undefined1 *)(param_2 + 0xa0) = 0;
      *(char **)(param_2 + 0x18) = pcVar7;
      *(char **)(param_2 + 0x1c) = ppcVar9[1];
      *(char **)(param_2 + 0x20) = ppcVar9[2];
      *(char **)(param_2 + 0x60) = ppcVar9[6];
      *(char **)(param_2 + 100) = ppcVar9[7];
      ppcVar9[0xfffffffc] = (char *)0x1;
      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);
      ppcVar9[0xfffffffb] = (char *)0xa768b;
      FUN_00041730();
      *(undefined1 *)(param_2 + 0x4b) = 1;
    }
    else {
      piVar1 = *(int **)(**(int **)(local_64 + 4) + 0x3c);
      local_54 = 0;
      local_50 = 0;
      iVar5 = *piVar1;
      if (iVar5 != 0) {
        iVar5 = (**(code **)(iVar5 + 0x18))(piVar1,&local_54);
        ppcVar9 = apcStack_a0 + 1;
        if ((iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))) {
          iVar5 = 1;
          apcStack_a0[0] = (char *)0xa7644;
          FUN_0002ec00();
          goto LAB_000a7644;
        }
      }
      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) | 8;
      apcStack_a0[0] = (char *)0xa73a5;
      local_60 = FUN_000279c0();
      apcStack_a0[0] = (char *)0xa73c2;
      FUN_00027ef0();
      apcStack_a0[0] = (char *)0xa73cd;
      FUN_00027fa0();
      apcStack_a0[0] = (char *)0xa73d6;
      FUN_00027fa0();
      apcStack_a0[0] = (char *)0xa73e2;
      FUN_000280a0();
      apcStack_a0[0] = (char *)0xa73f1;
      iVar5 = FUN_000a7010();
      ppcVar9 = apcStack_a0 + 1;
      if (iVar5 != 0) goto LAB_000a7644;
LAB_000a73fb:
      apcStack_a0[0] = (char *)0xa7408;
      iVar5 = FUN_00062b70();
      ppcVar9 = apcStack_a0 + 1;
      if (iVar5 != 0) goto LAB_000a7644;
      if (*(char *)(**(int **)((int)local_90[1] + 4) + 5) == '\x05') {
        *(undefined4 *)(param_2 + 0x58) = 0;
      }
      iVar5 = FUN_00041730(0);
      if ((iVar5 != 0) ||
         (((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||
          (*(char *)(param_2 + 0x4d) != '\0')))) {
        iVar5 = 7;
        ppcVar9 = apcStack_a0 + 1;
        goto LAB_000a7644;
      }
      ppcVar9 = apcStack_a0 + 1;
      if (*(char *)(param_2 + 0x50) < '\0') {
        ppcVar9 = apcStack_a0;
        apcStack_a0[0] = (char *)0xa7754;
        entry();
      }
      ppcVar9[-1] = (char *)0xa7472;
      FUN_00028170();
      ppcVar9[-1] = ppcVar9[0xc];
      *(undefined1 *)(param_2 + 0xa0) = *(undefined1 *)(ppcVar9 + 8);
      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcc7);
      ppcVar9[-3] = (char *)param_1;
      ppcVar9[-4] = (char *)param_2;
      ppcVar9[-5] = (char *)0xa748f;
      iVar5 = FUN_000a7160();
      if (iVar5 != 0) goto LAB_000a7644;
      ppcVar9[-1] = ppcVar9[0xc];
      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcac);
      ppcVar9[-3] = (char *)param_1;
      ppcVar9[-4] = (char *)param_2;
      ppcVar9[-5] = (char *)0xa74ae;
      iVar5 = FUN_000a7160();
      if (iVar5 != 0) goto LAB_000a7644;
      ppcVar9[-1] = ppcVar9[0xc];
      *(undefined1 *)(param_2 + 0xa0) = 0;
      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc9e);
      ppcVar9[-3] = (char *)param_1;
      ppcVar9[-4] = (char *)param_2;
      ppcVar9[-5] = (char *)0xa74d4;
      iVar5 = FUN_000a7160();
      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) & 0xfffffffb;
      if (iVar5 != 0) goto LAB_000a7644;
      ppcVar9[-1] = ppcVar9[0xc];
      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc78);
      ppcVar9[-3] = (char *)param_1;
      ppcVar9[-4] = (char *)param_2;
      ppcVar9[-5] = (char *)0xa74f7;
      iVar5 = FUN_000a7160();
      if (iVar5 != 0) goto LAB_000a7644;
      ppcVar9[8] = (char *)(ppcVar9 + 0x11);
      iVar10 = 0;
      do {
        ppcVar9[-1] = (char *)0xa7523;
        FUN_000341f0();
        ppcVar9[-1] = (char *)0xa753a;
        iVar5 = FUN_000633c0();
        if (iVar5 != 0) goto LAB_000a7644;
        iVar10 = iVar10 + 2;
      } while (iVar10 != 10);
      if (*ppcVar9 == (char *)0x0) {
        if (ppcVar9[4][9] != '\0') {
          ppcVar9[-1] = (char *)0xa7778;
          FUN_00027820();
        }
        if (ppcVar9[0xe][9] != '\0') {
          ppcVar9[-1] = (char *)0xa7787;
          FUN_00027820();
        }
        iVar5 = **(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);
        *ppcVar9 = (char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);
        if (iVar5 == 0) {
LAB_000a77ea:
          ppcVar11 = ppcVar9 + 0x12;
          ppcVar12 = ppcVar11;
          for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {
            *ppcVar12 = (char *)0x0;
            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;
          }
          pcVar7 = *(char **)ppcVar9[0xe];
          ppcVar9[0x18] = ppcVar9[0xe];
          ppcVar9[0x16] = (char *)0x1;
          ppcVar9[0x17] = pcVar7;
          pcVar7 = ppcVar9[4];
          ppcVar9[0x13] = pcVar7;
          ppcVar9[-1] = pcVar7;
          ppcVar9[-2] = pcVar7;
          ppcVar9[-3] = (char *)0x7fffffff;
          ppcVar9[-4] = (char *)ppcVar11;
          ppcVar9[-5] = (char *)0xa7820;
          sqlite3_backup_step();
          ppcVar9[-4] = (char *)ppcVar11;
          ppcVar9[-5] = (char *)0xa7828;
          iVar5 = sqlite3_backup_finish();
          if (iVar5 == 0) {
            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =
                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;
          }
          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {
            ppcVar9[-1] = (char *)0xa78ee;
            FUN_00026f50();
          }
        }
        else {
          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);
          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);
          ppcVar9[8] = pcVar7;
          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);
          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);
          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);
          ppcVar9[0x12] = (char *)lVar4;
          ppcVar9[0x13] = pcVar7;
          ppcVar9[-1] = pcVar7;
          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);
          ppcVar9[-3] = (char *)0xb;
          ppcVar9[-4] = *ppcVar9;
          pcVar3 = *(code **)(iVar5 + 0x28);
          ppcVar9[-5] = (char *)0xa77dc;
          iVar5 = (*pcVar3)();
          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;
        }
        pcVar7 = ppcVar9[0xe];
        if (pcVar7[9] != '\0') {
          iVar10 = *(int *)(pcVar7 + 0xc);
          *ppcVar9 = (char *)iVar10;
          iVar10 = iVar10 + -1;
          *(int *)(pcVar7 + 0xc) = iVar10;
          if (iVar10 == 0) {
            ppcVar9[-1] = (char *)0xa7862;
            FUN_000278b0();
          }
        }
        pcVar7 = ppcVar9[4];
        if (pcVar7[9] != '\0') {
          iVar10 = *(int *)(pcVar7 + 0xc);
          *ppcVar9 = (char *)iVar10;
          iVar10 = iVar10 + -1;
          *(int *)(pcVar7 + 0xc) = iVar10;
          if (iVar10 == 0) {
            ppcVar9[-1] = (char *)0xa7883;
            FUN_000278b0();
          }
        }
        if (iVar5 == 0) {
          ppcVar9[-1] = (char *)0xa7896;
          iVar5 = FUN_0006aff0();
          if (iVar5 == 0) {
            ppcVar9[-1] = (char *)0xa78a9;
            entry();
            ppcVar9[-2] = (char *)0xa78b6;
            FUN_00028170();
            ppcVar9[-5] = (char *)0x1;
            ppcVar9[-6] = (char *)0xa78cc;
            iVar5 = FUN_00041730();
            ppcVar9 = ppcVar9 + -1;
          }
        }
        goto LAB_000a7644;
      }
      ppcVar9[-1] = (char *)0xa755d;
      iVar5 = FUN_0006aff0();
      if (iVar5 != 0) goto LAB_000a7644;
      pcVar7 = ppcVar9[5];
      *(undefined1 *)(param_2 + 0xa0) = 0;
      iVar5 = 0;
      *(char **)(param_2 + 0x18) = pcVar7;
      *(char **)(param_2 + 0x1c) = ppcVar9[1];
      *(char **)(param_2 + 0x20) = ppcVar9[2];
      *(char **)(param_2 + 0x60) = ppcVar9[6];
      *(char **)(param_2 + 100) = ppcVar9[7];
      ppcVar9[-4] = (char *)0x1;
      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);
      ppcVar9[-5] = (char *)0xa75ae;
      FUN_00041730();
      *(undefined1 *)(param_2 + 0x4b) = 1;
    }
    iVar10 = *(int *)((int)ppcVar9 + 0xc);
    *(undefined4 *)((int)ppcVar9 + -4) = 0xa769e;
    FUN_0006de60();
    *(undefined4 *)(iVar10 + 4) = 0;
    *(undefined4 *)(iVar10 + 0xc) = 0;
  }
  else {
    *(undefined1 *)(param_2 + 0xa0) = 0;
    *(char **)(param_2 + 0x18) = local_90[2];
    *(uint *)(param_2 + 0x1c) = local_98[0];
    *(uint *)(param_2 + 0x20) = local_98[1];
    *(char **)(param_2 + 0x60) = local_90[3];
    *(char **)(param_2 + 100) = local_90[4];
    *(undefined1 *)(param_2 + 0x54) = local_71;
    FUN_00041730(1);
    *(undefined1 *)(param_2 + 0x4b) = 1;
    ppcVar9 = apcStack_a0 + 1;
  }
  ppcVar9[0xffffffff] = (char *)0xa7625;
  FUN_000462f0();
LAB_000a7232:
  if (ppcVar9[0x1f] != *(char **)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    ppcVar9[0xffffffff] = (char *)0xa7760;
    FUN_000a9ea0();
  }
  return iVar5;
}


PUSH EBP
PUSH EDI
MOV EDI,EAX
PUSH ESI
PUSH EBX
MOV ESI,EDX
CALL 0x0001d810
ADD EBX,0x36e53
SUB ESP,0x8c
MOV EAX,dword ptr [ESP + 0xa0]
MOV dword ptr [ESP],EAX
MOV EAX,GS:[0x14]
MOV dword ptr [ESP + 0x7c],EAX
XOR EAX,EAX
CMP byte ptr [EDX + 0x4b],0x0
JZ 0x000a7250
CMP dword ptr [EDX + 0xa8],0x1
JG 0x000a7220
MOV EAX,dword ptr [EDX + 0x38]
MOV EBP,ECX
MOV dword ptr [ESP + 0xc],EAX
MOV EAX,dword ptr [ESP]
TEST EAX,EAX
JZ 0x000a75c0
SUB ESP,0xc
PUSH EAX
CALL 0x00016670
ADD ESP,0x10
CMP EAX,0x3
JZ 0x000a7268
LEA ECX,[EBX + 0xfffcd55d]
MOV EDX,ESI
MOV EAX,EDI
MOV EBP,0x1
CALL 0x0002ec00
JMP 0x000a7232
LEA ECX,[EBX + 0xfffd0cb8]
MOV EAX,EDI
MOV EBP,0x1
CALL 0x0002ec00
MOV EDI,dword ptr [ESP + 0x7c]
XOR EDI,dword ptr GS:[0x14]
MOV EAX,EBP
JNZ 0x000a775b
ADD ESP,0x8c
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA ECX,[EBX + 0xfffd0c90]
MOV EAX,EDI
MOV EBP,0x1
CALL 0x0002ec00
JMP 0x000a7232
SUB ESP,0xc
PUSH dword ptr [ESP + 0xc]
CALL 0x00016b50
MOV EDX,dword ptr [ESI + 0x38]
ADD ESP,0x10
AND EDX,0xfffffffe
OR EDX,0x6
MOV dword ptr [ESI + 0x38],EDX
MOV ECX,dword ptr [ESI + 0x1c]
MOV EDX,dword ptr [ESI + 0x18]
SHL EBP,0x4
MOV dword ptr [ESP + 0x2c],EBP
MOV dword ptr [ESP + 0x4],ECX
MOV ECX,dword ptr [ESI + 0x20]
MOV dword ptr [ESP + 0x14],EDX
OR EDX,0x6
MOV dword ptr [ESI + 0x18],EDX
MOV EDX,dword ptr [ESP + 0x4]
MOV dword ptr [ESP + 0x8],ECX
MOV ECX,dword ptr [ESI + 0x60]
AND EDX,0xefffafff
MOV dword ptr [ESP + 0x18],ECX
MOV ECX,dword ptr [ESI + 0x64]
OR EDX,0x201
MOV dword ptr [ESI + 0x1c],EDX
MOV EDX,EBP
ADD EDX,dword ptr [ESI + 0x10]
MOV dword ptr [ESP + 0x1c],ECX
MOVZX ECX,byte ptr [ESI + 0x54]
MOV byte ptr [ESI + 0x54],0x0
MOV byte ptr [ESP + 0x2b],CL
MOV ECX,dword ptr [ESP + 0x8]
AND ECX,0xfffffffe
MOV dword ptr [ESI + 0x20],ECX
MOV ECX,dword ptr [EDX]
MOV dword ptr [ESP + 0x30],ECX
MOV ECX,dword ptr [EDX + 0x4]
MOV EDX,dword ptr [ECX + 0x4]
MOV dword ptr [ESP + 0x10],ECX
MOV EDX,dword ptr [EDX]
MOVZX ECX,byte ptr [EDX + 0xc]
MOV byte ptr [ESP + 0x37],CL
MOV ECX,dword ptr [ESI + 0x14]
MOV dword ptr [ESP + 0x20],ECX
PUSH EAX
LEA EAX,[EBX + 0xfffcd56f]
PUSH EAX
PUSH EDI
PUSH ESI
CALL 0x000a7160
MOV EDX,dword ptr [ESP + 0x1c]
ADD ESP,0x10
TEST EAX,EAX
MOV EBP,EAX
MOV dword ptr [ESI + 0x38],EDX
JNZ 0x000a75d0
MOV EAX,dword ptr [ESP + 0x20]
MOV ECX,dword ptr [ESP]
SHL EAX,0x4
ADD EAX,dword ptr [ESI + 0x10]
TEST ECX,ECX
MOV dword ptr [ESP + 0xc],EAX
MOV EAX,dword ptr [EAX + 0x4]
MOV dword ptr [ESP + 0x38],EAX
JZ 0x000a76b8
MOV EAX,dword ptr [EAX + 0x4]
MOV EAX,dword ptr [EAX]
MOV EDX,dword ptr [EAX + 0x3c]
MOV dword ptr [ESP + 0x48],0x0
MOV dword ptr [ESP + 0x4c],0x0
MOV EAX,dword ptr [EDX]
TEST EAX,EAX
JZ 0x000a7398
SUB ESP,0x8
LEA EBP,[ESP + 0x50]
PUSH EBP
PUSH EDX
CALL dword ptr [EAX + 0x18]
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000a7630
CMP dword ptr [ESP + 0x4c],0x0
JL 0x000a7398
JG 0x000a7630
CMP dword ptr [ESP + 0x48],0x0
JA 0x000a7630
LEA ESI,[ESI]
OR dword ptr [ESI + 0x18],0x8
MOV EAX,dword ptr [ESP + 0x10]
CALL 0x000279c0
MOV ECX,dword ptr [ESP + 0x2c]
MOV dword ptr [ESP + 0x3c],EAX
MOV EAX,dword ptr [ESI + 0x10]
MOV EBP,dword ptr [ESP + 0x38]
MOV EAX,dword ptr [EAX + ECX*0x1 + 0xc]
MOV EDX,dword ptr [EAX + 0x50]
MOV EAX,EBP
CALL 0x00027ef0
MOV EAX,dword ptr [ESP + 0x10]
XOR EDX,EDX
CALL 0x00027fa0
MOV EDX,EAX
MOV EAX,EBP
CALL 0x00027fa0
MOV EDX,0x21
MOV EAX,EBP
CALL 0x000280a0
LEA ECX,[EBX + 0xfffcd135]
MOV EDX,EDI
MOV EAX,ESI
CALL 0x000a7010
TEST EAX,EAX
MOV EBP,EAX
JNZ 0x000a7644
MOV EAX,dword ptr [ESP + 0x10]
XOR ECX,ECX
MOV EDX,EBP
CALL 0x00062b70
TEST EAX,EAX
MOV EBP,EAX
JNZ 0x000a7644
MOV EAX,dword ptr [ESP + 0x10]
MOV EAX,dword ptr [EAX + 0x4]
MOV EDX,dword ptr [EAX]
CMP byte ptr [EDX + 0x5],0x5
JNZ 0x000a7428
MOV dword ptr [ESI + 0x58],0x0
SUB ESP,0xc
MOV EDX,dword ptr [EAX + 0x24]
PUSH 0x0
MOV ECX,dword ptr [ESP + 0x4c]
MOV EAX,dword ptr [ESP + 0x48]
CALL 0x00041730
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000a7741
CMP byte ptr [ESP + 0x37],0x0
JZ 0x000a7721
CMP byte ptr [ESI + 0x4d],0x0
JNZ 0x000a7741
MOVSX EDX,byte ptr [ESI + 0x50]
TEST DL,DL
JS 0x000a774b
MOV EAX,dword ptr [ESP + 0x38]
CALL 0x00028170
MOVZX EAX,byte ptr [ESP + 0x20]
PUSH dword ptr [ESP + 0x30]
MOV byte ptr [ESI + 0xa0],AL
LEA EAX,[EBX + 0xfffd0ce4]
PUSH EAX
PUSH EDI
PUSH ESI
CALL 0x000a7160
ADD ESP,0x10
TEST EAX,EAX
MOV EBP,EAX
JNZ 0x000a7644
LEA EAX,[EBX + 0xfffd0d50]
PUSH dword ptr [ESP + 0x30]
PUSH EAX
PUSH EDI
PUSH ESI
CALL 0x000a7160
ADD ESP,0x10
TEST EAX,EAX
MOV EBP,EAX
JNZ 0x000a7644
LEA EAX,[EBX + 0xfffd0d88]
PUSH dword ptr [ESP + 0x30]
MOV byte ptr [ESI + 0xa0],0x0
PUSH EAX
PUSH EDI
PUSH ESI
CALL 0x000a7160
AND dword ptr [ESI + 0x18],0xfffffffb
ADD ESP,0x10
TEST EAX,EAX
MOV EBP,EAX
JNZ 0x000a7644
LEA EAX,[EBX + 0xfffd0e20]
PUSH dword ptr [ESP + 0x30]
PUSH EAX
PUSH EDI
PUSH ESI
CALL 0x000a7160
ADD ESP,0x10
TEST EAX,EAX
MOV EBP,EAX
JNZ 0x000a7644
LEA EAX,[ESP + 0x44]
MOV dword ptr [ESP + 0x20],EAX
MOVZX EDI,byte ptr [EBP + EBX*0x1 + 0xfffd2fa8]
MOV ECX,dword ptr [ESP + 0x20]
MOV EAX,dword ptr [ESP + 0x10]
MOV EDX,EDI
CALL 0x000341f0
MOVZX ECX,byte ptr [EBP + EBX*0x1 + 0xfffd2fa9]
MOV EAX,dword ptr [ESP + 0x38]
MOV EDX,EDI
ADD ECX,dword ptr [ESP + 0x44]
CALL 0x000633c0
TEST EAX,EAX
JNZ 0x000a7760
ADD EBP,0x2
CMP EBP,0xa
JNZ 0x000a750c
CMP dword ptr [ESP],0x0
JZ 0x000a7769
MOV EAX,dword ptr [ESP + 0x38]
CALL 0x0006aff0
TEST EAX,EAX
MOV EDI,EAX
JNZ 0x000a7762
MOV EAX,dword ptr [ESP + 0x14]
SUB ESP,0xc
MOV byte ptr [ESI + 0xa0],0x0
XOR ECX,ECX
OR EDX,0xffffffff
XOR EBP,EBP
MOV dword ptr [ESI + 0x18],EAX
MOV EAX,dword ptr [ESP + 0x10]
MOV dword ptr [ESI + 0x1c],EAX
MOV EAX,dword ptr [ESP + 0x14]
MOV dword ptr [ESI + 0x20],EAX
MOV EAX,dword ptr [ESP + 0x24]
MOV dword ptr [ESI + 0x60],EAX
MOV EAX,dword ptr [ESP + 0x28]
MOV dword ptr [ESI + 0x64],EAX
MOVZX EAX,byte ptr [ESP + 0x37]
PUSH 0x1
MOV byte ptr [ESI + 0x54],AL
MOV EAX,dword ptr [ESP + 0x20]
CALL 0x00041730
MOV byte ptr [ESI + 0x4b],0x1
ADD ESP,0x10
JMP 0x000a7692
LEA EAX,[EBX + 0xfffcd03d]
JMP 0x000a7283
MOV EAX,dword ptr [ESP + 0x14]
SUB ESP,0xc
MOV byte ptr [ESI + 0xa0],0x0
XOR ECX,ECX
MOV EDX,0xffffffff
MOV dword ptr [ESI + 0x18],EAX
MOV EAX,dword ptr [ESP + 0x10]
MOV dword ptr [ESI + 0x1c],EAX
MOV EAX,dword ptr [ESP + 0x14]
MOV dword ptr [ESI + 0x20],EAX
MOV EAX,dword ptr [ESP + 0x24]
MOV dword ptr [ESI + 0x60],EAX
MOV EAX,dword ptr [ESP + 0x28]
MOV dword ptr [ESI + 0x64],EAX
MOVZX EAX,byte ptr [ESP + 0x37]
PUSH 0x1
MOV byte ptr [ESI + 0x54],AL
MOV EAX,dword ptr [ESP + 0x20]
CALL 0x00041730
MOV byte ptr [ESI + 0x4b],0x1
ADD ESP,0x10
MOV EAX,ESI
CALL 0x000462f0
JMP 0x000a7232
LEA ECX,[EBX + 0xfffcd586]
MOV EDX,ESI
MOV EAX,EDI
MOV EBP,0x1
CALL 0x0002ec00
MOV EAX,dword ptr [ESP + 0x14]
SUB ESP,0xc
MOV byte ptr [ESI + 0xa0],0x0
XOR ECX,ECX
MOV EDX,0xffffffff
MOV dword ptr [ESI + 0x18],EAX
MOV EAX,dword ptr [ESP + 0x10]
MOV dword ptr [ESI + 0x1c],EAX
MOV EAX,dword ptr [ESP + 0x14]
MOV dword ptr [ESI + 0x20],EAX
MOV EAX,dword ptr [ESP + 0x24]
MOV dword ptr [ESI + 0x60],EAX
MOV EAX,dword ptr [ESP + 0x28]
MOV dword ptr [ESI + 0x64],EAX
MOVZX EAX,byte ptr [ESP + 0x37]
PUSH 0x1
MOV byte ptr [ESI + 0x54],AL
MOV EAX,dword ptr [ESP + 0x20]
CALL 0x00041730
MOV byte ptr [ESI + 0x4b],0x1
ADD ESP,0x10
MOV EBX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EBX + 0x4]
CALL 0x0006de60
MOV dword ptr [EBX + 0x4],0x0
MOV dword ptr [EBX + 0xc],0x0
JMP 0x000a761e
MOV EAX,dword ptr [ESP + 0x10]
CALL 0x000279c0
MOV ECX,dword ptr [ESP + 0x2c]
MOV dword ptr [ESP + 0x3c],EAX
MOV EAX,dword ptr [ESI + 0x10]
MOV EBP,dword ptr [ESP + 0x38]
MOV EAX,dword ptr [EAX + ECX*0x1 + 0xc]
MOV EDX,dword ptr [EAX + 0x50]
MOV EAX,EBP
CALL 0x00027ef0
MOV EAX,dword ptr [ESP + 0x10]
XOR EDX,EDX
CALL 0x00027fa0
MOV EDX,EAX
MOV EAX,EBP
CALL 0x00027fa0
MOV EDX,0x21
MOV EAX,EBP
CALL 0x000280a0
LEA ECX,[EBX + 0xfffcd135]
MOV EDX,EDI
MOV EAX,ESI
CALL 0x000a7010
TEST EAX,EAX
MOV EBP,EAX
JNZ 0x000a7644
MOV EBP,0x2
JMP 0x000a73fb
SUB ESP,0xc
MOV EDX,dword ptr [ESI + 0x58]
PUSH 0x0
MOV ECX,dword ptr [ESP + 0x4c]
MOV EAX,dword ptr [ESP + 0x48]
CALL 0x00041730
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000a7453
MOV EBP,0x7
JMP 0x000a7644
MOV EAX,dword ptr [ESP + 0x10]
CALL 0x00016d40
MOV EDX,EAX
JMP 0x000a7469
CALL 0x000a9ea0
MOV EDI,EAX
MOV EBP,EDI
JMP 0x000a7644
MOV EAX,dword ptr [ESP + 0x10]
CMP byte ptr [EAX + 0x9],0x0
JZ 0x000a7778
CALL 0x00027820
MOV EAX,dword ptr [ESP + 0x38]
CMP byte ptr [EAX + 0x9],0x0
JZ 0x000a7787
CALL 0x00027820
MOV EAX,dword ptr [ESP + 0x10]
LEA EBP,[ESP + 0x48]
MOV EAX,dword ptr [EAX + 0x4]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x3c]
MOV EDI,dword ptr [EAX]
MOV dword ptr [ESP],EAX
TEST EDI,EDI
JZ 0x000a77ea
MOV EAX,dword ptr [ESP + 0x38]
MOV EAX,dword ptr [EAX + 0x4]
MOV EBP,dword ptr [EAX + 0x24]
MOV EAX,dword ptr [EAX + 0x30]
MOV ECX,EBP
MOV dword ptr [ESP + 0x20],EBP
SAR ECX,0x1f
MOV dword ptr [ESP + 0x24],ECX
MOV ECX,dword ptr [ESP + 0x24]
IMUL ECX,EAX
MUL EBP
ADD EDX,ECX
MOV dword ptr [ESP + 0x48],EAX
MOV dword ptr [ESP + 0x4c],EDX
PUSH EDX
LEA EBP,[ESP + 0x4c]
PUSH EBP
PUSH 0xb
PUSH dword ptr [ESP + 0xc]
CALL dword ptr [EDI + 0x28]
ADD ESP,0x10
CMP EAX,0xc
MOV EDI,EAX
JZ 0x000a77ea
TEST EAX,EAX
JNZ 0x000a7841
XOR EAX,EAX
MOV ECX,0xc
MOV EDI,EBP
STOSD.REP ES:EDI
MOV EDI,dword ptr [ESP + 0x38]
MOV EAX,dword ptr [EDI]
MOV dword ptr [ESP + 0x60],EDI
MOV dword ptr [ESP + 0x58],0x1
MOV dword ptr [ESP + 0x5c],EAX
MOV EAX,dword ptr [ESP + 0x10]
MOV dword ptr [ESP + 0x4c],EAX
PUSH EAX
PUSH EAX
PUSH 0x7fffffff
PUSH EBP
CALL 0x00016a70
MOV dword ptr [ESP],EBP
CALL 0x00016740
ADD ESP,0x10
TEST EAX,EAX
MOV EDI,EAX
JNZ 0x000a78d6
MOV EAX,dword ptr [ESP + 0x10]
MOV EAX,dword ptr [EAX + 0x4]
AND word ptr [EAX + 0x18],0xfffd
MOV EBX,dword ptr [ESP + 0x38]
CMP byte ptr [EBX + 0x9],0x0
JZ 0x000a7862
MOV EAX,dword ptr [EBX + 0xc]
MOV dword ptr [ESP],EAX
SUB EAX,0x1
TEST EAX,EAX
MOV dword ptr [EBX + 0xc],EAX
JNZ 0x000a7862
MOV EAX,EBX
CALL 0x000278b0
MOV EBX,dword ptr [ESP + 0x10]
CMP byte ptr [EBX + 0x9],0x0
JZ 0x000a7883
MOV EAX,dword ptr [EBX + 0xc]
MOV dword ptr [ESP],EAX
SUB EAX,0x1
TEST EAX,EAX
MOV dword ptr [EBX + 0xc],EAX
JNZ 0x000a7883
MOV EAX,EBX
CALL 0x000278b0
TEST EDI,EDI
JNZ 0x000a7762
MOV EBX,dword ptr [ESP + 0x38]
MOV EAX,EBX
CALL 0x0006aff0
TEST EAX,EAX
MOV EDI,EAX
JNZ 0x000a7762
MOV EAX,EBX
MOV EDI,EBX
CALL 0x00016d40
MOV EBX,dword ptr [ESP + 0x10]
MOV EDX,EAX
MOV EAX,EBX
CALL 0x00028170
MOV EAX,dword ptr [EDI + 0x4]
SUB ESP,0xc
MOV EDX,dword ptr [EAX + 0x24]
PUSH 0x1
MOV EAX,EBX
MOV ECX,dword ptr [ESP + 0x4c]
CALL 0x00041730
ADD ESP,0x10
MOV EBP,EAX
JMP 0x000a7644
MOV EAX,dword ptr [ESP + 0x4c]
MOV EAX,dword ptr [EAX + 0x4]
MOV EAX,dword ptr [EAX]
CMP byte ptr [EAX + 0xc],0x0
JNZ 0x000a7841
CALL 0x00026f50
JMP 0x000a7841
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Type propagation algorithm not settling */\n\nint __regparm3 FUN_000a71a0(undefined4 param_1,int param_2,int param_3,int param_4)\n\n{\n  int *piVar1;\n  uint uVar2;\n  code *pcVar3;\n  longlong lVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  char *pcVar7;\n  undefined **ppuVar8;\n  char **ppcVar9;\n  int iVar10;\n  char **ppcVar11;\n  char **ppcVar12;\n  int in_GS_OFFSET;\n  byte bVar13;\n  char *apcStackY_b8 [3];\n  char *apcStack_a0 [2];\n  uint local_98 [2];\n  char *local_90 [5];\n  undefined4 local_7c;\n  undefined1 local_71;\n  int local_70;\n  undefined4 local_6c;\n  char local_65;\n  int local_64;\n  undefined4 local_60;\n  int local_54;\n  int local_50;\n  char *apcStack_28 [5];\n  undefined4 uStack_14;\n  \n  bVar13 = 0;\n  uStack_14 = 0xa71ad;\n  ppuVar8 = &__DT_PLTGOT;\n  ppcVar9 = apcStack_a0 + 1;\n  apcStack_a0[1] = (char *)param_4;\n  apcStack_28[2] = *(char **)(in_GS_OFFSET + 0x14);\n  if (*(char *)(param_2 + 0x4b) == '\0') {\n    iVar5 = 1;\n    apcStack_a0[0] = (char *)0xa7262;\n    FUN_0002ec00();\n    goto LAB_000a7232;\n  }\n  if (1 < *(int *)(param_2 + 0xa8)) {\n    iVar5 = 1;\n    apcStack_a0[0] = (char *)0xa7232;\n    FUN_0002ec00();\n    ppcVar9 = apcStack_a0 + 1;\n    goto LAB_000a7232;\n  }\n  local_90[0] = *(char **)(param_2 + 0x38);\n  if (param_4 == 0) {\n    apcStack_a0[0] = "";\n  }\n  else {\n    iVar5 = sqlite3_value_type(param_4);\n    if (iVar5 != 3) {\n      iVar5 = 1;\n      apcStack_a0[0] = (char *)0xa7217;\n      FUN_0002ec00();\n      ppcVar9 = apcStack_a0 + 1;\n      goto LAB_000a7232;\n    }\n    apcStack_a0[0] = (char *)sqlite3_value_text(apcStack_a0[1]);\n    *(uint *)(param_2 + 0x38) = *(uint *)(param_2 + 0x38) & 0xfffffffe | 6;\n  }\n  local_98[0] = *(uint *)(param_2 + 0x1c);\n  local_90[2] = *(char **)(param_2 + 0x18);\n  local_70 = param_3 * 0x10;\n  local_98[1] = *(uint *)(param_2 + 0x20);\n  *(uint *)(param_2 + 0x18) = (uint)local_90[2] | 6;\n  local_90[3] = *(char **)(param_2 + 0x60);\n  local_90[4] = *(char **)(param_2 + 100);\n  *(uint *)(param_2 + 0x1c) = local_98[0] & 0xefffafff | 0x201;\n  puVar6 = (undefined4 *)(local_70 + *(int *)(param_2 + 0x10));\n  local_71 = *(undefined1 *)(param_2 + 0x54);\n  *(undefined1 *)(param_2 + 0x54) = 0;\n  *(uint *)(param_2 + 0x20) = local_98[1] & 0xfffffffe;\n  local_6c = *puVar6;\n  local_90[1] = (char *)puVar6[1];\n  local_65 = *(char *)(**(int **)((int)local_90[1] + 4) + 0xc);\n  local_7c = *(int *)(param_2 + 0x14);\n  iVar5 = FUN_000a7160(param_2,param_1,"ATTACH %Q AS vacuum_db");\n  ppcVar9 = apcStack_a0 + 1;\n  *(char **)(param_2 + 0x38) = local_90[0];\n  if (iVar5 == 0) {\n    local_90[0] = (char *)(local_7c * 0x10 + *(int *)(param_2 + 0x10));\n    local_64 = *(int *)((int)local_90[0] + 4);\n    if (apcStack_a0[1] == (char *)0x0) {\n      apcStack_a0[0] = (char *)0xa76c1;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa76de;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa76e9;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76f2;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76fe;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa770d;\n      iVar5 = FUN_000a7010();\n      if (iVar5 == 0) goto LAB_000a73fb;\nLAB_000a7644:\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[0xfffffffc] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[0xfffffffb] = (char *)0xa768b;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }\n    else {\n      piVar1 = *(int **)(**(int **)(local_64 + 4) + 0x3c);\n      local_54 = 0;\n      local_50 = 0;\n      iVar5 = *piVar1;\n      if (iVar5 != 0) {\n        iVar5 = (**(code **)(iVar5 + 0x18))(piVar1,&local_54);\n        ppcVar9 = apcStack_a0 + 1;\n        if ((iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))) {\n          iVar5 = 1;\n          apcStack_a0[0] = (char *)0xa7644;\n          FUN_0002ec00();\n          goto LAB_000a7644;\n        }\n      }\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) | 8;\n      apcStack_a0[0] = (char *)0xa73a5;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa73c2;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa73cd;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73d6;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73e2;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa73f1;\n      iVar5 = FUN_000a7010();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\nLAB_000a73fb:\n      apcStack_a0[0] = (char *)0xa7408;\n      iVar5 = FUN_00062b70();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\n      if (*(char *)(**(int **)((int)local_90[1] + 4) + 5) == '\x05') {\n        *(undefined4 *)(param_2 + 0x58) = 0;\n      }\n      iVar5 = FUN_00041730(0);\n      if ((iVar5 != 0) ||\n         (((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0')))) {\n        iVar5 = 7;\n        ppcVar9 = apcStack_a0 + 1;\n        goto LAB_000a7644;\n      }\n      ppcVar9 = apcStack_a0 + 1;\n      if (*(char *)(param_2 + 0x50) < '\0') {\n        ppcVar9 = apcStack_a0;\n        apcStack_a0[0] = (char *)0xa7754;\n        entry();\n      }\n      ppcVar9[-1] = (char *)0xa7472;\n      FUN_00028170();\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = *(undefined1 *)(ppcVar9 + 8);\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcc7);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa748f;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcac);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74ae;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc9e);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74d4;\n      iVar5 = FUN_000a7160();\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) & 0xfffffffb;\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc78);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74f7;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[8] = (char *)(ppcVar9 + 0x11);\n      iVar10 = 0;\n      do {\n        ppcVar9[-1] = (char *)0xa7523;\n        FUN_000341f0();\n        ppcVar9[-1] = (char *)0xa753a;\n        iVar5 = FUN_000633c0();\n        if (iVar5 != 0) goto LAB_000a7644;\n        iVar10 = iVar10 + 2;\n      } while (iVar10 != 10);\n      if (*ppcVar9 == (char *)0x0) {\n        if (ppcVar9[4][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7778;\n          FUN_00027820();\n        }\n        if (ppcVar9[0xe][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7787;\n          FUN_00027820();\n        }\n        iVar5 = **(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        *ppcVar9 = (char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        if (iVar5 == 0) {\nLAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;\n          ppcVar12 = ppcVar11;\n          for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }\n          pcVar7 = *(char **)ppcVar9[0xe];\n          ppcVar9[0x18] = ppcVar9[0xe];\n          ppcVar9[0x16] = (char *)0x1;\n          ppcVar9[0x17] = pcVar7;\n          pcVar7 = ppcVar9[4];\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = pcVar7;\n          ppcVar9[-3] = (char *)0x7fffffff;\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7820;\n          sqlite3_backup_step();\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7828;\n          iVar5 = sqlite3_backup_finish();\n          if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }\n        }\n        else {\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }\n        pcVar7 = ppcVar9[0xe];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }\n        }\n        pcVar7 = ppcVar9[4];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }\n        }\n        if (iVar5 == 0) {\n          ppcVar9[-1] = (char *)0xa7896;\n          iVar5 = FUN_0006aff0();\n          if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }\n        }\n        goto LAB_000a7644;\n      }\n      ppcVar9[-1] = (char *)0xa755d;\n      iVar5 = FUN_0006aff0();\n      if (iVar5 != 0) goto LAB_000a7644;\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      iVar5 = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[-4] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[-5] = (char *)0xa75ae;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }\n    iVar10 = *(int *)((int)ppcVar9 + 0xc);\n    *(undefined4 *)((int)ppcVar9 + -4) = 0xa769e;\n    FUN_0006de60();\n    *(undefined4 *)(iVar10 + 4) = 0;\n    *(undefined4 *)(iVar10 + 0xc) = 0;\n  }\n  else {\n    *(undefined1 *)(param_2 + 0xa0) = 0;\n    *(char **)(param_2 + 0x18) = local_90[2];\n    *(uint *)(param_2 + 0x1c) = local_98[0];\n    *(uint *)(param_2 + 0x20) = local_98[1];\n    *(char **)(param_2 + 0x60) = local_90[3];\n    *(char **)(param_2 + 100) = local_90[4];\n    *(undefined1 *)(param_2 + 0x54) = local_71;\n    FUN_00041730(1);\n    *(undefined1 *)(param_2 + 0x4b) = 1;\n    ppcVar9 = apcStack_a0 + 1;\n  }\n  ppcVar9[0xffffffff] = (char *)0xa7625;\n  FUN_000462f0();\nLAB_000a7232:\n  if (ppcVar9[0x1f] != *(char **)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    ppcVar9[0xffffffff] = (char *)0xa7760;\n    FUN_000a9ea0();\n  }\n  return iVar5;\n}\n\n" comment comment (function_definition "int __regparm3 FUN_000a71a0(undefined4 param_1,int param_2,int param_3,int param_4)\n\n{\n  int *piVar1;\n  uint uVar2;\n  code *pcVar3;\n  longlong lVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  char *pcVar7;\n  undefined **ppuVar8;\n  char **ppcVar9;\n  int iVar10;\n  char **ppcVar11;\n  char **ppcVar12;\n  int in_GS_OFFSET;\n  byte bVar13;\n  char *apcStackY_b8 [3];\n  char *apcStack_a0 [2];\n  uint local_98 [2];\n  char *local_90 [5];\n  undefined4 local_7c;\n  undefined1 local_71;\n  int local_70;\n  undefined4 local_6c;\n  char local_65;\n  int local_64;\n  undefined4 local_60;\n  int local_54;\n  int local_50;\n  char *apcStack_28 [5];\n  undefined4 uStack_14;\n  \n  bVar13 = 0;\n  uStack_14 = 0xa71ad;\n  ppuVar8 = &__DT_PLTGOT;\n  ppcVar9 = apcStack_a0 + 1;\n  apcStack_a0[1] = (char *)param_4;\n  apcStack_28[2] = *(char **)(in_GS_OFFSET + 0x14);\n  if (*(char *)(param_2 + 0x4b) == '\0') {\n    iVar5 = 1;\n    apcStack_a0[0] = (char *)0xa7262;\n    FUN_0002ec00();\n    goto LAB_000a7232;\n  }\n  if (1 < *(int *)(param_2 + 0xa8)) {\n    iVar5 = 1;\n    apcStack_a0[0] = (char *)0xa7232;\n    FUN_0002ec00();\n    ppcVar9 = apcStack_a0 + 1;\n    goto LAB_000a7232;\n  }\n  local_90[0] = *(char **)(param_2 + 0x38);\n  if (param_4 == 0) {\n    apcStack_a0[0] = "";\n  }\n  else {\n    iVar5 = sqlite3_value_type(param_4);\n    if (iVar5 != 3) {\n      iVar5 = 1;\n      apcStack_a0[0] = (char *)0xa7217;\n      FUN_0002ec00();\n      ppcVar9 = apcStack_a0 + 1;\n      goto LAB_000a7232;\n    }\n    apcStack_a0[0] = (char *)sqlite3_value_text(apcStack_a0[1]);\n    *(uint *)(param_2 + 0x38) = *(uint *)(param_2 + 0x38) & 0xfffffffe | 6;\n  }\n  local_98[0] = *(uint *)(param_2 + 0x1c);\n  local_90[2] = *(char **)(param_2 + 0x18);\n  local_70 = param_3 * 0x10;\n  local_98[1] = *(uint *)(param_2 + 0x20);\n  *(uint *)(param_2 + 0x18) = (uint)local_90[2] | 6;\n  local_90[3] = *(char **)(param_2 + 0x60);\n  local_90[4] = *(char **)(param_2 + 100);\n  *(uint *)(param_2 + 0x1c) = local_98[0] & 0xefffafff | 0x201;\n  puVar6 = (undefined4 *)(local_70 + *(int *)(param_2 + 0x10));\n  local_71 = *(undefined1 *)(param_2 + 0x54);\n  *(undefined1 *)(param_2 + 0x54) = 0;\n  *(uint *)(param_2 + 0x20) = local_98[1] & 0xfffffffe;\n  local_6c = *puVar6;\n  local_90[1] = (char *)puVar6[1];\n  local_65 = *(char *)(**(int **)((int)local_90[1] + 4) + 0xc);\n  local_7c = *(int *)(param_2 + 0x14);\n  iVar5 = FUN_000a7160(param_2,param_1,"ATTACH %Q AS vacuum_db");\n  ppcVar9 = apcStack_a0 + 1;\n  *(char **)(param_2 + 0x38) = local_90[0];\n  if (iVar5 == 0) {\n    local_90[0] = (char *)(local_7c * 0x10 + *(int *)(param_2 + 0x10));\n    local_64 = *(int *)((int)local_90[0] + 4);\n    if (apcStack_a0[1] == (char *)0x0) {\n      apcStack_a0[0] = (char *)0xa76c1;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa76de;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa76e9;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76f2;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76fe;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa770d;\n      iVar5 = FUN_000a7010();\n      if (iVar5 == 0) goto LAB_000a73fb;\nLAB_000a7644:\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[0xfffffffc] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[0xfffffffb] = (char *)0xa768b;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }\n    else {\n      piVar1 = *(int **)(**(int **)(local_64 + 4) + 0x3c);\n      local_54 = 0;\n      local_50 = 0;\n      iVar5 = *piVar1;\n      if (iVar5 != 0) {\n        iVar5 = (**(code **)(iVar5 + 0x18))(piVar1,&local_54);\n        ppcVar9 = apcStack_a0 + 1;\n        if ((iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))) {\n          iVar5 = 1;\n          apcStack_a0[0] = (char *)0xa7644;\n          FUN_0002ec00();\n          goto LAB_000a7644;\n        }\n      }\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) | 8;\n      apcStack_a0[0] = (char *)0xa73a5;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa73c2;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa73cd;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73d6;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73e2;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa73f1;\n      iVar5 = FUN_000a7010();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\nLAB_000a73fb:\n      apcStack_a0[0] = (char *)0xa7408;\n      iVar5 = FUN_00062b70();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\n      if (*(char *)(**(int **)((int)local_90[1] + 4) + 5) == '\x05') {\n        *(undefined4 *)(param_2 + 0x58) = 0;\n      }\n      iVar5 = FUN_00041730(0);\n      if ((iVar5 != 0) ||\n         (((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0')))) {\n        iVar5 = 7;\n        ppcVar9 = apcStack_a0 + 1;\n        goto LAB_000a7644;\n      }\n      ppcVar9 = apcStack_a0 + 1;\n      if (*(char *)(param_2 + 0x50) < '\0') {\n        ppcVar9 = apcStack_a0;\n        apcStack_a0[0] = (char *)0xa7754;\n        entry();\n      }\n      ppcVar9[-1] = (char *)0xa7472;\n      FUN_00028170();\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = *(undefined1 *)(ppcVar9 + 8);\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcc7);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa748f;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcac);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74ae;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc9e);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74d4;\n      iVar5 = FUN_000a7160();\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) & 0xfffffffb;\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc78);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74f7;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[8] = (char *)(ppcVar9 + 0x11);\n      iVar10 = 0;\n      do {\n        ppcVar9[-1] = (char *)0xa7523;\n        FUN_000341f0();\n        ppcVar9[-1] = (char *)0xa753a;\n        iVar5 = FUN_000633c0();\n        if (iVar5 != 0) goto LAB_000a7644;\n        iVar10 = iVar10 + 2;\n      } while (iVar10 != 10);\n      if (*ppcVar9 == (char *)0x0) {\n        if (ppcVar9[4][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7778;\n          FUN_00027820();\n        }\n        if (ppcVar9[0xe][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7787;\n          FUN_00027820();\n        }\n        iVar5 = **(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        *ppcVar9 = (char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        if (iVar5 == 0) {\nLAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;\n          ppcVar12 = ppcVar11;\n          for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }\n          pcVar7 = *(char **)ppcVar9[0xe];\n          ppcVar9[0x18] = ppcVar9[0xe];\n          ppcVar9[0x16] = (char *)0x1;\n          ppcVar9[0x17] = pcVar7;\n          pcVar7 = ppcVar9[4];\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = pcVar7;\n          ppcVar9[-3] = (char *)0x7fffffff;\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7820;\n          sqlite3_backup_step();\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7828;\n          iVar5 = sqlite3_backup_finish();\n          if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }\n        }\n        else {\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }\n        pcVar7 = ppcVar9[0xe];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }\n        }\n        pcVar7 = ppcVar9[4];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }\n        }\n        if (iVar5 == 0) {\n          ppcVar9[-1] = (char *)0xa7896;\n          iVar5 = FUN_0006aff0();\n          if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }\n        }\n        goto LAB_000a7644;\n      }\n      ppcVar9[-1] = (char *)0xa755d;\n      iVar5 = FUN_0006aff0();\n      if (iVar5 != 0) goto LAB_000a7644;\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      iVar5 = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[-4] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[-5] = (char *)0xa75ae;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }\n    iVar10 = *(int *)((int)ppcVar9 + 0xc);\n    *(undefined4 *)((int)ppcVar9 + -4) = 0xa769e;\n    FUN_0006de60();\n    *(undefined4 *)(iVar10 + 4) = 0;\n    *(undefined4 *)(iVar10 + 0xc) = 0;\n  }\n  else {\n    *(undefined1 *)(param_2 + 0xa0) = 0;\n    *(char **)(param_2 + 0x18) = local_90[2];\n    *(uint *)(param_2 + 0x1c) = local_98[0];\n    *(uint *)(param_2 + 0x20) = local_98[1];\n    *(char **)(param_2 + 0x60) = local_90[3];\n    *(char **)(param_2 + 100) = local_90[4];\n    *(undefined1 *)(param_2 + 0x54) = local_71;\n    FUN_00041730(1);\n    *(undefined1 *)(param_2 + 0x4b) = 1;\n    ppcVar9 = apcStack_a0 + 1;\n  }\n  ppcVar9[0xffffffff] = (char *)0xa7625;\n  FUN_000462f0();\nLAB_000a7232:\n  if (ppcVar9[0x1f] != *(char **)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    ppcVar9[0xffffffff] = (char *)0xa7760;\n    FUN_000a9ea0();\n  }\n  return iVar5;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_000a71a0(undefined4 param_1,int param_2,int param_3,int param_4)" identifier (parameter_list "(undefined4 param_1,int param_2,int param_3,int param_4)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int param_4" primitive_type identifier) ))) (compound_statement "{\n  int *piVar1;\n  uint uVar2;\n  code *pcVar3;\n  longlong lVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  char *pcVar7;\n  undefined **ppuVar8;\n  char **ppcVar9;\n  int iVar10;\n  char **ppcVar11;\n  char **ppcVar12;\n  int in_GS_OFFSET;\n  byte bVar13;\n  char *apcStackY_b8 [3];\n  char *apcStack_a0 [2];\n  uint local_98 [2];\n  char *local_90 [5];\n  undefined4 local_7c;\n  undefined1 local_71;\n  int local_70;\n  undefined4 local_6c;\n  char local_65;\n  int local_64;\n  undefined4 local_60;\n  int local_54;\n  int local_50;\n  char *apcStack_28 [5];\n  undefined4 uStack_14;\n  \n  bVar13 = 0;\n  uStack_14 = 0xa71ad;\n  ppuVar8 = &__DT_PLTGOT;\n  ppcVar9 = apcStack_a0 + 1;\n  apcStack_a0[1] = (char *)param_4;\n  apcStack_28[2] = *(char **)(in_GS_OFFSET + 0x14);\n  if (*(char *)(param_2 + 0x4b) == '\0') {\n    iVar5 = 1;\n    apcStack_a0[0] = (char *)0xa7262;\n    FUN_0002ec00();\n    goto LAB_000a7232;\n  }\n  if (1 < *(int *)(param_2 + 0xa8)) {\n    iVar5 = 1;\n    apcStack_a0[0] = (char *)0xa7232;\n    FUN_0002ec00();\n    ppcVar9 = apcStack_a0 + 1;\n    goto LAB_000a7232;\n  }\n  local_90[0] = *(char **)(param_2 + 0x38);\n  if (param_4 == 0) {\n    apcStack_a0[0] = "";\n  }\n  else {\n    iVar5 = sqlite3_value_type(param_4);\n    if (iVar5 != 3) {\n      iVar5 = 1;\n      apcStack_a0[0] = (char *)0xa7217;\n      FUN_0002ec00();\n      ppcVar9 = apcStack_a0 + 1;\n      goto LAB_000a7232;\n    }\n    apcStack_a0[0] = (char *)sqlite3_value_text(apcStack_a0[1]);\n    *(uint *)(param_2 + 0x38) = *(uint *)(param_2 + 0x38) & 0xfffffffe | 6;\n  }\n  local_98[0] = *(uint *)(param_2 + 0x1c);\n  local_90[2] = *(char **)(param_2 + 0x18);\n  local_70 = param_3 * 0x10;\n  local_98[1] = *(uint *)(param_2 + 0x20);\n  *(uint *)(param_2 + 0x18) = (uint)local_90[2] | 6;\n  local_90[3] = *(char **)(param_2 + 0x60);\n  local_90[4] = *(char **)(param_2 + 100);\n  *(uint *)(param_2 + 0x1c) = local_98[0] & 0xefffafff | 0x201;\n  puVar6 = (undefined4 *)(local_70 + *(int *)(param_2 + 0x10));\n  local_71 = *(undefined1 *)(param_2 + 0x54);\n  *(undefined1 *)(param_2 + 0x54) = 0;\n  *(uint *)(param_2 + 0x20) = local_98[1] & 0xfffffffe;\n  local_6c = *puVar6;\n  local_90[1] = (char *)puVar6[1];\n  local_65 = *(char *)(**(int **)((int)local_90[1] + 4) + 0xc);\n  local_7c = *(int *)(param_2 + 0x14);\n  iVar5 = FUN_000a7160(param_2,param_1,"ATTACH %Q AS vacuum_db");\n  ppcVar9 = apcStack_a0 + 1;\n  *(char **)(param_2 + 0x38) = local_90[0];\n  if (iVar5 == 0) {\n    local_90[0] = (char *)(local_7c * 0x10 + *(int *)(param_2 + 0x10));\n    local_64 = *(int *)((int)local_90[0] + 4);\n    if (apcStack_a0[1] == (char *)0x0) {\n      apcStack_a0[0] = (char *)0xa76c1;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa76de;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa76e9;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76f2;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76fe;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa770d;\n      iVar5 = FUN_000a7010();\n      if (iVar5 == 0) goto LAB_000a73fb;\nLAB_000a7644:\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[0xfffffffc] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[0xfffffffb] = (char *)0xa768b;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }\n    else {\n      piVar1 = *(int **)(**(int **)(local_64 + 4) + 0x3c);\n      local_54 = 0;\n      local_50 = 0;\n      iVar5 = *piVar1;\n      if (iVar5 != 0) {\n        iVar5 = (**(code **)(iVar5 + 0x18))(piVar1,&local_54);\n        ppcVar9 = apcStack_a0 + 1;\n        if ((iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))) {\n          iVar5 = 1;\n          apcStack_a0[0] = (char *)0xa7644;\n          FUN_0002ec00();\n          goto LAB_000a7644;\n        }\n      }\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) | 8;\n      apcStack_a0[0] = (char *)0xa73a5;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa73c2;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa73cd;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73d6;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73e2;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa73f1;\n      iVar5 = FUN_000a7010();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\nLAB_000a73fb:\n      apcStack_a0[0] = (char *)0xa7408;\n      iVar5 = FUN_00062b70();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\n      if (*(char *)(**(int **)((int)local_90[1] + 4) + 5) == '\x05') {\n        *(undefined4 *)(param_2 + 0x58) = 0;\n      }\n      iVar5 = FUN_00041730(0);\n      if ((iVar5 != 0) ||\n         (((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0')))) {\n        iVar5 = 7;\n        ppcVar9 = apcStack_a0 + 1;\n        goto LAB_000a7644;\n      }\n      ppcVar9 = apcStack_a0 + 1;\n      if (*(char *)(param_2 + 0x50) < '\0') {\n        ppcVar9 = apcStack_a0;\n        apcStack_a0[0] = (char *)0xa7754;\n        entry();\n      }\n      ppcVar9[-1] = (char *)0xa7472;\n      FUN_00028170();\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = *(undefined1 *)(ppcVar9 + 8);\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcc7);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa748f;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcac);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74ae;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc9e);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74d4;\n      iVar5 = FUN_000a7160();\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) & 0xfffffffb;\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc78);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74f7;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[8] = (char *)(ppcVar9 + 0x11);\n      iVar10 = 0;\n      do {\n        ppcVar9[-1] = (char *)0xa7523;\n        FUN_000341f0();\n        ppcVar9[-1] = (char *)0xa753a;\n        iVar5 = FUN_000633c0();\n        if (iVar5 != 0) goto LAB_000a7644;\n        iVar10 = iVar10 + 2;\n      } while (iVar10 != 10);\n      if (*ppcVar9 == (char *)0x0) {\n        if (ppcVar9[4][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7778;\n          FUN_00027820();\n        }\n        if (ppcVar9[0xe][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7787;\n          FUN_00027820();\n        }\n        iVar5 = **(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        *ppcVar9 = (char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        if (iVar5 == 0) {\nLAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;\n          ppcVar12 = ppcVar11;\n          for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }\n          pcVar7 = *(char **)ppcVar9[0xe];\n          ppcVar9[0x18] = ppcVar9[0xe];\n          ppcVar9[0x16] = (char *)0x1;\n          ppcVar9[0x17] = pcVar7;\n          pcVar7 = ppcVar9[4];\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = pcVar7;\n          ppcVar9[-3] = (char *)0x7fffffff;\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7820;\n          sqlite3_backup_step();\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7828;\n          iVar5 = sqlite3_backup_finish();\n          if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }\n        }\n        else {\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }\n        pcVar7 = ppcVar9[0xe];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }\n        }\n        pcVar7 = ppcVar9[4];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }\n        }\n        if (iVar5 == 0) {\n          ppcVar9[-1] = (char *)0xa7896;\n          iVar5 = FUN_0006aff0();\n          if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }\n        }\n        goto LAB_000a7644;\n      }\n      ppcVar9[-1] = (char *)0xa755d;\n      iVar5 = FUN_0006aff0();\n      if (iVar5 != 0) goto LAB_000a7644;\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      iVar5 = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[-4] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[-5] = (char *)0xa75ae;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }\n    iVar10 = *(int *)((int)ppcVar9 + 0xc);\n    *(undefined4 *)((int)ppcVar9 + -4) = 0xa769e;\n    FUN_0006de60();\n    *(undefined4 *)(iVar10 + 4) = 0;\n    *(undefined4 *)(iVar10 + 0xc) = 0;\n  }\n  else {\n    *(undefined1 *)(param_2 + 0xa0) = 0;\n    *(char **)(param_2 + 0x18) = local_90[2];\n    *(uint *)(param_2 + 0x1c) = local_98[0];\n    *(uint *)(param_2 + 0x20) = local_98[1];\n    *(char **)(param_2 + 0x60) = local_90[3];\n    *(char **)(param_2 + 100) = local_90[4];\n    *(undefined1 *)(param_2 + 0x54) = local_71;\n    FUN_00041730(1);\n    *(undefined1 *)(param_2 + 0x4b) = 1;\n    ppcVar9 = apcStack_a0 + 1;\n  }\n  ppcVar9[0xffffffff] = (char *)0xa7625;\n  FUN_000462f0();\nLAB_000a7232:\n  if (ppcVar9[0x1f] != *(char **)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    ppcVar9[0xffffffff] = (char *)0xa7760;\n    FUN_000a9ea0();\n  }\n  return iVar5;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "code *pcVar3;" type_identifier (pointer_declarator "*pcVar3" * identifier) ;) (declaration "longlong lVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "undefined **ppuVar8;" type_identifier (pointer_declarator "**ppuVar8" * (pointer_declarator "*ppuVar8" * identifier)) ;) (declaration "char **ppcVar9;" primitive_type (pointer_declarator "**ppcVar9" * (pointer_declarator "*ppcVar9" * identifier)) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "char **ppcVar11;" primitive_type (pointer_declarator "**ppcVar11" * (pointer_declarator "*ppcVar11" * identifier)) ;) (declaration "char **ppcVar12;" primitive_type (pointer_declarator "**ppcVar12" * (pointer_declarator "*ppcVar12" * identifier)) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "byte bVar13;" type_identifier identifier ;) (declaration "char *apcStackY_b8 [3];" primitive_type (pointer_declarator "*apcStackY_b8 [3]" * (array_declarator "apcStackY_b8 [3]" identifier [ number_literal ])) ;) (declaration "char *apcStack_a0 [2];" primitive_type (pointer_declarator "*apcStack_a0 [2]" * (array_declarator "apcStack_a0 [2]" identifier [ number_literal ])) ;) (declaration "uint local_98 [2];" type_identifier (array_declarator "local_98 [2]" identifier [ number_literal ]) ;) (declaration "char *local_90 [5];" primitive_type (pointer_declarator "*local_90 [5]" * (array_declarator "local_90 [5]" identifier [ number_literal ])) ;) (declaration "undefined4 local_7c;" type_identifier identifier ;) (declaration "undefined1 local_71;" type_identifier identifier ;) (declaration "int local_70;" primitive_type identifier ;) (declaration "undefined4 local_6c;" type_identifier identifier ;) (declaration "char local_65;" primitive_type identifier ;) (declaration "int local_64;" primitive_type identifier ;) (declaration "undefined4 local_60;" type_identifier identifier ;) (declaration "int local_54;" primitive_type identifier ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "char *apcStack_28 [5];" primitive_type (pointer_declarator "*apcStack_28 [5]" * (array_declarator "apcStack_28 [5]" identifier [ number_literal ])) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar13 = 0;" (assignment_expression "bVar13 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0xa71ad;" (assignment_expression "uStack_14 = 0xa71ad" identifier = number_literal) ;) (expression_statement "ppuVar8 = &__DT_PLTGOT;" (assignment_expression "ppuVar8 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "ppcVar9 = apcStack_a0 + 1;" (assignment_expression "ppcVar9 = apcStack_a0 + 1" identifier = (binary_expression "apcStack_a0 + 1" identifier + number_literal)) ;) (expression_statement "apcStack_a0[1] = (char *)param_4;" (assignment_expression "apcStack_a0[1] = (char *)param_4" (subscript_expression "apcStack_a0[1]" identifier [ number_literal ]) = (cast_expression "(char *)param_4" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "apcStack_28[2] = *(char **)(in_GS_OFFSET + 0x14);" (assignment_expression "apcStack_28[2] = *(char **)(in_GS_OFFSET + 0x14)" (subscript_expression "apcStack_28[2]" identifier [ number_literal ]) = (pointer_expression "*(char **)(in_GS_OFFSET + 0x14)" * (cast_expression "(char **)(in_GS_OFFSET + 0x14)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (*(char *)(param_2 + 0x4b) == '\0') {\n    iVar5 = 1;\n    apcStack_a0[0] = (char *)0xa7262;\n    FUN_0002ec00();\n    goto LAB_000a7232;\n  }" if (parenthesized_expression "(*(char *)(param_2 + 0x4b) == '\0')" ( (binary_expression "*(char *)(param_2 + 0x4b) == '\0'" (pointer_expression "*(char *)(param_2 + 0x4b)" * (cast_expression "(char *)(param_2 + 0x4b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x4b)" ( (binary_expression "param_2 + 0x4b" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    iVar5 = 1;\n    apcStack_a0[0] = (char *)0xa7262;\n    FUN_0002ec00();\n    goto LAB_000a7232;\n  }" { (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (expression_statement "apcStack_a0[0] = (char *)0xa7262;" (assignment_expression "apcStack_a0[0] = (char *)0xa7262" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)0xa7262" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_0002ec00();" (call_expression "FUN_0002ec00()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_000a7232;" goto statement_identifier ;) })) (if_statement "if (1 < *(int *)(param_2 + 0xa8)) {\n    iVar5 = 1;\n    apcStack_a0[0] = (char *)0xa7232;\n    FUN_0002ec00();\n    ppcVar9 = apcStack_a0 + 1;\n    goto LAB_000a7232;\n  }" if (parenthesized_expression "(1 < *(int *)(param_2 + 0xa8))" ( (binary_expression "1 < *(int *)(param_2 + 0xa8)" number_literal < (pointer_expression "*(int *)(param_2 + 0xa8)" * (cast_expression "(int *)(param_2 + 0xa8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xa8)" ( (binary_expression "param_2 + 0xa8" identifier + number_literal) ))))) )) (compound_statement "{\n    iVar5 = 1;\n    apcStack_a0[0] = (char *)0xa7232;\n    FUN_0002ec00();\n    ppcVar9 = apcStack_a0 + 1;\n    goto LAB_000a7232;\n  }" { (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (expression_statement "apcStack_a0[0] = (char *)0xa7232;" (assignment_expression "apcStack_a0[0] = (char *)0xa7232" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)0xa7232" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_0002ec00();" (call_expression "FUN_0002ec00()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppcVar9 = apcStack_a0 + 1;" (assignment_expression "ppcVar9 = apcStack_a0 + 1" identifier = (binary_expression "apcStack_a0 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_000a7232;" goto statement_identifier ;) })) (expression_statement "local_90[0] = *(char **)(param_2 + 0x38);" (assignment_expression "local_90[0] = *(char **)(param_2 + 0x38)" (subscript_expression "local_90[0]" identifier [ number_literal ]) = (pointer_expression "*(char **)(param_2 + 0x38)" * (cast_expression "(char **)(param_2 + 0x38)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x38)" ( (binary_expression "param_2 + 0x38" identifier + number_literal) ))))) ;) (if_statement "if (param_4 == 0) {\n    apcStack_a0[0] = "";\n  }\n  else {\n    iVar5 = sqlite3_value_type(param_4);\n    if (iVar5 != 3) {\n      iVar5 = 1;\n      apcStack_a0[0] = (char *)0xa7217;\n      FUN_0002ec00();\n      ppcVar9 = apcStack_a0 + 1;\n      goto LAB_000a7232;\n    }\n    apcStack_a0[0] = (char *)sqlite3_value_text(apcStack_a0[1]);\n    *(uint *)(param_2 + 0x38) = *(uint *)(param_2 + 0x38) & 0xfffffffe | 6;\n  }" if (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) (compound_statement "{\n    apcStack_a0[0] = "";\n  }" { (expression_statement "apcStack_a0[0] = "";" (assignment_expression "apcStack_a0[0] = """ (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (string_literal """" " ")) ;) }) (else_clause "else {\n    iVar5 = sqlite3_value_type(param_4);\n    if (iVar5 != 3) {\n      iVar5 = 1;\n      apcStack_a0[0] = (char *)0xa7217;\n      FUN_0002ec00();\n      ppcVar9 = apcStack_a0 + 1;\n      goto LAB_000a7232;\n    }\n    apcStack_a0[0] = (char *)sqlite3_value_text(apcStack_a0[1]);\n    *(uint *)(param_2 + 0x38) = *(uint *)(param_2 + 0x38) & 0xfffffffe | 6;\n  }" else (compound_statement "{\n    iVar5 = sqlite3_value_type(param_4);\n    if (iVar5 != 3) {\n      iVar5 = 1;\n      apcStack_a0[0] = (char *)0xa7217;\n      FUN_0002ec00();\n      ppcVar9 = apcStack_a0 + 1;\n      goto LAB_000a7232;\n    }\n    apcStack_a0[0] = (char *)sqlite3_value_text(apcStack_a0[1]);\n    *(uint *)(param_2 + 0x38) = *(uint *)(param_2 + 0x38) & 0xfffffffe | 6;\n  }" { (expression_statement "iVar5 = sqlite3_value_type(param_4);" (assignment_expression "iVar5 = sqlite3_value_type(param_4)" identifier = (call_expression "sqlite3_value_type(param_4)" identifier (argument_list "(param_4)" ( identifier )))) ;) (if_statement "if (iVar5 != 3) {\n      iVar5 = 1;\n      apcStack_a0[0] = (char *)0xa7217;\n      FUN_0002ec00();\n      ppcVar9 = apcStack_a0 + 1;\n      goto LAB_000a7232;\n    }" if (parenthesized_expression "(iVar5 != 3)" ( (binary_expression "iVar5 != 3" identifier != number_literal) )) (compound_statement "{\n      iVar5 = 1;\n      apcStack_a0[0] = (char *)0xa7217;\n      FUN_0002ec00();\n      ppcVar9 = apcStack_a0 + 1;\n      goto LAB_000a7232;\n    }" { (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (expression_statement "apcStack_a0[0] = (char *)0xa7217;" (assignment_expression "apcStack_a0[0] = (char *)0xa7217" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)0xa7217" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_0002ec00();" (call_expression "FUN_0002ec00()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppcVar9 = apcStack_a0 + 1;" (assignment_expression "ppcVar9 = apcStack_a0 + 1" identifier = (binary_expression "apcStack_a0 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_000a7232;" goto statement_identifier ;) })) (expression_statement "apcStack_a0[0] = (char *)sqlite3_value_text(apcStack_a0[1]);" (assignment_expression "apcStack_a0[0] = (char *)sqlite3_value_text(apcStack_a0[1])" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)sqlite3_value_text(apcStack_a0[1])" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "sqlite3_value_text(apcStack_a0[1])" identifier (argument_list "(apcStack_a0[1])" ( (subscript_expression "apcStack_a0[1]" identifier [ number_literal ]) ))))) ;) (expression_statement "*(uint *)(param_2 + 0x38) = *(uint *)(param_2 + 0x38) & 0xfffffffe | 6;" (assignment_expression "*(uint *)(param_2 + 0x38) = *(uint *)(param_2 + 0x38) & 0xfffffffe | 6" (pointer_expression "*(uint *)(param_2 + 0x38)" * (cast_expression "(uint *)(param_2 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x38)" ( (binary_expression "param_2 + 0x38" identifier + number_literal) )))) = (binary_expression "*(uint *)(param_2 + 0x38) & 0xfffffffe | 6" (binary_expression "*(uint *)(param_2 + 0x38) & 0xfffffffe" (pointer_expression "*(uint *)(param_2 + 0x38)" * (cast_expression "(uint *)(param_2 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x38)" ( (binary_expression "param_2 + 0x38" identifier + number_literal) )))) & number_literal) | number_literal)) ;) }))) (expression_statement "local_98[0] = *(uint *)(param_2 + 0x1c);" (assignment_expression "local_98[0] = *(uint *)(param_2 + 0x1c)" (subscript_expression "local_98[0]" identifier [ number_literal ]) = (pointer_expression "*(uint *)(param_2 + 0x1c)" * (cast_expression "(uint *)(param_2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "local_90[2] = *(char **)(param_2 + 0x18);" (assignment_expression "local_90[2] = *(char **)(param_2 + 0x18)" (subscript_expression "local_90[2]" identifier [ number_literal ]) = (pointer_expression "*(char **)(param_2 + 0x18)" * (cast_expression "(char **)(param_2 + 0x18)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "local_70 = param_3 * 0x10;" (assignment_expression "local_70 = param_3 * 0x10" identifier = (binary_expression "param_3 * 0x10" identifier * number_literal)) ;) (expression_statement "local_98[1] = *(uint *)(param_2 + 0x20);" (assignment_expression "local_98[1] = *(uint *)(param_2 + 0x20)" (subscript_expression "local_98[1]" identifier [ number_literal ]) = (pointer_expression "*(uint *)(param_2 + 0x20)" * (cast_expression "(uint *)(param_2 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x20)" ( (binary_expression "param_2 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(param_2 + 0x18) = (uint)local_90[2] | 6;" (assignment_expression "*(uint *)(param_2 + 0x18) = (uint)local_90[2] | 6" (pointer_expression "*(uint *)(param_2 + 0x18)" * (cast_expression "(uint *)(param_2 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) )))) = (binary_expression "(uint)local_90[2] | 6" (cast_expression "(uint)local_90[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_90[2]" identifier [ number_literal ])) | number_literal)) ;) (expression_statement "local_90[3] = *(char **)(param_2 + 0x60);" (assignment_expression "local_90[3] = *(char **)(param_2 + 0x60)" (subscript_expression "local_90[3]" identifier [ number_literal ]) = (pointer_expression "*(char **)(param_2 + 0x60)" * (cast_expression "(char **)(param_2 + 0x60)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x60)" ( (binary_expression "param_2 + 0x60" identifier + number_literal) ))))) ;) (expression_statement "local_90[4] = *(char **)(param_2 + 100);" (assignment_expression "local_90[4] = *(char **)(param_2 + 100)" (subscript_expression "local_90[4]" identifier [ number_literal ]) = (pointer_expression "*(char **)(param_2 + 100)" * (cast_expression "(char **)(param_2 + 100)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 100)" ( (binary_expression "param_2 + 100" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(param_2 + 0x1c) = local_98[0] & 0xefffafff | 0x201;" (assignment_expression "*(uint *)(param_2 + 0x1c) = local_98[0] & 0xefffafff | 0x201" (pointer_expression "*(uint *)(param_2 + 0x1c)" * (cast_expression "(uint *)(param_2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) )))) = (binary_expression "local_98[0] & 0xefffafff | 0x201" (binary_expression "local_98[0] & 0xefffafff" (subscript_expression "local_98[0]" identifier [ number_literal ]) & number_literal) | number_literal)) ;) (expression_statement "puVar6 = (undefined4 *)(local_70 + *(int *)(param_2 + 0x10));" (assignment_expression "puVar6 = (undefined4 *)(local_70 + *(int *)(param_2 + 0x10))" identifier = (cast_expression "(undefined4 *)(local_70 + *(int *)(param_2 + 0x10))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_70 + *(int *)(param_2 + 0x10))" ( (binary_expression "local_70 + *(int *)(param_2 + 0x10)" identifier + (pointer_expression "*(int *)(param_2 + 0x10)" * (cast_expression "(int *)(param_2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) ))))) )))) ;) (expression_statement "local_71 = *(undefined1 *)(param_2 + 0x54);" (assignment_expression "local_71 = *(undefined1 *)(param_2 + 0x54)" identifier = (pointer_expression "*(undefined1 *)(param_2 + 0x54)" * (cast_expression "(undefined1 *)(param_2 + 0x54)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x54)" ( (binary_expression "param_2 + 0x54" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 *)(param_2 + 0x54) = 0;" (assignment_expression "*(undefined1 *)(param_2 + 0x54) = 0" (pointer_expression "*(undefined1 *)(param_2 + 0x54)" * (cast_expression "(undefined1 *)(param_2 + 0x54)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x54)" ( (binary_expression "param_2 + 0x54" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(uint *)(param_2 + 0x20) = local_98[1] & 0xfffffffe;" (assignment_expression "*(uint *)(param_2 + 0x20) = local_98[1] & 0xfffffffe" (pointer_expression "*(uint *)(param_2 + 0x20)" * (cast_expression "(uint *)(param_2 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x20)" ( (binary_expression "param_2 + 0x20" identifier + number_literal) )))) = (binary_expression "local_98[1] & 0xfffffffe" (subscript_expression "local_98[1]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "local_6c = *puVar6;" (assignment_expression "local_6c = *puVar6" identifier = (pointer_expression "*puVar6" * identifier)) ;) (expression_statement "local_90[1] = (char *)puVar6[1];" (assignment_expression "local_90[1] = (char *)puVar6[1]" (subscript_expression "local_90[1]" identifier [ number_literal ]) = (cast_expression "(char *)puVar6[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[1]" identifier [ number_literal ]))) ;) (expression_statement "local_65 = *(char *)(**(int **)((int)local_90[1] + 4) + 0xc);" (assignment_expression "local_65 = *(char *)(**(int **)((int)local_90[1] + 4) + 0xc)" identifier = (pointer_expression "*(char *)(**(int **)((int)local_90[1] + 4) + 0xc)" * (cast_expression "(char *)(**(int **)((int)local_90[1] + 4) + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)((int)local_90[1] + 4) + 0xc)" ( (binary_expression "**(int **)((int)local_90[1] + 4) + 0xc" (pointer_expression "**(int **)((int)local_90[1] + 4)" * (pointer_expression "*(int **)((int)local_90[1] + 4)" * (cast_expression "(int **)((int)local_90[1] + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_90[1] + 4)" ( (binary_expression "(int)local_90[1] + 4" (cast_expression "(int)local_90[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_90[1]" identifier [ number_literal ])) + number_literal) ))))) + number_literal) ))))) ;) (expression_statement "local_7c = *(int *)(param_2 + 0x14);" (assignment_expression "local_7c = *(int *)(param_2 + 0x14)" identifier = (pointer_expression "*(int *)(param_2 + 0x14)" * (cast_expression "(int *)(param_2 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x14)" ( (binary_expression "param_2 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = FUN_000a7160(param_2,param_1,"ATTACH %Q AS vacuum_db");" (assignment_expression "iVar5 = FUN_000a7160(param_2,param_1,"ATTACH %Q AS vacuum_db")" identifier = (call_expression "FUN_000a7160(param_2,param_1,"ATTACH %Q AS vacuum_db")" identifier (argument_list "(param_2,param_1,"ATTACH %Q AS vacuum_db")" ( identifier , identifier , (string_literal ""ATTACH %Q AS vacuum_db"" " string_content ") )))) ;) (expression_statement "ppcVar9 = apcStack_a0 + 1;" (assignment_expression "ppcVar9 = apcStack_a0 + 1" identifier = (binary_expression "apcStack_a0 + 1" identifier + number_literal)) ;) (expression_statement "*(char **)(param_2 + 0x38) = local_90[0];" (assignment_expression "*(char **)(param_2 + 0x38) = local_90[0]" (pointer_expression "*(char **)(param_2 + 0x38)" * (cast_expression "(char **)(param_2 + 0x38)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x38)" ( (binary_expression "param_2 + 0x38" identifier + number_literal) )))) = (subscript_expression "local_90[0]" identifier [ number_literal ])) ;) (if_statement "if (iVar5 == 0) {\n    local_90[0] = (char *)(local_7c * 0x10 + *(int *)(param_2 + 0x10));\n    local_64 = *(int *)((int)local_90[0] + 4);\n    if (apcStack_a0[1] == (char *)0x0) {\n      apcStack_a0[0] = (char *)0xa76c1;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa76de;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa76e9;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76f2;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76fe;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa770d;\n      iVar5 = FUN_000a7010();\n      if (iVar5 == 0) goto LAB_000a73fb;\nLAB_000a7644:\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[0xfffffffc] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[0xfffffffb] = (char *)0xa768b;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }\n    else {\n      piVar1 = *(int **)(**(int **)(local_64 + 4) + 0x3c);\n      local_54 = 0;\n      local_50 = 0;\n      iVar5 = *piVar1;\n      if (iVar5 != 0) {\n        iVar5 = (**(code **)(iVar5 + 0x18))(piVar1,&local_54);\n        ppcVar9 = apcStack_a0 + 1;\n        if ((iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))) {\n          iVar5 = 1;\n          apcStack_a0[0] = (char *)0xa7644;\n          FUN_0002ec00();\n          goto LAB_000a7644;\n        }\n      }\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) | 8;\n      apcStack_a0[0] = (char *)0xa73a5;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa73c2;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa73cd;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73d6;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73e2;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa73f1;\n      iVar5 = FUN_000a7010();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\nLAB_000a73fb:\n      apcStack_a0[0] = (char *)0xa7408;\n      iVar5 = FUN_00062b70();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\n      if (*(char *)(**(int **)((int)local_90[1] + 4) + 5) == '\x05') {\n        *(undefined4 *)(param_2 + 0x58) = 0;\n      }\n      iVar5 = FUN_00041730(0);\n      if ((iVar5 != 0) ||\n         (((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0')))) {\n        iVar5 = 7;\n        ppcVar9 = apcStack_a0 + 1;\n        goto LAB_000a7644;\n      }\n      ppcVar9 = apcStack_a0 + 1;\n      if (*(char *)(param_2 + 0x50) < '\0') {\n        ppcVar9 = apcStack_a0;\n        apcStack_a0[0] = (char *)0xa7754;\n        entry();\n      }\n      ppcVar9[-1] = (char *)0xa7472;\n      FUN_00028170();\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = *(undefined1 *)(ppcVar9 + 8);\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcc7);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa748f;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcac);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74ae;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc9e);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74d4;\n      iVar5 = FUN_000a7160();\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) & 0xfffffffb;\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc78);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74f7;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[8] = (char *)(ppcVar9 + 0x11);\n      iVar10 = 0;\n      do {\n        ppcVar9[-1] = (char *)0xa7523;\n        FUN_000341f0();\n        ppcVar9[-1] = (char *)0xa753a;\n        iVar5 = FUN_000633c0();\n        if (iVar5 != 0) goto LAB_000a7644;\n        iVar10 = iVar10 + 2;\n      } while (iVar10 != 10);\n      if (*ppcVar9 == (char *)0x0) {\n        if (ppcVar9[4][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7778;\n          FUN_00027820();\n        }\n        if (ppcVar9[0xe][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7787;\n          FUN_00027820();\n        }\n        iVar5 = **(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        *ppcVar9 = (char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        if (iVar5 == 0) {\nLAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;\n          ppcVar12 = ppcVar11;\n          for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }\n          pcVar7 = *(char **)ppcVar9[0xe];\n          ppcVar9[0x18] = ppcVar9[0xe];\n          ppcVar9[0x16] = (char *)0x1;\n          ppcVar9[0x17] = pcVar7;\n          pcVar7 = ppcVar9[4];\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = pcVar7;\n          ppcVar9[-3] = (char *)0x7fffffff;\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7820;\n          sqlite3_backup_step();\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7828;\n          iVar5 = sqlite3_backup_finish();\n          if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }\n        }\n        else {\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }\n        pcVar7 = ppcVar9[0xe];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }\n        }\n        pcVar7 = ppcVar9[4];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }\n        }\n        if (iVar5 == 0) {\n          ppcVar9[-1] = (char *)0xa7896;\n          iVar5 = FUN_0006aff0();\n          if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }\n        }\n        goto LAB_000a7644;\n      }\n      ppcVar9[-1] = (char *)0xa755d;\n      iVar5 = FUN_0006aff0();\n      if (iVar5 != 0) goto LAB_000a7644;\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      iVar5 = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[-4] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[-5] = (char *)0xa75ae;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }\n    iVar10 = *(int *)((int)ppcVar9 + 0xc);\n    *(undefined4 *)((int)ppcVar9 + -4) = 0xa769e;\n    FUN_0006de60();\n    *(undefined4 *)(iVar10 + 4) = 0;\n    *(undefined4 *)(iVar10 + 0xc) = 0;\n  }\n  else {\n    *(undefined1 *)(param_2 + 0xa0) = 0;\n    *(char **)(param_2 + 0x18) = local_90[2];\n    *(uint *)(param_2 + 0x1c) = local_98[0];\n    *(uint *)(param_2 + 0x20) = local_98[1];\n    *(char **)(param_2 + 0x60) = local_90[3];\n    *(char **)(param_2 + 100) = local_90[4];\n    *(undefined1 *)(param_2 + 0x54) = local_71;\n    FUN_00041730(1);\n    *(undefined1 *)(param_2 + 0x4b) = 1;\n    ppcVar9 = apcStack_a0 + 1;\n  }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n    local_90[0] = (char *)(local_7c * 0x10 + *(int *)(param_2 + 0x10));\n    local_64 = *(int *)((int)local_90[0] + 4);\n    if (apcStack_a0[1] == (char *)0x0) {\n      apcStack_a0[0] = (char *)0xa76c1;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa76de;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa76e9;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76f2;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76fe;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa770d;\n      iVar5 = FUN_000a7010();\n      if (iVar5 == 0) goto LAB_000a73fb;\nLAB_000a7644:\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[0xfffffffc] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[0xfffffffb] = (char *)0xa768b;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }\n    else {\n      piVar1 = *(int **)(**(int **)(local_64 + 4) + 0x3c);\n      local_54 = 0;\n      local_50 = 0;\n      iVar5 = *piVar1;\n      if (iVar5 != 0) {\n        iVar5 = (**(code **)(iVar5 + 0x18))(piVar1,&local_54);\n        ppcVar9 = apcStack_a0 + 1;\n        if ((iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))) {\n          iVar5 = 1;\n          apcStack_a0[0] = (char *)0xa7644;\n          FUN_0002ec00();\n          goto LAB_000a7644;\n        }\n      }\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) | 8;\n      apcStack_a0[0] = (char *)0xa73a5;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa73c2;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa73cd;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73d6;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73e2;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa73f1;\n      iVar5 = FUN_000a7010();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\nLAB_000a73fb:\n      apcStack_a0[0] = (char *)0xa7408;\n      iVar5 = FUN_00062b70();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\n      if (*(char *)(**(int **)((int)local_90[1] + 4) + 5) == '\x05') {\n        *(undefined4 *)(param_2 + 0x58) = 0;\n      }\n      iVar5 = FUN_00041730(0);\n      if ((iVar5 != 0) ||\n         (((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0')))) {\n        iVar5 = 7;\n        ppcVar9 = apcStack_a0 + 1;\n        goto LAB_000a7644;\n      }\n      ppcVar9 = apcStack_a0 + 1;\n      if (*(char *)(param_2 + 0x50) < '\0') {\n        ppcVar9 = apcStack_a0;\n        apcStack_a0[0] = (char *)0xa7754;\n        entry();\n      }\n      ppcVar9[-1] = (char *)0xa7472;\n      FUN_00028170();\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = *(undefined1 *)(ppcVar9 + 8);\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcc7);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa748f;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcac);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74ae;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc9e);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74d4;\n      iVar5 = FUN_000a7160();\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) & 0xfffffffb;\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc78);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74f7;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[8] = (char *)(ppcVar9 + 0x11);\n      iVar10 = 0;\n      do {\n        ppcVar9[-1] = (char *)0xa7523;\n        FUN_000341f0();\n        ppcVar9[-1] = (char *)0xa753a;\n        iVar5 = FUN_000633c0();\n        if (iVar5 != 0) goto LAB_000a7644;\n        iVar10 = iVar10 + 2;\n      } while (iVar10 != 10);\n      if (*ppcVar9 == (char *)0x0) {\n        if (ppcVar9[4][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7778;\n          FUN_00027820();\n        }\n        if (ppcVar9[0xe][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7787;\n          FUN_00027820();\n        }\n        iVar5 = **(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        *ppcVar9 = (char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        if (iVar5 == 0) {\nLAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;\n          ppcVar12 = ppcVar11;\n          for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }\n          pcVar7 = *(char **)ppcVar9[0xe];\n          ppcVar9[0x18] = ppcVar9[0xe];\n          ppcVar9[0x16] = (char *)0x1;\n          ppcVar9[0x17] = pcVar7;\n          pcVar7 = ppcVar9[4];\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = pcVar7;\n          ppcVar9[-3] = (char *)0x7fffffff;\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7820;\n          sqlite3_backup_step();\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7828;\n          iVar5 = sqlite3_backup_finish();\n          if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }\n        }\n        else {\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }\n        pcVar7 = ppcVar9[0xe];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }\n        }\n        pcVar7 = ppcVar9[4];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }\n        }\n        if (iVar5 == 0) {\n          ppcVar9[-1] = (char *)0xa7896;\n          iVar5 = FUN_0006aff0();\n          if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }\n        }\n        goto LAB_000a7644;\n      }\n      ppcVar9[-1] = (char *)0xa755d;\n      iVar5 = FUN_0006aff0();\n      if (iVar5 != 0) goto LAB_000a7644;\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      iVar5 = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[-4] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[-5] = (char *)0xa75ae;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }\n    iVar10 = *(int *)((int)ppcVar9 + 0xc);\n    *(undefined4 *)((int)ppcVar9 + -4) = 0xa769e;\n    FUN_0006de60();\n    *(undefined4 *)(iVar10 + 4) = 0;\n    *(undefined4 *)(iVar10 + 0xc) = 0;\n  }" { (expression_statement "local_90[0] = (char *)(local_7c * 0x10 + *(int *)(param_2 + 0x10));" (assignment_expression "local_90[0] = (char *)(local_7c * 0x10 + *(int *)(param_2 + 0x10))" (subscript_expression "local_90[0]" identifier [ number_literal ]) = (cast_expression "(char *)(local_7c * 0x10 + *(int *)(param_2 + 0x10))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c * 0x10 + *(int *)(param_2 + 0x10))" ( (binary_expression "local_7c * 0x10 + *(int *)(param_2 + 0x10)" (binary_expression "local_7c * 0x10" identifier * number_literal) + (pointer_expression "*(int *)(param_2 + 0x10)" * (cast_expression "(int *)(param_2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) ))))) )))) ;) (expression_statement "local_64 = *(int *)((int)local_90[0] + 4);" (assignment_expression "local_64 = *(int *)((int)local_90[0] + 4)" identifier = (pointer_expression "*(int *)((int)local_90[0] + 4)" * (cast_expression "(int *)((int)local_90[0] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90[0] + 4)" ( (binary_expression "(int)local_90[0] + 4" (cast_expression "(int)local_90[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_90[0]" identifier [ number_literal ])) + number_literal) ))))) ;) (if_statement "if (apcStack_a0[1] == (char *)0x0) {\n      apcStack_a0[0] = (char *)0xa76c1;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa76de;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa76e9;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76f2;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76fe;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa770d;\n      iVar5 = FUN_000a7010();\n      if (iVar5 == 0) goto LAB_000a73fb;\nLAB_000a7644:\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[0xfffffffc] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[0xfffffffb] = (char *)0xa768b;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }\n    else {\n      piVar1 = *(int **)(**(int **)(local_64 + 4) + 0x3c);\n      local_54 = 0;\n      local_50 = 0;\n      iVar5 = *piVar1;\n      if (iVar5 != 0) {\n        iVar5 = (**(code **)(iVar5 + 0x18))(piVar1,&local_54);\n        ppcVar9 = apcStack_a0 + 1;\n        if ((iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))) {\n          iVar5 = 1;\n          apcStack_a0[0] = (char *)0xa7644;\n          FUN_0002ec00();\n          goto LAB_000a7644;\n        }\n      }\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) | 8;\n      apcStack_a0[0] = (char *)0xa73a5;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa73c2;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa73cd;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73d6;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73e2;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa73f1;\n      iVar5 = FUN_000a7010();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\nLAB_000a73fb:\n      apcStack_a0[0] = (char *)0xa7408;\n      iVar5 = FUN_00062b70();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\n      if (*(char *)(**(int **)((int)local_90[1] + 4) + 5) == '\x05') {\n        *(undefined4 *)(param_2 + 0x58) = 0;\n      }\n      iVar5 = FUN_00041730(0);\n      if ((iVar5 != 0) ||\n         (((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0')))) {\n        iVar5 = 7;\n        ppcVar9 = apcStack_a0 + 1;\n        goto LAB_000a7644;\n      }\n      ppcVar9 = apcStack_a0 + 1;\n      if (*(char *)(param_2 + 0x50) < '\0') {\n        ppcVar9 = apcStack_a0;\n        apcStack_a0[0] = (char *)0xa7754;\n        entry();\n      }\n      ppcVar9[-1] = (char *)0xa7472;\n      FUN_00028170();\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = *(undefined1 *)(ppcVar9 + 8);\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcc7);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa748f;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcac);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74ae;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc9e);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74d4;\n      iVar5 = FUN_000a7160();\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) & 0xfffffffb;\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc78);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74f7;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[8] = (char *)(ppcVar9 + 0x11);\n      iVar10 = 0;\n      do {\n        ppcVar9[-1] = (char *)0xa7523;\n        FUN_000341f0();\n        ppcVar9[-1] = (char *)0xa753a;\n        iVar5 = FUN_000633c0();\n        if (iVar5 != 0) goto LAB_000a7644;\n        iVar10 = iVar10 + 2;\n      } while (iVar10 != 10);\n      if (*ppcVar9 == (char *)0x0) {\n        if (ppcVar9[4][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7778;\n          FUN_00027820();\n        }\n        if (ppcVar9[0xe][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7787;\n          FUN_00027820();\n        }\n        iVar5 = **(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        *ppcVar9 = (char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        if (iVar5 == 0) {\nLAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;\n          ppcVar12 = ppcVar11;\n          for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }\n          pcVar7 = *(char **)ppcVar9[0xe];\n          ppcVar9[0x18] = ppcVar9[0xe];\n          ppcVar9[0x16] = (char *)0x1;\n          ppcVar9[0x17] = pcVar7;\n          pcVar7 = ppcVar9[4];\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = pcVar7;\n          ppcVar9[-3] = (char *)0x7fffffff;\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7820;\n          sqlite3_backup_step();\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7828;\n          iVar5 = sqlite3_backup_finish();\n          if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }\n        }\n        else {\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }\n        pcVar7 = ppcVar9[0xe];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }\n        }\n        pcVar7 = ppcVar9[4];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }\n        }\n        if (iVar5 == 0) {\n          ppcVar9[-1] = (char *)0xa7896;\n          iVar5 = FUN_0006aff0();\n          if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }\n        }\n        goto LAB_000a7644;\n      }\n      ppcVar9[-1] = (char *)0xa755d;\n      iVar5 = FUN_0006aff0();\n      if (iVar5 != 0) goto LAB_000a7644;\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      iVar5 = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[-4] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[-5] = (char *)0xa75ae;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }" if (parenthesized_expression "(apcStack_a0[1] == (char *)0x0)" ( (binary_expression "apcStack_a0[1] == (char *)0x0" (subscript_expression "apcStack_a0[1]" identifier [ number_literal ]) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      apcStack_a0[0] = (char *)0xa76c1;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa76de;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa76e9;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76f2;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76fe;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa770d;\n      iVar5 = FUN_000a7010();\n      if (iVar5 == 0) goto LAB_000a73fb;\nLAB_000a7644:\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[0xfffffffc] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[0xfffffffb] = (char *)0xa768b;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }" { (expression_statement "apcStack_a0[0] = (char *)0xa76c1;" (assignment_expression "apcStack_a0[0] = (char *)0xa76c1" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)0xa76c1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_60 = FUN_000279c0();" (assignment_expression "local_60 = FUN_000279c0()" identifier = (call_expression "FUN_000279c0()" identifier (argument_list "()" ( )))) ;) (expression_statement "apcStack_a0[0] = (char *)0xa76de;" (assignment_expression "apcStack_a0[0] = (char *)0xa76de" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)0xa76de" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00027ef0();" (call_expression "FUN_00027ef0()" identifier (argument_list "()" ( ))) ;) (expression_statement "apcStack_a0[0] = (char *)0xa76e9;" (assignment_expression "apcStack_a0[0] = (char *)0xa76e9" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)0xa76e9" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00027fa0();" (call_expression "FUN_00027fa0()" identifier (argument_list "()" ( ))) ;) (expression_statement "apcStack_a0[0] = (char *)0xa76f2;" (assignment_expression "apcStack_a0[0] = (char *)0xa76f2" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)0xa76f2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00027fa0();" (call_expression "FUN_00027fa0()" identifier (argument_list "()" ( ))) ;) (expression_statement "apcStack_a0[0] = (char *)0xa76fe;" (assignment_expression "apcStack_a0[0] = (char *)0xa76fe" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)0xa76fe" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_000280a0();" (call_expression "FUN_000280a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "apcStack_a0[0] = (char *)0xa770d;" (assignment_expression "apcStack_a0[0] = (char *)0xa770d" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)0xa770d" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar5 = FUN_000a7010();" (assignment_expression "iVar5 = FUN_000a7010()" identifier = (call_expression "FUN_000a7010()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar5 == 0) goto LAB_000a73fb;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000a73fb;" goto statement_identifier ;)) (labeled_statement "LAB_000a7644:\n      pcVar7 = ppcVar9[5];" statement_identifier : (expression_statement "pcVar7 = ppcVar9[5];" (assignment_expression "pcVar7 = ppcVar9[5]" identifier = (subscript_expression "ppcVar9[5]" identifier [ number_literal ])) ;)) (expression_statement "*(undefined1 *)(param_2 + 0xa0) = 0;" (assignment_expression "*(undefined1 *)(param_2 + 0xa0) = 0" (pointer_expression "*(undefined1 *)(param_2 + 0xa0)" * (cast_expression "(undefined1 *)(param_2 + 0xa0)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xa0)" ( (binary_expression "param_2 + 0xa0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(param_2 + 0x18) = pcVar7;" (assignment_expression "*(char **)(param_2 + 0x18) = pcVar7" (pointer_expression "*(char **)(param_2 + 0x18)" * (cast_expression "(char **)(param_2 + 0x18)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(param_2 + 0x1c) = ppcVar9[1];" (assignment_expression "*(char **)(param_2 + 0x1c) = ppcVar9[1]" (pointer_expression "*(char **)(param_2 + 0x1c)" * (cast_expression "(char **)(param_2 + 0x1c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) )))) = (subscript_expression "ppcVar9[1]" identifier [ number_literal ])) ;) (expression_statement "*(char **)(param_2 + 0x20) = ppcVar9[2];" (assignment_expression "*(char **)(param_2 + 0x20) = ppcVar9[2]" (pointer_expression "*(char **)(param_2 + 0x20)" * (cast_expression "(char **)(param_2 + 0x20)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x20)" ( (binary_expression "param_2 + 0x20" identifier + number_literal) )))) = (subscript_expression "ppcVar9[2]" identifier [ number_literal ])) ;) (expression_statement "*(char **)(param_2 + 0x60) = ppcVar9[6];" (assignment_expression "*(char **)(param_2 + 0x60) = ppcVar9[6]" (pointer_expression "*(char **)(param_2 + 0x60)" * (cast_expression "(char **)(param_2 + 0x60)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x60)" ( (binary_expression "param_2 + 0x60" identifier + number_literal) )))) = (subscript_expression "ppcVar9[6]" identifier [ number_literal ])) ;) (expression_statement "*(char **)(param_2 + 100) = ppcVar9[7];" (assignment_expression "*(char **)(param_2 + 100) = ppcVar9[7]" (pointer_expression "*(char **)(param_2 + 100)" * (cast_expression "(char **)(param_2 + 100)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 100)" ( (binary_expression "param_2 + 100" identifier + number_literal) )))) = (subscript_expression "ppcVar9[7]" identifier [ number_literal ])) ;) (expression_statement "ppcVar9[0xfffffffc] = (char *)0x1;" (assignment_expression "ppcVar9[0xfffffffc] = (char *)0x1" (subscript_expression "ppcVar9[0xfffffffc]" identifier [ number_literal ]) = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);" (assignment_expression "*(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b)" (pointer_expression "*(undefined1 *)(param_2 + 0x54)" * (cast_expression "(undefined1 *)(param_2 + 0x54)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x54)" ( (binary_expression "param_2 + 0x54" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)((int)ppcVar9 + 0x2b)" * (cast_expression "(undefined1 *)((int)ppcVar9 + 0x2b)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar9 + 0x2b)" ( (binary_expression "(int)ppcVar9 + 0x2b" (cast_expression "(int)ppcVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "ppcVar9[0xfffffffb] = (char *)0xa768b;" (assignment_expression "ppcVar9[0xfffffffb] = (char *)0xa768b" (subscript_expression "ppcVar9[0xfffffffb]" identifier [ number_literal ]) = (cast_expression "(char *)0xa768b" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00041730();" (call_expression "FUN_00041730()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined1 *)(param_2 + 0x4b) = 1;" (assignment_expression "*(undefined1 *)(param_2 + 0x4b) = 1" (pointer_expression "*(undefined1 *)(param_2 + 0x4b)" * (cast_expression "(undefined1 *)(param_2 + 0x4b)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x4b)" ( (binary_expression "param_2 + 0x4b" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n      piVar1 = *(int **)(**(int **)(local_64 + 4) + 0x3c);\n      local_54 = 0;\n      local_50 = 0;\n      iVar5 = *piVar1;\n      if (iVar5 != 0) {\n        iVar5 = (**(code **)(iVar5 + 0x18))(piVar1,&local_54);\n        ppcVar9 = apcStack_a0 + 1;\n        if ((iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))) {\n          iVar5 = 1;\n          apcStack_a0[0] = (char *)0xa7644;\n          FUN_0002ec00();\n          goto LAB_000a7644;\n        }\n      }\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) | 8;\n      apcStack_a0[0] = (char *)0xa73a5;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa73c2;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa73cd;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73d6;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73e2;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa73f1;\n      iVar5 = FUN_000a7010();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\nLAB_000a73fb:\n      apcStack_a0[0] = (char *)0xa7408;\n      iVar5 = FUN_00062b70();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\n      if (*(char *)(**(int **)((int)local_90[1] + 4) + 5) == '\x05') {\n        *(undefined4 *)(param_2 + 0x58) = 0;\n      }\n      iVar5 = FUN_00041730(0);\n      if ((iVar5 != 0) ||\n         (((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0')))) {\n        iVar5 = 7;\n        ppcVar9 = apcStack_a0 + 1;\n        goto LAB_000a7644;\n      }\n      ppcVar9 = apcStack_a0 + 1;\n      if (*(char *)(param_2 + 0x50) < '\0') {\n        ppcVar9 = apcStack_a0;\n        apcStack_a0[0] = (char *)0xa7754;\n        entry();\n      }\n      ppcVar9[-1] = (char *)0xa7472;\n      FUN_00028170();\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = *(undefined1 *)(ppcVar9 + 8);\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcc7);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa748f;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcac);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74ae;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc9e);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74d4;\n      iVar5 = FUN_000a7160();\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) & 0xfffffffb;\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc78);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74f7;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[8] = (char *)(ppcVar9 + 0x11);\n      iVar10 = 0;\n      do {\n        ppcVar9[-1] = (char *)0xa7523;\n        FUN_000341f0();\n        ppcVar9[-1] = (char *)0xa753a;\n        iVar5 = FUN_000633c0();\n        if (iVar5 != 0) goto LAB_000a7644;\n        iVar10 = iVar10 + 2;\n      } while (iVar10 != 10);\n      if (*ppcVar9 == (char *)0x0) {\n        if (ppcVar9[4][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7778;\n          FUN_00027820();\n        }\n        if (ppcVar9[0xe][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7787;\n          FUN_00027820();\n        }\n        iVar5 = **(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        *ppcVar9 = (char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        if (iVar5 == 0) {\nLAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;\n          ppcVar12 = ppcVar11;\n          for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }\n          pcVar7 = *(char **)ppcVar9[0xe];\n          ppcVar9[0x18] = ppcVar9[0xe];\n          ppcVar9[0x16] = (char *)0x1;\n          ppcVar9[0x17] = pcVar7;\n          pcVar7 = ppcVar9[4];\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = pcVar7;\n          ppcVar9[-3] = (char *)0x7fffffff;\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7820;\n          sqlite3_backup_step();\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7828;\n          iVar5 = sqlite3_backup_finish();\n          if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }\n        }\n        else {\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }\n        pcVar7 = ppcVar9[0xe];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }\n        }\n        pcVar7 = ppcVar9[4];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }\n        }\n        if (iVar5 == 0) {\n          ppcVar9[-1] = (char *)0xa7896;\n          iVar5 = FUN_0006aff0();\n          if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }\n        }\n        goto LAB_000a7644;\n      }\n      ppcVar9[-1] = (char *)0xa755d;\n      iVar5 = FUN_0006aff0();\n      if (iVar5 != 0) goto LAB_000a7644;\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      iVar5 = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[-4] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[-5] = (char *)0xa75ae;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }" else (compound_statement "{\n      piVar1 = *(int **)(**(int **)(local_64 + 4) + 0x3c);\n      local_54 = 0;\n      local_50 = 0;\n      iVar5 = *piVar1;\n      if (iVar5 != 0) {\n        iVar5 = (**(code **)(iVar5 + 0x18))(piVar1,&local_54);\n        ppcVar9 = apcStack_a0 + 1;\n        if ((iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))) {\n          iVar5 = 1;\n          apcStack_a0[0] = (char *)0xa7644;\n          FUN_0002ec00();\n          goto LAB_000a7644;\n        }\n      }\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) | 8;\n      apcStack_a0[0] = (char *)0xa73a5;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa73c2;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa73cd;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73d6;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73e2;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa73f1;\n      iVar5 = FUN_000a7010();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\nLAB_000a73fb:\n      apcStack_a0[0] = (char *)0xa7408;\n      iVar5 = FUN_00062b70();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\n      if (*(char *)(**(int **)((int)local_90[1] + 4) + 5) == '\x05') {\n        *(undefined4 *)(param_2 + 0x58) = 0;\n      }\n      iVar5 = FUN_00041730(0);\n      if ((iVar5 != 0) ||\n         (((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0')))) {\n        iVar5 = 7;\n        ppcVar9 = apcStack_a0 + 1;\n        goto LAB_000a7644;\n      }\n      ppcVar9 = apcStack_a0 + 1;\n      if (*(char *)(param_2 + 0x50) < '\0') {\n        ppcVar9 = apcStack_a0;\n        apcStack_a0[0] = (char *)0xa7754;\n        entry();\n      }\n      ppcVar9[-1] = (char *)0xa7472;\n      FUN_00028170();\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = *(undefined1 *)(ppcVar9 + 8);\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcc7);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa748f;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcac);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74ae;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc9e);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74d4;\n      iVar5 = FUN_000a7160();\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) & 0xfffffffb;\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc78);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74f7;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[8] = (char *)(ppcVar9 + 0x11);\n      iVar10 = 0;\n      do {\n        ppcVar9[-1] = (char *)0xa7523;\n        FUN_000341f0();\n        ppcVar9[-1] = (char *)0xa753a;\n        iVar5 = FUN_000633c0();\n        if (iVar5 != 0) goto LAB_000a7644;\n        iVar10 = iVar10 + 2;\n      } while (iVar10 != 10);\n      if (*ppcVar9 == (char *)0x0) {\n        if (ppcVar9[4][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7778;\n          FUN_00027820();\n        }\n        if (ppcVar9[0xe][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7787;\n          FUN_00027820();\n        }\n        iVar5 = **(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        *ppcVar9 = (char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        if (iVar5 == 0) {\nLAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;\n          ppcVar12 = ppcVar11;\n          for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }\n          pcVar7 = *(char **)ppcVar9[0xe];\n          ppcVar9[0x18] = ppcVar9[0xe];\n          ppcVar9[0x16] = (char *)0x1;\n          ppcVar9[0x17] = pcVar7;\n          pcVar7 = ppcVar9[4];\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = pcVar7;\n          ppcVar9[-3] = (char *)0x7fffffff;\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7820;\n          sqlite3_backup_step();\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7828;\n          iVar5 = sqlite3_backup_finish();\n          if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }\n        }\n        else {\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }\n        pcVar7 = ppcVar9[0xe];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }\n        }\n        pcVar7 = ppcVar9[4];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }\n        }\n        if (iVar5 == 0) {\n          ppcVar9[-1] = (char *)0xa7896;\n          iVar5 = FUN_0006aff0();\n          if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }\n        }\n        goto LAB_000a7644;\n      }\n      ppcVar9[-1] = (char *)0xa755d;\n      iVar5 = FUN_0006aff0();\n      if (iVar5 != 0) goto LAB_000a7644;\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      iVar5 = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[-4] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[-5] = (char *)0xa75ae;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }" { (expression_statement "piVar1 = *(int **)(**(int **)(local_64 + 4) + 0x3c);" (assignment_expression "piVar1 = *(int **)(**(int **)(local_64 + 4) + 0x3c)" identifier = (pointer_expression "*(int **)(**(int **)(local_64 + 4) + 0x3c)" * (cast_expression "(int **)(**(int **)(local_64 + 4) + 0x3c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(local_64 + 4) + 0x3c)" ( (binary_expression "**(int **)(local_64 + 4) + 0x3c" (pointer_expression "**(int **)(local_64 + 4)" * (pointer_expression "*(int **)(local_64 + 4)" * (cast_expression "(int **)(local_64 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_64 + 4)" ( (binary_expression "local_64 + 4" identifier + number_literal) ))))) + number_literal) ))))) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "iVar5 = *piVar1;" (assignment_expression "iVar5 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) (if_statement "if (iVar5 != 0) {\n        iVar5 = (**(code **)(iVar5 + 0x18))(piVar1,&local_54);\n        ppcVar9 = apcStack_a0 + 1;\n        if ((iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))) {\n          iVar5 = 1;\n          apcStack_a0[0] = (char *)0xa7644;\n          FUN_0002ec00();\n          goto LAB_000a7644;\n        }\n      }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar5 = (**(code **)(iVar5 + 0x18))(piVar1,&local_54);\n        ppcVar9 = apcStack_a0 + 1;\n        if ((iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))) {\n          iVar5 = 1;\n          apcStack_a0[0] = (char *)0xa7644;\n          FUN_0002ec00();\n          goto LAB_000a7644;\n        }\n      }" { (expression_statement "iVar5 = (**(code **)(iVar5 + 0x18))(piVar1,&local_54);" (assignment_expression "iVar5 = (**(code **)(iVar5 + 0x18))(piVar1,&local_54)" identifier = (call_expression "(**(code **)(iVar5 + 0x18))(piVar1,&local_54)" (parenthesized_expression "(**(code **)(iVar5 + 0x18))" ( (pointer_expression "**(code **)(iVar5 + 0x18)" * (pointer_expression "*(code **)(iVar5 + 0x18)" * (cast_expression "(code **)(iVar5 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0x18)" ( (binary_expression "iVar5 + 0x18" identifier + number_literal) ))))) )) (argument_list "(piVar1,&local_54)" ( identifier , (pointer_expression "&local_54" & identifier) )))) ;) (expression_statement "ppcVar9 = apcStack_a0 + 1;" (assignment_expression "ppcVar9 = apcStack_a0 + 1" identifier = (binary_expression "apcStack_a0 + 1" identifier + number_literal)) ;) (if_statement "if ((iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))) {\n          iVar5 = 1;\n          apcStack_a0[0] = (char *)0xa7644;\n          FUN_0002ec00();\n          goto LAB_000a7644;\n        }" if (parenthesized_expression "((iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0))))))" ( (binary_expression "(iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))" (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) || (parenthesized_expression "((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))" ( (parenthesized_expression "(-1 < local_50 && ((0 < local_50 || (local_54 != 0))))" ( (binary_expression "-1 < local_50 && ((0 < local_50 || (local_54 != 0)))" (binary_expression "-1 < local_50" number_literal < identifier) && (parenthesized_expression "((0 < local_50 || (local_54 != 0)))" ( (parenthesized_expression "(0 < local_50 || (local_54 != 0))" ( (binary_expression "0 < local_50 || (local_54 != 0)" (binary_expression "0 < local_50" number_literal < identifier) || (parenthesized_expression "(local_54 != 0)" ( (binary_expression "local_54 != 0" identifier != number_literal) ))) )) ))) )) ))) )) (compound_statement "{\n          iVar5 = 1;\n          apcStack_a0[0] = (char *)0xa7644;\n          FUN_0002ec00();\n          goto LAB_000a7644;\n        }" { (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (expression_statement "apcStack_a0[0] = (char *)0xa7644;" (assignment_expression "apcStack_a0[0] = (char *)0xa7644" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)0xa7644" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_0002ec00();" (call_expression "FUN_0002ec00()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_000a7644;" goto statement_identifier ;) })) })) (expression_statement "*(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) | 8;" (assignment_expression "*(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) | 8" (pointer_expression "*(uint *)(param_2 + 0x18)" * (cast_expression "(uint *)(param_2 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) )))) = (binary_expression "*(uint *)(param_2 + 0x18) | 8" (pointer_expression "*(uint *)(param_2 + 0x18)" * (cast_expression "(uint *)(param_2 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "apcStack_a0[0] = (char *)0xa73a5;" (assignment_expression "apcStack_a0[0] = (char *)0xa73a5" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)0xa73a5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_60 = FUN_000279c0();" (assignment_expression "local_60 = FUN_000279c0()" identifier = (call_expression "FUN_000279c0()" identifier (argument_list "()" ( )))) ;) (expression_statement "apcStack_a0[0] = (char *)0xa73c2;" (assignment_expression "apcStack_a0[0] = (char *)0xa73c2" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)0xa73c2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00027ef0();" (call_expression "FUN_00027ef0()" identifier (argument_list "()" ( ))) ;) (expression_statement "apcStack_a0[0] = (char *)0xa73cd;" (assignment_expression "apcStack_a0[0] = (char *)0xa73cd" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)0xa73cd" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00027fa0();" (call_expression "FUN_00027fa0()" identifier (argument_list "()" ( ))) ;) (expression_statement "apcStack_a0[0] = (char *)0xa73d6;" (assignment_expression "apcStack_a0[0] = (char *)0xa73d6" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)0xa73d6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00027fa0();" (call_expression "FUN_00027fa0()" identifier (argument_list "()" ( ))) ;) (expression_statement "apcStack_a0[0] = (char *)0xa73e2;" (assignment_expression "apcStack_a0[0] = (char *)0xa73e2" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)0xa73e2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_000280a0();" (call_expression "FUN_000280a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "apcStack_a0[0] = (char *)0xa73f1;" (assignment_expression "apcStack_a0[0] = (char *)0xa73f1" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)0xa73f1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar5 = FUN_000a7010();" (assignment_expression "iVar5 = FUN_000a7010()" identifier = (call_expression "FUN_000a7010()" identifier (argument_list "()" ( )))) ;) (expression_statement "ppcVar9 = apcStack_a0 + 1;" (assignment_expression "ppcVar9 = apcStack_a0 + 1" identifier = (binary_expression "apcStack_a0 + 1" identifier + number_literal)) ;) (if_statement "if (iVar5 != 0) goto LAB_000a7644;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a7644;" goto statement_identifier ;)) (labeled_statement "LAB_000a73fb:\n      apcStack_a0[0] = (char *)0xa7408;" statement_identifier : (expression_statement "apcStack_a0[0] = (char *)0xa7408;" (assignment_expression "apcStack_a0[0] = (char *)0xa7408" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)0xa7408" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "iVar5 = FUN_00062b70();" (assignment_expression "iVar5 = FUN_00062b70()" identifier = (call_expression "FUN_00062b70()" identifier (argument_list "()" ( )))) ;) (expression_statement "ppcVar9 = apcStack_a0 + 1;" (assignment_expression "ppcVar9 = apcStack_a0 + 1" identifier = (binary_expression "apcStack_a0 + 1" identifier + number_literal)) ;) (if_statement "if (iVar5 != 0) goto LAB_000a7644;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a7644;" goto statement_identifier ;)) (if_statement "if (*(char *)(**(int **)((int)local_90[1] + 4) + 5) == '\x05') {\n        *(undefined4 *)(param_2 + 0x58) = 0;\n      }" if (parenthesized_expression "(*(char *)(**(int **)((int)local_90[1] + 4) + 5) == '\x05')" ( (binary_expression "*(char *)(**(int **)((int)local_90[1] + 4) + 5) == '\x05'" (pointer_expression "*(char *)(**(int **)((int)local_90[1] + 4) + 5)" * (cast_expression "(char *)(**(int **)((int)local_90[1] + 4) + 5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)((int)local_90[1] + 4) + 5)" ( (binary_expression "**(int **)((int)local_90[1] + 4) + 5" (pointer_expression "**(int **)((int)local_90[1] + 4)" * (pointer_expression "*(int **)((int)local_90[1] + 4)" * (cast_expression "(int **)((int)local_90[1] + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_90[1] + 4)" ( (binary_expression "(int)local_90[1] + 4" (cast_expression "(int)local_90[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_90[1]" identifier [ number_literal ])) + number_literal) ))))) + number_literal) )))) == (char_literal "'\x05'" ' escape_sequence ')) )) (compound_statement "{\n        *(undefined4 *)(param_2 + 0x58) = 0;\n      }" { (expression_statement "*(undefined4 *)(param_2 + 0x58) = 0;" (assignment_expression "*(undefined4 *)(param_2 + 0x58) = 0" (pointer_expression "*(undefined4 *)(param_2 + 0x58)" * (cast_expression "(undefined4 *)(param_2 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x58)" ( (binary_expression "param_2 + 0x58" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "iVar5 = FUN_00041730(0);" (assignment_expression "iVar5 = FUN_00041730(0)" identifier = (call_expression "FUN_00041730(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (if_statement "if ((iVar5 != 0) ||\n         (((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0')))) {\n        iVar5 = 7;\n        ppcVar9 = apcStack_a0 + 1;\n        goto LAB_000a7644;\n      }" if (parenthesized_expression "((iVar5 != 0) ||\n         (((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0'))))" ( (binary_expression "(iVar5 != 0) ||\n         (((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0')))" (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) || (parenthesized_expression "(((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0')))" ( (parenthesized_expression "((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0'))" ( (binary_expression "(local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0')" (parenthesized_expression "(local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0))" ( (binary_expression "local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)" (binary_expression "local_65 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(iVar5 = FUN_00041730(0), iVar5 != 0)" ( (comma_expression "iVar5 = FUN_00041730(0), iVar5 != 0" (assignment_expression "iVar5 = FUN_00041730(0)" identifier = (call_expression "FUN_00041730(0)" identifier (argument_list "(0)" ( number_literal )))) , (binary_expression "iVar5 != 0" identifier != number_literal)) ))) )) || (parenthesized_expression "(*(char *)(param_2 + 0x4d) != '\0')" ( (binary_expression "*(char *)(param_2 + 0x4d) != '\0'" (pointer_expression "*(char *)(param_2 + 0x4d)" * (cast_expression "(char *)(param_2 + 0x4d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x4d)" ( (binary_expression "param_2 + 0x4d" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (compound_statement "{\n        iVar5 = 7;\n        ppcVar9 = apcStack_a0 + 1;\n        goto LAB_000a7644;\n      }" { (expression_statement "iVar5 = 7;" (assignment_expression "iVar5 = 7" identifier = number_literal) ;) (expression_statement "ppcVar9 = apcStack_a0 + 1;" (assignment_expression "ppcVar9 = apcStack_a0 + 1" identifier = (binary_expression "apcStack_a0 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_000a7644;" goto statement_identifier ;) })) (expression_statement "ppcVar9 = apcStack_a0 + 1;" (assignment_expression "ppcVar9 = apcStack_a0 + 1" identifier = (binary_expression "apcStack_a0 + 1" identifier + number_literal)) ;) (if_statement "if (*(char *)(param_2 + 0x50) < '\0') {\n        ppcVar9 = apcStack_a0;\n        apcStack_a0[0] = (char *)0xa7754;\n        entry();\n      }" if (parenthesized_expression "(*(char *)(param_2 + 0x50) < '\0')" ( (binary_expression "*(char *)(param_2 + 0x50) < '\0'" (pointer_expression "*(char *)(param_2 + 0x50)" * (cast_expression "(char *)(param_2 + 0x50)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x50)" ( (binary_expression "param_2 + 0x50" identifier + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        ppcVar9 = apcStack_a0;\n        apcStack_a0[0] = (char *)0xa7754;\n        entry();\n      }" { (expression_statement "ppcVar9 = apcStack_a0;" (assignment_expression "ppcVar9 = apcStack_a0" identifier = identifier) ;) (expression_statement "apcStack_a0[0] = (char *)0xa7754;" (assignment_expression "apcStack_a0[0] = (char *)0xa7754" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)0xa7754" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "entry();" (call_expression "entry()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppcVar9[-1] = (char *)0xa7472;" (assignment_expression "ppcVar9[-1] = (char *)0xa7472" (subscript_expression "ppcVar9[-1]" identifier [ number_literal ]) = (cast_expression "(char *)0xa7472" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00028170();" (call_expression "FUN_00028170()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppcVar9[-1] = ppcVar9[0xc];" (assignment_expression "ppcVar9[-1] = ppcVar9[0xc]" (subscript_expression "ppcVar9[-1]" identifier [ number_literal ]) = (subscript_expression "ppcVar9[0xc]" identifier [ number_literal ])) ;) (expression_statement "*(undefined1 *)(param_2 + 0xa0) = *(undefined1 *)(ppcVar9 + 8);" (assignment_expression "*(undefined1 *)(param_2 + 0xa0) = *(undefined1 *)(ppcVar9 + 8)" (pointer_expression "*(undefined1 *)(param_2 + 0xa0)" * (cast_expression "(undefined1 *)(param_2 + 0xa0)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xa0)" ( (binary_expression "param_2 + 0xa0" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)(ppcVar9 + 8)" * (cast_expression "(undefined1 *)(ppcVar9 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppcVar9 + 8)" ( (binary_expression "ppcVar9 + 8" identifier + number_literal) ))))) ;) (expression_statement "ppcVar9[-2] = (char *)(ppuVar8 + -0xbcc7);" (assignment_expression "ppcVar9[-2] = (char *)(ppuVar8 + -0xbcc7)" (subscript_expression "ppcVar9[-2]" identifier [ number_literal ]) = (cast_expression "(char *)(ppuVar8 + -0xbcc7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuVar8 + -0xbcc7)" ( (binary_expression "ppuVar8 + -0xbcc7" identifier + number_literal) )))) ;) (expression_statement "ppcVar9[-3] = (char *)param_1;" (assignment_expression "ppcVar9[-3] = (char *)param_1" (subscript_expression "ppcVar9[-3]" identifier [ number_literal ]) = (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppcVar9[-4] = (char *)param_2;" (assignment_expression "ppcVar9[-4] = (char *)param_2" (subscript_expression "ppcVar9[-4]" identifier [ number_literal ]) = (cast_expression "(char *)param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppcVar9[-5] = (char *)0xa748f;" (assignment_expression "ppcVar9[-5] = (char *)0xa748f" (subscript_expression "ppcVar9[-5]" identifier [ number_literal ]) = (cast_expression "(char *)0xa748f" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar5 = FUN_000a7160();" (assignment_expression "iVar5 = FUN_000a7160()" identifier = (call_expression "FUN_000a7160()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar5 != 0) goto LAB_000a7644;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a7644;" goto statement_identifier ;)) (expression_statement "ppcVar9[-1] = ppcVar9[0xc];" (assignment_expression "ppcVar9[-1] = ppcVar9[0xc]" (subscript_expression "ppcVar9[-1]" identifier [ number_literal ]) = (subscript_expression "ppcVar9[0xc]" identifier [ number_literal ])) ;) (expression_statement "ppcVar9[-2] = (char *)(ppuVar8 + -0xbcac);" (assignment_expression "ppcVar9[-2] = (char *)(ppuVar8 + -0xbcac)" (subscript_expression "ppcVar9[-2]" identifier [ number_literal ]) = (cast_expression "(char *)(ppuVar8 + -0xbcac)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuVar8 + -0xbcac)" ( (binary_expression "ppuVar8 + -0xbcac" identifier + number_literal) )))) ;) (expression_statement "ppcVar9[-3] = (char *)param_1;" (assignment_expression "ppcVar9[-3] = (char *)param_1" (subscript_expression "ppcVar9[-3]" identifier [ number_literal ]) = (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppcVar9[-4] = (char *)param_2;" (assignment_expression "ppcVar9[-4] = (char *)param_2" (subscript_expression "ppcVar9[-4]" identifier [ number_literal ]) = (cast_expression "(char *)param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppcVar9[-5] = (char *)0xa74ae;" (assignment_expression "ppcVar9[-5] = (char *)0xa74ae" (subscript_expression "ppcVar9[-5]" identifier [ number_literal ]) = (cast_expression "(char *)0xa74ae" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar5 = FUN_000a7160();" (assignment_expression "iVar5 = FUN_000a7160()" identifier = (call_expression "FUN_000a7160()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar5 != 0) goto LAB_000a7644;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a7644;" goto statement_identifier ;)) (expression_statement "ppcVar9[-1] = ppcVar9[0xc];" (assignment_expression "ppcVar9[-1] = ppcVar9[0xc]" (subscript_expression "ppcVar9[-1]" identifier [ number_literal ]) = (subscript_expression "ppcVar9[0xc]" identifier [ number_literal ])) ;) (expression_statement "*(undefined1 *)(param_2 + 0xa0) = 0;" (assignment_expression "*(undefined1 *)(param_2 + 0xa0) = 0" (pointer_expression "*(undefined1 *)(param_2 + 0xa0)" * (cast_expression "(undefined1 *)(param_2 + 0xa0)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xa0)" ( (binary_expression "param_2 + 0xa0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ppcVar9[-2] = (char *)(ppuVar8 + -0xbc9e);" (assignment_expression "ppcVar9[-2] = (char *)(ppuVar8 + -0xbc9e)" (subscript_expression "ppcVar9[-2]" identifier [ number_literal ]) = (cast_expression "(char *)(ppuVar8 + -0xbc9e)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuVar8 + -0xbc9e)" ( (binary_expression "ppuVar8 + -0xbc9e" identifier + number_literal) )))) ;) (expression_statement "ppcVar9[-3] = (char *)param_1;" (assignment_expression "ppcVar9[-3] = (char *)param_1" (subscript_expression "ppcVar9[-3]" identifier [ number_literal ]) = (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppcVar9[-4] = (char *)param_2;" (assignment_expression "ppcVar9[-4] = (char *)param_2" (subscript_expression "ppcVar9[-4]" identifier [ number_literal ]) = (cast_expression "(char *)param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppcVar9[-5] = (char *)0xa74d4;" (assignment_expression "ppcVar9[-5] = (char *)0xa74d4" (subscript_expression "ppcVar9[-5]" identifier [ number_literal ]) = (cast_expression "(char *)0xa74d4" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar5 = FUN_000a7160();" (assignment_expression "iVar5 = FUN_000a7160()" identifier = (call_expression "FUN_000a7160()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) & 0xfffffffb;" (assignment_expression "*(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) & 0xfffffffb" (pointer_expression "*(uint *)(param_2 + 0x18)" * (cast_expression "(uint *)(param_2 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) )))) = (binary_expression "*(uint *)(param_2 + 0x18) & 0xfffffffb" (pointer_expression "*(uint *)(param_2 + 0x18)" * (cast_expression "(uint *)(param_2 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) )))) & number_literal)) ;) (if_statement "if (iVar5 != 0) goto LAB_000a7644;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a7644;" goto statement_identifier ;)) (expression_statement "ppcVar9[-1] = ppcVar9[0xc];" (assignment_expression "ppcVar9[-1] = ppcVar9[0xc]" (subscript_expression "ppcVar9[-1]" identifier [ number_literal ]) = (subscript_expression "ppcVar9[0xc]" identifier [ number_literal ])) ;) (expression_statement "ppcVar9[-2] = (char *)(ppuVar8 + -0xbc78);" (assignment_expression "ppcVar9[-2] = (char *)(ppuVar8 + -0xbc78)" (subscript_expression "ppcVar9[-2]" identifier [ number_literal ]) = (cast_expression "(char *)(ppuVar8 + -0xbc78)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuVar8 + -0xbc78)" ( (binary_expression "ppuVar8 + -0xbc78" identifier + number_literal) )))) ;) (expression_statement "ppcVar9[-3] = (char *)param_1;" (assignment_expression "ppcVar9[-3] = (char *)param_1" (subscript_expression "ppcVar9[-3]" identifier [ number_literal ]) = (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppcVar9[-4] = (char *)param_2;" (assignment_expression "ppcVar9[-4] = (char *)param_2" (subscript_expression "ppcVar9[-4]" identifier [ number_literal ]) = (cast_expression "(char *)param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppcVar9[-5] = (char *)0xa74f7;" (assignment_expression "ppcVar9[-5] = (char *)0xa74f7" (subscript_expression "ppcVar9[-5]" identifier [ number_literal ]) = (cast_expression "(char *)0xa74f7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar5 = FUN_000a7160();" (assignment_expression "iVar5 = FUN_000a7160()" identifier = (call_expression "FUN_000a7160()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar5 != 0) goto LAB_000a7644;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a7644;" goto statement_identifier ;)) (expression_statement "ppcVar9[8] = (char *)(ppcVar9 + 0x11);" (assignment_expression "ppcVar9[8] = (char *)(ppcVar9 + 0x11)" (subscript_expression "ppcVar9[8]" identifier [ number_literal ]) = (cast_expression "(char *)(ppcVar9 + 0x11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppcVar9 + 0x11)" ( (binary_expression "ppcVar9 + 0x11" identifier + number_literal) )))) ;) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (do_statement "do {\n        ppcVar9[-1] = (char *)0xa7523;\n        FUN_000341f0();\n        ppcVar9[-1] = (char *)0xa753a;\n        iVar5 = FUN_000633c0();\n        if (iVar5 != 0) goto LAB_000a7644;\n        iVar10 = iVar10 + 2;\n      } while (iVar10 != 10);" do (compound_statement "{\n        ppcVar9[-1] = (char *)0xa7523;\n        FUN_000341f0();\n        ppcVar9[-1] = (char *)0xa753a;\n        iVar5 = FUN_000633c0();\n        if (iVar5 != 0) goto LAB_000a7644;\n        iVar10 = iVar10 + 2;\n      }" { (expression_statement "ppcVar9[-1] = (char *)0xa7523;" (assignment_expression "ppcVar9[-1] = (char *)0xa7523" (subscript_expression "ppcVar9[-1]" identifier [ number_literal ]) = (cast_expression "(char *)0xa7523" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_000341f0();" (call_expression "FUN_000341f0()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppcVar9[-1] = (char *)0xa753a;" (assignment_expression "ppcVar9[-1] = (char *)0xa753a" (subscript_expression "ppcVar9[-1]" identifier [ number_literal ]) = (cast_expression "(char *)0xa753a" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar5 = FUN_000633c0();" (assignment_expression "iVar5 = FUN_000633c0()" identifier = (call_expression "FUN_000633c0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar5 != 0) goto LAB_000a7644;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a7644;" goto statement_identifier ;)) (expression_statement "iVar10 = iVar10 + 2;" (assignment_expression "iVar10 = iVar10 + 2" identifier = (binary_expression "iVar10 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar10 != 10)" ( (binary_expression "iVar10 != 10" identifier != number_literal) )) ;) (if_statement "if (*ppcVar9 == (char *)0x0) {\n        if (ppcVar9[4][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7778;\n          FUN_00027820();\n        }\n        if (ppcVar9[0xe][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7787;\n          FUN_00027820();\n        }\n        iVar5 = **(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        *ppcVar9 = (char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        if (iVar5 == 0) {\nLAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;\n          ppcVar12 = ppcVar11;\n          for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }\n          pcVar7 = *(char **)ppcVar9[0xe];\n          ppcVar9[0x18] = ppcVar9[0xe];\n          ppcVar9[0x16] = (char *)0x1;\n          ppcVar9[0x17] = pcVar7;\n          pcVar7 = ppcVar9[4];\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = pcVar7;\n          ppcVar9[-3] = (char *)0x7fffffff;\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7820;\n          sqlite3_backup_step();\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7828;\n          iVar5 = sqlite3_backup_finish();\n          if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }\n        }\n        else {\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }\n        pcVar7 = ppcVar9[0xe];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }\n        }\n        pcVar7 = ppcVar9[4];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }\n        }\n        if (iVar5 == 0) {\n          ppcVar9[-1] = (char *)0xa7896;\n          iVar5 = FUN_0006aff0();\n          if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }\n        }\n        goto LAB_000a7644;\n      }" if (parenthesized_expression "(*ppcVar9 == (char *)0x0)" ( (binary_expression "*ppcVar9 == (char *)0x0" (pointer_expression "*ppcVar9" * identifier) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (ppcVar9[4][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7778;\n          FUN_00027820();\n        }\n        if (ppcVar9[0xe][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7787;\n          FUN_00027820();\n        }\n        iVar5 = **(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        *ppcVar9 = (char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        if (iVar5 == 0) {\nLAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;\n          ppcVar12 = ppcVar11;\n          for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }\n          pcVar7 = *(char **)ppcVar9[0xe];\n          ppcVar9[0x18] = ppcVar9[0xe];\n          ppcVar9[0x16] = (char *)0x1;\n          ppcVar9[0x17] = pcVar7;\n          pcVar7 = ppcVar9[4];\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = pcVar7;\n          ppcVar9[-3] = (char *)0x7fffffff;\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7820;\n          sqlite3_backup_step();\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7828;\n          iVar5 = sqlite3_backup_finish();\n          if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }\n        }\n        else {\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }\n        pcVar7 = ppcVar9[0xe];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }\n        }\n        pcVar7 = ppcVar9[4];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }\n        }\n        if (iVar5 == 0) {\n          ppcVar9[-1] = (char *)0xa7896;\n          iVar5 = FUN_0006aff0();\n          if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }\n        }\n        goto LAB_000a7644;\n      }" { (if_statement "if (ppcVar9[4][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7778;\n          FUN_00027820();\n        }" if (parenthesized_expression "(ppcVar9[4][9] != '\0')" ( (binary_expression "ppcVar9[4][9] != '\0'" (subscript_expression "ppcVar9[4][9]" (subscript_expression "ppcVar9[4]" identifier [ number_literal ]) [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          ppcVar9[-1] = (char *)0xa7778;\n          FUN_00027820();\n        }" { (expression_statement "ppcVar9[-1] = (char *)0xa7778;" (assignment_expression "ppcVar9[-1] = (char *)0xa7778" (subscript_expression "ppcVar9[-1]" identifier [ number_literal ]) = (cast_expression "(char *)0xa7778" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00027820();" (call_expression "FUN_00027820()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (ppcVar9[0xe][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7787;\n          FUN_00027820();\n        }" if (parenthesized_expression "(ppcVar9[0xe][9] != '\0')" ( (binary_expression "ppcVar9[0xe][9] != '\0'" (subscript_expression "ppcVar9[0xe][9]" (subscript_expression "ppcVar9[0xe]" identifier [ number_literal ]) [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          ppcVar9[-1] = (char *)0xa7787;\n          FUN_00027820();\n        }" { (expression_statement "ppcVar9[-1] = (char *)0xa7787;" (assignment_expression "ppcVar9[-1] = (char *)0xa7787" (subscript_expression "ppcVar9[-1]" identifier [ number_literal ]) = (cast_expression "(char *)0xa7787" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00027820();" (call_expression "FUN_00027820()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar5 = **(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);" (assignment_expression "iVar5 = **(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c)" identifier = (pointer_expression "**(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c)" * (pointer_expression "*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c)" * (cast_expression "(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(ppcVar9[4] + 4) + 0x3c)" ( (binary_expression "**(int **)(ppcVar9[4] + 4) + 0x3c" (pointer_expression "**(int **)(ppcVar9[4] + 4)" * (pointer_expression "*(int **)(ppcVar9[4] + 4)" * (cast_expression "(int **)(ppcVar9[4] + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(ppcVar9[4] + 4)" ( (binary_expression "ppcVar9[4] + 4" (subscript_expression "ppcVar9[4]" identifier [ number_literal ]) + number_literal) ))))) + number_literal) )))))) ;) (expression_statement "*ppcVar9 = (char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);" (assignment_expression "*ppcVar9 = (char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c)" (pointer_expression "*ppcVar9" * identifier) = (cast_expression "(char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c)" * (cast_expression "(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(ppcVar9[4] + 4) + 0x3c)" ( (binary_expression "**(int **)(ppcVar9[4] + 4) + 0x3c" (pointer_expression "**(int **)(ppcVar9[4] + 4)" * (pointer_expression "*(int **)(ppcVar9[4] + 4)" * (cast_expression "(int **)(ppcVar9[4] + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(ppcVar9[4] + 4)" ( (binary_expression "ppcVar9[4] + 4" (subscript_expression "ppcVar9[4]" identifier [ number_literal ]) + number_literal) ))))) + number_literal) )))))) ;) (if_statement "if (iVar5 == 0) {\nLAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;\n          ppcVar12 = ppcVar11;\n          for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }\n          pcVar7 = *(char **)ppcVar9[0xe];\n          ppcVar9[0x18] = ppcVar9[0xe];\n          ppcVar9[0x16] = (char *)0x1;\n          ppcVar9[0x17] = pcVar7;\n          pcVar7 = ppcVar9[4];\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = pcVar7;\n          ppcVar9[-3] = (char *)0x7fffffff;\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7820;\n          sqlite3_backup_step();\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7828;\n          iVar5 = sqlite3_backup_finish();\n          if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }\n        }\n        else {\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;\n          ppcVar12 = ppcVar11;\n          for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }\n          pcVar7 = *(char **)ppcVar9[0xe];\n          ppcVar9[0x18] = ppcVar9[0xe];\n          ppcVar9[0x16] = (char *)0x1;\n          ppcVar9[0x17] = pcVar7;\n          pcVar7 = ppcVar9[4];\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = pcVar7;\n          ppcVar9[-3] = (char *)0x7fffffff;\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7820;\n          sqlite3_backup_step();\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7828;\n          iVar5 = sqlite3_backup_finish();\n          if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }\n        }" { (labeled_statement "LAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;" statement_identifier : (expression_statement "ppcVar11 = ppcVar9 + 0x12;" (assignment_expression "ppcVar11 = ppcVar9 + 0x12" identifier = (binary_expression "ppcVar9 + 0x12" identifier + number_literal)) ;)) (expression_statement "ppcVar12 = ppcVar11;" (assignment_expression "ppcVar12 = ppcVar11" identifier = identifier) ;) (for_statement "for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }" for ( (assignment_expression "iVar5 = 0xc" identifier = number_literal) ; (binary_expression "iVar5 != 0" identifier != number_literal) ; (assignment_expression "iVar5 = iVar5 + -1" identifier = (binary_expression "iVar5 + -1" identifier + number_literal)) ) (compound_statement "{\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }" { (expression_statement "*ppcVar12 = (char *)0x0;" (assignment_expression "*ppcVar12 = (char *)0x0" (pointer_expression "*ppcVar12" * identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;" (assignment_expression "ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1" identifier = (binary_expression "ppcVar12 + (uint)bVar13 * -2 + 1" (binary_expression "ppcVar12 + (uint)bVar13 * -2" identifier + (binary_expression "(uint)bVar13 * -2" (cast_expression "(uint)bVar13" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "pcVar7 = *(char **)ppcVar9[0xe];" (assignment_expression "pcVar7 = *(char **)ppcVar9[0xe]" identifier = (pointer_expression "*(char **)ppcVar9[0xe]" * (cast_expression "(char **)ppcVar9[0xe]" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "ppcVar9[0xe]" identifier [ number_literal ])))) ;) (expression_statement "ppcVar9[0x18] = ppcVar9[0xe];" (assignment_expression "ppcVar9[0x18] = ppcVar9[0xe]" (subscript_expression "ppcVar9[0x18]" identifier [ number_literal ]) = (subscript_expression "ppcVar9[0xe]" identifier [ number_literal ])) ;) (expression_statement "ppcVar9[0x16] = (char *)0x1;" (assignment_expression "ppcVar9[0x16] = (char *)0x1" (subscript_expression "ppcVar9[0x16]" identifier [ number_literal ]) = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppcVar9[0x17] = pcVar7;" (assignment_expression "ppcVar9[0x17] = pcVar7" (subscript_expression "ppcVar9[0x17]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pcVar7 = ppcVar9[4];" (assignment_expression "pcVar7 = ppcVar9[4]" identifier = (subscript_expression "ppcVar9[4]" identifier [ number_literal ])) ;) (expression_statement "ppcVar9[0x13] = pcVar7;" (assignment_expression "ppcVar9[0x13] = pcVar7" (subscript_expression "ppcVar9[0x13]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppcVar9[-1] = pcVar7;" (assignment_expression "ppcVar9[-1] = pcVar7" (subscript_expression "ppcVar9[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppcVar9[-2] = pcVar7;" (assignment_expression "ppcVar9[-2] = pcVar7" (subscript_expression "ppcVar9[-2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppcVar9[-3] = (char *)0x7fffffff;" (assignment_expression "ppcVar9[-3] = (char *)0x7fffffff" (subscript_expression "ppcVar9[-3]" identifier [ number_literal ]) = (cast_expression "(char *)0x7fffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppcVar9[-4] = (char *)ppcVar11;" (assignment_expression "ppcVar9[-4] = (char *)ppcVar11" (subscript_expression "ppcVar9[-4]" identifier [ number_literal ]) = (cast_expression "(char *)ppcVar11" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppcVar9[-5] = (char *)0xa7820;" (assignment_expression "ppcVar9[-5] = (char *)0xa7820" (subscript_expression "ppcVar9[-5]" identifier [ number_literal ]) = (cast_expression "(char *)0xa7820" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sqlite3_backup_step();" (call_expression "sqlite3_backup_step()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppcVar9[-4] = (char *)ppcVar11;" (assignment_expression "ppcVar9[-4] = (char *)ppcVar11" (subscript_expression "ppcVar9[-4]" identifier [ number_literal ]) = (cast_expression "(char *)ppcVar11" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppcVar9[-5] = (char *)0xa7828;" (assignment_expression "ppcVar9[-5] = (char *)0xa7828" (subscript_expression "ppcVar9[-5]" identifier [ number_literal ]) = (cast_expression "(char *)0xa7828" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar5 = sqlite3_backup_finish();" (assignment_expression "iVar5 = sqlite3_backup_finish()" identifier = (call_expression "sqlite3_backup_finish()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }" { (expression_statement "*(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;" (assignment_expression "*(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd" (pointer_expression "*(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18)" * (cast_expression "(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(ppcVar9[4] + 4) + 0x18)" ( (binary_expression "*(int *)(ppcVar9[4] + 4) + 0x18" (pointer_expression "*(int *)(ppcVar9[4] + 4)" * (cast_expression "(int *)(ppcVar9[4] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppcVar9[4] + 4)" ( (binary_expression "ppcVar9[4] + 4" (subscript_expression "ppcVar9[4]" identifier [ number_literal ]) + number_literal) )))) + number_literal) )))) = (binary_expression "*(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd" (pointer_expression "*(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18)" * (cast_expression "(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(ppcVar9[4] + 4) + 0x18)" ( (binary_expression "*(int *)(ppcVar9[4] + 4) + 0x18" (pointer_expression "*(int *)(ppcVar9[4] + 4)" * (cast_expression "(int *)(ppcVar9[4] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppcVar9[4] + 4)" ( (binary_expression "ppcVar9[4] + 4" (subscript_expression "ppcVar9[4]" identifier [ number_literal ]) + number_literal) )))) + number_literal) )))) & number_literal)) ;) }) (else_clause "else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }" else (if_statement "if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }" if (parenthesized_expression "(*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0')" ( (binary_expression "*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0'" (pointer_expression "*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc)" * (cast_expression "(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(ppcVar9[0x13] + 4) + 0xc)" ( (binary_expression "**(int **)(ppcVar9[0x13] + 4) + 0xc" (pointer_expression "**(int **)(ppcVar9[0x13] + 4)" * (pointer_expression "*(int **)(ppcVar9[0x13] + 4)" * (cast_expression "(int **)(ppcVar9[0x13] + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(ppcVar9[0x13] + 4)" ( (binary_expression "ppcVar9[0x13] + 4" (subscript_expression "ppcVar9[0x13]" identifier [ number_literal ]) + number_literal) ))))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }" { (expression_statement "ppcVar9[-1] = (char *)0xa78ee;" (assignment_expression "ppcVar9[-1] = (char *)0xa78ee" (subscript_expression "ppcVar9[-1]" identifier [ number_literal ]) = (cast_expression "(char *)0xa78ee" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00026f50();" (call_expression "FUN_00026f50()" identifier (argument_list "()" ( ))) ;) })))) }) (else_clause "else {\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }" else (compound_statement "{\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }" { (expression_statement "pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);" (assignment_expression "pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24)" identifier = (pointer_expression "*(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24)" * (cast_expression "(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(ppcVar9[0xe] + 4) + 0x24)" ( (binary_expression "*(int *)(ppcVar9[0xe] + 4) + 0x24" (pointer_expression "*(int *)(ppcVar9[0xe] + 4)" * (cast_expression "(int *)(ppcVar9[0xe] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppcVar9[0xe] + 4)" ( (binary_expression "ppcVar9[0xe] + 4" (subscript_expression "ppcVar9[0xe]" identifier [ number_literal ]) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);" (assignment_expression "uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30)" identifier = (pointer_expression "*(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30)" * (cast_expression "(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(ppcVar9[0xe] + 4) + 0x30)" ( (binary_expression "*(int *)(ppcVar9[0xe] + 4) + 0x30" (pointer_expression "*(int *)(ppcVar9[0xe] + 4)" * (cast_expression "(int *)(ppcVar9[0xe] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppcVar9[0xe] + 4)" ( (binary_expression "ppcVar9[0xe] + 4" (subscript_expression "ppcVar9[0xe]" identifier [ number_literal ]) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "ppcVar9[8] = pcVar7;" (assignment_expression "ppcVar9[8] = pcVar7" (subscript_expression "ppcVar9[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);" (assignment_expression "ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f)" (subscript_expression "ppcVar9[9]" identifier [ number_literal ]) = (cast_expression "(char *)((int)pcVar7 >> 0x1f)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pcVar7 >> 0x1f)" ( (binary_expression "(int)pcVar7 >> 0x1f" (cast_expression "(int)pcVar7" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) (expression_statement "lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);" (assignment_expression "lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7)" identifier = (binary_expression "(ulonglong)uVar2 * ZEXT48(pcVar7)" (cast_expression "(ulonglong)uVar2" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * (call_expression "ZEXT48(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier ))))) ;) (expression_statement "pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);" (assignment_expression "pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2)" identifier = (cast_expression "(char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2)" ( (binary_expression "(int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2" (cast_expression "(int)((ulonglong)lVar4 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar4 >> 0x20)" ( (binary_expression "(ulonglong)lVar4 >> 0x20" (cast_expression "(ulonglong)lVar4" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) + (binary_expression "(int)ppcVar9[9] * uVar2" (cast_expression "(int)ppcVar9[9]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppcVar9[9]" identifier [ number_literal ])) * identifier)) )))) ;) (expression_statement "ppcVar9[0x12] = (char *)lVar4;" (assignment_expression "ppcVar9[0x12] = (char *)lVar4" (subscript_expression "ppcVar9[0x12]" identifier [ number_literal ]) = (cast_expression "(char *)lVar4" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppcVar9[0x13] = pcVar7;" (assignment_expression "ppcVar9[0x13] = pcVar7" (subscript_expression "ppcVar9[0x13]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppcVar9[-1] = pcVar7;" (assignment_expression "ppcVar9[-1] = pcVar7" (subscript_expression "ppcVar9[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppcVar9[-2] = (char *)(ppcVar9 + 0x12);" (assignment_expression "ppcVar9[-2] = (char *)(ppcVar9 + 0x12)" (subscript_expression "ppcVar9[-2]" identifier [ number_literal ]) = (cast_expression "(char *)(ppcVar9 + 0x12)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppcVar9 + 0x12)" ( (binary_expression "ppcVar9 + 0x12" identifier + number_literal) )))) ;) (expression_statement "ppcVar9[-3] = (char *)0xb;" (assignment_expression "ppcVar9[-3] = (char *)0xb" (subscript_expression "ppcVar9[-3]" identifier [ number_literal ]) = (cast_expression "(char *)0xb" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppcVar9[-4] = *ppcVar9;" (assignment_expression "ppcVar9[-4] = *ppcVar9" (subscript_expression "ppcVar9[-4]" identifier [ number_literal ]) = (pointer_expression "*ppcVar9" * identifier)) ;) (expression_statement "pcVar3 = *(code **)(iVar5 + 0x28);" (assignment_expression "pcVar3 = *(code **)(iVar5 + 0x28)" identifier = (pointer_expression "*(code **)(iVar5 + 0x28)" * (cast_expression "(code **)(iVar5 + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0x28)" ( (binary_expression "iVar5 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "ppcVar9[-5] = (char *)0xa77dc;" (assignment_expression "ppcVar9[-5] = (char *)0xa77dc" (subscript_expression "ppcVar9[-5]" identifier [ number_literal ]) = (cast_expression "(char *)0xa77dc" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar5 = (*pcVar3)();" (assignment_expression "iVar5 = (*pcVar3)()" identifier = (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( )))) ;) (if_statement "if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;" if (parenthesized_expression "((iVar5 == 0xc) || (iVar5 == 0))" ( (binary_expression "(iVar5 == 0xc) || (iVar5 == 0)" (parenthesized_expression "(iVar5 == 0xc)" ( (binary_expression "iVar5 == 0xc" identifier == number_literal) )) || (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) ))) )) (goto_statement "goto LAB_000a77ea;" goto statement_identifier ;)) }))) (expression_statement "pcVar7 = ppcVar9[0xe];" (assignment_expression "pcVar7 = ppcVar9[0xe]" identifier = (subscript_expression "ppcVar9[0xe]" identifier [ number_literal ])) ;) (if_statement "if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }\n        }" if (parenthesized_expression "(pcVar7[9] != '\0')" ( (binary_expression "pcVar7[9] != '\0'" (subscript_expression "pcVar7[9]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }\n        }" { (expression_statement "iVar10 = *(int *)(pcVar7 + 0xc);" (assignment_expression "iVar10 = *(int *)(pcVar7 + 0xc)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xc)" * (cast_expression "(int *)(pcVar7 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xc)" ( (binary_expression "pcVar7 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*ppcVar9 = (char *)iVar10;" (assignment_expression "*ppcVar9 = (char *)iVar10" (pointer_expression "*ppcVar9" * identifier) = (cast_expression "(char *)iVar10" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" identifier = (binary_expression "iVar10 + -1" identifier + number_literal)) ;) (expression_statement "*(int *)(pcVar7 + 0xc) = iVar10;" (assignment_expression "*(int *)(pcVar7 + 0xc) = iVar10" (pointer_expression "*(int *)(pcVar7 + 0xc)" * (cast_expression "(int *)(pcVar7 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xc)" ( (binary_expression "pcVar7 + 0xc" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }" { (expression_statement "ppcVar9[-1] = (char *)0xa7862;" (assignment_expression "ppcVar9[-1] = (char *)0xa7862" (subscript_expression "ppcVar9[-1]" identifier [ number_literal ]) = (cast_expression "(char *)0xa7862" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_000278b0();" (call_expression "FUN_000278b0()" identifier (argument_list "()" ( ))) ;) })) })) (expression_statement "pcVar7 = ppcVar9[4];" (assignment_expression "pcVar7 = ppcVar9[4]" identifier = (subscript_expression "ppcVar9[4]" identifier [ number_literal ])) ;) (if_statement "if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }\n        }" if (parenthesized_expression "(pcVar7[9] != '\0')" ( (binary_expression "pcVar7[9] != '\0'" (subscript_expression "pcVar7[9]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }\n        }" { (expression_statement "iVar10 = *(int *)(pcVar7 + 0xc);" (assignment_expression "iVar10 = *(int *)(pcVar7 + 0xc)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xc)" * (cast_expression "(int *)(pcVar7 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xc)" ( (binary_expression "pcVar7 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*ppcVar9 = (char *)iVar10;" (assignment_expression "*ppcVar9 = (char *)iVar10" (pointer_expression "*ppcVar9" * identifier) = (cast_expression "(char *)iVar10" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" identifier = (binary_expression "iVar10 + -1" identifier + number_literal)) ;) (expression_statement "*(int *)(pcVar7 + 0xc) = iVar10;" (assignment_expression "*(int *)(pcVar7 + 0xc) = iVar10" (pointer_expression "*(int *)(pcVar7 + 0xc)" * (cast_expression "(int *)(pcVar7 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xc)" ( (binary_expression "pcVar7 + 0xc" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }" { (expression_statement "ppcVar9[-1] = (char *)0xa7883;" (assignment_expression "ppcVar9[-1] = (char *)0xa7883" (subscript_expression "ppcVar9[-1]" identifier [ number_literal ]) = (cast_expression "(char *)0xa7883" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_000278b0();" (call_expression "FUN_000278b0()" identifier (argument_list "()" ( ))) ;) })) })) (if_statement "if (iVar5 == 0) {\n          ppcVar9[-1] = (char *)0xa7896;\n          iVar5 = FUN_0006aff0();\n          if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }\n        }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n          ppcVar9[-1] = (char *)0xa7896;\n          iVar5 = FUN_0006aff0();\n          if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }\n        }" { (expression_statement "ppcVar9[-1] = (char *)0xa7896;" (assignment_expression "ppcVar9[-1] = (char *)0xa7896" (subscript_expression "ppcVar9[-1]" identifier [ number_literal ]) = (cast_expression "(char *)0xa7896" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar5 = FUN_0006aff0();" (assignment_expression "iVar5 = FUN_0006aff0()" identifier = (call_expression "FUN_0006aff0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }" { (expression_statement "ppcVar9[-1] = (char *)0xa78a9;" (assignment_expression "ppcVar9[-1] = (char *)0xa78a9" (subscript_expression "ppcVar9[-1]" identifier [ number_literal ]) = (cast_expression "(char *)0xa78a9" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "entry();" (call_expression "entry()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppcVar9[-2] = (char *)0xa78b6;" (assignment_expression "ppcVar9[-2] = (char *)0xa78b6" (subscript_expression "ppcVar9[-2]" identifier [ number_literal ]) = (cast_expression "(char *)0xa78b6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00028170();" (call_expression "FUN_00028170()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppcVar9[-5] = (char *)0x1;" (assignment_expression "ppcVar9[-5] = (char *)0x1" (subscript_expression "ppcVar9[-5]" identifier [ number_literal ]) = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppcVar9[-6] = (char *)0xa78cc;" (assignment_expression "ppcVar9[-6] = (char *)0xa78cc" (subscript_expression "ppcVar9[-6]" identifier [ number_literal ]) = (cast_expression "(char *)0xa78cc" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar5 = FUN_00041730();" (assignment_expression "iVar5 = FUN_00041730()" identifier = (call_expression "FUN_00041730()" identifier (argument_list "()" ( )))) ;) (expression_statement "ppcVar9 = ppcVar9 + -1;" (assignment_expression "ppcVar9 = ppcVar9 + -1" identifier = (binary_expression "ppcVar9 + -1" identifier + number_literal)) ;) })) })) (goto_statement "goto LAB_000a7644;" goto statement_identifier ;) })) (expression_statement "ppcVar9[-1] = (char *)0xa755d;" (assignment_expression "ppcVar9[-1] = (char *)0xa755d" (subscript_expression "ppcVar9[-1]" identifier [ number_literal ]) = (cast_expression "(char *)0xa755d" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar5 = FUN_0006aff0();" (assignment_expression "iVar5 = FUN_0006aff0()" identifier = (call_expression "FUN_0006aff0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar5 != 0) goto LAB_000a7644;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a7644;" goto statement_identifier ;)) (expression_statement "pcVar7 = ppcVar9[5];" (assignment_expression "pcVar7 = ppcVar9[5]" identifier = (subscript_expression "ppcVar9[5]" identifier [ number_literal ])) ;) (expression_statement "*(undefined1 *)(param_2 + 0xa0) = 0;" (assignment_expression "*(undefined1 *)(param_2 + 0xa0) = 0" (pointer_expression "*(undefined1 *)(param_2 + 0xa0)" * (cast_expression "(undefined1 *)(param_2 + 0xa0)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xa0)" ( (binary_expression "param_2 + 0xa0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (expression_statement "*(char **)(param_2 + 0x18) = pcVar7;" (assignment_expression "*(char **)(param_2 + 0x18) = pcVar7" (pointer_expression "*(char **)(param_2 + 0x18)" * (cast_expression "(char **)(param_2 + 0x18)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(param_2 + 0x1c) = ppcVar9[1];" (assignment_expression "*(char **)(param_2 + 0x1c) = ppcVar9[1]" (pointer_expression "*(char **)(param_2 + 0x1c)" * (cast_expression "(char **)(param_2 + 0x1c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) )))) = (subscript_expression "ppcVar9[1]" identifier [ number_literal ])) ;) (expression_statement "*(char **)(param_2 + 0x20) = ppcVar9[2];" (assignment_expression "*(char **)(param_2 + 0x20) = ppcVar9[2]" (pointer_expression "*(char **)(param_2 + 0x20)" * (cast_expression "(char **)(param_2 + 0x20)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x20)" ( (binary_expression "param_2 + 0x20" identifier + number_literal) )))) = (subscript_expression "ppcVar9[2]" identifier [ number_literal ])) ;) (expression_statement "*(char **)(param_2 + 0x60) = ppcVar9[6];" (assignment_expression "*(char **)(param_2 + 0x60) = ppcVar9[6]" (pointer_expression "*(char **)(param_2 + 0x60)" * (cast_expression "(char **)(param_2 + 0x60)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x60)" ( (binary_expression "param_2 + 0x60" identifier + number_literal) )))) = (subscript_expression "ppcVar9[6]" identifier [ number_literal ])) ;) (expression_statement "*(char **)(param_2 + 100) = ppcVar9[7];" (assignment_expression "*(char **)(param_2 + 100) = ppcVar9[7]" (pointer_expression "*(char **)(param_2 + 100)" * (cast_expression "(char **)(param_2 + 100)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 100)" ( (binary_expression "param_2 + 100" identifier + number_literal) )))) = (subscript_expression "ppcVar9[7]" identifier [ number_literal ])) ;) (expression_statement "ppcVar9[-4] = (char *)0x1;" (assignment_expression "ppcVar9[-4] = (char *)0x1" (subscript_expression "ppcVar9[-4]" identifier [ number_literal ]) = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);" (assignment_expression "*(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b)" (pointer_expression "*(undefined1 *)(param_2 + 0x54)" * (cast_expression "(undefined1 *)(param_2 + 0x54)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x54)" ( (binary_expression "param_2 + 0x54" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)((int)ppcVar9 + 0x2b)" * (cast_expression "(undefined1 *)((int)ppcVar9 + 0x2b)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar9 + 0x2b)" ( (binary_expression "(int)ppcVar9 + 0x2b" (cast_expression "(int)ppcVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "ppcVar9[-5] = (char *)0xa75ae;" (assignment_expression "ppcVar9[-5] = (char *)0xa75ae" (subscript_expression "ppcVar9[-5]" identifier [ number_literal ]) = (cast_expression "(char *)0xa75ae" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00041730();" (call_expression "FUN_00041730()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined1 *)(param_2 + 0x4b) = 1;" (assignment_expression "*(undefined1 *)(param_2 + 0x4b) = 1" (pointer_expression "*(undefined1 *)(param_2 + 0x4b)" * (cast_expression "(undefined1 *)(param_2 + 0x4b)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x4b)" ( (binary_expression "param_2 + 0x4b" identifier + number_literal) )))) = number_literal) ;) }))) (expression_statement "iVar10 = *(int *)((int)ppcVar9 + 0xc);" (assignment_expression "iVar10 = *(int *)((int)ppcVar9 + 0xc)" identifier = (pointer_expression "*(int *)((int)ppcVar9 + 0xc)" * (cast_expression "(int *)((int)ppcVar9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar9 + 0xc)" ( (binary_expression "(int)ppcVar9 + 0xc" (cast_expression "(int)ppcVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)ppcVar9 + -4) = 0xa769e;" (assignment_expression "*(undefined4 *)((int)ppcVar9 + -4) = 0xa769e" (pointer_expression "*(undefined4 *)((int)ppcVar9 + -4)" * (cast_expression "(undefined4 *)((int)ppcVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar9 + -4)" ( (binary_expression "(int)ppcVar9 + -4" (cast_expression "(int)ppcVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0006de60();" (call_expression "FUN_0006de60()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(iVar10 + 4) = 0;" (assignment_expression "*(undefined4 *)(iVar10 + 4) = 0" (pointer_expression "*(undefined4 *)(iVar10 + 4)" * (cast_expression "(undefined4 *)(iVar10 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 4)" ( (binary_expression "iVar10 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar10 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(iVar10 + 0xc) = 0" (pointer_expression "*(undefined4 *)(iVar10 + 0xc)" * (cast_expression "(undefined4 *)(iVar10 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0xc)" ( (binary_expression "iVar10 + 0xc" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n    *(undefined1 *)(param_2 + 0xa0) = 0;\n    *(char **)(param_2 + 0x18) = local_90[2];\n    *(uint *)(param_2 + 0x1c) = local_98[0];\n    *(uint *)(param_2 + 0x20) = local_98[1];\n    *(char **)(param_2 + 0x60) = local_90[3];\n    *(char **)(param_2 + 100) = local_90[4];\n    *(undefined1 *)(param_2 + 0x54) = local_71;\n    FUN_00041730(1);\n    *(undefined1 *)(param_2 + 0x4b) = 1;\n    ppcVar9 = apcStack_a0 + 1;\n  }" else (compound_statement "{\n    *(undefined1 *)(param_2 + 0xa0) = 0;\n    *(char **)(param_2 + 0x18) = local_90[2];\n    *(uint *)(param_2 + 0x1c) = local_98[0];\n    *(uint *)(param_2 + 0x20) = local_98[1];\n    *(char **)(param_2 + 0x60) = local_90[3];\n    *(char **)(param_2 + 100) = local_90[4];\n    *(undefined1 *)(param_2 + 0x54) = local_71;\n    FUN_00041730(1);\n    *(undefined1 *)(param_2 + 0x4b) = 1;\n    ppcVar9 = apcStack_a0 + 1;\n  }" { (expression_statement "*(undefined1 *)(param_2 + 0xa0) = 0;" (assignment_expression "*(undefined1 *)(param_2 + 0xa0) = 0" (pointer_expression "*(undefined1 *)(param_2 + 0xa0)" * (cast_expression "(undefined1 *)(param_2 + 0xa0)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xa0)" ( (binary_expression "param_2 + 0xa0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(param_2 + 0x18) = local_90[2];" (assignment_expression "*(char **)(param_2 + 0x18) = local_90[2]" (pointer_expression "*(char **)(param_2 + 0x18)" * (cast_expression "(char **)(param_2 + 0x18)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) )))) = (subscript_expression "local_90[2]" identifier [ number_literal ])) ;) (expression_statement "*(uint *)(param_2 + 0x1c) = local_98[0];" (assignment_expression "*(uint *)(param_2 + 0x1c) = local_98[0]" (pointer_expression "*(uint *)(param_2 + 0x1c)" * (cast_expression "(uint *)(param_2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) )))) = (subscript_expression "local_98[0]" identifier [ number_literal ])) ;) (expression_statement "*(uint *)(param_2 + 0x20) = local_98[1];" (assignment_expression "*(uint *)(param_2 + 0x20) = local_98[1]" (pointer_expression "*(uint *)(param_2 + 0x20)" * (cast_expression "(uint *)(param_2 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x20)" ( (binary_expression "param_2 + 0x20" identifier + number_literal) )))) = (subscript_expression "local_98[1]" identifier [ number_literal ])) ;) (expression_statement "*(char **)(param_2 + 0x60) = local_90[3];" (assignment_expression "*(char **)(param_2 + 0x60) = local_90[3]" (pointer_expression "*(char **)(param_2 + 0x60)" * (cast_expression "(char **)(param_2 + 0x60)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x60)" ( (binary_expression "param_2 + 0x60" identifier + number_literal) )))) = (subscript_expression "local_90[3]" identifier [ number_literal ])) ;) (expression_statement "*(char **)(param_2 + 100) = local_90[4];" (assignment_expression "*(char **)(param_2 + 100) = local_90[4]" (pointer_expression "*(char **)(param_2 + 100)" * (cast_expression "(char **)(param_2 + 100)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 100)" ( (binary_expression "param_2 + 100" identifier + number_literal) )))) = (subscript_expression "local_90[4]" identifier [ number_literal ])) ;) (expression_statement "*(undefined1 *)(param_2 + 0x54) = local_71;" (assignment_expression "*(undefined1 *)(param_2 + 0x54) = local_71" (pointer_expression "*(undefined1 *)(param_2 + 0x54)" * (cast_expression "(undefined1 *)(param_2 + 0x54)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x54)" ( (binary_expression "param_2 + 0x54" identifier + number_literal) )))) = identifier) ;) (expression_statement "FUN_00041730(1);" (call_expression "FUN_00041730(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "*(undefined1 *)(param_2 + 0x4b) = 1;" (assignment_expression "*(undefined1 *)(param_2 + 0x4b) = 1" (pointer_expression "*(undefined1 *)(param_2 + 0x4b)" * (cast_expression "(undefined1 *)(param_2 + 0x4b)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x4b)" ( (binary_expression "param_2 + 0x4b" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ppcVar9 = apcStack_a0 + 1;" (assignment_expression "ppcVar9 = apcStack_a0 + 1" identifier = (binary_expression "apcStack_a0 + 1" identifier + number_literal)) ;) }))) (expression_statement "ppcVar9[0xffffffff] = (char *)0xa7625;" (assignment_expression "ppcVar9[0xffffffff] = (char *)0xa7625" (subscript_expression "ppcVar9[0xffffffff]" identifier [ number_literal ]) = (cast_expression "(char *)0xa7625" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_000462f0();" (call_expression "FUN_000462f0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_000a7232:\n  if (ppcVar9[0x1f] != *(char **)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    ppcVar9[0xffffffff] = (char *)0xa7760;\n    FUN_000a9ea0();\n  }" statement_identifier : (if_statement "if (ppcVar9[0x1f] != *(char **)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    ppcVar9[0xffffffff] = (char *)0xa7760;\n    FUN_000a9ea0();\n  }" if (parenthesized_expression "(ppcVar9[0x1f] != *(char **)(in_GS_OFFSET + 0x14))" ( (binary_expression "ppcVar9[0x1f] != *(char **)(in_GS_OFFSET + 0x14)" (subscript_expression "ppcVar9[0x1f]" identifier [ number_literal ]) != (pointer_expression "*(char **)(in_GS_OFFSET + 0x14)" * (cast_expression "(char **)(in_GS_OFFSET + 0x14)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    ppcVar9[0xffffffff] = (char *)0xa7760;\n    FUN_000a9ea0();\n  }" { comment (expression_statement "ppcVar9[0xffffffff] = (char *)0xa7760;" (assignment_expression "ppcVar9[0xffffffff] = (char *)0xa7760" (subscript_expression "ppcVar9[0xffffffff]" identifier [ number_literal ]) = (cast_expression "(char *)0xa7760" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_000a9ea0();" (call_expression "FUN_000a9ea0()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return iVar5;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint __regparm3 sqlite3RunVacuum(char **pzErrMsg,sqlite3 *db,int iDb,sqlite3_value *pOut)\n\n{\n  byte bVar1;\n  Db *pDVar2;\n  sqlite3_file *psVar3;\n  sqlite3_io_methods *psVar4;\n  BtShared *pBVar5;\n  u32 uVar6;\n  uint uVar7;\n  code *pcVar8;\n  Btree *p;\n  Pager *pPager;\n  longlong lVar9;\n  int iVar10;\n  Btree *pBVar11;\n  Btree *p_00;\n  undefined **ppuVar12;\n  sqlite3_value **ppsVar13;\n  int iVar14;\n  int *piVar15;\n  uint uVar16;\n  int *piVar17;\n  int in_GS_OFFSET;\n  byte bVar18;\n  int aiStack_b8 [3];\n  uchar *puStack_a0;\n  sqlite3_value *local_9c;\n  uint local_98 [2];\n  Db *local_90;\n  Btree *local_8c;\n  uint local_88 [3];\n  undefined4 local_7c;\n  u8 local_71;\n  int local_70;\n  char *local_6c;\n  u8 local_65;\n  Btree *local_64;\n  int local_60;\n  u32 meta;\n  i64 sz;\n  int aiStack_28 [5];\n  undefined4 uStack_14;\n  \n  bVar18 = 0;\n  uStack_14 = 0xa71ad;\n  ppuVar12 = &_GLOBAL_OFFSET_TABLE_;\n  ppsVar13 = &local_9c;\n  local_9c = pOut;\n  aiStack_28[2] = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  if (db->autoCommit == '\0') {\n    iVar10 = 1;\n    puStack_a0 = (uchar *)0xa7262;\n    sqlite3SetString(pzErrMsg,db,"cannot VACUUM from within a transaction");\n    goto LAB_000a7232;\n  }\n  if (1 < db->nVdbeActive) {\n    iVar10 = 1;\n    puStack_a0 = (uchar *)0xa7232;\n    sqlite3SetString(pzErrMsg,db,"cannot VACUUM - SQL statements in progress");\n    ppsVar13 = &local_9c;\n    goto LAB_000a7232;\n  }\n  local_90 = (Db *)db->openFlags;\n  if (pOut == (sqlite3_value *)0x0) {\n    puStack_a0 = "";\n  }\n  else {\n    iVar10 = sqlite3_value_type(pOut);\n    if (iVar10 != 3) {\n      iVar10 = 1;\n      puStack_a0 = (uchar *)0xa7217;\n      sqlite3SetString(pzErrMsg,db,"non-text filename");\n      ppsVar13 = &local_9c;\n      goto LAB_000a7232;\n    }\n    puStack_a0 = sqlite3_value_text(local_9c);\n    db->openFlags = db->openFlags & 0xfffffffe | 6;\n  }\n  local_98[0] = (uint)db->flags;\n  local_88[0] = db->mDbFlags;\n  local_70 = iDb * 0x10;\n  local_98[1] = *(uint *)((int)&db->flags + 4);\n  db->mDbFlags = local_88[0] | 6;\n  local_88[1] = db->nChange;\n  local_88[2] = db->nTotalChange;\n  *(uint *)&db->flags = local_98[0] & 0xefffafff | 0x201;\n  pDVar2 = db->aDb;\n  local_71 = db->mTrace;\n  db->mTrace = '\0';\n  *(uint *)((int)&db->flags + 4) = local_98[1] & 0xfffffffe;\n  local_6c = pDVar2[iDb].zDbSName;\n  local_8c = pDVar2[iDb].pBt;\n  local_65 = local_8c->pBt->pPager->tempFile;\n  local_7c = db->nDb;\n  iVar10 = execSqlF(db,pzErrMsg,"ATTACH %Q AS vacuum_db");\n  ppsVar13 = &local_9c;\n  db->openFlags = (uint)local_90;\n  if (iVar10 == 0) {\n    local_90 = db->aDb + local_7c;\n    local_64 = local_90->pBt;\n    if (local_9c == (sqlite3_value *)0x0) {\n      puStack_a0 = (uchar *)0xa76c1;\n      local_60 = sqlite3BtreeGetRequestedReserve(local_8c);\n      pBVar11 = local_64;\n      puStack_a0 = (uchar *)0xa76de;\n      sqlite3BtreeSetCacheSize\n                (local_64,*(int *)(*(int *)((int)&db->aDb->pSchema + local_70) + 0x50));\n      puStack_a0 = (uchar *)0xa76e9;\n      iVar10 = sqlite3BtreeSetSpillSize(local_8c,0);\n      puStack_a0 = (uchar *)0xa76f2;\n      sqlite3BtreeSetSpillSize(pBVar11,iVar10);\n      puStack_a0 = (uchar *)0xa76fe;\n      sqlite3BtreeSetPagerFlags(pBVar11,0x21);\n      puStack_a0 = (uchar *)0xa770d;\n      iVar10 = execSql(db,pzErrMsg,"BEGIN");\n      if (iVar10 == 0) {\n        iVar10 = 2;\n        goto LAB_000a73fb;\n      }\nLAB_000a7644:\n      uVar6 = *(u32 *)((int)ppsVar13 + 0x14);\n      (db->init).iDb = '\0';\n      db->mDbFlags = uVar6;\n      *(undefined4 *)&db->flags = *(undefined4 *)((int)ppsVar13 + 4);\n      *(undefined4 *)((int)&db->flags + 4) = *(undefined4 *)((int)ppsVar13 + 8);\n      db->nChange = *(int *)((int)ppsVar13 + 0x18);\n      db->nTotalChange = *(int *)((int)ppsVar13 + 0x1c);\n      *(undefined4 *)((int)ppsVar13 + -0x10) = 1;\n      db->mTrace = *(u8 *)((int)ppsVar13 + 0x2b);\n      *(undefined4 *)((int)ppsVar13 + -0x14) = 0xa768b;\n      sqlite3BtreeSetPageSize\n                (*(Btree **)((int)ppsVar13 + 0x10),-1,0,*(int *)((int)ppsVar13 + -0x10));\n      db->autoCommit = '\x01';\n    }\n    else {\n      psVar3 = local_64->pBt->pPager->fd;\n      sz._0_4_ = 0;\n      sz._4_4_ = 0;\n      psVar4 = psVar3->pMethods;\n      if (psVar4 != (sqlite3_io_methods *)0x0) {\n        iVar10 = (*psVar4->xFileSize)(psVar3,&sz);\n        ppsVar13 = &local_9c;\n        if ((iVar10 != 0) || ((-1 < sz._4_4_ && ((0 < sz._4_4_ || ((int)sz != 0)))))) {\n          iVar10 = 1;\n          puStack_a0 = (uchar *)0xa7644;\n          sqlite3SetString(pzErrMsg,db,"output file already exists");\n          goto LAB_000a7644;\n        }\n      }\n      db->mDbFlags = db->mDbFlags | 8;\n      puStack_a0 = (uchar *)0xa73a5;\n      local_60 = sqlite3BtreeGetRequestedReserve(local_8c);\n      pBVar11 = local_64;\n      puStack_a0 = (uchar *)0xa73c2;\n      sqlite3BtreeSetCacheSize\n                (local_64,*(int *)(*(int *)((int)&db->aDb->pSchema + local_70) + 0x50));\n      puStack_a0 = (uchar *)0xa73cd;\n      iVar10 = sqlite3BtreeSetSpillSize(local_8c,0);\n      puStack_a0 = (uchar *)0xa73d6;\n      sqlite3BtreeSetSpillSize(pBVar11,iVar10);\n      puStack_a0 = (uchar *)0xa73e2;\n      sqlite3BtreeSetPagerFlags(pBVar11,0x21);\n      puStack_a0 = (uchar *)0xa73f1;\n      iVar10 = execSql(db,pzErrMsg,"BEGIN");\n      ppsVar13 = &local_9c;\n      if (iVar10 != 0) goto LAB_000a7644;\nLAB_000a73fb:\n      puStack_a0 = (uchar *)0xa7408;\n      iVar10 = sqlite3BtreeBeginTrans(local_8c,iVar10,(int *)0x0);\n      ppsVar13 = &local_9c;\n      if (iVar10 != 0) goto LAB_000a7644;\n      pBVar5 = local_8c->pBt;\n      if (pBVar5->pPager->journalMode == '\x05') {\n        db->nextPagesize = 0;\n      }\n      iVar10 = sqlite3BtreeSetPageSize(local_64,pBVar5->pageSize,local_60,0);\n      if ((iVar10 != 0) ||\n         (((local_65 == '\0' &&\n           (iVar10 = sqlite3BtreeSetPageSize(local_64,db->nextPagesize,local_60,0), iVar10 != 0)) ||\n          (db->mallocFailed != '\0')))) {\n        iVar10 = 7;\n        ppsVar13 = &local_9c;\n        goto LAB_000a7644;\n      }\n      pBVar11 = (Btree *)(int)db->nextAutovac;\n      ppsVar13 = &local_9c;\n      if (db->nextAutovac < '\0') {\n        ppsVar13 = (sqlite3_value **)&puStack_a0;\n        puStack_a0 = (uchar *)0xa7754;\n        pBVar11 = (Btree *)sqlite3BtreeGetAutoVacuum(pBVar11);\n      }\n      ((int *)ppsVar13)[-1] = 0xa7472;\n      sqlite3BtreeSetAutoVacuum((Btree *)((int *)ppsVar13)[0xe],(int)pBVar11);\n      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];\n      (db->init).iDb = (u8)((int *)ppsVar13)[8];\n      ((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbcc7);\n      ((int *)ppsVar13)[-3] = (int)pzErrMsg;\n      ((int *)ppsVar13)[-4] = (int)db;\n      ((int *)ppsVar13)[-5] = 0xa748f;\n      iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2]);\n      if (iVar10 != 0) goto LAB_000a7644;\n      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];\n      ((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbcac);\n      ((int *)ppsVar13)[-3] = (int)pzErrMsg;\n      ((int *)ppsVar13)[-4] = (int)db;\n      ((int *)ppsVar13)[-5] = 0xa74ae;\n      iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2]);\n      if (iVar10 != 0) goto LAB_000a7644;\n      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];\n      (db->init).iDb = '\0';\n      ((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbc9e);\n      ((int *)ppsVar13)[-3] = (int)pzErrMsg;\n      ((int *)ppsVar13)[-4] = (int)db;\n      ((int *)ppsVar13)[-5] = 0xa74d4;\n      iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2]);\n      db->mDbFlags = db->mDbFlags & 0xfffffffb;\n      if (iVar10 != 0) goto LAB_000a7644;\n      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];\n      ((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbc78);\n      ((int *)ppsVar13)[-3] = (int)pzErrMsg;\n      ((int *)ppsVar13)[-4] = (int)db;\n      ((int *)ppsVar13)[-5] = 0xa74f7;\n      iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2]);\n      if (iVar10 != 0) goto LAB_000a7644;\n      ((int *)ppsVar13)[8] = (int)((int *)ppsVar13 + 0x11);\n      iVar14 = 0;\n      do {\n        uVar16 = (uint)*(byte *)(iVar14 + -0x2d058 + (int)ppuVar12);\n        ((int *)ppsVar13)[-1] = 0xa7523;\n        sqlite3BtreeGetMeta((Btree *)((int *)ppsVar13)[4],uVar16,(u32 *)((int *)ppsVar13)[8]);\n        bVar1 = *(byte *)(iVar14 + -0x2d057 + (int)ppuVar12);\n        ((int *)ppsVar13)[-1] = 0xa753a;\n        iVar10 = sqlite3BtreeUpdateMeta\n                           ((Btree *)((int *)ppsVar13)[0xe],uVar16,\n                            (uint)bVar1 + ((int *)ppsVar13)[0x11]);\n        if (iVar10 != 0) goto LAB_000a7644;\n        iVar14 = iVar14 + 2;\n      } while (iVar14 != 10);\n      if (*ppsVar13 == (sqlite3_value *)0x0) {\n        if (((Btree *)((int *)ppsVar13)[4])->sharable != '\0') {\n          ((int *)ppsVar13)[-1] = 0xa7778;\n          sqlite3BtreeEnter((Btree *)((int *)ppsVar13)[4]);\n        }\n        if (((Btree *)((int *)ppsVar13)[0xe])->sharable != '\0') {\n          ((int *)ppsVar13)[-1] = 0xa7787;\n          sqlite3BtreeEnter((Btree *)((int *)ppsVar13)[0xe]);\n        }\n        iVar10 = **(int **)(**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c);\n        *ppsVar13 = (sqlite3_value *)*(int **)(**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c);\n        if (iVar10 == 0) {\nLAB_000a77ea:\n          piVar15 = (int *)ppsVar13 + 0x12;\n          piVar17 = piVar15;\n          for (iVar10 = 0xc; iVar10 != 0; iVar10 = iVar10 + -1) {\n            *piVar17 = 0;\n            piVar17 = piVar17 + (uint)bVar18 * -2 + 1;\n          }\n          iVar10 = *(int *)((int *)ppsVar13)[0xe];\n          ((int *)ppsVar13)[0x18] = ((int *)ppsVar13)[0xe];\n          ((int *)ppsVar13)[0x16] = 1;\n          ((int *)ppsVar13)[0x17] = iVar10;\n          iVar10 = ((int *)ppsVar13)[4];\n          ((int *)ppsVar13)[0x13] = iVar10;\n          ((int *)ppsVar13)[-1] = iVar10;\n          ((int *)ppsVar13)[-2] = iVar10;\n          ((int *)ppsVar13)[-3] = 0x7fffffff;\n          ((int *)ppsVar13)[-4] = (int)piVar15;\n          ((int *)ppsVar13)[-5] = 0xa7820;\n          sqlite3_backup_step((sqlite3_backup *)((int *)ppsVar13)[-4],((int *)ppsVar13)[-3]);\n          ((int *)ppsVar13)[-4] = (int)piVar15;\n          ((int *)ppsVar13)[-5] = 0xa7828;\n          iVar10 = sqlite3_backup_finish((sqlite3_backup *)((int *)ppsVar13)[-4]);\n          if (iVar10 == 0) {\n            *(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18) & 0xfffd;\n          }\n          else {\n            pPager = (Pager *)**(undefined4 **)(((int *)ppsVar13)[0x13] + 4);\n            if (pPager->tempFile == '\0') {\n              ((int *)ppsVar13)[-1] = 0xa78ee;\n              pager_reset(pPager);\n            }\n          }\n        }\n        else {\n          uVar16 = *(uint *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x24);\n          uVar7 = *(uint *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x30);\n          ((int *)ppsVar13)[8] = uVar16;\n          ((int *)ppsVar13)[9] = (int)uVar16 >> 0x1f;\n          lVar9 = (ulonglong)uVar7 * (ulonglong)uVar16;\n          iVar14 = (int)((ulonglong)lVar9 >> 0x20) + ((int *)ppsVar13)[9] * uVar7;\n          ((int *)ppsVar13)[0x12] = (int)lVar9;\n          ((int *)ppsVar13)[0x13] = iVar14;\n          ((int *)ppsVar13)[-1] = iVar14;\n          ((int *)ppsVar13)[-2] = (int)((int *)ppsVar13 + 0x12);\n          ((int *)ppsVar13)[-3] = 0xb;\n          ((int *)ppsVar13)[-4] = (int)*ppsVar13;\n          pcVar8 = *(code **)(iVar10 + 0x28);\n          ((int *)ppsVar13)[-5] = 0xa77dc;\n          iVar10 = (*pcVar8)();\n          if ((iVar10 == 0xc) || (iVar10 == 0)) goto LAB_000a77ea;\n        }\n        pBVar11 = (Btree *)((int *)ppsVar13)[0xe];\n        if (pBVar11->sharable != '\0') {\n          iVar14 = pBVar11->wantToLock;\n          *ppsVar13 = (sqlite3_value *)iVar14;\n          iVar14 = iVar14 + -1;\n          pBVar11->wantToLock = iVar14;\n          if (iVar14 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa7862;\n            sqlite3BtreeLeave(pBVar11);\n          }\n        }\n        pBVar11 = (Btree *)((int *)ppsVar13)[4];\n        if (pBVar11->sharable != '\0') {\n          iVar14 = pBVar11->wantToLock;\n          *ppsVar13 = (sqlite3_value *)iVar14;\n          iVar14 = iVar14 + -1;\n          pBVar11->wantToLock = iVar14;\n          if (iVar14 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa7883;\n            sqlite3BtreeLeave(pBVar11);\n          }\n        }\n        if (iVar10 == 0) {\n          pBVar11 = (Btree *)((int *)ppsVar13)[0xe];\n          ((int *)ppsVar13)[-1] = 0xa7896;\n          iVar10 = sqlite3BtreeCommit(pBVar11);\n          if (iVar10 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa78a9;\n            iVar10 = sqlite3BtreeGetAutoVacuum(p_00);\n            p = (Btree *)((int *)ppsVar13)[3];\n            ((int *)ppsVar13)[-2] = 0xa78b6;\n            sqlite3BtreeSetAutoVacuum(p,iVar10);\n            uVar6 = pBVar11->pBt->pageSize;\n            ((int *)ppsVar13)[-5] = 1;\n            ((int *)ppsVar13)[-6] = 0xa78cc;\n            iVar10 = sqlite3BtreeSetPageSize(p,uVar6,((int *)ppsVar13)[0xe],((int *)ppsVar13)[-5]);\n            ppsVar13 = (sqlite3_value **)((int *)ppsVar13 + -1);\n          }\n        }\n        goto LAB_000a7644;\n      }\n      ((int *)ppsVar13)[-1] = 0xa755d;\n      iVar10 = sqlite3BtreeCommit((Btree *)((int *)ppsVar13)[0xe]);\n      if (iVar10 != 0) goto LAB_000a7644;\n      uVar6 = ((int *)ppsVar13)[5];\n      (db->init).iDb = '\0';\n      iVar10 = 0;\n      db->mDbFlags = uVar6;\n      *(int *)&db->flags = ((int *)ppsVar13)[1];\n      *(int *)((int)&db->flags + 4) = ((int *)ppsVar13)[2];\n      db->nChange = ((int *)ppsVar13)[6];\n      db->nTotalChange = ((int *)ppsVar13)[7];\n      ((int *)ppsVar13)[-4] = 1;\n      db->mTrace = *(u8 *)((int)ppsVar13 + 0x2b);\n      ((int *)ppsVar13)[-5] = 0xa75ae;\n      sqlite3BtreeSetPageSize((Btree *)((int *)ppsVar13)[4],-1,0,((int *)ppsVar13)[-4]);\n      db->autoCommit = '\x01';\n    }\n    iVar14 = *(int *)((int)ppsVar13 + 0xc);\n    pBVar11 = *(Btree **)(iVar14 + 4);\n    *(undefined4 *)((int)ppsVar13 + -4) = 0xa769e;\n    sqlite3BtreeClose(pBVar11);\n    *(undefined4 *)(iVar14 + 4) = 0;\n    *(undefined4 *)(iVar14 + 0xc) = 0;\n  }\n  else {\n    (db->init).iDb = '\0';\n    db->mDbFlags = local_88[0];\n    *(uint *)&db->flags = local_98[0];\n    *(uint *)((int)&db->flags + 4) = local_98[1];\n    db->nChange = local_88[1];\n    db->nTotalChange = local_88[2];\n    db->mTrace = local_71;\n    sqlite3BtreeSetPageSize(local_8c,-1,0,1);\n    db->autoCommit = '\x01';\n    ppsVar13 = &local_9c;\n  }\n  *(undefined4 *)((int)ppsVar13 + -4) = 0xa7625;\n  sqlite3ResetAllSchemasOfConnection(db);\nLAB_000a7232:\n  if (*(int *)((int)ppsVar13 + 0x7c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)ppsVar13 + -4) = 0xa7760;\n    __stack_chk_fail_local();\n  }\n  return iVar10;\n}\n\n" comment (function_definition "int __regparm3 sqlite3RunVacuum(char **pzErrMsg,sqlite3 *db,int iDb,sqlite3_value *pOut)\n\n{\n  byte bVar1;\n  Db *pDVar2;\n  sqlite3_file *psVar3;\n  sqlite3_io_methods *psVar4;\n  BtShared *pBVar5;\n  u32 uVar6;\n  uint uVar7;\n  code *pcVar8;\n  Btree *p;\n  Pager *pPager;\n  longlong lVar9;\n  int iVar10;\n  Btree *pBVar11;\n  Btree *p_00;\n  undefined **ppuVar12;\n  sqlite3_value **ppsVar13;\n  int iVar14;\n  int *piVar15;\n  uint uVar16;\n  int *piVar17;\n  int in_GS_OFFSET;\n  byte bVar18;\n  int aiStack_b8 [3];\n  uchar *puStack_a0;\n  sqlite3_value *local_9c;\n  uint local_98 [2];\n  Db *local_90;\n  Btree *local_8c;\n  uint local_88 [3];\n  undefined4 local_7c;\n  u8 local_71;\n  int local_70;\n  char *local_6c;\n  u8 local_65;\n  Btree *local_64;\n  int local_60;\n  u32 meta;\n  i64 sz;\n  int aiStack_28 [5];\n  undefined4 uStack_14;\n  \n  bVar18 = 0;\n  uStack_14 = 0xa71ad;\n  ppuVar12 = &_GLOBAL_OFFSET_TABLE_;\n  ppsVar13 = &local_9c;\n  local_9c = pOut;\n  aiStack_28[2] = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  if (db->autoCommit == '\0') {\n    iVar10 = 1;\n    puStack_a0 = (uchar *)0xa7262;\n    sqlite3SetString(pzErrMsg,db,"cannot VACUUM from within a transaction");\n    goto LAB_000a7232;\n  }\n  if (1 < db->nVdbeActive) {\n    iVar10 = 1;\n    puStack_a0 = (uchar *)0xa7232;\n    sqlite3SetString(pzErrMsg,db,"cannot VACUUM - SQL statements in progress");\n    ppsVar13 = &local_9c;\n    goto LAB_000a7232;\n  }\n  local_90 = (Db *)db->openFlags;\n  if (pOut == (sqlite3_value *)0x0) {\n    puStack_a0 = "";\n  }\n  else {\n    iVar10 = sqlite3_value_type(pOut);\n    if (iVar10 != 3) {\n      iVar10 = 1;\n      puStack_a0 = (uchar *)0xa7217;\n      sqlite3SetString(pzErrMsg,db,"non-text filename");\n      ppsVar13 = &local_9c;\n      goto LAB_000a7232;\n    }\n    puStack_a0 = sqlite3_value_text(local_9c);\n    db->openFlags = db->openFlags & 0xfffffffe | 6;\n  }\n  local_98[0] = (uint)db->flags;\n  local_88[0] = db->mDbFlags;\n  local_70 = iDb * 0x10;\n  local_98[1] = *(uint *)((int)&db->flags + 4);\n  db->mDbFlags = local_88[0] | 6;\n  local_88[1] = db->nChange;\n  local_88[2] = db->nTotalChange;\n  *(uint *)&db->flags = local_98[0] & 0xefffafff | 0x201;\n  pDVar2 = db->aDb;\n  local_71 = db->mTrace;\n  db->mTrace = '\0';\n  *(uint *)((int)&db->flags + 4) = local_98[1] & 0xfffffffe;\n  local_6c = pDVar2[iDb].zDbSName;\n  local_8c = pDVar2[iDb].pBt;\n  local_65 = local_8c->pBt->pPager->tempFile;\n  local_7c = db->nDb;\n  iVar10 = execSqlF(db,pzErrMsg,"ATTACH %Q AS vacuum_db");\n  ppsVar13 = &local_9c;\n  db->openFlags = (uint)local_90;\n  if (iVar10 == 0) {\n    local_90 = db->aDb + local_7c;\n    local_64 = local_90->pBt;\n    if (local_9c == (sqlite3_value *)0x0) {\n      puStack_a0 = (uchar *)0xa76c1;\n      local_60 = sqlite3BtreeGetRequestedReserve(local_8c);\n      pBVar11 = local_64;\n      puStack_a0 = (uchar *)0xa76de;\n      sqlite3BtreeSetCacheSize\n                (local_64,*(int *)(*(int *)((int)&db->aDb->pSchema + local_70) + 0x50));\n      puStack_a0 = (uchar *)0xa76e9;\n      iVar10 = sqlite3BtreeSetSpillSize(local_8c,0);\n      puStack_a0 = (uchar *)0xa76f2;\n      sqlite3BtreeSetSpillSize(pBVar11,iVar10);\n      puStack_a0 = (uchar *)0xa76fe;\n      sqlite3BtreeSetPagerFlags(pBVar11,0x21);\n      puStack_a0 = (uchar *)0xa770d;\n      iVar10 = execSql(db,pzErrMsg,"BEGIN");\n      if (iVar10 == 0) {\n        iVar10 = 2;\n        goto LAB_000a73fb;\n      }\nLAB_000a7644:\n      uVar6 = *(u32 *)((int)ppsVar13 + 0x14);\n      (db->init).iDb = '\0';\n      db->mDbFlags = uVar6;\n      *(undefined4 *)&db->flags = *(undefined4 *)((int)ppsVar13 + 4);\n      *(undefined4 *)((int)&db->flags + 4) = *(undefined4 *)((int)ppsVar13 + 8);\n      db->nChange = *(int *)((int)ppsVar13 + 0x18);\n      db->nTotalChange = *(int *)((int)ppsVar13 + 0x1c);\n      *(undefined4 *)((int)ppsVar13 + -0x10) = 1;\n      db->mTrace = *(u8 *)((int)ppsVar13 + 0x2b);\n      *(undefined4 *)((int)ppsVar13 + -0x14) = 0xa768b;\n      sqlite3BtreeSetPageSize\n                (*(Btree **)((int)ppsVar13 + 0x10),-1,0,*(int *)((int)ppsVar13 + -0x10));\n      db->autoCommit = '\x01';\n    }\n    else {\n      psVar3 = local_64->pBt->pPager->fd;\n      sz._0_4_ = 0;\n      sz._4_4_ = 0;\n      psVar4 = psVar3->pMethods;\n      if (psVar4 != (sqlite3_io_methods *)0x0) {\n        iVar10 = (*psVar4->xFileSize)(psVar3,&sz);\n        ppsVar13 = &local_9c;\n        if ((iVar10 != 0) || ((-1 < sz._4_4_ && ((0 < sz._4_4_ || ((int)sz != 0)))))) {\n          iVar10 = 1;\n          puStack_a0 = (uchar *)0xa7644;\n          sqlite3SetString(pzErrMsg,db,"output file already exists");\n          goto LAB_000a7644;\n        }\n      }\n      db->mDbFlags = db->mDbFlags | 8;\n      puStack_a0 = (uchar *)0xa73a5;\n      local_60 = sqlite3BtreeGetRequestedReserve(local_8c);\n      pBVar11 = local_64;\n      puStack_a0 = (uchar *)0xa73c2;\n      sqlite3BtreeSetCacheSize\n                (local_64,*(int *)(*(int *)((int)&db->aDb->pSchema + local_70) + 0x50));\n      puStack_a0 = (uchar *)0xa73cd;\n      iVar10 = sqlite3BtreeSetSpillSize(local_8c,0);\n      puStack_a0 = (uchar *)0xa73d6;\n      sqlite3BtreeSetSpillSize(pBVar11,iVar10);\n      puStack_a0 = (uchar *)0xa73e2;\n      sqlite3BtreeSetPagerFlags(pBVar11,0x21);\n      puStack_a0 = (uchar *)0xa73f1;\n      iVar10 = execSql(db,pzErrMsg,"BEGIN");\n      ppsVar13 = &local_9c;\n      if (iVar10 != 0) goto LAB_000a7644;\nLAB_000a73fb:\n      puStack_a0 = (uchar *)0xa7408;\n      iVar10 = sqlite3BtreeBeginTrans(local_8c,iVar10,(int *)0x0);\n      ppsVar13 = &local_9c;\n      if (iVar10 != 0) goto LAB_000a7644;\n      pBVar5 = local_8c->pBt;\n      if (pBVar5->pPager->journalMode == '\x05') {\n        db->nextPagesize = 0;\n      }\n      iVar10 = sqlite3BtreeSetPageSize(local_64,pBVar5->pageSize,local_60,0);\n      if ((iVar10 != 0) ||\n         (((local_65 == '\0' &&\n           (iVar10 = sqlite3BtreeSetPageSize(local_64,db->nextPagesize,local_60,0), iVar10 != 0)) ||\n          (db->mallocFailed != '\0')))) {\n        iVar10 = 7;\n        ppsVar13 = &local_9c;\n        goto LAB_000a7644;\n      }\n      pBVar11 = (Btree *)(int)db->nextAutovac;\n      ppsVar13 = &local_9c;\n      if (db->nextAutovac < '\0') {\n        ppsVar13 = (sqlite3_value **)&puStack_a0;\n        puStack_a0 = (uchar *)0xa7754;\n        pBVar11 = (Btree *)sqlite3BtreeGetAutoVacuum(pBVar11);\n      }\n      ((int *)ppsVar13)[-1] = 0xa7472;\n      sqlite3BtreeSetAutoVacuum((Btree *)((int *)ppsVar13)[0xe],(int)pBVar11);\n      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];\n      (db->init).iDb = (u8)((int *)ppsVar13)[8];\n      ((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbcc7);\n      ((int *)ppsVar13)[-3] = (int)pzErrMsg;\n      ((int *)ppsVar13)[-4] = (int)db;\n      ((int *)ppsVar13)[-5] = 0xa748f;\n      iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2]);\n      if (iVar10 != 0) goto LAB_000a7644;\n      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];\n      ((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbcac);\n      ((int *)ppsVar13)[-3] = (int)pzErrMsg;\n      ((int *)ppsVar13)[-4] = (int)db;\n      ((int *)ppsVar13)[-5] = 0xa74ae;\n      iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2]);\n      if (iVar10 != 0) goto LAB_000a7644;\n      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];\n      (db->init).iDb = '\0';\n      ((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbc9e);\n      ((int *)ppsVar13)[-3] = (int)pzErrMsg;\n      ((int *)ppsVar13)[-4] = (int)db;\n      ((int *)ppsVar13)[-5] = 0xa74d4;\n      iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2]);\n      db->mDbFlags = db->mDbFlags & 0xfffffffb;\n      if (iVar10 != 0) goto LAB_000a7644;\n      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];\n      ((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbc78);\n      ((int *)ppsVar13)[-3] = (int)pzErrMsg;\n      ((int *)ppsVar13)[-4] = (int)db;\n      ((int *)ppsVar13)[-5] = 0xa74f7;\n      iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2]);\n      if (iVar10 != 0) goto LAB_000a7644;\n      ((int *)ppsVar13)[8] = (int)((int *)ppsVar13 + 0x11);\n      iVar14 = 0;\n      do {\n        uVar16 = (uint)*(byte *)(iVar14 + -0x2d058 + (int)ppuVar12);\n        ((int *)ppsVar13)[-1] = 0xa7523;\n        sqlite3BtreeGetMeta((Btree *)((int *)ppsVar13)[4],uVar16,(u32 *)((int *)ppsVar13)[8]);\n        bVar1 = *(byte *)(iVar14 + -0x2d057 + (int)ppuVar12);\n        ((int *)ppsVar13)[-1] = 0xa753a;\n        iVar10 = sqlite3BtreeUpdateMeta\n                           ((Btree *)((int *)ppsVar13)[0xe],uVar16,\n                            (uint)bVar1 + ((int *)ppsVar13)[0x11]);\n        if (iVar10 != 0) goto LAB_000a7644;\n        iVar14 = iVar14 + 2;\n      } while (iVar14 != 10);\n      if (*ppsVar13 == (sqlite3_value *)0x0) {\n        if (((Btree *)((int *)ppsVar13)[4])->sharable != '\0') {\n          ((int *)ppsVar13)[-1] = 0xa7778;\n          sqlite3BtreeEnter((Btree *)((int *)ppsVar13)[4]);\n        }\n        if (((Btree *)((int *)ppsVar13)[0xe])->sharable != '\0') {\n          ((int *)ppsVar13)[-1] = 0xa7787;\n          sqlite3BtreeEnter((Btree *)((int *)ppsVar13)[0xe]);\n        }\n        iVar10 = **(int **)(**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c);\n        *ppsVar13 = (sqlite3_value *)*(int **)(**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c);\n        if (iVar10 == 0) {\nLAB_000a77ea:\n          piVar15 = (int *)ppsVar13 + 0x12;\n          piVar17 = piVar15;\n          for (iVar10 = 0xc; iVar10 != 0; iVar10 = iVar10 + -1) {\n            *piVar17 = 0;\n            piVar17 = piVar17 + (uint)bVar18 * -2 + 1;\n          }\n          iVar10 = *(int *)((int *)ppsVar13)[0xe];\n          ((int *)ppsVar13)[0x18] = ((int *)ppsVar13)[0xe];\n          ((int *)ppsVar13)[0x16] = 1;\n          ((int *)ppsVar13)[0x17] = iVar10;\n          iVar10 = ((int *)ppsVar13)[4];\n          ((int *)ppsVar13)[0x13] = iVar10;\n          ((int *)ppsVar13)[-1] = iVar10;\n          ((int *)ppsVar13)[-2] = iVar10;\n          ((int *)ppsVar13)[-3] = 0x7fffffff;\n          ((int *)ppsVar13)[-4] = (int)piVar15;\n          ((int *)ppsVar13)[-5] = 0xa7820;\n          sqlite3_backup_step((sqlite3_backup *)((int *)ppsVar13)[-4],((int *)ppsVar13)[-3]);\n          ((int *)ppsVar13)[-4] = (int)piVar15;\n          ((int *)ppsVar13)[-5] = 0xa7828;\n          iVar10 = sqlite3_backup_finish((sqlite3_backup *)((int *)ppsVar13)[-4]);\n          if (iVar10 == 0) {\n            *(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18) & 0xfffd;\n          }\n          else {\n            pPager = (Pager *)**(undefined4 **)(((int *)ppsVar13)[0x13] + 4);\n            if (pPager->tempFile == '\0') {\n              ((int *)ppsVar13)[-1] = 0xa78ee;\n              pager_reset(pPager);\n            }\n          }\n        }\n        else {\n          uVar16 = *(uint *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x24);\n          uVar7 = *(uint *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x30);\n          ((int *)ppsVar13)[8] = uVar16;\n          ((int *)ppsVar13)[9] = (int)uVar16 >> 0x1f;\n          lVar9 = (ulonglong)uVar7 * (ulonglong)uVar16;\n          iVar14 = (int)((ulonglong)lVar9 >> 0x20) + ((int *)ppsVar13)[9] * uVar7;\n          ((int *)ppsVar13)[0x12] = (int)lVar9;\n          ((int *)ppsVar13)[0x13] = iVar14;\n          ((int *)ppsVar13)[-1] = iVar14;\n          ((int *)ppsVar13)[-2] = (int)((int *)ppsVar13 + 0x12);\n          ((int *)ppsVar13)[-3] = 0xb;\n          ((int *)ppsVar13)[-4] = (int)*ppsVar13;\n          pcVar8 = *(code **)(iVar10 + 0x28);\n          ((int *)ppsVar13)[-5] = 0xa77dc;\n          iVar10 = (*pcVar8)();\n          if ((iVar10 == 0xc) || (iVar10 == 0)) goto LAB_000a77ea;\n        }\n        pBVar11 = (Btree *)((int *)ppsVar13)[0xe];\n        if (pBVar11->sharable != '\0') {\n          iVar14 = pBVar11->wantToLock;\n          *ppsVar13 = (sqlite3_value *)iVar14;\n          iVar14 = iVar14 + -1;\n          pBVar11->wantToLock = iVar14;\n          if (iVar14 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa7862;\n            sqlite3BtreeLeave(pBVar11);\n          }\n        }\n        pBVar11 = (Btree *)((int *)ppsVar13)[4];\n        if (pBVar11->sharable != '\0') {\n          iVar14 = pBVar11->wantToLock;\n          *ppsVar13 = (sqlite3_value *)iVar14;\n          iVar14 = iVar14 + -1;\n          pBVar11->wantToLock = iVar14;\n          if (iVar14 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa7883;\n            sqlite3BtreeLeave(pBVar11);\n          }\n        }\n        if (iVar10 == 0) {\n          pBVar11 = (Btree *)((int *)ppsVar13)[0xe];\n          ((int *)ppsVar13)[-1] = 0xa7896;\n          iVar10 = sqlite3BtreeCommit(pBVar11);\n          if (iVar10 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa78a9;\n            iVar10 = sqlite3BtreeGetAutoVacuum(p_00);\n            p = (Btree *)((int *)ppsVar13)[3];\n            ((int *)ppsVar13)[-2] = 0xa78b6;\n            sqlite3BtreeSetAutoVacuum(p,iVar10);\n            uVar6 = pBVar11->pBt->pageSize;\n            ((int *)ppsVar13)[-5] = 1;\n            ((int *)ppsVar13)[-6] = 0xa78cc;\n            iVar10 = sqlite3BtreeSetPageSize(p,uVar6,((int *)ppsVar13)[0xe],((int *)ppsVar13)[-5]);\n            ppsVar13 = (sqlite3_value **)((int *)ppsVar13 + -1);\n          }\n        }\n        goto LAB_000a7644;\n      }\n      ((int *)ppsVar13)[-1] = 0xa755d;\n      iVar10 = sqlite3BtreeCommit((Btree *)((int *)ppsVar13)[0xe]);\n      if (iVar10 != 0) goto LAB_000a7644;\n      uVar6 = ((int *)ppsVar13)[5];\n      (db->init).iDb = '\0';\n      iVar10 = 0;\n      db->mDbFlags = uVar6;\n      *(int *)&db->flags = ((int *)ppsVar13)[1];\n      *(int *)((int)&db->flags + 4) = ((int *)ppsVar13)[2];\n      db->nChange = ((int *)ppsVar13)[6];\n      db->nTotalChange = ((int *)ppsVar13)[7];\n      ((int *)ppsVar13)[-4] = 1;\n      db->mTrace = *(u8 *)((int)ppsVar13 + 0x2b);\n      ((int *)ppsVar13)[-5] = 0xa75ae;\n      sqlite3BtreeSetPageSize((Btree *)((int *)ppsVar13)[4],-1,0,((int *)ppsVar13)[-4]);\n      db->autoCommit = '\x01';\n    }\n    iVar14 = *(int *)((int)ppsVar13 + 0xc);\n    pBVar11 = *(Btree **)(iVar14 + 4);\n    *(undefined4 *)((int)ppsVar13 + -4) = 0xa769e;\n    sqlite3BtreeClose(pBVar11);\n    *(undefined4 *)(iVar14 + 4) = 0;\n    *(undefined4 *)(iVar14 + 0xc) = 0;\n  }\n  else {\n    (db->init).iDb = '\0';\n    db->mDbFlags = local_88[0];\n    *(uint *)&db->flags = local_98[0];\n    *(uint *)((int)&db->flags + 4) = local_98[1];\n    db->nChange = local_88[1];\n    db->nTotalChange = local_88[2];\n    db->mTrace = local_71;\n    sqlite3BtreeSetPageSize(local_8c,-1,0,1);\n    db->autoCommit = '\x01';\n    ppsVar13 = &local_9c;\n  }\n  *(undefined4 *)((int)ppsVar13 + -4) = 0xa7625;\n  sqlite3ResetAllSchemasOfConnection(db);\nLAB_000a7232:\n  if (*(int *)((int)ppsVar13 + 0x7c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)ppsVar13 + -4) = 0xa7760;\n    __stack_chk_fail_local();\n  }\n  return iVar10;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "sqlite3RunVacuum(char **pzErrMsg,sqlite3 *db,int iDb,sqlite3_value *pOut)" identifier (parameter_list "(char **pzErrMsg,sqlite3 *db,int iDb,sqlite3_value *pOut)" ( (parameter_declaration "char **pzErrMsg" primitive_type (pointer_declarator "**pzErrMsg" * (pointer_declarator "*pzErrMsg" * identifier))) , (parameter_declaration "sqlite3 *db" type_identifier (pointer_declarator "*db" * identifier)) , (parameter_declaration "int iDb" primitive_type identifier) , (parameter_declaration "sqlite3_value *pOut" type_identifier (pointer_declarator "*pOut" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  Db *pDVar2;\n  sqlite3_file *psVar3;\n  sqlite3_io_methods *psVar4;\n  BtShared *pBVar5;\n  u32 uVar6;\n  uint uVar7;\n  code *pcVar8;\n  Btree *p;\n  Pager *pPager;\n  longlong lVar9;\n  int iVar10;\n  Btree *pBVar11;\n  Btree *p_00;\n  undefined **ppuVar12;\n  sqlite3_value **ppsVar13;\n  int iVar14;\n  int *piVar15;\n  uint uVar16;\n  int *piVar17;\n  int in_GS_OFFSET;\n  byte bVar18;\n  int aiStack_b8 [3];\n  uchar *puStack_a0;\n  sqlite3_value *local_9c;\n  uint local_98 [2];\n  Db *local_90;\n  Btree *local_8c;\n  uint local_88 [3];\n  undefined4 local_7c;\n  u8 local_71;\n  int local_70;\n  char *local_6c;\n  u8 local_65;\n  Btree *local_64;\n  int local_60;\n  u32 meta;\n  i64 sz;\n  int aiStack_28 [5];\n  undefined4 uStack_14;\n  \n  bVar18 = 0;\n  uStack_14 = 0xa71ad;\n  ppuVar12 = &_GLOBAL_OFFSET_TABLE_;\n  ppsVar13 = &local_9c;\n  local_9c = pOut;\n  aiStack_28[2] = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  if (db->autoCommit == '\0') {\n    iVar10 = 1;\n    puStack_a0 = (uchar *)0xa7262;\n    sqlite3SetString(pzErrMsg,db,"cannot VACUUM from within a transaction");\n    goto LAB_000a7232;\n  }\n  if (1 < db->nVdbeActive) {\n    iVar10 = 1;\n    puStack_a0 = (uchar *)0xa7232;\n    sqlite3SetString(pzErrMsg,db,"cannot VACUUM - SQL statements in progress");\n    ppsVar13 = &local_9c;\n    goto LAB_000a7232;\n  }\n  local_90 = (Db *)db->openFlags;\n  if (pOut == (sqlite3_value *)0x0) {\n    puStack_a0 = "";\n  }\n  else {\n    iVar10 = sqlite3_value_type(pOut);\n    if (iVar10 != 3) {\n      iVar10 = 1;\n      puStack_a0 = (uchar *)0xa7217;\n      sqlite3SetString(pzErrMsg,db,"non-text filename");\n      ppsVar13 = &local_9c;\n      goto LAB_000a7232;\n    }\n    puStack_a0 = sqlite3_value_text(local_9c);\n    db->openFlags = db->openFlags & 0xfffffffe | 6;\n  }\n  local_98[0] = (uint)db->flags;\n  local_88[0] = db->mDbFlags;\n  local_70 = iDb * 0x10;\n  local_98[1] = *(uint *)((int)&db->flags + 4);\n  db->mDbFlags = local_88[0] | 6;\n  local_88[1] = db->nChange;\n  local_88[2] = db->nTotalChange;\n  *(uint *)&db->flags = local_98[0] & 0xefffafff | 0x201;\n  pDVar2 = db->aDb;\n  local_71 = db->mTrace;\n  db->mTrace = '\0';\n  *(uint *)((int)&db->flags + 4) = local_98[1] & 0xfffffffe;\n  local_6c = pDVar2[iDb].zDbSName;\n  local_8c = pDVar2[iDb].pBt;\n  local_65 = local_8c->pBt->pPager->tempFile;\n  local_7c = db->nDb;\n  iVar10 = execSqlF(db,pzErrMsg,"ATTACH %Q AS vacuum_db");\n  ppsVar13 = &local_9c;\n  db->openFlags = (uint)local_90;\n  if (iVar10 == 0) {\n    local_90 = db->aDb + local_7c;\n    local_64 = local_90->pBt;\n    if (local_9c == (sqlite3_value *)0x0) {\n      puStack_a0 = (uchar *)0xa76c1;\n      local_60 = sqlite3BtreeGetRequestedReserve(local_8c);\n      pBVar11 = local_64;\n      puStack_a0 = (uchar *)0xa76de;\n      sqlite3BtreeSetCacheSize\n                (local_64,*(int *)(*(int *)((int)&db->aDb->pSchema + local_70) + 0x50));\n      puStack_a0 = (uchar *)0xa76e9;\n      iVar10 = sqlite3BtreeSetSpillSize(local_8c,0);\n      puStack_a0 = (uchar *)0xa76f2;\n      sqlite3BtreeSetSpillSize(pBVar11,iVar10);\n      puStack_a0 = (uchar *)0xa76fe;\n      sqlite3BtreeSetPagerFlags(pBVar11,0x21);\n      puStack_a0 = (uchar *)0xa770d;\n      iVar10 = execSql(db,pzErrMsg,"BEGIN");\n      if (iVar10 == 0) {\n        iVar10 = 2;\n        goto LAB_000a73fb;\n      }\nLAB_000a7644:\n      uVar6 = *(u32 *)((int)ppsVar13 + 0x14);\n      (db->init).iDb = '\0';\n      db->mDbFlags = uVar6;\n      *(undefined4 *)&db->flags = *(undefined4 *)((int)ppsVar13 + 4);\n      *(undefined4 *)((int)&db->flags + 4) = *(undefined4 *)((int)ppsVar13 + 8);\n      db->nChange = *(int *)((int)ppsVar13 + 0x18);\n      db->nTotalChange = *(int *)((int)ppsVar13 + 0x1c);\n      *(undefined4 *)((int)ppsVar13 + -0x10) = 1;\n      db->mTrace = *(u8 *)((int)ppsVar13 + 0x2b);\n      *(undefined4 *)((int)ppsVar13 + -0x14) = 0xa768b;\n      sqlite3BtreeSetPageSize\n                (*(Btree **)((int)ppsVar13 + 0x10),-1,0,*(int *)((int)ppsVar13 + -0x10));\n      db->autoCommit = '\x01';\n    }\n    else {\n      psVar3 = local_64->pBt->pPager->fd;\n      sz._0_4_ = 0;\n      sz._4_4_ = 0;\n      psVar4 = psVar3->pMethods;\n      if (psVar4 != (sqlite3_io_methods *)0x0) {\n        iVar10 = (*psVar4->xFileSize)(psVar3,&sz);\n        ppsVar13 = &local_9c;\n        if ((iVar10 != 0) || ((-1 < sz._4_4_ && ((0 < sz._4_4_ || ((int)sz != 0)))))) {\n          iVar10 = 1;\n          puStack_a0 = (uchar *)0xa7644;\n          sqlite3SetString(pzErrMsg,db,"output file already exists");\n          goto LAB_000a7644;\n        }\n      }\n      db->mDbFlags = db->mDbFlags | 8;\n      puStack_a0 = (uchar *)0xa73a5;\n      local_60 = sqlite3BtreeGetRequestedReserve(local_8c);\n      pBVar11 = local_64;\n      puStack_a0 = (uchar *)0xa73c2;\n      sqlite3BtreeSetCacheSize\n                (local_64,*(int *)(*(int *)((int)&db->aDb->pSchema + local_70) + 0x50));\n      puStack_a0 = (uchar *)0xa73cd;\n      iVar10 = sqlite3BtreeSetSpillSize(local_8c,0);\n      puStack_a0 = (uchar *)0xa73d6;\n      sqlite3BtreeSetSpillSize(pBVar11,iVar10);\n      puStack_a0 = (uchar *)0xa73e2;\n      sqlite3BtreeSetPagerFlags(pBVar11,0x21);\n      puStack_a0 = (uchar *)0xa73f1;\n      iVar10 = execSql(db,pzErrMsg,"BEGIN");\n      ppsVar13 = &local_9c;\n      if (iVar10 != 0) goto LAB_000a7644;\nLAB_000a73fb:\n      puStack_a0 = (uchar *)0xa7408;\n      iVar10 = sqlite3BtreeBeginTrans(local_8c,iVar10,(int *)0x0);\n      ppsVar13 = &local_9c;\n      if (iVar10 != 0) goto LAB_000a7644;\n      pBVar5 = local_8c->pBt;\n      if (pBVar5->pPager->journalMode == '\x05') {\n        db->nextPagesize = 0;\n      }\n      iVar10 = sqlite3BtreeSetPageSize(local_64,pBVar5->pageSize,local_60,0);\n      if ((iVar10 != 0) ||\n         (((local_65 == '\0' &&\n           (iVar10 = sqlite3BtreeSetPageSize(local_64,db->nextPagesize,local_60,0), iVar10 != 0)) ||\n          (db->mallocFailed != '\0')))) {\n        iVar10 = 7;\n        ppsVar13 = &local_9c;\n        goto LAB_000a7644;\n      }\n      pBVar11 = (Btree *)(int)db->nextAutovac;\n      ppsVar13 = &local_9c;\n      if (db->nextAutovac < '\0') {\n        ppsVar13 = (sqlite3_value **)&puStack_a0;\n        puStack_a0 = (uchar *)0xa7754;\n        pBVar11 = (Btree *)sqlite3BtreeGetAutoVacuum(pBVar11);\n      }\n      ((int *)ppsVar13)[-1] = 0xa7472;\n      sqlite3BtreeSetAutoVacuum((Btree *)((int *)ppsVar13)[0xe],(int)pBVar11);\n      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];\n      (db->init).iDb = (u8)((int *)ppsVar13)[8];\n      ((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbcc7);\n      ((int *)ppsVar13)[-3] = (int)pzErrMsg;\n      ((int *)ppsVar13)[-4] = (int)db;\n      ((int *)ppsVar13)[-5] = 0xa748f;\n      iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2]);\n      if (iVar10 != 0) goto LAB_000a7644;\n      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];\n      ((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbcac);\n      ((int *)ppsVar13)[-3] = (int)pzErrMsg;\n      ((int *)ppsVar13)[-4] = (int)db;\n      ((int *)ppsVar13)[-5] = 0xa74ae;\n      iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2]);\n      if (iVar10 != 0) goto LAB_000a7644;\n      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];\n      (db->init).iDb = '\0';\n      ((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbc9e);\n      ((int *)ppsVar13)[-3] = (int)pzErrMsg;\n      ((int *)ppsVar13)[-4] = (int)db;\n      ((int *)ppsVar13)[-5] = 0xa74d4;\n      iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2]);\n      db->mDbFlags = db->mDbFlags & 0xfffffffb;\n      if (iVar10 != 0) goto LAB_000a7644;\n      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];\n      ((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbc78);\n      ((int *)ppsVar13)[-3] = (int)pzErrMsg;\n      ((int *)ppsVar13)[-4] = (int)db;\n      ((int *)ppsVar13)[-5] = 0xa74f7;\n      iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2]);\n      if (iVar10 != 0) goto LAB_000a7644;\n      ((int *)ppsVar13)[8] = (int)((int *)ppsVar13 + 0x11);\n      iVar14 = 0;\n      do {\n        uVar16 = (uint)*(byte *)(iVar14 + -0x2d058 + (int)ppuVar12);\n        ((int *)ppsVar13)[-1] = 0xa7523;\n        sqlite3BtreeGetMeta((Btree *)((int *)ppsVar13)[4],uVar16,(u32 *)((int *)ppsVar13)[8]);\n        bVar1 = *(byte *)(iVar14 + -0x2d057 + (int)ppuVar12);\n        ((int *)ppsVar13)[-1] = 0xa753a;\n        iVar10 = sqlite3BtreeUpdateMeta\n                           ((Btree *)((int *)ppsVar13)[0xe],uVar16,\n                            (uint)bVar1 + ((int *)ppsVar13)[0x11]);\n        if (iVar10 != 0) goto LAB_000a7644;\n        iVar14 = iVar14 + 2;\n      } while (iVar14 != 10);\n      if (*ppsVar13 == (sqlite3_value *)0x0) {\n        if (((Btree *)((int *)ppsVar13)[4])->sharable != '\0') {\n          ((int *)ppsVar13)[-1] = 0xa7778;\n          sqlite3BtreeEnter((Btree *)((int *)ppsVar13)[4]);\n        }\n        if (((Btree *)((int *)ppsVar13)[0xe])->sharable != '\0') {\n          ((int *)ppsVar13)[-1] = 0xa7787;\n          sqlite3BtreeEnter((Btree *)((int *)ppsVar13)[0xe]);\n        }\n        iVar10 = **(int **)(**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c);\n        *ppsVar13 = (sqlite3_value *)*(int **)(**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c);\n        if (iVar10 == 0) {\nLAB_000a77ea:\n          piVar15 = (int *)ppsVar13 + 0x12;\n          piVar17 = piVar15;\n          for (iVar10 = 0xc; iVar10 != 0; iVar10 = iVar10 + -1) {\n            *piVar17 = 0;\n            piVar17 = piVar17 + (uint)bVar18 * -2 + 1;\n          }\n          iVar10 = *(int *)((int *)ppsVar13)[0xe];\n          ((int *)ppsVar13)[0x18] = ((int *)ppsVar13)[0xe];\n          ((int *)ppsVar13)[0x16] = 1;\n          ((int *)ppsVar13)[0x17] = iVar10;\n          iVar10 = ((int *)ppsVar13)[4];\n          ((int *)ppsVar13)[0x13] = iVar10;\n          ((int *)ppsVar13)[-1] = iVar10;\n          ((int *)ppsVar13)[-2] = iVar10;\n          ((int *)ppsVar13)[-3] = 0x7fffffff;\n          ((int *)ppsVar13)[-4] = (int)piVar15;\n          ((int *)ppsVar13)[-5] = 0xa7820;\n          sqlite3_backup_step((sqlite3_backup *)((int *)ppsVar13)[-4],((int *)ppsVar13)[-3]);\n          ((int *)ppsVar13)[-4] = (int)piVar15;\n          ((int *)ppsVar13)[-5] = 0xa7828;\n          iVar10 = sqlite3_backup_finish((sqlite3_backup *)((int *)ppsVar13)[-4]);\n          if (iVar10 == 0) {\n            *(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18) & 0xfffd;\n          }\n          else {\n            pPager = (Pager *)**(undefined4 **)(((int *)ppsVar13)[0x13] + 4);\n            if (pPager->tempFile == '\0') {\n              ((int *)ppsVar13)[-1] = 0xa78ee;\n              pager_reset(pPager);\n            }\n          }\n        }\n        else {\n          uVar16 = *(uint *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x24);\n          uVar7 = *(uint *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x30);\n          ((int *)ppsVar13)[8] = uVar16;\n          ((int *)ppsVar13)[9] = (int)uVar16 >> 0x1f;\n          lVar9 = (ulonglong)uVar7 * (ulonglong)uVar16;\n          iVar14 = (int)((ulonglong)lVar9 >> 0x20) + ((int *)ppsVar13)[9] * uVar7;\n          ((int *)ppsVar13)[0x12] = (int)lVar9;\n          ((int *)ppsVar13)[0x13] = iVar14;\n          ((int *)ppsVar13)[-1] = iVar14;\n          ((int *)ppsVar13)[-2] = (int)((int *)ppsVar13 + 0x12);\n          ((int *)ppsVar13)[-3] = 0xb;\n          ((int *)ppsVar13)[-4] = (int)*ppsVar13;\n          pcVar8 = *(code **)(iVar10 + 0x28);\n          ((int *)ppsVar13)[-5] = 0xa77dc;\n          iVar10 = (*pcVar8)();\n          if ((iVar10 == 0xc) || (iVar10 == 0)) goto LAB_000a77ea;\n        }\n        pBVar11 = (Btree *)((int *)ppsVar13)[0xe];\n        if (pBVar11->sharable != '\0') {\n          iVar14 = pBVar11->wantToLock;\n          *ppsVar13 = (sqlite3_value *)iVar14;\n          iVar14 = iVar14 + -1;\n          pBVar11->wantToLock = iVar14;\n          if (iVar14 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa7862;\n            sqlite3BtreeLeave(pBVar11);\n          }\n        }\n        pBVar11 = (Btree *)((int *)ppsVar13)[4];\n        if (pBVar11->sharable != '\0') {\n          iVar14 = pBVar11->wantToLock;\n          *ppsVar13 = (sqlite3_value *)iVar14;\n          iVar14 = iVar14 + -1;\n          pBVar11->wantToLock = iVar14;\n          if (iVar14 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa7883;\n            sqlite3BtreeLeave(pBVar11);\n          }\n        }\n        if (iVar10 == 0) {\n          pBVar11 = (Btree *)((int *)ppsVar13)[0xe];\n          ((int *)ppsVar13)[-1] = 0xa7896;\n          iVar10 = sqlite3BtreeCommit(pBVar11);\n          if (iVar10 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa78a9;\n            iVar10 = sqlite3BtreeGetAutoVacuum(p_00);\n            p = (Btree *)((int *)ppsVar13)[3];\n            ((int *)ppsVar13)[-2] = 0xa78b6;\n            sqlite3BtreeSetAutoVacuum(p,iVar10);\n            uVar6 = pBVar11->pBt->pageSize;\n            ((int *)ppsVar13)[-5] = 1;\n            ((int *)ppsVar13)[-6] = 0xa78cc;\n            iVar10 = sqlite3BtreeSetPageSize(p,uVar6,((int *)ppsVar13)[0xe],((int *)ppsVar13)[-5]);\n            ppsVar13 = (sqlite3_value **)((int *)ppsVar13 + -1);\n          }\n        }\n        goto LAB_000a7644;\n      }\n      ((int *)ppsVar13)[-1] = 0xa755d;\n      iVar10 = sqlite3BtreeCommit((Btree *)((int *)ppsVar13)[0xe]);\n      if (iVar10 != 0) goto LAB_000a7644;\n      uVar6 = ((int *)ppsVar13)[5];\n      (db->init).iDb = '\0';\n      iVar10 = 0;\n      db->mDbFlags = uVar6;\n      *(int *)&db->flags = ((int *)ppsVar13)[1];\n      *(int *)((int)&db->flags + 4) = ((int *)ppsVar13)[2];\n      db->nChange = ((int *)ppsVar13)[6];\n      db->nTotalChange = ((int *)ppsVar13)[7];\n      ((int *)ppsVar13)[-4] = 1;\n      db->mTrace = *(u8 *)((int)ppsVar13 + 0x2b);\n      ((int *)ppsVar13)[-5] = 0xa75ae;\n      sqlite3BtreeSetPageSize((Btree *)((int *)ppsVar13)[4],-1,0,((int *)ppsVar13)[-4]);\n      db->autoCommit = '\x01';\n    }\n    iVar14 = *(int *)((int)ppsVar13 + 0xc);\n    pBVar11 = *(Btree **)(iVar14 + 4);\n    *(undefined4 *)((int)ppsVar13 + -4) = 0xa769e;\n    sqlite3BtreeClose(pBVar11);\n    *(undefined4 *)(iVar14 + 4) = 0;\n    *(undefined4 *)(iVar14 + 0xc) = 0;\n  }\n  else {\n    (db->init).iDb = '\0';\n    db->mDbFlags = local_88[0];\n    *(uint *)&db->flags = local_98[0];\n    *(uint *)((int)&db->flags + 4) = local_98[1];\n    db->nChange = local_88[1];\n    db->nTotalChange = local_88[2];\n    db->mTrace = local_71;\n    sqlite3BtreeSetPageSize(local_8c,-1,0,1);\n    db->autoCommit = '\x01';\n    ppsVar13 = &local_9c;\n  }\n  *(undefined4 *)((int)ppsVar13 + -4) = 0xa7625;\n  sqlite3ResetAllSchemasOfConnection(db);\nLAB_000a7232:\n  if (*(int *)((int)ppsVar13 + 0x7c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)ppsVar13 + -4) = 0xa7760;\n    __stack_chk_fail_local();\n  }\n  return iVar10;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "Db *pDVar2;" type_identifier (pointer_declarator "*pDVar2" * identifier) ;) (declaration "sqlite3_file *psVar3;" type_identifier (pointer_declarator "*psVar3" * identifier) ;) (declaration "sqlite3_io_methods *psVar4;" type_identifier (pointer_declarator "*psVar4" * identifier) ;) (declaration "BtShared *pBVar5;" type_identifier (pointer_declarator "*pBVar5" * identifier) ;) (declaration "u32 uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "code *pcVar8;" type_identifier (pointer_declarator "*pcVar8" * identifier) ;) (declaration "Btree *p;" type_identifier (pointer_declarator "*p" * identifier) ;) (declaration "Pager *pPager;" type_identifier (pointer_declarator "*pPager" * identifier) ;) (declaration "longlong lVar9;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "Btree *pBVar11;" type_identifier (pointer_declarator "*pBVar11" * identifier) ;) (declaration "Btree *p_00;" type_identifier (pointer_declarator "*p_00" * identifier) ;) (declaration "undefined **ppuVar12;" type_identifier (pointer_declarator "**ppuVar12" * (pointer_declarator "*ppuVar12" * identifier)) ;) (declaration "sqlite3_value **ppsVar13;" type_identifier (pointer_declarator "**ppsVar13" * (pointer_declarator "*ppsVar13" * identifier)) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "int *piVar17;" primitive_type (pointer_declarator "*piVar17" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "byte bVar18;" type_identifier identifier ;) (declaration "int aiStack_b8 [3];" primitive_type (array_declarator "aiStack_b8 [3]" identifier [ number_literal ]) ;) (declaration "uchar *puStack_a0;" type_identifier (pointer_declarator "*puStack_a0" * identifier) ;) (declaration "sqlite3_value *local_9c;" type_identifier (pointer_declarator "*local_9c" * identifier) ;) (declaration "uint local_98 [2];" type_identifier (array_declarator "local_98 [2]" identifier [ number_literal ]) ;) (declaration "Db *local_90;" type_identifier (pointer_declarator "*local_90" * identifier) ;) (declaration "Btree *local_8c;" type_identifier (pointer_declarator "*local_8c" * identifier) ;) (declaration "uint local_88 [3];" type_identifier (array_declarator "local_88 [3]" identifier [ number_literal ]) ;) (declaration "undefined4 local_7c;" type_identifier identifier ;) (declaration "u8 local_71;" type_identifier identifier ;) (declaration "int local_70;" primitive_type identifier ;) (declaration "char *local_6c;" primitive_type (pointer_declarator "*local_6c" * identifier) ;) (declaration "u8 local_65;" type_identifier identifier ;) (declaration "Btree *local_64;" type_identifier (pointer_declarator "*local_64" * identifier) ;) (declaration "int local_60;" primitive_type identifier ;) (declaration "u32 meta;" type_identifier identifier ;) (declaration "i64 sz;" type_identifier identifier ;) (declaration "int aiStack_28 [5];" primitive_type (array_declarator "aiStack_28 [5]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar18 = 0;" (assignment_expression "bVar18 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0xa71ad;" (assignment_expression "uStack_14 = 0xa71ad" identifier = number_literal) ;) (expression_statement "ppuVar12 = &_GLOBAL_OFFSET_TABLE_;" (assignment_expression "ppuVar12 = &_GLOBAL_OFFSET_TABLE_" identifier = (pointer_expression "&_GLOBAL_OFFSET_TABLE_" & identifier)) ;) (expression_statement "ppsVar13 = &local_9c;" (assignment_expression "ppsVar13 = &local_9c" identifier = (pointer_expression "&local_9c" & identifier)) ;) (expression_statement "local_9c = pOut;" (assignment_expression "local_9c = pOut" identifier = identifier) ;) (expression_statement "aiStack_28[2] = *(undefined4 *)(in_GS_OFFSET + 0x14);" (assignment_expression "aiStack_28[2] = *(undefined4 *)(in_GS_OFFSET + 0x14)" (subscript_expression "aiStack_28[2]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(in_GS_OFFSET + 0x14)" * (cast_expression "(undefined4 *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (db->autoCommit == '\0') {\n    iVar10 = 1;\n    puStack_a0 = (uchar *)0xa7262;\n    sqlite3SetString(pzErrMsg,db,"cannot VACUUM from within a transaction");\n    goto LAB_000a7232;\n  }" if (parenthesized_expression "(db->autoCommit == '\0')" ( (binary_expression "db->autoCommit == '\0'" (field_expression "db->autoCommit" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    iVar10 = 1;\n    puStack_a0 = (uchar *)0xa7262;\n    sqlite3SetString(pzErrMsg,db,"cannot VACUUM from within a transaction");\n    goto LAB_000a7232;\n  }" { (expression_statement "iVar10 = 1;" (assignment_expression "iVar10 = 1" identifier = number_literal) ;) (expression_statement "puStack_a0 = (uchar *)0xa7262;" (assignment_expression "puStack_a0 = (uchar *)0xa7262" identifier = (cast_expression "(uchar *)0xa7262" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sqlite3SetString(pzErrMsg,db,"cannot VACUUM from within a transaction");" (call_expression "sqlite3SetString(pzErrMsg,db,"cannot VACUUM from within a transaction")" identifier (argument_list "(pzErrMsg,db,"cannot VACUUM from within a transaction")" ( identifier , identifier , (string_literal ""cannot VACUUM from within a transaction"" " string_content ") ))) ;) (goto_statement "goto LAB_000a7232;" goto statement_identifier ;) })) (if_statement "if (1 < db->nVdbeActive) {\n    iVar10 = 1;\n    puStack_a0 = (uchar *)0xa7232;\n    sqlite3SetString(pzErrMsg,db,"cannot VACUUM - SQL statements in progress");\n    ppsVar13 = &local_9c;\n    goto LAB_000a7232;\n  }" if (parenthesized_expression "(1 < db->nVdbeActive)" ( (binary_expression "1 < db->nVdbeActive" number_literal < (field_expression "db->nVdbeActive" identifier -> field_identifier)) )) (compound_statement "{\n    iVar10 = 1;\n    puStack_a0 = (uchar *)0xa7232;\n    sqlite3SetString(pzErrMsg,db,"cannot VACUUM - SQL statements in progress");\n    ppsVar13 = &local_9c;\n    goto LAB_000a7232;\n  }" { (expression_statement "iVar10 = 1;" (assignment_expression "iVar10 = 1" identifier = number_literal) ;) (expression_statement "puStack_a0 = (uchar *)0xa7232;" (assignment_expression "puStack_a0 = (uchar *)0xa7232" identifier = (cast_expression "(uchar *)0xa7232" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sqlite3SetString(pzErrMsg,db,"cannot VACUUM - SQL statements in progress");" (call_expression "sqlite3SetString(pzErrMsg,db,"cannot VACUUM - SQL statements in progress")" identifier (argument_list "(pzErrMsg,db,"cannot VACUUM - SQL statements in progress")" ( identifier , identifier , (string_literal ""cannot VACUUM - SQL statements in progress"" " string_content ") ))) ;) (expression_statement "ppsVar13 = &local_9c;" (assignment_expression "ppsVar13 = &local_9c" identifier = (pointer_expression "&local_9c" & identifier)) ;) (goto_statement "goto LAB_000a7232;" goto statement_identifier ;) })) (expression_statement "local_90 = (Db *)db->openFlags;" (assignment_expression "local_90 = (Db *)db->openFlags" identifier = (cast_expression "(Db *)db->openFlags" ( (type_descriptor "Db *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "db->openFlags" identifier -> field_identifier))) ;) (if_statement "if (pOut == (sqlite3_value *)0x0) {\n    puStack_a0 = "";\n  }\n  else {\n    iVar10 = sqlite3_value_type(pOut);\n    if (iVar10 != 3) {\n      iVar10 = 1;\n      puStack_a0 = (uchar *)0xa7217;\n      sqlite3SetString(pzErrMsg,db,"non-text filename");\n      ppsVar13 = &local_9c;\n      goto LAB_000a7232;\n    }\n    puStack_a0 = sqlite3_value_text(local_9c);\n    db->openFlags = db->openFlags & 0xfffffffe | 6;\n  }" if (parenthesized_expression "(pOut == (sqlite3_value *)0x0)" ( (binary_expression "pOut == (sqlite3_value *)0x0" identifier == (cast_expression "(sqlite3_value *)0x0" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puStack_a0 = "";\n  }" { (expression_statement "puStack_a0 = "";" (assignment_expression "puStack_a0 = """ identifier = (string_literal """" " ")) ;) }) (else_clause "else {\n    iVar10 = sqlite3_value_type(pOut);\n    if (iVar10 != 3) {\n      iVar10 = 1;\n      puStack_a0 = (uchar *)0xa7217;\n      sqlite3SetString(pzErrMsg,db,"non-text filename");\n      ppsVar13 = &local_9c;\n      goto LAB_000a7232;\n    }\n    puStack_a0 = sqlite3_value_text(local_9c);\n    db->openFlags = db->openFlags & 0xfffffffe | 6;\n  }" else (compound_statement "{\n    iVar10 = sqlite3_value_type(pOut);\n    if (iVar10 != 3) {\n      iVar10 = 1;\n      puStack_a0 = (uchar *)0xa7217;\n      sqlite3SetString(pzErrMsg,db,"non-text filename");\n      ppsVar13 = &local_9c;\n      goto LAB_000a7232;\n    }\n    puStack_a0 = sqlite3_value_text(local_9c);\n    db->openFlags = db->openFlags & 0xfffffffe | 6;\n  }" { (expression_statement "iVar10 = sqlite3_value_type(pOut);" (assignment_expression "iVar10 = sqlite3_value_type(pOut)" identifier = (call_expression "sqlite3_value_type(pOut)" identifier (argument_list "(pOut)" ( identifier )))) ;) (if_statement "if (iVar10 != 3) {\n      iVar10 = 1;\n      puStack_a0 = (uchar *)0xa7217;\n      sqlite3SetString(pzErrMsg,db,"non-text filename");\n      ppsVar13 = &local_9c;\n      goto LAB_000a7232;\n    }" if (parenthesized_expression "(iVar10 != 3)" ( (binary_expression "iVar10 != 3" identifier != number_literal) )) (compound_statement "{\n      iVar10 = 1;\n      puStack_a0 = (uchar *)0xa7217;\n      sqlite3SetString(pzErrMsg,db,"non-text filename");\n      ppsVar13 = &local_9c;\n      goto LAB_000a7232;\n    }" { (expression_statement "iVar10 = 1;" (assignment_expression "iVar10 = 1" identifier = number_literal) ;) (expression_statement "puStack_a0 = (uchar *)0xa7217;" (assignment_expression "puStack_a0 = (uchar *)0xa7217" identifier = (cast_expression "(uchar *)0xa7217" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sqlite3SetString(pzErrMsg,db,"non-text filename");" (call_expression "sqlite3SetString(pzErrMsg,db,"non-text filename")" identifier (argument_list "(pzErrMsg,db,"non-text filename")" ( identifier , identifier , (string_literal ""non-text filename"" " string_content ") ))) ;) (expression_statement "ppsVar13 = &local_9c;" (assignment_expression "ppsVar13 = &local_9c" identifier = (pointer_expression "&local_9c" & identifier)) ;) (goto_statement "goto LAB_000a7232;" goto statement_identifier ;) })) (expression_statement "puStack_a0 = sqlite3_value_text(local_9c);" (assignment_expression "puStack_a0 = sqlite3_value_text(local_9c)" identifier = (call_expression "sqlite3_value_text(local_9c)" identifier (argument_list "(local_9c)" ( identifier )))) ;) (expression_statement "db->openFlags = db->openFlags & 0xfffffffe | 6;" (assignment_expression "db->openFlags = db->openFlags & 0xfffffffe | 6" (field_expression "db->openFlags" identifier -> field_identifier) = (binary_expression "db->openFlags & 0xfffffffe | 6" (binary_expression "db->openFlags & 0xfffffffe" (field_expression "db->openFlags" identifier -> field_identifier) & number_literal) | number_literal)) ;) }))) (expression_statement "local_98[0] = (uint)db->flags;" (assignment_expression "local_98[0] = (uint)db->flags" (subscript_expression "local_98[0]" identifier [ number_literal ]) = (cast_expression "(uint)db->flags" ( (type_descriptor "uint" type_identifier) ) (field_expression "db->flags" identifier -> field_identifier))) ;) (expression_statement "local_88[0] = db->mDbFlags;" (assignment_expression "local_88[0] = db->mDbFlags" (subscript_expression "local_88[0]" identifier [ number_literal ]) = (field_expression "db->mDbFlags" identifier -> field_identifier)) ;) (expression_statement "local_70 = iDb * 0x10;" (assignment_expression "local_70 = iDb * 0x10" identifier = (binary_expression "iDb * 0x10" identifier * number_literal)) ;) (expression_statement "local_98[1] = *(uint *)((int)&db->flags + 4);" (assignment_expression "local_98[1] = *(uint *)((int)&db->flags + 4)" (subscript_expression "local_98[1]" identifier [ number_literal ]) = (pointer_expression "*(uint *)((int)&db->flags + 4)" * (cast_expression "(uint *)((int)&db->flags + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&db->flags + 4)" ( (binary_expression "(int)&db->flags + 4" (cast_expression "(int)&db->flags" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&db->flags" & (field_expression "db->flags" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "db->mDbFlags = local_88[0] | 6;" (assignment_expression "db->mDbFlags = local_88[0] | 6" (field_expression "db->mDbFlags" identifier -> field_identifier) = (binary_expression "local_88[0] | 6" (subscript_expression "local_88[0]" identifier [ number_literal ]) | number_literal)) ;) (expression_statement "local_88[1] = db->nChange;" (assignment_expression "local_88[1] = db->nChange" (subscript_expression "local_88[1]" identifier [ number_literal ]) = (field_expression "db->nChange" identifier -> field_identifier)) ;) (expression_statement "local_88[2] = db->nTotalChange;" (assignment_expression "local_88[2] = db->nTotalChange" (subscript_expression "local_88[2]" identifier [ number_literal ]) = (field_expression "db->nTotalChange" identifier -> field_identifier)) ;) (expression_statement "*(uint *)&db->flags = local_98[0] & 0xefffafff | 0x201;" (assignment_expression "*(uint *)&db->flags = local_98[0] & 0xefffafff | 0x201" (pointer_expression "*(uint *)&db->flags" * (cast_expression "(uint *)&db->flags" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&db->flags" & (field_expression "db->flags" identifier -> field_identifier)))) = (binary_expression "local_98[0] & 0xefffafff | 0x201" (binary_expression "local_98[0] & 0xefffafff" (subscript_expression "local_98[0]" identifier [ number_literal ]) & number_literal) | number_literal)) ;) (expression_statement "pDVar2 = db->aDb;" (assignment_expression "pDVar2 = db->aDb" identifier = (field_expression "db->aDb" identifier -> field_identifier)) ;) (expression_statement "local_71 = db->mTrace;" (assignment_expression "local_71 = db->mTrace" identifier = (field_expression "db->mTrace" identifier -> field_identifier)) ;) (expression_statement "db->mTrace = '\0';" (assignment_expression "db->mTrace = '\0'" (field_expression "db->mTrace" identifier -> field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "*(uint *)((int)&db->flags + 4) = local_98[1] & 0xfffffffe;" (assignment_expression "*(uint *)((int)&db->flags + 4) = local_98[1] & 0xfffffffe" (pointer_expression "*(uint *)((int)&db->flags + 4)" * (cast_expression "(uint *)((int)&db->flags + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&db->flags + 4)" ( (binary_expression "(int)&db->flags + 4" (cast_expression "(int)&db->flags" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&db->flags" & (field_expression "db->flags" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "local_98[1] & 0xfffffffe" (subscript_expression "local_98[1]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "local_6c = pDVar2[iDb].zDbSName;" (assignment_expression "local_6c = pDVar2[iDb].zDbSName" identifier = (field_expression "pDVar2[iDb].zDbSName" (subscript_expression "pDVar2[iDb]" identifier [ identifier ]) . field_identifier)) ;) (expression_statement "local_8c = pDVar2[iDb].pBt;" (assignment_expression "local_8c = pDVar2[iDb].pBt" identifier = (field_expression "pDVar2[iDb].pBt" (subscript_expression "pDVar2[iDb]" identifier [ identifier ]) . field_identifier)) ;) (expression_statement "local_65 = local_8c->pBt->pPager->tempFile;" (assignment_expression "local_65 = local_8c->pBt->pPager->tempFile" identifier = (field_expression "local_8c->pBt->pPager->tempFile" (field_expression "local_8c->pBt->pPager" (field_expression "local_8c->pBt" identifier -> field_identifier) -> field_identifier) -> field_identifier)) ;) (expression_statement "local_7c = db->nDb;" (assignment_expression "local_7c = db->nDb" identifier = (field_expression "db->nDb" identifier -> field_identifier)) ;) (expression_statement "iVar10 = execSqlF(db,pzErrMsg,"ATTACH %Q AS vacuum_db");" (assignment_expression "iVar10 = execSqlF(db,pzErrMsg,"ATTACH %Q AS vacuum_db")" identifier = (call_expression "execSqlF(db,pzErrMsg,"ATTACH %Q AS vacuum_db")" identifier (argument_list "(db,pzErrMsg,"ATTACH %Q AS vacuum_db")" ( identifier , identifier , (string_literal ""ATTACH %Q AS vacuum_db"" " string_content ") )))) ;) (expression_statement "ppsVar13 = &local_9c;" (assignment_expression "ppsVar13 = &local_9c" identifier = (pointer_expression "&local_9c" & identifier)) ;) (expression_statement "db->openFlags = (uint)local_90;" (assignment_expression "db->openFlags = (uint)local_90" (field_expression "db->openFlags" identifier -> field_identifier) = (cast_expression "(uint)local_90" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (iVar10 == 0) {\n    local_90 = db->aDb + local_7c;\n    local_64 = local_90->pBt;\n    if (local_9c == (sqlite3_value *)0x0) {\n      puStack_a0 = (uchar *)0xa76c1;\n      local_60 = sqlite3BtreeGetRequestedReserve(local_8c);\n      pBVar11 = local_64;\n      puStack_a0 = (uchar *)0xa76de;\n      sqlite3BtreeSetCacheSize\n                (local_64,*(int *)(*(int *)((int)&db->aDb->pSchema + local_70) + 0x50));\n      puStack_a0 = (uchar *)0xa76e9;\n      iVar10 = sqlite3BtreeSetSpillSize(local_8c,0);\n      puStack_a0 = (uchar *)0xa76f2;\n      sqlite3BtreeSetSpillSize(pBVar11,iVar10);\n      puStack_a0 = (uchar *)0xa76fe;\n      sqlite3BtreeSetPagerFlags(pBVar11,0x21);\n      puStack_a0 = (uchar *)0xa770d;\n      iVar10 = execSql(db,pzErrMsg,"BEGIN");\n      if (iVar10 == 0) {\n        iVar10 = 2;\n        goto LAB_000a73fb;\n      }\nLAB_000a7644:\n      uVar6 = *(u32 *)((int)ppsVar13 + 0x14);\n      (db->init).iDb = '\0';\n      db->mDbFlags = uVar6;\n      *(undefined4 *)&db->flags = *(undefined4 *)((int)ppsVar13 + 4);\n      *(undefined4 *)((int)&db->flags + 4) = *(undefined4 *)((int)ppsVar13 + 8);\n      db->nChange = *(int *)((int)ppsVar13 + 0x18);\n      db->nTotalChange = *(int *)((int)ppsVar13 + 0x1c);\n      *(undefined4 *)((int)ppsVar13 + -0x10) = 1;\n      db->mTrace = *(u8 *)((int)ppsVar13 + 0x2b);\n      *(undefined4 *)((int)ppsVar13 + -0x14) = 0xa768b;\n      sqlite3BtreeSetPageSize\n                (*(Btree **)((int)ppsVar13 + 0x10),-1,0,*(int *)((int)ppsVar13 + -0x10));\n      db->autoCommit = '\x01';\n    }\n    else {\n      psVar3 = local_64->pBt->pPager->fd;\n      sz._0_4_ = 0;\n      sz._4_4_ = 0;\n      psVar4 = psVar3->pMethods;\n      if (psVar4 != (sqlite3_io_methods *)0x0) {\n        iVar10 = (*psVar4->xFileSize)(psVar3,&sz);\n        ppsVar13 = &local_9c;\n        if ((iVar10 != 0) || ((-1 < sz._4_4_ && ((0 < sz._4_4_ || ((int)sz != 0)))))) {\n          iVar10 = 1;\n          puStack_a0 = (uchar *)0xa7644;\n          sqlite3SetString(pzErrMsg,db,"output file already exists");\n          goto LAB_000a7644;\n        }\n      }\n      db->mDbFlags = db->mDbFlags | 8;\n      puStack_a0 = (uchar *)0xa73a5;\n      local_60 = sqlite3BtreeGetRequestedReserve(local_8c);\n      pBVar11 = local_64;\n      puStack_a0 = (uchar *)0xa73c2;\n      sqlite3BtreeSetCacheSize\n                (local_64,*(int *)(*(int *)((int)&db->aDb->pSchema + local_70) + 0x50));\n      puStack_a0 = (uchar *)0xa73cd;\n      iVar10 = sqlite3BtreeSetSpillSize(local_8c,0);\n      puStack_a0 = (uchar *)0xa73d6;\n      sqlite3BtreeSetSpillSize(pBVar11,iVar10);\n      puStack_a0 = (uchar *)0xa73e2;\n      sqlite3BtreeSetPagerFlags(pBVar11,0x21);\n      puStack_a0 = (uchar *)0xa73f1;\n      iVar10 = execSql(db,pzErrMsg,"BEGIN");\n      ppsVar13 = &local_9c;\n      if (iVar10 != 0) goto LAB_000a7644;\nLAB_000a73fb:\n      puStack_a0 = (uchar *)0xa7408;\n      iVar10 = sqlite3BtreeBeginTrans(local_8c,iVar10,(int *)0x0);\n      ppsVar13 = &local_9c;\n      if (iVar10 != 0) goto LAB_000a7644;\n      pBVar5 = local_8c->pBt;\n      if (pBVar5->pPager->journalMode == '\x05') {\n        db->nextPagesize = 0;\n      }\n      iVar10 = sqlite3BtreeSetPageSize(local_64,pBVar5->pageSize,local_60,0);\n      if ((iVar10 != 0) ||\n         (((local_65 == '\0' &&\n           (iVar10 = sqlite3BtreeSetPageSize(local_64,db->nextPagesize,local_60,0), iVar10 != 0)) ||\n          (db->mallocFailed != '\0')))) {\n        iVar10 = 7;\n        ppsVar13 = &local_9c;\n        goto LAB_000a7644;\n      }\n      pBVar11 = (Btree *)(int)db->nextAutovac;\n      ppsVar13 = &local_9c;\n      if (db->nextAutovac < '\0') {\n        ppsVar13 = (sqlite3_value **)&puStack_a0;\n        puStack_a0 = (uchar *)0xa7754;\n        pBVar11 = (Btree *)sqlite3BtreeGetAutoVacuum(pBVar11);\n      }\n      ((int *)ppsVar13)[-1] = 0xa7472;\n      sqlite3BtreeSetAutoVacuum((Btree *)((int *)ppsVar13)[0xe],(int)pBVar11);\n      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];\n      (db->init).iDb = (u8)((int *)ppsVar13)[8];\n      ((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbcc7);\n      ((int *)ppsVar13)[-3] = (int)pzErrMsg;\n      ((int *)ppsVar13)[-4] = (int)db;\n      ((int *)ppsVar13)[-5] = 0xa748f;\n      iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2]);\n      if (iVar10 != 0) goto LAB_000a7644;\n      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];\n      ((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbcac);\n      ((int *)ppsVar13)[-3] = (int)pzErrMsg;\n      ((int *)ppsVar13)[-4] = (int)db;\n      ((int *)ppsVar13)[-5] = 0xa74ae;\n      iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2]);\n      if (iVar10 != 0) goto LAB_000a7644;\n      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];\n      (db->init).iDb = '\0';\n      ((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbc9e);\n      ((int *)ppsVar13)[-3] = (int)pzErrMsg;\n      ((int *)ppsVar13)[-4] = (int)db;\n      ((int *)ppsVar13)[-5] = 0xa74d4;\n      iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2]);\n      db->mDbFlags = db->mDbFlags & 0xfffffffb;\n      if (iVar10 != 0) goto LAB_000a7644;\n      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];\n      ((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbc78);\n      ((int *)ppsVar13)[-3] = (int)pzErrMsg;\n      ((int *)ppsVar13)[-4] = (int)db;\n      ((int *)ppsVar13)[-5] = 0xa74f7;\n      iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2]);\n      if (iVar10 != 0) goto LAB_000a7644;\n      ((int *)ppsVar13)[8] = (int)((int *)ppsVar13 + 0x11);\n      iVar14 = 0;\n      do {\n        uVar16 = (uint)*(byte *)(iVar14 + -0x2d058 + (int)ppuVar12);\n        ((int *)ppsVar13)[-1] = 0xa7523;\n        sqlite3BtreeGetMeta((Btree *)((int *)ppsVar13)[4],uVar16,(u32 *)((int *)ppsVar13)[8]);\n        bVar1 = *(byte *)(iVar14 + -0x2d057 + (int)ppuVar12);\n        ((int *)ppsVar13)[-1] = 0xa753a;\n        iVar10 = sqlite3BtreeUpdateMeta\n                           ((Btree *)((int *)ppsVar13)[0xe],uVar16,\n                            (uint)bVar1 + ((int *)ppsVar13)[0x11]);\n        if (iVar10 != 0) goto LAB_000a7644;\n        iVar14 = iVar14 + 2;\n      } while (iVar14 != 10);\n      if (*ppsVar13 == (sqlite3_value *)0x0) {\n        if (((Btree *)((int *)ppsVar13)[4])->sharable != '\0') {\n          ((int *)ppsVar13)[-1] = 0xa7778;\n          sqlite3BtreeEnter((Btree *)((int *)ppsVar13)[4]);\n        }\n        if (((Btree *)((int *)ppsVar13)[0xe])->sharable != '\0') {\n          ((int *)ppsVar13)[-1] = 0xa7787;\n          sqlite3BtreeEnter((Btree *)((int *)ppsVar13)[0xe]);\n        }\n        iVar10 = **(int **)(**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c);\n        *ppsVar13 = (sqlite3_value *)*(int **)(**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c);\n        if (iVar10 == 0) {\nLAB_000a77ea:\n          piVar15 = (int *)ppsVar13 + 0x12;\n          piVar17 = piVar15;\n          for (iVar10 = 0xc; iVar10 != 0; iVar10 = iVar10 + -1) {\n            *piVar17 = 0;\n            piVar17 = piVar17 + (uint)bVar18 * -2 + 1;\n          }\n          iVar10 = *(int *)((int *)ppsVar13)[0xe];\n          ((int *)ppsVar13)[0x18] = ((int *)ppsVar13)[0xe];\n          ((int *)ppsVar13)[0x16] = 1;\n          ((int *)ppsVar13)[0x17] = iVar10;\n          iVar10 = ((int *)ppsVar13)[4];\n          ((int *)ppsVar13)[0x13] = iVar10;\n          ((int *)ppsVar13)[-1] = iVar10;\n          ((int *)ppsVar13)[-2] = iVar10;\n          ((int *)ppsVar13)[-3] = 0x7fffffff;\n          ((int *)ppsVar13)[-4] = (int)piVar15;\n          ((int *)ppsVar13)[-5] = 0xa7820;\n          sqlite3_backup_step((sqlite3_backup *)((int *)ppsVar13)[-4],((int *)ppsVar13)[-3]);\n          ((int *)ppsVar13)[-4] = (int)piVar15;\n          ((int *)ppsVar13)[-5] = 0xa7828;\n          iVar10 = sqlite3_backup_finish((sqlite3_backup *)((int *)ppsVar13)[-4]);\n          if (iVar10 == 0) {\n            *(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18) & 0xfffd;\n          }\n          else {\n            pPager = (Pager *)**(undefined4 **)(((int *)ppsVar13)[0x13] + 4);\n            if (pPager->tempFile == '\0') {\n              ((int *)ppsVar13)[-1] = 0xa78ee;\n              pager_reset(pPager);\n            }\n          }\n        }\n        else {\n          uVar16 = *(uint *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x24);\n          uVar7 = *(uint *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x30);\n          ((int *)ppsVar13)[8] = uVar16;\n          ((int *)ppsVar13)[9] = (int)uVar16 >> 0x1f;\n          lVar9 = (ulonglong)uVar7 * (ulonglong)uVar16;\n          iVar14 = (int)((ulonglong)lVar9 >> 0x20) + ((int *)ppsVar13)[9] * uVar7;\n          ((int *)ppsVar13)[0x12] = (int)lVar9;\n          ((int *)ppsVar13)[0x13] = iVar14;\n          ((int *)ppsVar13)[-1] = iVar14;\n          ((int *)ppsVar13)[-2] = (int)((int *)ppsVar13 + 0x12);\n          ((int *)ppsVar13)[-3] = 0xb;\n          ((int *)ppsVar13)[-4] = (int)*ppsVar13;\n          pcVar8 = *(code **)(iVar10 + 0x28);\n          ((int *)ppsVar13)[-5] = 0xa77dc;\n          iVar10 = (*pcVar8)();\n          if ((iVar10 == 0xc) || (iVar10 == 0)) goto LAB_000a77ea;\n        }\n        pBVar11 = (Btree *)((int *)ppsVar13)[0xe];\n        if (pBVar11->sharable != '\0') {\n          iVar14 = pBVar11->wantToLock;\n          *ppsVar13 = (sqlite3_value *)iVar14;\n          iVar14 = iVar14 + -1;\n          pBVar11->wantToLock = iVar14;\n          if (iVar14 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa7862;\n            sqlite3BtreeLeave(pBVar11);\n          }\n        }\n        pBVar11 = (Btree *)((int *)ppsVar13)[4];\n        if (pBVar11->sharable != '\0') {\n          iVar14 = pBVar11->wantToLock;\n          *ppsVar13 = (sqlite3_value *)iVar14;\n          iVar14 = iVar14 + -1;\n          pBVar11->wantToLock = iVar14;\n          if (iVar14 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa7883;\n            sqlite3BtreeLeave(pBVar11);\n          }\n        }\n        if (iVar10 == 0) {\n          pBVar11 = (Btree *)((int *)ppsVar13)[0xe];\n          ((int *)ppsVar13)[-1] = 0xa7896;\n          iVar10 = sqlite3BtreeCommit(pBVar11);\n          if (iVar10 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa78a9;\n            iVar10 = sqlite3BtreeGetAutoVacuum(p_00);\n            p = (Btree *)((int *)ppsVar13)[3];\n            ((int *)ppsVar13)[-2] = 0xa78b6;\n            sqlite3BtreeSetAutoVacuum(p,iVar10);\n            uVar6 = pBVar11->pBt->pageSize;\n            ((int *)ppsVar13)[-5] = 1;\n            ((int *)ppsVar13)[-6] = 0xa78cc;\n            iVar10 = sqlite3BtreeSetPageSize(p,uVar6,((int *)ppsVar13)[0xe],((int *)ppsVar13)[-5]);\n            ppsVar13 = (sqlite3_value **)((int *)ppsVar13 + -1);\n          }\n        }\n        goto LAB_000a7644;\n      }\n      ((int *)ppsVar13)[-1] = 0xa755d;\n      iVar10 = sqlite3BtreeCommit((Btree *)((int *)ppsVar13)[0xe]);\n      if (iVar10 != 0) goto LAB_000a7644;\n      uVar6 = ((int *)ppsVar13)[5];\n      (db->init).iDb = '\0';\n      iVar10 = 0;\n      db->mDbFlags = uVar6;\n      *(int *)&db->flags = ((int *)ppsVar13)[1];\n      *(int *)((int)&db->flags + 4) = ((int *)ppsVar13)[2];\n      db->nChange = ((int *)ppsVar13)[6];\n      db->nTotalChange = ((int *)ppsVar13)[7];\n      ((int *)ppsVar13)[-4] = 1;\n      db->mTrace = *(u8 *)((int)ppsVar13 + 0x2b);\n      ((int *)ppsVar13)[-5] = 0xa75ae;\n      sqlite3BtreeSetPageSize((Btree *)((int *)ppsVar13)[4],-1,0,((int *)ppsVar13)[-4]);\n      db->autoCommit = '\x01';\n    }\n    iVar14 = *(int *)((int)ppsVar13 + 0xc);\n    pBVar11 = *(Btree **)(iVar14 + 4);\n    *(undefined4 *)((int)ppsVar13 + -4) = 0xa769e;\n    sqlite3BtreeClose(pBVar11);\n    *(undefined4 *)(iVar14 + 4) = 0;\n    *(undefined4 *)(iVar14 + 0xc) = 0;\n  }\n  else {\n    (db->init).iDb = '\0';\n    db->mDbFlags = local_88[0];\n    *(uint *)&db->flags = local_98[0];\n    *(uint *)((int)&db->flags + 4) = local_98[1];\n    db->nChange = local_88[1];\n    db->nTotalChange = local_88[2];\n    db->mTrace = local_71;\n    sqlite3BtreeSetPageSize(local_8c,-1,0,1);\n    db->autoCommit = '\x01';\n    ppsVar13 = &local_9c;\n  }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n    local_90 = db->aDb + local_7c;\n    local_64 = local_90->pBt;\n    if (local_9c == (sqlite3_value *)0x0) {\n      puStack_a0 = (uchar *)0xa76c1;\n      local_60 = sqlite3BtreeGetRequestedReserve(local_8c);\n      pBVar11 = local_64;\n      puStack_a0 = (uchar *)0xa76de;\n      sqlite3BtreeSetCacheSize\n                (local_64,*(int *)(*(int *)((int)&db->aDb->pSchema + local_70) + 0x50));\n      puStack_a0 = (uchar *)0xa76e9;\n      iVar10 = sqlite3BtreeSetSpillSize(local_8c,0);\n      puStack_a0 = (uchar *)0xa76f2;\n      sqlite3BtreeSetSpillSize(pBVar11,iVar10);\n      puStack_a0 = (uchar *)0xa76fe;\n      sqlite3BtreeSetPagerFlags(pBVar11,0x21);\n      puStack_a0 = (uchar *)0xa770d;\n      iVar10 = execSql(db,pzErrMsg,"BEGIN");\n      if (iVar10 == 0) {\n        iVar10 = 2;\n        goto LAB_000a73fb;\n      }\nLAB_000a7644:\n      uVar6 = *(u32 *)((int)ppsVar13 + 0x14);\n      (db->init).iDb = '\0';\n      db->mDbFlags = uVar6;\n      *(undefined4 *)&db->flags = *(undefined4 *)((int)ppsVar13 + 4);\n      *(undefined4 *)((int)&db->flags + 4) = *(undefined4 *)((int)ppsVar13 + 8);\n      db->nChange = *(int *)((int)ppsVar13 + 0x18);\n      db->nTotalChange = *(int *)((int)ppsVar13 + 0x1c);\n      *(undefined4 *)((int)ppsVar13 + -0x10) = 1;\n      db->mTrace = *(u8 *)((int)ppsVar13 + 0x2b);\n      *(undefined4 *)((int)ppsVar13 + -0x14) = 0xa768b;\n      sqlite3BtreeSetPageSize\n                (*(Btree **)((int)ppsVar13 + 0x10),-1,0,*(int *)((int)ppsVar13 + -0x10));\n      db->autoCommit = '\x01';\n    }\n    else {\n      psVar3 = local_64->pBt->pPager->fd;\n      sz._0_4_ = 0;\n      sz._4_4_ = 0;\n      psVar4 = psVar3->pMethods;\n      if (psVar4 != (sqlite3_io_methods *)0x0) {\n        iVar10 = (*psVar4->xFileSize)(psVar3,&sz);\n        ppsVar13 = &local_9c;\n        if ((iVar10 != 0) || ((-1 < sz._4_4_ && ((0 < sz._4_4_ || ((int)sz != 0)))))) {\n          iVar10 = 1;\n          puStack_a0 = (uchar *)0xa7644;\n          sqlite3SetString(pzErrMsg,db,"output file already exists");\n          goto LAB_000a7644;\n        }\n      }\n      db->mDbFlags = db->mDbFlags | 8;\n      puStack_a0 = (uchar *)0xa73a5;\n      local_60 = sqlite3BtreeGetRequestedReserve(local_8c);\n      pBVar11 = local_64;\n      puStack_a0 = (uchar *)0xa73c2;\n      sqlite3BtreeSetCacheSize\n                (local_64,*(int *)(*(int *)((int)&db->aDb->pSchema + local_70) + 0x50));\n      puStack_a0 = (uchar *)0xa73cd;\n      iVar10 = sqlite3BtreeSetSpillSize(local_8c,0);\n      puStack_a0 = (uchar *)0xa73d6;\n      sqlite3BtreeSetSpillSize(pBVar11,iVar10);\n      puStack_a0 = (uchar *)0xa73e2;\n      sqlite3BtreeSetPagerFlags(pBVar11,0x21);\n      puStack_a0 = (uchar *)0xa73f1;\n      iVar10 = execSql(db,pzErrMsg,"BEGIN");\n      ppsVar13 = &local_9c;\n      if (iVar10 != 0) goto LAB_000a7644;\nLAB_000a73fb:\n      puStack_a0 = (uchar *)0xa7408;\n      iVar10 = sqlite3BtreeBeginTrans(local_8c,iVar10,(int *)0x0);\n      ppsVar13 = &local_9c;\n      if (iVar10 != 0) goto LAB_000a7644;\n      pBVar5 = local_8c->pBt;\n      if (pBVar5->pPager->journalMode == '\x05') {\n        db->nextPagesize = 0;\n      }\n      iVar10 = sqlite3BtreeSetPageSize(local_64,pBVar5->pageSize,local_60,0);\n      if ((iVar10 != 0) ||\n         (((local_65 == '\0' &&\n           (iVar10 = sqlite3BtreeSetPageSize(local_64,db->nextPagesize,local_60,0), iVar10 != 0)) ||\n          (db->mallocFailed != '\0')))) {\n        iVar10 = 7;\n        ppsVar13 = &local_9c;\n        goto LAB_000a7644;\n      }\n      pBVar11 = (Btree *)(int)db->nextAutovac;\n      ppsVar13 = &local_9c;\n      if (db->nextAutovac < '\0') {\n        ppsVar13 = (sqlite3_value **)&puStack_a0;\n        puStack_a0 = (uchar *)0xa7754;\n        pBVar11 = (Btree *)sqlite3BtreeGetAutoVacuum(pBVar11);\n      }\n      ((int *)ppsVar13)[-1] = 0xa7472;\n      sqlite3BtreeSetAutoVacuum((Btree *)((int *)ppsVar13)[0xe],(int)pBVar11);\n      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];\n      (db->init).iDb = (u8)((int *)ppsVar13)[8];\n      ((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbcc7);\n      ((int *)ppsVar13)[-3] = (int)pzErrMsg;\n      ((int *)ppsVar13)[-4] = (int)db;\n      ((int *)ppsVar13)[-5] = 0xa748f;\n      iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2]);\n      if (iVar10 != 0) goto LAB_000a7644;\n      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];\n      ((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbcac);\n      ((int *)ppsVar13)[-3] = (int)pzErrMsg;\n      ((int *)ppsVar13)[-4] = (int)db;\n      ((int *)ppsVar13)[-5] = 0xa74ae;\n      iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2]);\n      if (iVar10 != 0) goto LAB_000a7644;\n      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];\n      (db->init).iDb = '\0';\n      ((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbc9e);\n      ((int *)ppsVar13)[-3] = (int)pzErrMsg;\n      ((int *)ppsVar13)[-4] = (int)db;\n      ((int *)ppsVar13)[-5] = 0xa74d4;\n      iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2]);\n      db->mDbFlags = db->mDbFlags & 0xfffffffb;\n      if (iVar10 != 0) goto LAB_000a7644;\n      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];\n      ((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbc78);\n      ((int *)ppsVar13)[-3] = (int)pzErrMsg;\n      ((int *)ppsVar13)[-4] = (int)db;\n      ((int *)ppsVar13)[-5] = 0xa74f7;\n      iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2]);\n      if (iVar10 != 0) goto LAB_000a7644;\n      ((int *)ppsVar13)[8] = (int)((int *)ppsVar13 + 0x11);\n      iVar14 = 0;\n      do {\n        uVar16 = (uint)*(byte *)(iVar14 + -0x2d058 + (int)ppuVar12);\n        ((int *)ppsVar13)[-1] = 0xa7523;\n        sqlite3BtreeGetMeta((Btree *)((int *)ppsVar13)[4],uVar16,(u32 *)((int *)ppsVar13)[8]);\n        bVar1 = *(byte *)(iVar14 + -0x2d057 + (int)ppuVar12);\n        ((int *)ppsVar13)[-1] = 0xa753a;\n        iVar10 = sqlite3BtreeUpdateMeta\n                           ((Btree *)((int *)ppsVar13)[0xe],uVar16,\n                            (uint)bVar1 + ((int *)ppsVar13)[0x11]);\n        if (iVar10 != 0) goto LAB_000a7644;\n        iVar14 = iVar14 + 2;\n      } while (iVar14 != 10);\n      if (*ppsVar13 == (sqlite3_value *)0x0) {\n        if (((Btree *)((int *)ppsVar13)[4])->sharable != '\0') {\n          ((int *)ppsVar13)[-1] = 0xa7778;\n          sqlite3BtreeEnter((Btree *)((int *)ppsVar13)[4]);\n        }\n        if (((Btree *)((int *)ppsVar13)[0xe])->sharable != '\0') {\n          ((int *)ppsVar13)[-1] = 0xa7787;\n          sqlite3BtreeEnter((Btree *)((int *)ppsVar13)[0xe]);\n        }\n        iVar10 = **(int **)(**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c);\n        *ppsVar13 = (sqlite3_value *)*(int **)(**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c);\n        if (iVar10 == 0) {\nLAB_000a77ea:\n          piVar15 = (int *)ppsVar13 + 0x12;\n          piVar17 = piVar15;\n          for (iVar10 = 0xc; iVar10 != 0; iVar10 = iVar10 + -1) {\n            *piVar17 = 0;\n            piVar17 = piVar17 + (uint)bVar18 * -2 + 1;\n          }\n          iVar10 = *(int *)((int *)ppsVar13)[0xe];\n          ((int *)ppsVar13)[0x18] = ((int *)ppsVar13)[0xe];\n          ((int *)ppsVar13)[0x16] = 1;\n          ((int *)ppsVar13)[0x17] = iVar10;\n          iVar10 = ((int *)ppsVar13)[4];\n          ((int *)ppsVar13)[0x13] = iVar10;\n          ((int *)ppsVar13)[-1] = iVar10;\n          ((int *)ppsVar13)[-2] = iVar10;\n          ((int *)ppsVar13)[-3] = 0x7fffffff;\n          ((int *)ppsVar13)[-4] = (int)piVar15;\n          ((int *)ppsVar13)[-5] = 0xa7820;\n          sqlite3_backup_step((sqlite3_backup *)((int *)ppsVar13)[-4],((int *)ppsVar13)[-3]);\n          ((int *)ppsVar13)[-4] = (int)piVar15;\n          ((int *)ppsVar13)[-5] = 0xa7828;\n          iVar10 = sqlite3_backup_finish((sqlite3_backup *)((int *)ppsVar13)[-4]);\n          if (iVar10 == 0) {\n            *(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18) & 0xfffd;\n          }\n          else {\n            pPager = (Pager *)**(undefined4 **)(((int *)ppsVar13)[0x13] + 4);\n            if (pPager->tempFile == '\0') {\n              ((int *)ppsVar13)[-1] = 0xa78ee;\n              pager_reset(pPager);\n            }\n          }\n        }\n        else {\n          uVar16 = *(uint *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x24);\n          uVar7 = *(uint *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x30);\n          ((int *)ppsVar13)[8] = uVar16;\n          ((int *)ppsVar13)[9] = (int)uVar16 >> 0x1f;\n          lVar9 = (ulonglong)uVar7 * (ulonglong)uVar16;\n          iVar14 = (int)((ulonglong)lVar9 >> 0x20) + ((int *)ppsVar13)[9] * uVar7;\n          ((int *)ppsVar13)[0x12] = (int)lVar9;\n          ((int *)ppsVar13)[0x13] = iVar14;\n          ((int *)ppsVar13)[-1] = iVar14;\n          ((int *)ppsVar13)[-2] = (int)((int *)ppsVar13 + 0x12);\n          ((int *)ppsVar13)[-3] = 0xb;\n          ((int *)ppsVar13)[-4] = (int)*ppsVar13;\n          pcVar8 = *(code **)(iVar10 + 0x28);\n          ((int *)ppsVar13)[-5] = 0xa77dc;\n          iVar10 = (*pcVar8)();\n          if ((iVar10 == 0xc) || (iVar10 == 0)) goto LAB_000a77ea;\n        }\n        pBVar11 = (Btree *)((int *)ppsVar13)[0xe];\n        if (pBVar11->sharable != '\0') {\n          iVar14 = pBVar11->wantToLock;\n          *ppsVar13 = (sqlite3_value *)iVar14;\n          iVar14 = iVar14 + -1;\n          pBVar11->wantToLock = iVar14;\n          if (iVar14 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa7862;\n            sqlite3BtreeLeave(pBVar11);\n          }\n        }\n        pBVar11 = (Btree *)((int *)ppsVar13)[4];\n        if (pBVar11->sharable != '\0') {\n          iVar14 = pBVar11->wantToLock;\n          *ppsVar13 = (sqlite3_value *)iVar14;\n          iVar14 = iVar14 + -1;\n          pBVar11->wantToLock = iVar14;\n          if (iVar14 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa7883;\n            sqlite3BtreeLeave(pBVar11);\n          }\n        }\n        if (iVar10 == 0) {\n          pBVar11 = (Btree *)((int *)ppsVar13)[0xe];\n          ((int *)ppsVar13)[-1] = 0xa7896;\n          iVar10 = sqlite3BtreeCommit(pBVar11);\n          if (iVar10 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa78a9;\n            iVar10 = sqlite3BtreeGetAutoVacuum(p_00);\n            p = (Btree *)((int *)ppsVar13)[3];\n            ((int *)ppsVar13)[-2] = 0xa78b6;\n            sqlite3BtreeSetAutoVacuum(p,iVar10);\n            uVar6 = pBVar11->pBt->pageSize;\n            ((int *)ppsVar13)[-5] = 1;\n            ((int *)ppsVar13)[-6] = 0xa78cc;\n            iVar10 = sqlite3BtreeSetPageSize(p,uVar6,((int *)ppsVar13)[0xe],((int *)ppsVar13)[-5]);\n            ppsVar13 = (sqlite3_value **)((int *)ppsVar13 + -1);\n          }\n        }\n        goto LAB_000a7644;\n      }\n      ((int *)ppsVar13)[-1] = 0xa755d;\n      iVar10 = sqlite3BtreeCommit((Btree *)((int *)ppsVar13)[0xe]);\n      if (iVar10 != 0) goto LAB_000a7644;\n      uVar6 = ((int *)ppsVar13)[5];\n      (db->init).iDb = '\0';\n      iVar10 = 0;\n      db->mDbFlags = uVar6;\n      *(int *)&db->flags = ((int *)ppsVar13)[1];\n      *(int *)((int)&db->flags + 4) = ((int *)ppsVar13)[2];\n      db->nChange = ((int *)ppsVar13)[6];\n      db->nTotalChange = ((int *)ppsVar13)[7];\n      ((int *)ppsVar13)[-4] = 1;\n      db->mTrace = *(u8 *)((int)ppsVar13 + 0x2b);\n      ((int *)ppsVar13)[-5] = 0xa75ae;\n      sqlite3BtreeSetPageSize((Btree *)((int *)ppsVar13)[4],-1,0,((int *)ppsVar13)[-4]);\n      db->autoCommit = '\x01';\n    }\n    iVar14 = *(int *)((int)ppsVar13 + 0xc);\n    pBVar11 = *(Btree **)(iVar14 + 4);\n    *(undefined4 *)((int)ppsVar13 + -4) = 0xa769e;\n    sqlite3BtreeClose(pBVar11);\n    *(undefined4 *)(iVar14 + 4) = 0;\n    *(undefined4 *)(iVar14 + 0xc) = 0;\n  }" { (expression_statement "local_90 = db->aDb + local_7c;" (assignment_expression "local_90 = db->aDb + local_7c" identifier = (binary_expression "db->aDb + local_7c" (field_expression "db->aDb" identifier -> field_identifier) + identifier)) ;) (expression_statement "local_64 = local_90->pBt;" (assignment_expression "local_64 = local_90->pBt" identifier = (field_expression "local_90->pBt" identifier -> field_identifier)) ;) (if_statement "if (local_9c == (sqlite3_value *)0x0) {\n      puStack_a0 = (uchar *)0xa76c1;\n      local_60 = sqlite3BtreeGetRequestedReserve(local_8c);\n      pBVar11 = local_64;\n      puStack_a0 = (uchar *)0xa76de;\n      sqlite3BtreeSetCacheSize\n                (local_64,*(int *)(*(int *)((int)&db->aDb->pSchema + local_70) + 0x50));\n      puStack_a0 = (uchar *)0xa76e9;\n      iVar10 = sqlite3BtreeSetSpillSize(local_8c,0);\n      puStack_a0 = (uchar *)0xa76f2;\n      sqlite3BtreeSetSpillSize(pBVar11,iVar10);\n      puStack_a0 = (uchar *)0xa76fe;\n      sqlite3BtreeSetPagerFlags(pBVar11,0x21);\n      puStack_a0 = (uchar *)0xa770d;\n      iVar10 = execSql(db,pzErrMsg,"BEGIN");\n      if (iVar10 == 0) {\n        iVar10 = 2;\n        goto LAB_000a73fb;\n      }\nLAB_000a7644:\n      uVar6 = *(u32 *)((int)ppsVar13 + 0x14);\n      (db->init).iDb = '\0';\n      db->mDbFlags = uVar6;\n      *(undefined4 *)&db->flags = *(undefined4 *)((int)ppsVar13 + 4);\n      *(undefined4 *)((int)&db->flags + 4) = *(undefined4 *)((int)ppsVar13 + 8);\n      db->nChange = *(int *)((int)ppsVar13 + 0x18);\n      db->nTotalChange = *(int *)((int)ppsVar13 + 0x1c);\n      *(undefined4 *)((int)ppsVar13 + -0x10) = 1;\n      db->mTrace = *(u8 *)((int)ppsVar13 + 0x2b);\n      *(undefined4 *)((int)ppsVar13 + -0x14) = 0xa768b;\n      sqlite3BtreeSetPageSize\n                (*(Btree **)((int)ppsVar13 + 0x10),-1,0,*(int *)((int)ppsVar13 + -0x10));\n      db->autoCommit = '\x01';\n    }\n    else {\n      psVar3 = local_64->pBt->pPager->fd;\n      sz._0_4_ = 0;\n      sz._4_4_ = 0;\n      psVar4 = psVar3->pMethods;\n      if (psVar4 != (sqlite3_io_methods *)0x0) {\n        iVar10 = (*psVar4->xFileSize)(psVar3,&sz);\n        ppsVar13 = &local_9c;\n        if ((iVar10 != 0) || ((-1 < sz._4_4_ && ((0 < sz._4_4_ || ((int)sz != 0)))))) {\n          iVar10 = 1;\n          puStack_a0 = (uchar *)0xa7644;\n          sqlite3SetString(pzErrMsg,db,"output file already exists");\n          goto LAB_000a7644;\n        }\n      }\n      db->mDbFlags = db->mDbFlags | 8;\n      puStack_a0 = (uchar *)0xa73a5;\n      local_60 = sqlite3BtreeGetRequestedReserve(local_8c);\n      pBVar11 = local_64;\n      puStack_a0 = (uchar *)0xa73c2;\n      sqlite3BtreeSetCacheSize\n                (local_64,*(int *)(*(int *)((int)&db->aDb->pSchema + local_70) + 0x50));\n      puStack_a0 = (uchar *)0xa73cd;\n      iVar10 = sqlite3BtreeSetSpillSize(local_8c,0);\n      puStack_a0 = (uchar *)0xa73d6;\n      sqlite3BtreeSetSpillSize(pBVar11,iVar10);\n      puStack_a0 = (uchar *)0xa73e2;\n      sqlite3BtreeSetPagerFlags(pBVar11,0x21);\n      puStack_a0 = (uchar *)0xa73f1;\n      iVar10 = execSql(db,pzErrMsg,"BEGIN");\n      ppsVar13 = &local_9c;\n      if (iVar10 != 0) goto LAB_000a7644;\nLAB_000a73fb:\n      puStack_a0 = (uchar *)0xa7408;\n      iVar10 = sqlite3BtreeBeginTrans(local_8c,iVar10,(int *)0x0);\n      ppsVar13 = &local_9c;\n      if (iVar10 != 0) goto LAB_000a7644;\n      pBVar5 = local_8c->pBt;\n      if (pBVar5->pPager->journalMode == '\x05') {\n        db->nextPagesize = 0;\n      }\n      iVar10 = sqlite3BtreeSetPageSize(local_64,pBVar5->pageSize,local_60,0);\n      if ((iVar10 != 0) ||\n         (((local_65 == '\0' &&\n           (iVar10 = sqlite3BtreeSetPageSize(local_64,db->nextPagesize,local_60,0), iVar10 != 0)) ||\n          (db->mallocFailed != '\0')))) {\n        iVar10 = 7;\n        ppsVar13 = &local_9c;\n        goto LAB_000a7644;\n      }\n      pBVar11 = (Btree *)(int)db->nextAutovac;\n      ppsVar13 = &local_9c;\n      if (db->nextAutovac < '\0') {\n        ppsVar13 = (sqlite3_value **)&puStack_a0;\n        puStack_a0 = (uchar *)0xa7754;\n        pBVar11 = (Btree *)sqlite3BtreeGetAutoVacuum(pBVar11);\n      }\n      ((int *)ppsVar13)[-1] = 0xa7472;\n      sqlite3BtreeSetAutoVacuum((Btree *)((int *)ppsVar13)[0xe],(int)pBVar11);\n      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];\n      (db->init).iDb = (u8)((int *)ppsVar13)[8];\n      ((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbcc7);\n      ((int *)ppsVar13)[-3] = (int)pzErrMsg;\n      ((int *)ppsVar13)[-4] = (int)db;\n      ((int *)ppsVar13)[-5] = 0xa748f;\n      iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2]);\n      if (iVar10 != 0) goto LAB_000a7644;\n      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];\n      ((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbcac);\n      ((int *)ppsVar13)[-3] = (int)pzErrMsg;\n      ((int *)ppsVar13)[-4] = (int)db;\n      ((int *)ppsVar13)[-5] = 0xa74ae;\n      iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2]);\n      if (iVar10 != 0) goto LAB_000a7644;\n      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];\n      (db->init).iDb = '\0';\n      ((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbc9e);\n      ((int *)ppsVar13)[-3] = (int)pzErrMsg;\n      ((int *)ppsVar13)[-4] = (int)db;\n      ((int *)ppsVar13)[-5] = 0xa74d4;\n      iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2]);\n      db->mDbFlags = db->mDbFlags & 0xfffffffb;\n      if (iVar10 != 0) goto LAB_000a7644;\n      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];\n      ((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbc78);\n      ((int *)ppsVar13)[-3] = (int)pzErrMsg;\n      ((int *)ppsVar13)[-4] = (int)db;\n      ((int *)ppsVar13)[-5] = 0xa74f7;\n      iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2]);\n      if (iVar10 != 0) goto LAB_000a7644;\n      ((int *)ppsVar13)[8] = (int)((int *)ppsVar13 + 0x11);\n      iVar14 = 0;\n      do {\n        uVar16 = (uint)*(byte *)(iVar14 + -0x2d058 + (int)ppuVar12);\n        ((int *)ppsVar13)[-1] = 0xa7523;\n        sqlite3BtreeGetMeta((Btree *)((int *)ppsVar13)[4],uVar16,(u32 *)((int *)ppsVar13)[8]);\n        bVar1 = *(byte *)(iVar14 + -0x2d057 + (int)ppuVar12);\n        ((int *)ppsVar13)[-1] = 0xa753a;\n        iVar10 = sqlite3BtreeUpdateMeta\n                           ((Btree *)((int *)ppsVar13)[0xe],uVar16,\n                            (uint)bVar1 + ((int *)ppsVar13)[0x11]);\n        if (iVar10 != 0) goto LAB_000a7644;\n        iVar14 = iVar14 + 2;\n      } while (iVar14 != 10);\n      if (*ppsVar13 == (sqlite3_value *)0x0) {\n        if (((Btree *)((int *)ppsVar13)[4])->sharable != '\0') {\n          ((int *)ppsVar13)[-1] = 0xa7778;\n          sqlite3BtreeEnter((Btree *)((int *)ppsVar13)[4]);\n        }\n        if (((Btree *)((int *)ppsVar13)[0xe])->sharable != '\0') {\n          ((int *)ppsVar13)[-1] = 0xa7787;\n          sqlite3BtreeEnter((Btree *)((int *)ppsVar13)[0xe]);\n        }\n        iVar10 = **(int **)(**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c);\n        *ppsVar13 = (sqlite3_value *)*(int **)(**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c);\n        if (iVar10 == 0) {\nLAB_000a77ea:\n          piVar15 = (int *)ppsVar13 + 0x12;\n          piVar17 = piVar15;\n          for (iVar10 = 0xc; iVar10 != 0; iVar10 = iVar10 + -1) {\n            *piVar17 = 0;\n            piVar17 = piVar17 + (uint)bVar18 * -2 + 1;\n          }\n          iVar10 = *(int *)((int *)ppsVar13)[0xe];\n          ((int *)ppsVar13)[0x18] = ((int *)ppsVar13)[0xe];\n          ((int *)ppsVar13)[0x16] = 1;\n          ((int *)ppsVar13)[0x17] = iVar10;\n          iVar10 = ((int *)ppsVar13)[4];\n          ((int *)ppsVar13)[0x13] = iVar10;\n          ((int *)ppsVar13)[-1] = iVar10;\n          ((int *)ppsVar13)[-2] = iVar10;\n          ((int *)ppsVar13)[-3] = 0x7fffffff;\n          ((int *)ppsVar13)[-4] = (int)piVar15;\n          ((int *)ppsVar13)[-5] = 0xa7820;\n          sqlite3_backup_step((sqlite3_backup *)((int *)ppsVar13)[-4],((int *)ppsVar13)[-3]);\n          ((int *)ppsVar13)[-4] = (int)piVar15;\n          ((int *)ppsVar13)[-5] = 0xa7828;\n          iVar10 = sqlite3_backup_finish((sqlite3_backup *)((int *)ppsVar13)[-4]);\n          if (iVar10 == 0) {\n            *(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18) & 0xfffd;\n          }\n          else {\n            pPager = (Pager *)**(undefined4 **)(((int *)ppsVar13)[0x13] + 4);\n            if (pPager->tempFile == '\0') {\n              ((int *)ppsVar13)[-1] = 0xa78ee;\n              pager_reset(pPager);\n            }\n          }\n        }\n        else {\n          uVar16 = *(uint *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x24);\n          uVar7 = *(uint *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x30);\n          ((int *)ppsVar13)[8] = uVar16;\n          ((int *)ppsVar13)[9] = (int)uVar16 >> 0x1f;\n          lVar9 = (ulonglong)uVar7 * (ulonglong)uVar16;\n          iVar14 = (int)((ulonglong)lVar9 >> 0x20) + ((int *)ppsVar13)[9] * uVar7;\n          ((int *)ppsVar13)[0x12] = (int)lVar9;\n          ((int *)ppsVar13)[0x13] = iVar14;\n          ((int *)ppsVar13)[-1] = iVar14;\n          ((int *)ppsVar13)[-2] = (int)((int *)ppsVar13 + 0x12);\n          ((int *)ppsVar13)[-3] = 0xb;\n          ((int *)ppsVar13)[-4] = (int)*ppsVar13;\n          pcVar8 = *(code **)(iVar10 + 0x28);\n          ((int *)ppsVar13)[-5] = 0xa77dc;\n          iVar10 = (*pcVar8)();\n          if ((iVar10 == 0xc) || (iVar10 == 0)) goto LAB_000a77ea;\n        }\n        pBVar11 = (Btree *)((int *)ppsVar13)[0xe];\n        if (pBVar11->sharable != '\0') {\n          iVar14 = pBVar11->wantToLock;\n          *ppsVar13 = (sqlite3_value *)iVar14;\n          iVar14 = iVar14 + -1;\n          pBVar11->wantToLock = iVar14;\n          if (iVar14 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa7862;\n            sqlite3BtreeLeave(pBVar11);\n          }\n        }\n        pBVar11 = (Btree *)((int *)ppsVar13)[4];\n        if (pBVar11->sharable != '\0') {\n          iVar14 = pBVar11->wantToLock;\n          *ppsVar13 = (sqlite3_value *)iVar14;\n          iVar14 = iVar14 + -1;\n          pBVar11->wantToLock = iVar14;\n          if (iVar14 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa7883;\n            sqlite3BtreeLeave(pBVar11);\n          }\n        }\n        if (iVar10 == 0) {\n          pBVar11 = (Btree *)((int *)ppsVar13)[0xe];\n          ((int *)ppsVar13)[-1] = 0xa7896;\n          iVar10 = sqlite3BtreeCommit(pBVar11);\n          if (iVar10 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa78a9;\n            iVar10 = sqlite3BtreeGetAutoVacuum(p_00);\n            p = (Btree *)((int *)ppsVar13)[3];\n            ((int *)ppsVar13)[-2] = 0xa78b6;\n            sqlite3BtreeSetAutoVacuum(p,iVar10);\n            uVar6 = pBVar11->pBt->pageSize;\n            ((int *)ppsVar13)[-5] = 1;\n            ((int *)ppsVar13)[-6] = 0xa78cc;\n            iVar10 = sqlite3BtreeSetPageSize(p,uVar6,((int *)ppsVar13)[0xe],((int *)ppsVar13)[-5]);\n            ppsVar13 = (sqlite3_value **)((int *)ppsVar13 + -1);\n          }\n        }\n        goto LAB_000a7644;\n      }\n      ((int *)ppsVar13)[-1] = 0xa755d;\n      iVar10 = sqlite3BtreeCommit((Btree *)((int *)ppsVar13)[0xe]);\n      if (iVar10 != 0) goto LAB_000a7644;\n      uVar6 = ((int *)ppsVar13)[5];\n      (db->init).iDb = '\0';\n      iVar10 = 0;\n      db->mDbFlags = uVar6;\n      *(int *)&db->flags = ((int *)ppsVar13)[1];\n      *(int *)((int)&db->flags + 4) = ((int *)ppsVar13)[2];\n      db->nChange = ((int *)ppsVar13)[6];\n      db->nTotalChange = ((int *)ppsVar13)[7];\n      ((int *)ppsVar13)[-4] = 1;\n      db->mTrace = *(u8 *)((int)ppsVar13 + 0x2b);\n      ((int *)ppsVar13)[-5] = 0xa75ae;\n      sqlite3BtreeSetPageSize((Btree *)((int *)ppsVar13)[4],-1,0,((int *)ppsVar13)[-4]);\n      db->autoCommit = '\x01';\n    }" if (parenthesized_expression "(local_9c == (sqlite3_value *)0x0)" ( (binary_expression "local_9c == (sqlite3_value *)0x0" identifier == (cast_expression "(sqlite3_value *)0x0" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      puStack_a0 = (uchar *)0xa76c1;\n      local_60 = sqlite3BtreeGetRequestedReserve(local_8c);\n      pBVar11 = local_64;\n      puStack_a0 = (uchar *)0xa76de;\n      sqlite3BtreeSetCacheSize\n                (local_64,*(int *)(*(int *)((int)&db->aDb->pSchema + local_70) + 0x50));\n      puStack_a0 = (uchar *)0xa76e9;\n      iVar10 = sqlite3BtreeSetSpillSize(local_8c,0);\n      puStack_a0 = (uchar *)0xa76f2;\n      sqlite3BtreeSetSpillSize(pBVar11,iVar10);\n      puStack_a0 = (uchar *)0xa76fe;\n      sqlite3BtreeSetPagerFlags(pBVar11,0x21);\n      puStack_a0 = (uchar *)0xa770d;\n      iVar10 = execSql(db,pzErrMsg,"BEGIN");\n      if (iVar10 == 0) {\n        iVar10 = 2;\n        goto LAB_000a73fb;\n      }\nLAB_000a7644:\n      uVar6 = *(u32 *)((int)ppsVar13 + 0x14);\n      (db->init).iDb = '\0';\n      db->mDbFlags = uVar6;\n      *(undefined4 *)&db->flags = *(undefined4 *)((int)ppsVar13 + 4);\n      *(undefined4 *)((int)&db->flags + 4) = *(undefined4 *)((int)ppsVar13 + 8);\n      db->nChange = *(int *)((int)ppsVar13 + 0x18);\n      db->nTotalChange = *(int *)((int)ppsVar13 + 0x1c);\n      *(undefined4 *)((int)ppsVar13 + -0x10) = 1;\n      db->mTrace = *(u8 *)((int)ppsVar13 + 0x2b);\n      *(undefined4 *)((int)ppsVar13 + -0x14) = 0xa768b;\n      sqlite3BtreeSetPageSize\n                (*(Btree **)((int)ppsVar13 + 0x10),-1,0,*(int *)((int)ppsVar13 + -0x10));\n      db->autoCommit = '\x01';\n    }" { (expression_statement "puStack_a0 = (uchar *)0xa76c1;" (assignment_expression "puStack_a0 = (uchar *)0xa76c1" identifier = (cast_expression "(uchar *)0xa76c1" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_60 = sqlite3BtreeGetRequestedReserve(local_8c);" (assignment_expression "local_60 = sqlite3BtreeGetRequestedReserve(local_8c)" identifier = (call_expression "sqlite3BtreeGetRequestedReserve(local_8c)" identifier (argument_list "(local_8c)" ( identifier )))) ;) (expression_statement "pBVar11 = local_64;" (assignment_expression "pBVar11 = local_64" identifier = identifier) ;) (expression_statement "puStack_a0 = (uchar *)0xa76de;" (assignment_expression "puStack_a0 = (uchar *)0xa76de" identifier = (cast_expression "(uchar *)0xa76de" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sqlite3BtreeSetCacheSize\n                (local_64,*(int *)(*(int *)((int)&db->aDb->pSchema + local_70) + 0x50));" (call_expression "sqlite3BtreeSetCacheSize\n                (local_64,*(int *)(*(int *)((int)&db->aDb->pSchema + local_70) + 0x50))" identifier (argument_list "(local_64,*(int *)(*(int *)((int)&db->aDb->pSchema + local_70) + 0x50))" ( identifier , (pointer_expression "*(int *)(*(int *)((int)&db->aDb->pSchema + local_70) + 0x50)" * (cast_expression "(int *)(*(int *)((int)&db->aDb->pSchema + local_70) + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)&db->aDb->pSchema + local_70) + 0x50)" ( (binary_expression "*(int *)((int)&db->aDb->pSchema + local_70) + 0x50" (pointer_expression "*(int *)((int)&db->aDb->pSchema + local_70)" * (cast_expression "(int *)((int)&db->aDb->pSchema + local_70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&db->aDb->pSchema + local_70)" ( (binary_expression "(int)&db->aDb->pSchema + local_70" (cast_expression "(int)&db->aDb->pSchema" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&db->aDb->pSchema" & (field_expression "db->aDb->pSchema" (field_expression "db->aDb" identifier -> field_identifier) -> field_identifier))) + identifier) )))) + number_literal) )))) ))) ;) (expression_statement "puStack_a0 = (uchar *)0xa76e9;" (assignment_expression "puStack_a0 = (uchar *)0xa76e9" identifier = (cast_expression "(uchar *)0xa76e9" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar10 = sqlite3BtreeSetSpillSize(local_8c,0);" (assignment_expression "iVar10 = sqlite3BtreeSetSpillSize(local_8c,0)" identifier = (call_expression "sqlite3BtreeSetSpillSize(local_8c,0)" identifier (argument_list "(local_8c,0)" ( identifier , number_literal )))) ;) (expression_statement "puStack_a0 = (uchar *)0xa76f2;" (assignment_expression "puStack_a0 = (uchar *)0xa76f2" identifier = (cast_expression "(uchar *)0xa76f2" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sqlite3BtreeSetSpillSize(pBVar11,iVar10);" (call_expression "sqlite3BtreeSetSpillSize(pBVar11,iVar10)" identifier (argument_list "(pBVar11,iVar10)" ( identifier , identifier ))) ;) (expression_statement "puStack_a0 = (uchar *)0xa76fe;" (assignment_expression "puStack_a0 = (uchar *)0xa76fe" identifier = (cast_expression "(uchar *)0xa76fe" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sqlite3BtreeSetPagerFlags(pBVar11,0x21);" (call_expression "sqlite3BtreeSetPagerFlags(pBVar11,0x21)" identifier (argument_list "(pBVar11,0x21)" ( identifier , number_literal ))) ;) (expression_statement "puStack_a0 = (uchar *)0xa770d;" (assignment_expression "puStack_a0 = (uchar *)0xa770d" identifier = (cast_expression "(uchar *)0xa770d" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar10 = execSql(db,pzErrMsg,"BEGIN");" (assignment_expression "iVar10 = execSql(db,pzErrMsg,"BEGIN")" identifier = (call_expression "execSql(db,pzErrMsg,"BEGIN")" identifier (argument_list "(db,pzErrMsg,"BEGIN")" ( identifier , identifier , (string_literal ""BEGIN"" " string_content ") )))) ;) (if_statement "if (iVar10 == 0) {\n        iVar10 = 2;\n        goto LAB_000a73fb;\n      }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar10 = 2;\n        goto LAB_000a73fb;\n      }" { (expression_statement "iVar10 = 2;" (assignment_expression "iVar10 = 2" identifier = number_literal) ;) (goto_statement "goto LAB_000a73fb;" goto statement_identifier ;) })) (labeled_statement "LAB_000a7644:\n      uVar6 = *(u32 *)((int)ppsVar13 + 0x14);" statement_identifier : (expression_statement "uVar6 = *(u32 *)((int)ppsVar13 + 0x14);" (assignment_expression "uVar6 = *(u32 *)((int)ppsVar13 + 0x14)" identifier = (pointer_expression "*(u32 *)((int)ppsVar13 + 0x14)" * (cast_expression "(u32 *)((int)ppsVar13 + 0x14)" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppsVar13 + 0x14)" ( (binary_expression "(int)ppsVar13 + 0x14" (cast_expression "(int)ppsVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (expression_statement "(db->init).iDb = '\0';" (assignment_expression "(db->init).iDb = '\0'" (field_expression "(db->init).iDb" (parenthesized_expression "(db->init)" ( (field_expression "db->init" identifier -> field_identifier) )) . field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "db->mDbFlags = uVar6;" (assignment_expression "db->mDbFlags = uVar6" (field_expression "db->mDbFlags" identifier -> field_identifier) = identifier) ;) (expression_statement "*(undefined4 *)&db->flags = *(undefined4 *)((int)ppsVar13 + 4);" (assignment_expression "*(undefined4 *)&db->flags = *(undefined4 *)((int)ppsVar13 + 4)" (pointer_expression "*(undefined4 *)&db->flags" * (cast_expression "(undefined4 *)&db->flags" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&db->flags" & (field_expression "db->flags" identifier -> field_identifier)))) = (pointer_expression "*(undefined4 *)((int)ppsVar13 + 4)" * (cast_expression "(undefined4 *)((int)ppsVar13 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppsVar13 + 4)" ( (binary_expression "(int)ppsVar13 + 4" (cast_expression "(int)ppsVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)&db->flags + 4) = *(undefined4 *)((int)ppsVar13 + 8);" (assignment_expression "*(undefined4 *)((int)&db->flags + 4) = *(undefined4 *)((int)ppsVar13 + 8)" (pointer_expression "*(undefined4 *)((int)&db->flags + 4)" * (cast_expression "(undefined4 *)((int)&db->flags + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&db->flags + 4)" ( (binary_expression "(int)&db->flags + 4" (cast_expression "(int)&db->flags" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&db->flags" & (field_expression "db->flags" identifier -> field_identifier))) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)ppsVar13 + 8)" * (cast_expression "(undefined4 *)((int)ppsVar13 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppsVar13 + 8)" ( (binary_expression "(int)ppsVar13 + 8" (cast_expression "(int)ppsVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "db->nChange = *(int *)((int)ppsVar13 + 0x18);" (assignment_expression "db->nChange = *(int *)((int)ppsVar13 + 0x18)" (field_expression "db->nChange" identifier -> field_identifier) = (pointer_expression "*(int *)((int)ppsVar13 + 0x18)" * (cast_expression "(int *)((int)ppsVar13 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppsVar13 + 0x18)" ( (binary_expression "(int)ppsVar13 + 0x18" (cast_expression "(int)ppsVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "db->nTotalChange = *(int *)((int)ppsVar13 + 0x1c);" (assignment_expression "db->nTotalChange = *(int *)((int)ppsVar13 + 0x1c)" (field_expression "db->nTotalChange" identifier -> field_identifier) = (pointer_expression "*(int *)((int)ppsVar13 + 0x1c)" * (cast_expression "(int *)((int)ppsVar13 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppsVar13 + 0x1c)" ( (binary_expression "(int)ppsVar13 + 0x1c" (cast_expression "(int)ppsVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)ppsVar13 + -0x10) = 1;" (assignment_expression "*(undefined4 *)((int)ppsVar13 + -0x10) = 1" (pointer_expression "*(undefined4 *)((int)ppsVar13 + -0x10)" * (cast_expression "(undefined4 *)((int)ppsVar13 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppsVar13 + -0x10)" ( (binary_expression "(int)ppsVar13 + -0x10" (cast_expression "(int)ppsVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "db->mTrace = *(u8 *)((int)ppsVar13 + 0x2b);" (assignment_expression "db->mTrace = *(u8 *)((int)ppsVar13 + 0x2b)" (field_expression "db->mTrace" identifier -> field_identifier) = (pointer_expression "*(u8 *)((int)ppsVar13 + 0x2b)" * (cast_expression "(u8 *)((int)ppsVar13 + 0x2b)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppsVar13 + 0x2b)" ( (binary_expression "(int)ppsVar13 + 0x2b" (cast_expression "(int)ppsVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)ppsVar13 + -0x14) = 0xa768b;" (assignment_expression "*(undefined4 *)((int)ppsVar13 + -0x14) = 0xa768b" (pointer_expression "*(undefined4 *)((int)ppsVar13 + -0x14)" * (cast_expression "(undefined4 *)((int)ppsVar13 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppsVar13 + -0x14)" ( (binary_expression "(int)ppsVar13 + -0x14" (cast_expression "(int)ppsVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "sqlite3BtreeSetPageSize\n                (*(Btree **)((int)ppsVar13 + 0x10),-1,0,*(int *)((int)ppsVar13 + -0x10));" (call_expression "sqlite3BtreeSetPageSize\n                (*(Btree **)((int)ppsVar13 + 0x10),-1,0,*(int *)((int)ppsVar13 + -0x10))" identifier (argument_list "(*(Btree **)((int)ppsVar13 + 0x10),-1,0,*(int *)((int)ppsVar13 + -0x10))" ( (pointer_expression "*(Btree **)((int)ppsVar13 + 0x10)" * (cast_expression "(Btree **)((int)ppsVar13 + 0x10)" ( (type_descriptor "Btree **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppsVar13 + 0x10)" ( (binary_expression "(int)ppsVar13 + 0x10" (cast_expression "(int)ppsVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , number_literal , number_literal , (pointer_expression "*(int *)((int)ppsVar13 + -0x10)" * (cast_expression "(int *)((int)ppsVar13 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppsVar13 + -0x10)" ( (binary_expression "(int)ppsVar13 + -0x10" (cast_expression "(int)ppsVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "db->autoCommit = '\x01';" (assignment_expression "db->autoCommit = '\x01'" (field_expression "db->autoCommit" identifier -> field_identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) }) (else_clause "else {\n      psVar3 = local_64->pBt->pPager->fd;\n      sz._0_4_ = 0;\n      sz._4_4_ = 0;\n      psVar4 = psVar3->pMethods;\n      if (psVar4 != (sqlite3_io_methods *)0x0) {\n        iVar10 = (*psVar4->xFileSize)(psVar3,&sz);\n        ppsVar13 = &local_9c;\n        if ((iVar10 != 0) || ((-1 < sz._4_4_ && ((0 < sz._4_4_ || ((int)sz != 0)))))) {\n          iVar10 = 1;\n          puStack_a0 = (uchar *)0xa7644;\n          sqlite3SetString(pzErrMsg,db,"output file already exists");\n          goto LAB_000a7644;\n        }\n      }\n      db->mDbFlags = db->mDbFlags | 8;\n      puStack_a0 = (uchar *)0xa73a5;\n      local_60 = sqlite3BtreeGetRequestedReserve(local_8c);\n      pBVar11 = local_64;\n      puStack_a0 = (uchar *)0xa73c2;\n      sqlite3BtreeSetCacheSize\n                (local_64,*(int *)(*(int *)((int)&db->aDb->pSchema + local_70) + 0x50));\n      puStack_a0 = (uchar *)0xa73cd;\n      iVar10 = sqlite3BtreeSetSpillSize(local_8c,0);\n      puStack_a0 = (uchar *)0xa73d6;\n      sqlite3BtreeSetSpillSize(pBVar11,iVar10);\n      puStack_a0 = (uchar *)0xa73e2;\n      sqlite3BtreeSetPagerFlags(pBVar11,0x21);\n      puStack_a0 = (uchar *)0xa73f1;\n      iVar10 = execSql(db,pzErrMsg,"BEGIN");\n      ppsVar13 = &local_9c;\n      if (iVar10 != 0) goto LAB_000a7644;\nLAB_000a73fb:\n      puStack_a0 = (uchar *)0xa7408;\n      iVar10 = sqlite3BtreeBeginTrans(local_8c,iVar10,(int *)0x0);\n      ppsVar13 = &local_9c;\n      if (iVar10 != 0) goto LAB_000a7644;\n      pBVar5 = local_8c->pBt;\n      if (pBVar5->pPager->journalMode == '\x05') {\n        db->nextPagesize = 0;\n      }\n      iVar10 = sqlite3BtreeSetPageSize(local_64,pBVar5->pageSize,local_60,0);\n      if ((iVar10 != 0) ||\n         (((local_65 == '\0' &&\n           (iVar10 = sqlite3BtreeSetPageSize(local_64,db->nextPagesize,local_60,0), iVar10 != 0)) ||\n          (db->mallocFailed != '\0')))) {\n        iVar10 = 7;\n        ppsVar13 = &local_9c;\n        goto LAB_000a7644;\n      }\n      pBVar11 = (Btree *)(int)db->nextAutovac;\n      ppsVar13 = &local_9c;\n      if (db->nextAutovac < '\0') {\n        ppsVar13 = (sqlite3_value **)&puStack_a0;\n        puStack_a0 = (uchar *)0xa7754;\n        pBVar11 = (Btree *)sqlite3BtreeGetAutoVacuum(pBVar11);\n      }\n      ((int *)ppsVar13)[-1] = 0xa7472;\n      sqlite3BtreeSetAutoVacuum((Btree *)((int *)ppsVar13)[0xe],(int)pBVar11);\n      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];\n      (db->init).iDb = (u8)((int *)ppsVar13)[8];\n      ((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbcc7);\n      ((int *)ppsVar13)[-3] = (int)pzErrMsg;\n      ((int *)ppsVar13)[-4] = (int)db;\n      ((int *)ppsVar13)[-5] = 0xa748f;\n      iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2]);\n      if (iVar10 != 0) goto LAB_000a7644;\n      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];\n      ((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbcac);\n      ((int *)ppsVar13)[-3] = (int)pzErrMsg;\n      ((int *)ppsVar13)[-4] = (int)db;\n      ((int *)ppsVar13)[-5] = 0xa74ae;\n      iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2]);\n      if (iVar10 != 0) goto LAB_000a7644;\n      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];\n      (db->init).iDb = '\0';\n      ((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbc9e);\n      ((int *)ppsVar13)[-3] = (int)pzErrMsg;\n      ((int *)ppsVar13)[-4] = (int)db;\n      ((int *)ppsVar13)[-5] = 0xa74d4;\n      iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2]);\n      db->mDbFlags = db->mDbFlags & 0xfffffffb;\n      if (iVar10 != 0) goto LAB_000a7644;\n      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];\n      ((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbc78);\n      ((int *)ppsVar13)[-3] = (int)pzErrMsg;\n      ((int *)ppsVar13)[-4] = (int)db;\n      ((int *)ppsVar13)[-5] = 0xa74f7;\n      iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2]);\n      if (iVar10 != 0) goto LAB_000a7644;\n      ((int *)ppsVar13)[8] = (int)((int *)ppsVar13 + 0x11);\n      iVar14 = 0;\n      do {\n        uVar16 = (uint)*(byte *)(iVar14 + -0x2d058 + (int)ppuVar12);\n        ((int *)ppsVar13)[-1] = 0xa7523;\n        sqlite3BtreeGetMeta((Btree *)((int *)ppsVar13)[4],uVar16,(u32 *)((int *)ppsVar13)[8]);\n        bVar1 = *(byte *)(iVar14 + -0x2d057 + (int)ppuVar12);\n        ((int *)ppsVar13)[-1] = 0xa753a;\n        iVar10 = sqlite3BtreeUpdateMeta\n                           ((Btree *)((int *)ppsVar13)[0xe],uVar16,\n                            (uint)bVar1 + ((int *)ppsVar13)[0x11]);\n        if (iVar10 != 0) goto LAB_000a7644;\n        iVar14 = iVar14 + 2;\n      } while (iVar14 != 10);\n      if (*ppsVar13 == (sqlite3_value *)0x0) {\n        if (((Btree *)((int *)ppsVar13)[4])->sharable != '\0') {\n          ((int *)ppsVar13)[-1] = 0xa7778;\n          sqlite3BtreeEnter((Btree *)((int *)ppsVar13)[4]);\n        }\n        if (((Btree *)((int *)ppsVar13)[0xe])->sharable != '\0') {\n          ((int *)ppsVar13)[-1] = 0xa7787;\n          sqlite3BtreeEnter((Btree *)((int *)ppsVar13)[0xe]);\n        }\n        iVar10 = **(int **)(**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c);\n        *ppsVar13 = (sqlite3_value *)*(int **)(**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c);\n        if (iVar10 == 0) {\nLAB_000a77ea:\n          piVar15 = (int *)ppsVar13 + 0x12;\n          piVar17 = piVar15;\n          for (iVar10 = 0xc; iVar10 != 0; iVar10 = iVar10 + -1) {\n            *piVar17 = 0;\n            piVar17 = piVar17 + (uint)bVar18 * -2 + 1;\n          }\n          iVar10 = *(int *)((int *)ppsVar13)[0xe];\n          ((int *)ppsVar13)[0x18] = ((int *)ppsVar13)[0xe];\n          ((int *)ppsVar13)[0x16] = 1;\n          ((int *)ppsVar13)[0x17] = iVar10;\n          iVar10 = ((int *)ppsVar13)[4];\n          ((int *)ppsVar13)[0x13] = iVar10;\n          ((int *)ppsVar13)[-1] = iVar10;\n          ((int *)ppsVar13)[-2] = iVar10;\n          ((int *)ppsVar13)[-3] = 0x7fffffff;\n          ((int *)ppsVar13)[-4] = (int)piVar15;\n          ((int *)ppsVar13)[-5] = 0xa7820;\n          sqlite3_backup_step((sqlite3_backup *)((int *)ppsVar13)[-4],((int *)ppsVar13)[-3]);\n          ((int *)ppsVar13)[-4] = (int)piVar15;\n          ((int *)ppsVar13)[-5] = 0xa7828;\n          iVar10 = sqlite3_backup_finish((sqlite3_backup *)((int *)ppsVar13)[-4]);\n          if (iVar10 == 0) {\n            *(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18) & 0xfffd;\n          }\n          else {\n            pPager = (Pager *)**(undefined4 **)(((int *)ppsVar13)[0x13] + 4);\n            if (pPager->tempFile == '\0') {\n              ((int *)ppsVar13)[-1] = 0xa78ee;\n              pager_reset(pPager);\n            }\n          }\n        }\n        else {\n          uVar16 = *(uint *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x24);\n          uVar7 = *(uint *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x30);\n          ((int *)ppsVar13)[8] = uVar16;\n          ((int *)ppsVar13)[9] = (int)uVar16 >> 0x1f;\n          lVar9 = (ulonglong)uVar7 * (ulonglong)uVar16;\n          iVar14 = (int)((ulonglong)lVar9 >> 0x20) + ((int *)ppsVar13)[9] * uVar7;\n          ((int *)ppsVar13)[0x12] = (int)lVar9;\n          ((int *)ppsVar13)[0x13] = iVar14;\n          ((int *)ppsVar13)[-1] = iVar14;\n          ((int *)ppsVar13)[-2] = (int)((int *)ppsVar13 + 0x12);\n          ((int *)ppsVar13)[-3] = 0xb;\n          ((int *)ppsVar13)[-4] = (int)*ppsVar13;\n          pcVar8 = *(code **)(iVar10 + 0x28);\n          ((int *)ppsVar13)[-5] = 0xa77dc;\n          iVar10 = (*pcVar8)();\n          if ((iVar10 == 0xc) || (iVar10 == 0)) goto LAB_000a77ea;\n        }\n        pBVar11 = (Btree *)((int *)ppsVar13)[0xe];\n        if (pBVar11->sharable != '\0') {\n          iVar14 = pBVar11->wantToLock;\n          *ppsVar13 = (sqlite3_value *)iVar14;\n          iVar14 = iVar14 + -1;\n          pBVar11->wantToLock = iVar14;\n          if (iVar14 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa7862;\n            sqlite3BtreeLeave(pBVar11);\n          }\n        }\n        pBVar11 = (Btree *)((int *)ppsVar13)[4];\n        if (pBVar11->sharable != '\0') {\n          iVar14 = pBVar11->wantToLock;\n          *ppsVar13 = (sqlite3_value *)iVar14;\n          iVar14 = iVar14 + -1;\n          pBVar11->wantToLock = iVar14;\n          if (iVar14 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa7883;\n            sqlite3BtreeLeave(pBVar11);\n          }\n        }\n        if (iVar10 == 0) {\n          pBVar11 = (Btree *)((int *)ppsVar13)[0xe];\n          ((int *)ppsVar13)[-1] = 0xa7896;\n          iVar10 = sqlite3BtreeCommit(pBVar11);\n          if (iVar10 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa78a9;\n            iVar10 = sqlite3BtreeGetAutoVacuum(p_00);\n            p = (Btree *)((int *)ppsVar13)[3];\n            ((int *)ppsVar13)[-2] = 0xa78b6;\n            sqlite3BtreeSetAutoVacuum(p,iVar10);\n            uVar6 = pBVar11->pBt->pageSize;\n            ((int *)ppsVar13)[-5] = 1;\n            ((int *)ppsVar13)[-6] = 0xa78cc;\n            iVar10 = sqlite3BtreeSetPageSize(p,uVar6,((int *)ppsVar13)[0xe],((int *)ppsVar13)[-5]);\n            ppsVar13 = (sqlite3_value **)((int *)ppsVar13 + -1);\n          }\n        }\n        goto LAB_000a7644;\n      }\n      ((int *)ppsVar13)[-1] = 0xa755d;\n      iVar10 = sqlite3BtreeCommit((Btree *)((int *)ppsVar13)[0xe]);\n      if (iVar10 != 0) goto LAB_000a7644;\n      uVar6 = ((int *)ppsVar13)[5];\n      (db->init).iDb = '\0';\n      iVar10 = 0;\n      db->mDbFlags = uVar6;\n      *(int *)&db->flags = ((int *)ppsVar13)[1];\n      *(int *)((int)&db->flags + 4) = ((int *)ppsVar13)[2];\n      db->nChange = ((int *)ppsVar13)[6];\n      db->nTotalChange = ((int *)ppsVar13)[7];\n      ((int *)ppsVar13)[-4] = 1;\n      db->mTrace = *(u8 *)((int)ppsVar13 + 0x2b);\n      ((int *)ppsVar13)[-5] = 0xa75ae;\n      sqlite3BtreeSetPageSize((Btree *)((int *)ppsVar13)[4],-1,0,((int *)ppsVar13)[-4]);\n      db->autoCommit = '\x01';\n    }" else (compound_statement "{\n      psVar3 = local_64->pBt->pPager->fd;\n      sz._0_4_ = 0;\n      sz._4_4_ = 0;\n      psVar4 = psVar3->pMethods;\n      if (psVar4 != (sqlite3_io_methods *)0x0) {\n        iVar10 = (*psVar4->xFileSize)(psVar3,&sz);\n        ppsVar13 = &local_9c;\n        if ((iVar10 != 0) || ((-1 < sz._4_4_ && ((0 < sz._4_4_ || ((int)sz != 0)))))) {\n          iVar10 = 1;\n          puStack_a0 = (uchar *)0xa7644;\n          sqlite3SetString(pzErrMsg,db,"output file already exists");\n          goto LAB_000a7644;\n        }\n      }\n      db->mDbFlags = db->mDbFlags | 8;\n      puStack_a0 = (uchar *)0xa73a5;\n      local_60 = sqlite3BtreeGetRequestedReserve(local_8c);\n      pBVar11 = local_64;\n      puStack_a0 = (uchar *)0xa73c2;\n      sqlite3BtreeSetCacheSize\n                (local_64,*(int *)(*(int *)((int)&db->aDb->pSchema + local_70) + 0x50));\n      puStack_a0 = (uchar *)0xa73cd;\n      iVar10 = sqlite3BtreeSetSpillSize(local_8c,0);\n      puStack_a0 = (uchar *)0xa73d6;\n      sqlite3BtreeSetSpillSize(pBVar11,iVar10);\n      puStack_a0 = (uchar *)0xa73e2;\n      sqlite3BtreeSetPagerFlags(pBVar11,0x21);\n      puStack_a0 = (uchar *)0xa73f1;\n      iVar10 = execSql(db,pzErrMsg,"BEGIN");\n      ppsVar13 = &local_9c;\n      if (iVar10 != 0) goto LAB_000a7644;\nLAB_000a73fb:\n      puStack_a0 = (uchar *)0xa7408;\n      iVar10 = sqlite3BtreeBeginTrans(local_8c,iVar10,(int *)0x0);\n      ppsVar13 = &local_9c;\n      if (iVar10 != 0) goto LAB_000a7644;\n      pBVar5 = local_8c->pBt;\n      if (pBVar5->pPager->journalMode == '\x05') {\n        db->nextPagesize = 0;\n      }\n      iVar10 = sqlite3BtreeSetPageSize(local_64,pBVar5->pageSize,local_60,0);\n      if ((iVar10 != 0) ||\n         (((local_65 == '\0' &&\n           (iVar10 = sqlite3BtreeSetPageSize(local_64,db->nextPagesize,local_60,0), iVar10 != 0)) ||\n          (db->mallocFailed != '\0')))) {\n        iVar10 = 7;\n        ppsVar13 = &local_9c;\n        goto LAB_000a7644;\n      }\n      pBVar11 = (Btree *)(int)db->nextAutovac;\n      ppsVar13 = &local_9c;\n      if (db->nextAutovac < '\0') {\n        ppsVar13 = (sqlite3_value **)&puStack_a0;\n        puStack_a0 = (uchar *)0xa7754;\n        pBVar11 = (Btree *)sqlite3BtreeGetAutoVacuum(pBVar11);\n      }\n      ((int *)ppsVar13)[-1] = 0xa7472;\n      sqlite3BtreeSetAutoVacuum((Btree *)((int *)ppsVar13)[0xe],(int)pBVar11);\n      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];\n      (db->init).iDb = (u8)((int *)ppsVar13)[8];\n      ((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbcc7);\n      ((int *)ppsVar13)[-3] = (int)pzErrMsg;\n      ((int *)ppsVar13)[-4] = (int)db;\n      ((int *)ppsVar13)[-5] = 0xa748f;\n      iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2]);\n      if (iVar10 != 0) goto LAB_000a7644;\n      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];\n      ((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbcac);\n      ((int *)ppsVar13)[-3] = (int)pzErrMsg;\n      ((int *)ppsVar13)[-4] = (int)db;\n      ((int *)ppsVar13)[-5] = 0xa74ae;\n      iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2]);\n      if (iVar10 != 0) goto LAB_000a7644;\n      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];\n      (db->init).iDb = '\0';\n      ((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbc9e);\n      ((int *)ppsVar13)[-3] = (int)pzErrMsg;\n      ((int *)ppsVar13)[-4] = (int)db;\n      ((int *)ppsVar13)[-5] = 0xa74d4;\n      iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2]);\n      db->mDbFlags = db->mDbFlags & 0xfffffffb;\n      if (iVar10 != 0) goto LAB_000a7644;\n      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];\n      ((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbc78);\n      ((int *)ppsVar13)[-3] = (int)pzErrMsg;\n      ((int *)ppsVar13)[-4] = (int)db;\n      ((int *)ppsVar13)[-5] = 0xa74f7;\n      iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2]);\n      if (iVar10 != 0) goto LAB_000a7644;\n      ((int *)ppsVar13)[8] = (int)((int *)ppsVar13 + 0x11);\n      iVar14 = 0;\n      do {\n        uVar16 = (uint)*(byte *)(iVar14 + -0x2d058 + (int)ppuVar12);\n        ((int *)ppsVar13)[-1] = 0xa7523;\n        sqlite3BtreeGetMeta((Btree *)((int *)ppsVar13)[4],uVar16,(u32 *)((int *)ppsVar13)[8]);\n        bVar1 = *(byte *)(iVar14 + -0x2d057 + (int)ppuVar12);\n        ((int *)ppsVar13)[-1] = 0xa753a;\n        iVar10 = sqlite3BtreeUpdateMeta\n                           ((Btree *)((int *)ppsVar13)[0xe],uVar16,\n                            (uint)bVar1 + ((int *)ppsVar13)[0x11]);\n        if (iVar10 != 0) goto LAB_000a7644;\n        iVar14 = iVar14 + 2;\n      } while (iVar14 != 10);\n      if (*ppsVar13 == (sqlite3_value *)0x0) {\n        if (((Btree *)((int *)ppsVar13)[4])->sharable != '\0') {\n          ((int *)ppsVar13)[-1] = 0xa7778;\n          sqlite3BtreeEnter((Btree *)((int *)ppsVar13)[4]);\n        }\n        if (((Btree *)((int *)ppsVar13)[0xe])->sharable != '\0') {\n          ((int *)ppsVar13)[-1] = 0xa7787;\n          sqlite3BtreeEnter((Btree *)((int *)ppsVar13)[0xe]);\n        }\n        iVar10 = **(int **)(**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c);\n        *ppsVar13 = (sqlite3_value *)*(int **)(**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c);\n        if (iVar10 == 0) {\nLAB_000a77ea:\n          piVar15 = (int *)ppsVar13 + 0x12;\n          piVar17 = piVar15;\n          for (iVar10 = 0xc; iVar10 != 0; iVar10 = iVar10 + -1) {\n            *piVar17 = 0;\n            piVar17 = piVar17 + (uint)bVar18 * -2 + 1;\n          }\n          iVar10 = *(int *)((int *)ppsVar13)[0xe];\n          ((int *)ppsVar13)[0x18] = ((int *)ppsVar13)[0xe];\n          ((int *)ppsVar13)[0x16] = 1;\n          ((int *)ppsVar13)[0x17] = iVar10;\n          iVar10 = ((int *)ppsVar13)[4];\n          ((int *)ppsVar13)[0x13] = iVar10;\n          ((int *)ppsVar13)[-1] = iVar10;\n          ((int *)ppsVar13)[-2] = iVar10;\n          ((int *)ppsVar13)[-3] = 0x7fffffff;\n          ((int *)ppsVar13)[-4] = (int)piVar15;\n          ((int *)ppsVar13)[-5] = 0xa7820;\n          sqlite3_backup_step((sqlite3_backup *)((int *)ppsVar13)[-4],((int *)ppsVar13)[-3]);\n          ((int *)ppsVar13)[-4] = (int)piVar15;\n          ((int *)ppsVar13)[-5] = 0xa7828;\n          iVar10 = sqlite3_backup_finish((sqlite3_backup *)((int *)ppsVar13)[-4]);\n          if (iVar10 == 0) {\n            *(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18) & 0xfffd;\n          }\n          else {\n            pPager = (Pager *)**(undefined4 **)(((int *)ppsVar13)[0x13] + 4);\n            if (pPager->tempFile == '\0') {\n              ((int *)ppsVar13)[-1] = 0xa78ee;\n              pager_reset(pPager);\n            }\n          }\n        }\n        else {\n          uVar16 = *(uint *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x24);\n          uVar7 = *(uint *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x30);\n          ((int *)ppsVar13)[8] = uVar16;\n          ((int *)ppsVar13)[9] = (int)uVar16 >> 0x1f;\n          lVar9 = (ulonglong)uVar7 * (ulonglong)uVar16;\n          iVar14 = (int)((ulonglong)lVar9 >> 0x20) + ((int *)ppsVar13)[9] * uVar7;\n          ((int *)ppsVar13)[0x12] = (int)lVar9;\n          ((int *)ppsVar13)[0x13] = iVar14;\n          ((int *)ppsVar13)[-1] = iVar14;\n          ((int *)ppsVar13)[-2] = (int)((int *)ppsVar13 + 0x12);\n          ((int *)ppsVar13)[-3] = 0xb;\n          ((int *)ppsVar13)[-4] = (int)*ppsVar13;\n          pcVar8 = *(code **)(iVar10 + 0x28);\n          ((int *)ppsVar13)[-5] = 0xa77dc;\n          iVar10 = (*pcVar8)();\n          if ((iVar10 == 0xc) || (iVar10 == 0)) goto LAB_000a77ea;\n        }\n        pBVar11 = (Btree *)((int *)ppsVar13)[0xe];\n        if (pBVar11->sharable != '\0') {\n          iVar14 = pBVar11->wantToLock;\n          *ppsVar13 = (sqlite3_value *)iVar14;\n          iVar14 = iVar14 + -1;\n          pBVar11->wantToLock = iVar14;\n          if (iVar14 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa7862;\n            sqlite3BtreeLeave(pBVar11);\n          }\n        }\n        pBVar11 = (Btree *)((int *)ppsVar13)[4];\n        if (pBVar11->sharable != '\0') {\n          iVar14 = pBVar11->wantToLock;\n          *ppsVar13 = (sqlite3_value *)iVar14;\n          iVar14 = iVar14 + -1;\n          pBVar11->wantToLock = iVar14;\n          if (iVar14 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa7883;\n            sqlite3BtreeLeave(pBVar11);\n          }\n        }\n        if (iVar10 == 0) {\n          pBVar11 = (Btree *)((int *)ppsVar13)[0xe];\n          ((int *)ppsVar13)[-1] = 0xa7896;\n          iVar10 = sqlite3BtreeCommit(pBVar11);\n          if (iVar10 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa78a9;\n            iVar10 = sqlite3BtreeGetAutoVacuum(p_00);\n            p = (Btree *)((int *)ppsVar13)[3];\n            ((int *)ppsVar13)[-2] = 0xa78b6;\n            sqlite3BtreeSetAutoVacuum(p,iVar10);\n            uVar6 = pBVar11->pBt->pageSize;\n            ((int *)ppsVar13)[-5] = 1;\n            ((int *)ppsVar13)[-6] = 0xa78cc;\n            iVar10 = sqlite3BtreeSetPageSize(p,uVar6,((int *)ppsVar13)[0xe],((int *)ppsVar13)[-5]);\n            ppsVar13 = (sqlite3_value **)((int *)ppsVar13 + -1);\n          }\n        }\n        goto LAB_000a7644;\n      }\n      ((int *)ppsVar13)[-1] = 0xa755d;\n      iVar10 = sqlite3BtreeCommit((Btree *)((int *)ppsVar13)[0xe]);\n      if (iVar10 != 0) goto LAB_000a7644;\n      uVar6 = ((int *)ppsVar13)[5];\n      (db->init).iDb = '\0';\n      iVar10 = 0;\n      db->mDbFlags = uVar6;\n      *(int *)&db->flags = ((int *)ppsVar13)[1];\n      *(int *)((int)&db->flags + 4) = ((int *)ppsVar13)[2];\n      db->nChange = ((int *)ppsVar13)[6];\n      db->nTotalChange = ((int *)ppsVar13)[7];\n      ((int *)ppsVar13)[-4] = 1;\n      db->mTrace = *(u8 *)((int)ppsVar13 + 0x2b);\n      ((int *)ppsVar13)[-5] = 0xa75ae;\n      sqlite3BtreeSetPageSize((Btree *)((int *)ppsVar13)[4],-1,0,((int *)ppsVar13)[-4]);\n      db->autoCommit = '\x01';\n    }" { (expression_statement "psVar3 = local_64->pBt->pPager->fd;" (assignment_expression "psVar3 = local_64->pBt->pPager->fd" identifier = (field_expression "local_64->pBt->pPager->fd" (field_expression "local_64->pBt->pPager" (field_expression "local_64->pBt" identifier -> field_identifier) -> field_identifier) -> field_identifier)) ;) (expression_statement "sz._0_4_ = 0;" (assignment_expression "sz._0_4_ = 0" (field_expression "sz._0_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "sz._4_4_ = 0;" (assignment_expression "sz._4_4_ = 0" (field_expression "sz._4_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "psVar4 = psVar3->pMethods;" (assignment_expression "psVar4 = psVar3->pMethods" identifier = (field_expression "psVar3->pMethods" identifier -> field_identifier)) ;) (if_statement "if (psVar4 != (sqlite3_io_methods *)0x0) {\n        iVar10 = (*psVar4->xFileSize)(psVar3,&sz);\n        ppsVar13 = &local_9c;\n        if ((iVar10 != 0) || ((-1 < sz._4_4_ && ((0 < sz._4_4_ || ((int)sz != 0)))))) {\n          iVar10 = 1;\n          puStack_a0 = (uchar *)0xa7644;\n          sqlite3SetString(pzErrMsg,db,"output file already exists");\n          goto LAB_000a7644;\n        }\n      }" if (parenthesized_expression "(psVar4 != (sqlite3_io_methods *)0x0)" ( (binary_expression "psVar4 != (sqlite3_io_methods *)0x0" identifier != (cast_expression "(sqlite3_io_methods *)0x0" ( (type_descriptor "sqlite3_io_methods *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar10 = (*psVar4->xFileSize)(psVar3,&sz);\n        ppsVar13 = &local_9c;\n        if ((iVar10 != 0) || ((-1 < sz._4_4_ && ((0 < sz._4_4_ || ((int)sz != 0)))))) {\n          iVar10 = 1;\n          puStack_a0 = (uchar *)0xa7644;\n          sqlite3SetString(pzErrMsg,db,"output file already exists");\n          goto LAB_000a7644;\n        }\n      }" { (expression_statement "iVar10 = (*psVar4->xFileSize)(psVar3,&sz);" (assignment_expression "iVar10 = (*psVar4->xFileSize)(psVar3,&sz)" identifier = (call_expression "(*psVar4->xFileSize)(psVar3,&sz)" (parenthesized_expression "(*psVar4->xFileSize)" ( (pointer_expression "*psVar4->xFileSize" * (field_expression "psVar4->xFileSize" identifier -> field_identifier)) )) (argument_list "(psVar3,&sz)" ( identifier , (pointer_expression "&sz" & identifier) )))) ;) (expression_statement "ppsVar13 = &local_9c;" (assignment_expression "ppsVar13 = &local_9c" identifier = (pointer_expression "&local_9c" & identifier)) ;) (if_statement "if ((iVar10 != 0) || ((-1 < sz._4_4_ && ((0 < sz._4_4_ || ((int)sz != 0)))))) {\n          iVar10 = 1;\n          puStack_a0 = (uchar *)0xa7644;\n          sqlite3SetString(pzErrMsg,db,"output file already exists");\n          goto LAB_000a7644;\n        }" if (parenthesized_expression "((iVar10 != 0) || ((-1 < sz._4_4_ && ((0 < sz._4_4_ || ((int)sz != 0))))))" ( (binary_expression "(iVar10 != 0) || ((-1 < sz._4_4_ && ((0 < sz._4_4_ || ((int)sz != 0)))))" (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) || (parenthesized_expression "((-1 < sz._4_4_ && ((0 < sz._4_4_ || ((int)sz != 0)))))" ( (parenthesized_expression "(-1 < sz._4_4_ && ((0 < sz._4_4_ || ((int)sz != 0))))" ( (binary_expression "-1 < sz._4_4_ && ((0 < sz._4_4_ || ((int)sz != 0)))" (binary_expression "-1 < sz._4_4_" number_literal < (field_expression "sz._4_4_" identifier . field_identifier)) && (parenthesized_expression "((0 < sz._4_4_ || ((int)sz != 0)))" ( (parenthesized_expression "(0 < sz._4_4_ || ((int)sz != 0))" ( (binary_expression "0 < sz._4_4_ || ((int)sz != 0)" (binary_expression "0 < sz._4_4_" number_literal < (field_expression "sz._4_4_" identifier . field_identifier)) || (parenthesized_expression "((int)sz != 0)" ( (binary_expression "(int)sz != 0" (cast_expression "(int)sz" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) ))) )) ))) )) ))) )) (compound_statement "{\n          iVar10 = 1;\n          puStack_a0 = (uchar *)0xa7644;\n          sqlite3SetString(pzErrMsg,db,"output file already exists");\n          goto LAB_000a7644;\n        }" { (expression_statement "iVar10 = 1;" (assignment_expression "iVar10 = 1" identifier = number_literal) ;) (expression_statement "puStack_a0 = (uchar *)0xa7644;" (assignment_expression "puStack_a0 = (uchar *)0xa7644" identifier = (cast_expression "(uchar *)0xa7644" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sqlite3SetString(pzErrMsg,db,"output file already exists");" (call_expression "sqlite3SetString(pzErrMsg,db,"output file already exists")" identifier (argument_list "(pzErrMsg,db,"output file already exists")" ( identifier , identifier , (string_literal ""output file already exists"" " string_content ") ))) ;) (goto_statement "goto LAB_000a7644;" goto statement_identifier ;) })) })) (expression_statement "db->mDbFlags = db->mDbFlags | 8;" (assignment_expression "db->mDbFlags = db->mDbFlags | 8" (field_expression "db->mDbFlags" identifier -> field_identifier) = (binary_expression "db->mDbFlags | 8" (field_expression "db->mDbFlags" identifier -> field_identifier) | number_literal)) ;) (expression_statement "puStack_a0 = (uchar *)0xa73a5;" (assignment_expression "puStack_a0 = (uchar *)0xa73a5" identifier = (cast_expression "(uchar *)0xa73a5" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_60 = sqlite3BtreeGetRequestedReserve(local_8c);" (assignment_expression "local_60 = sqlite3BtreeGetRequestedReserve(local_8c)" identifier = (call_expression "sqlite3BtreeGetRequestedReserve(local_8c)" identifier (argument_list "(local_8c)" ( identifier )))) ;) (expression_statement "pBVar11 = local_64;" (assignment_expression "pBVar11 = local_64" identifier = identifier) ;) (expression_statement "puStack_a0 = (uchar *)0xa73c2;" (assignment_expression "puStack_a0 = (uchar *)0xa73c2" identifier = (cast_expression "(uchar *)0xa73c2" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sqlite3BtreeSetCacheSize\n                (local_64,*(int *)(*(int *)((int)&db->aDb->pSchema + local_70) + 0x50));" (call_expression "sqlite3BtreeSetCacheSize\n                (local_64,*(int *)(*(int *)((int)&db->aDb->pSchema + local_70) + 0x50))" identifier (argument_list "(local_64,*(int *)(*(int *)((int)&db->aDb->pSchema + local_70) + 0x50))" ( identifier , (pointer_expression "*(int *)(*(int *)((int)&db->aDb->pSchema + local_70) + 0x50)" * (cast_expression "(int *)(*(int *)((int)&db->aDb->pSchema + local_70) + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)&db->aDb->pSchema + local_70) + 0x50)" ( (binary_expression "*(int *)((int)&db->aDb->pSchema + local_70) + 0x50" (pointer_expression "*(int *)((int)&db->aDb->pSchema + local_70)" * (cast_expression "(int *)((int)&db->aDb->pSchema + local_70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&db->aDb->pSchema + local_70)" ( (binary_expression "(int)&db->aDb->pSchema + local_70" (cast_expression "(int)&db->aDb->pSchema" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&db->aDb->pSchema" & (field_expression "db->aDb->pSchema" (field_expression "db->aDb" identifier -> field_identifier) -> field_identifier))) + identifier) )))) + number_literal) )))) ))) ;) (expression_statement "puStack_a0 = (uchar *)0xa73cd;" (assignment_expression "puStack_a0 = (uchar *)0xa73cd" identifier = (cast_expression "(uchar *)0xa73cd" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar10 = sqlite3BtreeSetSpillSize(local_8c,0);" (assignment_expression "iVar10 = sqlite3BtreeSetSpillSize(local_8c,0)" identifier = (call_expression "sqlite3BtreeSetSpillSize(local_8c,0)" identifier (argument_list "(local_8c,0)" ( identifier , number_literal )))) ;) (expression_statement "puStack_a0 = (uchar *)0xa73d6;" (assignment_expression "puStack_a0 = (uchar *)0xa73d6" identifier = (cast_expression "(uchar *)0xa73d6" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sqlite3BtreeSetSpillSize(pBVar11,iVar10);" (call_expression "sqlite3BtreeSetSpillSize(pBVar11,iVar10)" identifier (argument_list "(pBVar11,iVar10)" ( identifier , identifier ))) ;) (expression_statement "puStack_a0 = (uchar *)0xa73e2;" (assignment_expression "puStack_a0 = (uchar *)0xa73e2" identifier = (cast_expression "(uchar *)0xa73e2" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sqlite3BtreeSetPagerFlags(pBVar11,0x21);" (call_expression "sqlite3BtreeSetPagerFlags(pBVar11,0x21)" identifier (argument_list "(pBVar11,0x21)" ( identifier , number_literal ))) ;) (expression_statement "puStack_a0 = (uchar *)0xa73f1;" (assignment_expression "puStack_a0 = (uchar *)0xa73f1" identifier = (cast_expression "(uchar *)0xa73f1" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar10 = execSql(db,pzErrMsg,"BEGIN");" (assignment_expression "iVar10 = execSql(db,pzErrMsg,"BEGIN")" identifier = (call_expression "execSql(db,pzErrMsg,"BEGIN")" identifier (argument_list "(db,pzErrMsg,"BEGIN")" ( identifier , identifier , (string_literal ""BEGIN"" " string_content ") )))) ;) (expression_statement "ppsVar13 = &local_9c;" (assignment_expression "ppsVar13 = &local_9c" identifier = (pointer_expression "&local_9c" & identifier)) ;) (if_statement "if (iVar10 != 0) goto LAB_000a7644;" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a7644;" goto statement_identifier ;)) (labeled_statement "LAB_000a73fb:\n      puStack_a0 = (uchar *)0xa7408;" statement_identifier : (expression_statement "puStack_a0 = (uchar *)0xa7408;" (assignment_expression "puStack_a0 = (uchar *)0xa7408" identifier = (cast_expression "(uchar *)0xa7408" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "iVar10 = sqlite3BtreeBeginTrans(local_8c,iVar10,(int *)0x0);" (assignment_expression "iVar10 = sqlite3BtreeBeginTrans(local_8c,iVar10,(int *)0x0)" identifier = (call_expression "sqlite3BtreeBeginTrans(local_8c,iVar10,(int *)0x0)" identifier (argument_list "(local_8c,iVar10,(int *)0x0)" ( identifier , identifier , (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (expression_statement "ppsVar13 = &local_9c;" (assignment_expression "ppsVar13 = &local_9c" identifier = (pointer_expression "&local_9c" & identifier)) ;) (if_statement "if (iVar10 != 0) goto LAB_000a7644;" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a7644;" goto statement_identifier ;)) (expression_statement "pBVar5 = local_8c->pBt;" (assignment_expression "pBVar5 = local_8c->pBt" identifier = (field_expression "local_8c->pBt" identifier -> field_identifier)) ;) (if_statement "if (pBVar5->pPager->journalMode == '\x05') {\n        db->nextPagesize = 0;\n      }" if (parenthesized_expression "(pBVar5->pPager->journalMode == '\x05')" ( (binary_expression "pBVar5->pPager->journalMode == '\x05'" (field_expression "pBVar5->pPager->journalMode" (field_expression "pBVar5->pPager" identifier -> field_identifier) -> field_identifier) == (char_literal "'\x05'" ' escape_sequence ')) )) (compound_statement "{\n        db->nextPagesize = 0;\n      }" { (expression_statement "db->nextPagesize = 0;" (assignment_expression "db->nextPagesize = 0" (field_expression "db->nextPagesize" identifier -> field_identifier) = number_literal) ;) })) (expression_statement "iVar10 = sqlite3BtreeSetPageSize(local_64,pBVar5->pageSize,local_60,0);" (assignment_expression "iVar10 = sqlite3BtreeSetPageSize(local_64,pBVar5->pageSize,local_60,0)" identifier = (call_expression "sqlite3BtreeSetPageSize(local_64,pBVar5->pageSize,local_60,0)" identifier (argument_list "(local_64,pBVar5->pageSize,local_60,0)" ( identifier , (field_expression "pBVar5->pageSize" identifier -> field_identifier) , identifier , number_literal )))) ;) (if_statement "if ((iVar10 != 0) ||\n         (((local_65 == '\0' &&\n           (iVar10 = sqlite3BtreeSetPageSize(local_64,db->nextPagesize,local_60,0), iVar10 != 0)) ||\n          (db->mallocFailed != '\0')))) {\n        iVar10 = 7;\n        ppsVar13 = &local_9c;\n        goto LAB_000a7644;\n      }" if (parenthesized_expression "((iVar10 != 0) ||\n         (((local_65 == '\0' &&\n           (iVar10 = sqlite3BtreeSetPageSize(local_64,db->nextPagesize,local_60,0), iVar10 != 0)) ||\n          (db->mallocFailed != '\0'))))" ( (binary_expression "(iVar10 != 0) ||\n         (((local_65 == '\0' &&\n           (iVar10 = sqlite3BtreeSetPageSize(local_64,db->nextPagesize,local_60,0), iVar10 != 0)) ||\n          (db->mallocFailed != '\0')))" (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) || (parenthesized_expression "(((local_65 == '\0' &&\n           (iVar10 = sqlite3BtreeSetPageSize(local_64,db->nextPagesize,local_60,0), iVar10 != 0)) ||\n          (db->mallocFailed != '\0')))" ( (parenthesized_expression "((local_65 == '\0' &&\n           (iVar10 = sqlite3BtreeSetPageSize(local_64,db->nextPagesize,local_60,0), iVar10 != 0)) ||\n          (db->mallocFailed != '\0'))" ( (binary_expression "(local_65 == '\0' &&\n           (iVar10 = sqlite3BtreeSetPageSize(local_64,db->nextPagesize,local_60,0), iVar10 != 0)) ||\n          (db->mallocFailed != '\0')" (parenthesized_expression "(local_65 == '\0' &&\n           (iVar10 = sqlite3BtreeSetPageSize(local_64,db->nextPagesize,local_60,0), iVar10 != 0))" ( (binary_expression "local_65 == '\0' &&\n           (iVar10 = sqlite3BtreeSetPageSize(local_64,db->nextPagesize,local_60,0), iVar10 != 0)" (binary_expression "local_65 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(iVar10 = sqlite3BtreeSetPageSize(local_64,db->nextPagesize,local_60,0), iVar10 != 0)" ( (comma_expression "iVar10 = sqlite3BtreeSetPageSize(local_64,db->nextPagesize,local_60,0), iVar10 != 0" (assignment_expression "iVar10 = sqlite3BtreeSetPageSize(local_64,db->nextPagesize,local_60,0)" identifier = (call_expression "sqlite3BtreeSetPageSize(local_64,db->nextPagesize,local_60,0)" identifier (argument_list "(local_64,db->nextPagesize,local_60,0)" ( identifier , (field_expression "db->nextPagesize" identifier -> field_identifier) , identifier , number_literal )))) , (binary_expression "iVar10 != 0" identifier != number_literal)) ))) )) || (parenthesized_expression "(db->mallocFailed != '\0')" ( (binary_expression "db->mallocFailed != '\0'" (field_expression "db->mallocFailed" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (compound_statement "{\n        iVar10 = 7;\n        ppsVar13 = &local_9c;\n        goto LAB_000a7644;\n      }" { (expression_statement "iVar10 = 7;" (assignment_expression "iVar10 = 7" identifier = number_literal) ;) (expression_statement "ppsVar13 = &local_9c;" (assignment_expression "ppsVar13 = &local_9c" identifier = (pointer_expression "&local_9c" & identifier)) ;) (goto_statement "goto LAB_000a7644;" goto statement_identifier ;) })) (expression_statement "pBVar11 = (Btree *)(int)db->nextAutovac;" (assignment_expression "pBVar11 = (Btree *)(int)db->nextAutovac" identifier = (cast_expression "(Btree *)(int)db->nextAutovac" ( (type_descriptor "Btree *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)db->nextAutovac" ( (type_descriptor "int" primitive_type) ) (field_expression "db->nextAutovac" identifier -> field_identifier)))) ;) (expression_statement "ppsVar13 = &local_9c;" (assignment_expression "ppsVar13 = &local_9c" identifier = (pointer_expression "&local_9c" & identifier)) ;) (if_statement "if (db->nextAutovac < '\0') {\n        ppsVar13 = (sqlite3_value **)&puStack_a0;\n        puStack_a0 = (uchar *)0xa7754;\n        pBVar11 = (Btree *)sqlite3BtreeGetAutoVacuum(pBVar11);\n      }" if (parenthesized_expression "(db->nextAutovac < '\0')" ( (binary_expression "db->nextAutovac < '\0'" (field_expression "db->nextAutovac" identifier -> field_identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        ppsVar13 = (sqlite3_value **)&puStack_a0;\n        puStack_a0 = (uchar *)0xa7754;\n        pBVar11 = (Btree *)sqlite3BtreeGetAutoVacuum(pBVar11);\n      }" { (expression_statement "ppsVar13 = (sqlite3_value **)&puStack_a0;" (assignment_expression "ppsVar13 = (sqlite3_value **)&puStack_a0" identifier = (cast_expression "(sqlite3_value **)&puStack_a0" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&puStack_a0" & identifier))) ;) (expression_statement "puStack_a0 = (uchar *)0xa7754;" (assignment_expression "puStack_a0 = (uchar *)0xa7754" identifier = (cast_expression "(uchar *)0xa7754" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBVar11 = (Btree *)sqlite3BtreeGetAutoVacuum(pBVar11);" (assignment_expression "pBVar11 = (Btree *)sqlite3BtreeGetAutoVacuum(pBVar11)" identifier = (cast_expression "(Btree *)sqlite3BtreeGetAutoVacuum(pBVar11)" ( (type_descriptor "Btree *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sqlite3BtreeGetAutoVacuum(pBVar11)" identifier (argument_list "(pBVar11)" ( identifier ))))) ;) })) (expression_statement "((int *)ppsVar13)[-1] = 0xa7472;" (assignment_expression "((int *)ppsVar13)[-1] = 0xa7472" (subscript_expression "((int *)ppsVar13)[-1]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "sqlite3BtreeSetAutoVacuum((Btree *)((int *)ppsVar13)[0xe],(int)pBVar11);" (call_expression "sqlite3BtreeSetAutoVacuum((Btree *)((int *)ppsVar13)[0xe],(int)pBVar11)" identifier (argument_list "((Btree *)((int *)ppsVar13)[0xe],(int)pBVar11)" ( (cast_expression "(Btree *)((int *)ppsVar13)[0xe]" ( (type_descriptor "Btree *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((int *)ppsVar13)[0xe]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) , (cast_expression "(int)pBVar11" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) (expression_statement "((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];" (assignment_expression "((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc]" (subscript_expression "((int *)ppsVar13)[-1]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (subscript_expression "((int *)ppsVar13)[0xc]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;) (expression_statement "(db->init).iDb = (u8)((int *)ppsVar13)[8];" (assignment_expression "(db->init).iDb = (u8)((int *)ppsVar13)[8]" (field_expression "(db->init).iDb" (parenthesized_expression "(db->init)" ( (field_expression "db->init" identifier -> field_identifier) )) . field_identifier) = (subscript_expression "(u8)((int *)ppsVar13)[8]" (call_expression "(u8)((int *)ppsVar13)" (parenthesized_expression "(u8)" ( identifier )) (argument_list "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) [ number_literal ])) ;) (expression_statement "((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbcc7);" (assignment_expression "((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbcc7)" (subscript_expression "((int *)ppsVar13)[-2]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)(ppuVar12 + -0xbcc7)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(ppuVar12 + -0xbcc7)" ( (binary_expression "ppuVar12 + -0xbcc7" identifier + number_literal) )))) ;) (expression_statement "((int *)ppsVar13)[-3] = (int)pzErrMsg;" (assignment_expression "((int *)ppsVar13)[-3] = (int)pzErrMsg" (subscript_expression "((int *)ppsVar13)[-3]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)pzErrMsg" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "((int *)ppsVar13)[-4] = (int)db;" (assignment_expression "((int *)ppsVar13)[-4] = (int)db" (subscript_expression "((int *)ppsVar13)[-4]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)db" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "((int *)ppsVar13)[-5] = 0xa748f;" (assignment_expression "((int *)ppsVar13)[-5] = 0xa748f" (subscript_expression "((int *)ppsVar13)[-5]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2]);" (assignment_expression "iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2])" identifier = (call_expression "execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2])" identifier (argument_list "((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2])" ( (cast_expression "(sqlite3 *)((int *)ppsVar13)[-4]" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((int *)ppsVar13)[-4]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) , (cast_expression "(char **)((int *)ppsVar13)[-3]" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "((int *)ppsVar13)[-3]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) , (cast_expression "(char *)((int *)ppsVar13)[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "((int *)ppsVar13)[-2]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) )))) ;) (if_statement "if (iVar10 != 0) goto LAB_000a7644;" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a7644;" goto statement_identifier ;)) (expression_statement "((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];" (assignment_expression "((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc]" (subscript_expression "((int *)ppsVar13)[-1]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (subscript_expression "((int *)ppsVar13)[0xc]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;) (expression_statement "((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbcac);" (assignment_expression "((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbcac)" (subscript_expression "((int *)ppsVar13)[-2]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)(ppuVar12 + -0xbcac)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(ppuVar12 + -0xbcac)" ( (binary_expression "ppuVar12 + -0xbcac" identifier + number_literal) )))) ;) (expression_statement "((int *)ppsVar13)[-3] = (int)pzErrMsg;" (assignment_expression "((int *)ppsVar13)[-3] = (int)pzErrMsg" (subscript_expression "((int *)ppsVar13)[-3]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)pzErrMsg" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "((int *)ppsVar13)[-4] = (int)db;" (assignment_expression "((int *)ppsVar13)[-4] = (int)db" (subscript_expression "((int *)ppsVar13)[-4]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)db" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "((int *)ppsVar13)[-5] = 0xa74ae;" (assignment_expression "((int *)ppsVar13)[-5] = 0xa74ae" (subscript_expression "((int *)ppsVar13)[-5]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2]);" (assignment_expression "iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2])" identifier = (call_expression "execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2])" identifier (argument_list "((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2])" ( (cast_expression "(sqlite3 *)((int *)ppsVar13)[-4]" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((int *)ppsVar13)[-4]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) , (cast_expression "(char **)((int *)ppsVar13)[-3]" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "((int *)ppsVar13)[-3]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) , (cast_expression "(char *)((int *)ppsVar13)[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "((int *)ppsVar13)[-2]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) )))) ;) (if_statement "if (iVar10 != 0) goto LAB_000a7644;" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a7644;" goto statement_identifier ;)) (expression_statement "((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];" (assignment_expression "((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc]" (subscript_expression "((int *)ppsVar13)[-1]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (subscript_expression "((int *)ppsVar13)[0xc]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;) (expression_statement "(db->init).iDb = '\0';" (assignment_expression "(db->init).iDb = '\0'" (field_expression "(db->init).iDb" (parenthesized_expression "(db->init)" ( (field_expression "db->init" identifier -> field_identifier) )) . field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbc9e);" (assignment_expression "((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbc9e)" (subscript_expression "((int *)ppsVar13)[-2]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)(ppuVar12 + -0xbc9e)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(ppuVar12 + -0xbc9e)" ( (binary_expression "ppuVar12 + -0xbc9e" identifier + number_literal) )))) ;) (expression_statement "((int *)ppsVar13)[-3] = (int)pzErrMsg;" (assignment_expression "((int *)ppsVar13)[-3] = (int)pzErrMsg" (subscript_expression "((int *)ppsVar13)[-3]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)pzErrMsg" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "((int *)ppsVar13)[-4] = (int)db;" (assignment_expression "((int *)ppsVar13)[-4] = (int)db" (subscript_expression "((int *)ppsVar13)[-4]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)db" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "((int *)ppsVar13)[-5] = 0xa74d4;" (assignment_expression "((int *)ppsVar13)[-5] = 0xa74d4" (subscript_expression "((int *)ppsVar13)[-5]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2]);" (assignment_expression "iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2])" identifier = (call_expression "execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2])" identifier (argument_list "((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2])" ( (cast_expression "(sqlite3 *)((int *)ppsVar13)[-4]" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((int *)ppsVar13)[-4]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) , (cast_expression "(char **)((int *)ppsVar13)[-3]" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "((int *)ppsVar13)[-3]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) , (cast_expression "(char *)((int *)ppsVar13)[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "((int *)ppsVar13)[-2]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) )))) ;) (expression_statement "db->mDbFlags = db->mDbFlags & 0xfffffffb;" (assignment_expression "db->mDbFlags = db->mDbFlags & 0xfffffffb" (field_expression "db->mDbFlags" identifier -> field_identifier) = (binary_expression "db->mDbFlags & 0xfffffffb" (field_expression "db->mDbFlags" identifier -> field_identifier) & number_literal)) ;) (if_statement "if (iVar10 != 0) goto LAB_000a7644;" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a7644;" goto statement_identifier ;)) (expression_statement "((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];" (assignment_expression "((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc]" (subscript_expression "((int *)ppsVar13)[-1]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (subscript_expression "((int *)ppsVar13)[0xc]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;) (expression_statement "((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbc78);" (assignment_expression "((int *)ppsVar13)[-2] = (int)(ppuVar12 + -0xbc78)" (subscript_expression "((int *)ppsVar13)[-2]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)(ppuVar12 + -0xbc78)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(ppuVar12 + -0xbc78)" ( (binary_expression "ppuVar12 + -0xbc78" identifier + number_literal) )))) ;) (expression_statement "((int *)ppsVar13)[-3] = (int)pzErrMsg;" (assignment_expression "((int *)ppsVar13)[-3] = (int)pzErrMsg" (subscript_expression "((int *)ppsVar13)[-3]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)pzErrMsg" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "((int *)ppsVar13)[-4] = (int)db;" (assignment_expression "((int *)ppsVar13)[-4] = (int)db" (subscript_expression "((int *)ppsVar13)[-4]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)db" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "((int *)ppsVar13)[-5] = 0xa74f7;" (assignment_expression "((int *)ppsVar13)[-5] = 0xa74f7" (subscript_expression "((int *)ppsVar13)[-5]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2]);" (assignment_expression "iVar10 = execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2])" identifier = (call_expression "execSqlF((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2])" identifier (argument_list "((sqlite3 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],\n                        (char *)((int *)ppsVar13)[-2])" ( (cast_expression "(sqlite3 *)((int *)ppsVar13)[-4]" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((int *)ppsVar13)[-4]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) , (cast_expression "(char **)((int *)ppsVar13)[-3]" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "((int *)ppsVar13)[-3]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) , (cast_expression "(char *)((int *)ppsVar13)[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "((int *)ppsVar13)[-2]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) )))) ;) (if_statement "if (iVar10 != 0) goto LAB_000a7644;" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a7644;" goto statement_identifier ;)) (expression_statement "((int *)ppsVar13)[8] = (int)((int *)ppsVar13 + 0x11);" (assignment_expression "((int *)ppsVar13)[8] = (int)((int *)ppsVar13 + 0x11)" (subscript_expression "((int *)ppsVar13)[8]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)((int *)ppsVar13 + 0x11)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int *)ppsVar13 + 0x11)" ( (binary_expression "(int *)ppsVar13 + 0x11" (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (do_statement "do {\n        uVar16 = (uint)*(byte *)(iVar14 + -0x2d058 + (int)ppuVar12);\n        ((int *)ppsVar13)[-1] = 0xa7523;\n        sqlite3BtreeGetMeta((Btree *)((int *)ppsVar13)[4],uVar16,(u32 *)((int *)ppsVar13)[8]);\n        bVar1 = *(byte *)(iVar14 + -0x2d057 + (int)ppuVar12);\n        ((int *)ppsVar13)[-1] = 0xa753a;\n        iVar10 = sqlite3BtreeUpdateMeta\n                           ((Btree *)((int *)ppsVar13)[0xe],uVar16,\n                            (uint)bVar1 + ((int *)ppsVar13)[0x11]);\n        if (iVar10 != 0) goto LAB_000a7644;\n        iVar14 = iVar14 + 2;\n      } while (iVar14 != 10);" do (compound_statement "{\n        uVar16 = (uint)*(byte *)(iVar14 + -0x2d058 + (int)ppuVar12);\n        ((int *)ppsVar13)[-1] = 0xa7523;\n        sqlite3BtreeGetMeta((Btree *)((int *)ppsVar13)[4],uVar16,(u32 *)((int *)ppsVar13)[8]);\n        bVar1 = *(byte *)(iVar14 + -0x2d057 + (int)ppuVar12);\n        ((int *)ppsVar13)[-1] = 0xa753a;\n        iVar10 = sqlite3BtreeUpdateMeta\n                           ((Btree *)((int *)ppsVar13)[0xe],uVar16,\n                            (uint)bVar1 + ((int *)ppsVar13)[0x11]);\n        if (iVar10 != 0) goto LAB_000a7644;\n        iVar14 = iVar14 + 2;\n      }" { (expression_statement "uVar16 = (uint)*(byte *)(iVar14 + -0x2d058 + (int)ppuVar12);" (assignment_expression "uVar16 = (uint)*(byte *)(iVar14 + -0x2d058 + (int)ppuVar12)" identifier = (binary_expression "(uint)*(byte *)(iVar14 + -0x2d058 + (int)ppuVar12)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar14 + -0x2d058 + (int)ppuVar12)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + -0x2d058 + (int)ppuVar12)" ( (binary_expression "iVar14 + -0x2d058 + (int)ppuVar12" (binary_expression "iVar14 + -0x2d058" identifier + number_literal) + (cast_expression "(int)ppuVar12" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (expression_statement "((int *)ppsVar13)[-1] = 0xa7523;" (assignment_expression "((int *)ppsVar13)[-1] = 0xa7523" (subscript_expression "((int *)ppsVar13)[-1]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "sqlite3BtreeGetMeta((Btree *)((int *)ppsVar13)[4],uVar16,(u32 *)((int *)ppsVar13)[8]);" (call_expression "sqlite3BtreeGetMeta((Btree *)((int *)ppsVar13)[4],uVar16,(u32 *)((int *)ppsVar13)[8])" identifier (argument_list "((Btree *)((int *)ppsVar13)[4],uVar16,(u32 *)((int *)ppsVar13)[8])" ( (cast_expression "(Btree *)((int *)ppsVar13)[4]" ( (type_descriptor "Btree *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((int *)ppsVar13)[4]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) , identifier , (cast_expression "(u32 *)((int *)ppsVar13)[8]" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((int *)ppsVar13)[8]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ))) ;) (expression_statement "bVar1 = *(byte *)(iVar14 + -0x2d057 + (int)ppuVar12);" (assignment_expression "bVar1 = *(byte *)(iVar14 + -0x2d057 + (int)ppuVar12)" identifier = (pointer_expression "*(byte *)(iVar14 + -0x2d057 + (int)ppuVar12)" * (cast_expression "(byte *)(iVar14 + -0x2d057 + (int)ppuVar12)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + -0x2d057 + (int)ppuVar12)" ( (binary_expression "iVar14 + -0x2d057 + (int)ppuVar12" (binary_expression "iVar14 + -0x2d057" identifier + number_literal) + (cast_expression "(int)ppuVar12" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (expression_statement "((int *)ppsVar13)[-1] = 0xa753a;" (assignment_expression "((int *)ppsVar13)[-1] = 0xa753a" (subscript_expression "((int *)ppsVar13)[-1]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "iVar10 = sqlite3BtreeUpdateMeta\n                           ((Btree *)((int *)ppsVar13)[0xe],uVar16,\n                            (uint)bVar1 + ((int *)ppsVar13)[0x11]);" (assignment_expression "iVar10 = sqlite3BtreeUpdateMeta\n                           ((Btree *)((int *)ppsVar13)[0xe],uVar16,\n                            (uint)bVar1 + ((int *)ppsVar13)[0x11])" identifier = (call_expression "sqlite3BtreeUpdateMeta\n                           ((Btree *)((int *)ppsVar13)[0xe],uVar16,\n                            (uint)bVar1 + ((int *)ppsVar13)[0x11])" identifier (argument_list "((Btree *)((int *)ppsVar13)[0xe],uVar16,\n                            (uint)bVar1 + ((int *)ppsVar13)[0x11])" ( (cast_expression "(Btree *)((int *)ppsVar13)[0xe]" ( (type_descriptor "Btree *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((int *)ppsVar13)[0xe]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) , identifier , (binary_expression "(uint)bVar1 + ((int *)ppsVar13)[0x11]" (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) + (subscript_expression "((int *)ppsVar13)[0x11]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) )))) ;) (if_statement "if (iVar10 != 0) goto LAB_000a7644;" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a7644;" goto statement_identifier ;)) (expression_statement "iVar14 = iVar14 + 2;" (assignment_expression "iVar14 = iVar14 + 2" identifier = (binary_expression "iVar14 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar14 != 10)" ( (binary_expression "iVar14 != 10" identifier != number_literal) )) ;) (if_statement "if (*ppsVar13 == (sqlite3_value *)0x0) {\n        if (((Btree *)((int *)ppsVar13)[4])->sharable != '\0') {\n          ((int *)ppsVar13)[-1] = 0xa7778;\n          sqlite3BtreeEnter((Btree *)((int *)ppsVar13)[4]);\n        }\n        if (((Btree *)((int *)ppsVar13)[0xe])->sharable != '\0') {\n          ((int *)ppsVar13)[-1] = 0xa7787;\n          sqlite3BtreeEnter((Btree *)((int *)ppsVar13)[0xe]);\n        }\n        iVar10 = **(int **)(**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c);\n        *ppsVar13 = (sqlite3_value *)*(int **)(**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c);\n        if (iVar10 == 0) {\nLAB_000a77ea:\n          piVar15 = (int *)ppsVar13 + 0x12;\n          piVar17 = piVar15;\n          for (iVar10 = 0xc; iVar10 != 0; iVar10 = iVar10 + -1) {\n            *piVar17 = 0;\n            piVar17 = piVar17 + (uint)bVar18 * -2 + 1;\n          }\n          iVar10 = *(int *)((int *)ppsVar13)[0xe];\n          ((int *)ppsVar13)[0x18] = ((int *)ppsVar13)[0xe];\n          ((int *)ppsVar13)[0x16] = 1;\n          ((int *)ppsVar13)[0x17] = iVar10;\n          iVar10 = ((int *)ppsVar13)[4];\n          ((int *)ppsVar13)[0x13] = iVar10;\n          ((int *)ppsVar13)[-1] = iVar10;\n          ((int *)ppsVar13)[-2] = iVar10;\n          ((int *)ppsVar13)[-3] = 0x7fffffff;\n          ((int *)ppsVar13)[-4] = (int)piVar15;\n          ((int *)ppsVar13)[-5] = 0xa7820;\n          sqlite3_backup_step((sqlite3_backup *)((int *)ppsVar13)[-4],((int *)ppsVar13)[-3]);\n          ((int *)ppsVar13)[-4] = (int)piVar15;\n          ((int *)ppsVar13)[-5] = 0xa7828;\n          iVar10 = sqlite3_backup_finish((sqlite3_backup *)((int *)ppsVar13)[-4]);\n          if (iVar10 == 0) {\n            *(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18) & 0xfffd;\n          }\n          else {\n            pPager = (Pager *)**(undefined4 **)(((int *)ppsVar13)[0x13] + 4);\n            if (pPager->tempFile == '\0') {\n              ((int *)ppsVar13)[-1] = 0xa78ee;\n              pager_reset(pPager);\n            }\n          }\n        }\n        else {\n          uVar16 = *(uint *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x24);\n          uVar7 = *(uint *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x30);\n          ((int *)ppsVar13)[8] = uVar16;\n          ((int *)ppsVar13)[9] = (int)uVar16 >> 0x1f;\n          lVar9 = (ulonglong)uVar7 * (ulonglong)uVar16;\n          iVar14 = (int)((ulonglong)lVar9 >> 0x20) + ((int *)ppsVar13)[9] * uVar7;\n          ((int *)ppsVar13)[0x12] = (int)lVar9;\n          ((int *)ppsVar13)[0x13] = iVar14;\n          ((int *)ppsVar13)[-1] = iVar14;\n          ((int *)ppsVar13)[-2] = (int)((int *)ppsVar13 + 0x12);\n          ((int *)ppsVar13)[-3] = 0xb;\n          ((int *)ppsVar13)[-4] = (int)*ppsVar13;\n          pcVar8 = *(code **)(iVar10 + 0x28);\n          ((int *)ppsVar13)[-5] = 0xa77dc;\n          iVar10 = (*pcVar8)();\n          if ((iVar10 == 0xc) || (iVar10 == 0)) goto LAB_000a77ea;\n        }\n        pBVar11 = (Btree *)((int *)ppsVar13)[0xe];\n        if (pBVar11->sharable != '\0') {\n          iVar14 = pBVar11->wantToLock;\n          *ppsVar13 = (sqlite3_value *)iVar14;\n          iVar14 = iVar14 + -1;\n          pBVar11->wantToLock = iVar14;\n          if (iVar14 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa7862;\n            sqlite3BtreeLeave(pBVar11);\n          }\n        }\n        pBVar11 = (Btree *)((int *)ppsVar13)[4];\n        if (pBVar11->sharable != '\0') {\n          iVar14 = pBVar11->wantToLock;\n          *ppsVar13 = (sqlite3_value *)iVar14;\n          iVar14 = iVar14 + -1;\n          pBVar11->wantToLock = iVar14;\n          if (iVar14 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa7883;\n            sqlite3BtreeLeave(pBVar11);\n          }\n        }\n        if (iVar10 == 0) {\n          pBVar11 = (Btree *)((int *)ppsVar13)[0xe];\n          ((int *)ppsVar13)[-1] = 0xa7896;\n          iVar10 = sqlite3BtreeCommit(pBVar11);\n          if (iVar10 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa78a9;\n            iVar10 = sqlite3BtreeGetAutoVacuum(p_00);\n            p = (Btree *)((int *)ppsVar13)[3];\n            ((int *)ppsVar13)[-2] = 0xa78b6;\n            sqlite3BtreeSetAutoVacuum(p,iVar10);\n            uVar6 = pBVar11->pBt->pageSize;\n            ((int *)ppsVar13)[-5] = 1;\n            ((int *)ppsVar13)[-6] = 0xa78cc;\n            iVar10 = sqlite3BtreeSetPageSize(p,uVar6,((int *)ppsVar13)[0xe],((int *)ppsVar13)[-5]);\n            ppsVar13 = (sqlite3_value **)((int *)ppsVar13 + -1);\n          }\n        }\n        goto LAB_000a7644;\n      }" if (parenthesized_expression "(*ppsVar13 == (sqlite3_value *)0x0)" ( (binary_expression "*ppsVar13 == (sqlite3_value *)0x0" (pointer_expression "*ppsVar13" * identifier) == (cast_expression "(sqlite3_value *)0x0" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (((Btree *)((int *)ppsVar13)[4])->sharable != '\0') {\n          ((int *)ppsVar13)[-1] = 0xa7778;\n          sqlite3BtreeEnter((Btree *)((int *)ppsVar13)[4]);\n        }\n        if (((Btree *)((int *)ppsVar13)[0xe])->sharable != '\0') {\n          ((int *)ppsVar13)[-1] = 0xa7787;\n          sqlite3BtreeEnter((Btree *)((int *)ppsVar13)[0xe]);\n        }\n        iVar10 = **(int **)(**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c);\n        *ppsVar13 = (sqlite3_value *)*(int **)(**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c);\n        if (iVar10 == 0) {\nLAB_000a77ea:\n          piVar15 = (int *)ppsVar13 + 0x12;\n          piVar17 = piVar15;\n          for (iVar10 = 0xc; iVar10 != 0; iVar10 = iVar10 + -1) {\n            *piVar17 = 0;\n            piVar17 = piVar17 + (uint)bVar18 * -2 + 1;\n          }\n          iVar10 = *(int *)((int *)ppsVar13)[0xe];\n          ((int *)ppsVar13)[0x18] = ((int *)ppsVar13)[0xe];\n          ((int *)ppsVar13)[0x16] = 1;\n          ((int *)ppsVar13)[0x17] = iVar10;\n          iVar10 = ((int *)ppsVar13)[4];\n          ((int *)ppsVar13)[0x13] = iVar10;\n          ((int *)ppsVar13)[-1] = iVar10;\n          ((int *)ppsVar13)[-2] = iVar10;\n          ((int *)ppsVar13)[-3] = 0x7fffffff;\n          ((int *)ppsVar13)[-4] = (int)piVar15;\n          ((int *)ppsVar13)[-5] = 0xa7820;\n          sqlite3_backup_step((sqlite3_backup *)((int *)ppsVar13)[-4],((int *)ppsVar13)[-3]);\n          ((int *)ppsVar13)[-4] = (int)piVar15;\n          ((int *)ppsVar13)[-5] = 0xa7828;\n          iVar10 = sqlite3_backup_finish((sqlite3_backup *)((int *)ppsVar13)[-4]);\n          if (iVar10 == 0) {\n            *(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18) & 0xfffd;\n          }\n          else {\n            pPager = (Pager *)**(undefined4 **)(((int *)ppsVar13)[0x13] + 4);\n            if (pPager->tempFile == '\0') {\n              ((int *)ppsVar13)[-1] = 0xa78ee;\n              pager_reset(pPager);\n            }\n          }\n        }\n        else {\n          uVar16 = *(uint *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x24);\n          uVar7 = *(uint *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x30);\n          ((int *)ppsVar13)[8] = uVar16;\n          ((int *)ppsVar13)[9] = (int)uVar16 >> 0x1f;\n          lVar9 = (ulonglong)uVar7 * (ulonglong)uVar16;\n          iVar14 = (int)((ulonglong)lVar9 >> 0x20) + ((int *)ppsVar13)[9] * uVar7;\n          ((int *)ppsVar13)[0x12] = (int)lVar9;\n          ((int *)ppsVar13)[0x13] = iVar14;\n          ((int *)ppsVar13)[-1] = iVar14;\n          ((int *)ppsVar13)[-2] = (int)((int *)ppsVar13 + 0x12);\n          ((int *)ppsVar13)[-3] = 0xb;\n          ((int *)ppsVar13)[-4] = (int)*ppsVar13;\n          pcVar8 = *(code **)(iVar10 + 0x28);\n          ((int *)ppsVar13)[-5] = 0xa77dc;\n          iVar10 = (*pcVar8)();\n          if ((iVar10 == 0xc) || (iVar10 == 0)) goto LAB_000a77ea;\n        }\n        pBVar11 = (Btree *)((int *)ppsVar13)[0xe];\n        if (pBVar11->sharable != '\0') {\n          iVar14 = pBVar11->wantToLock;\n          *ppsVar13 = (sqlite3_value *)iVar14;\n          iVar14 = iVar14 + -1;\n          pBVar11->wantToLock = iVar14;\n          if (iVar14 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa7862;\n            sqlite3BtreeLeave(pBVar11);\n          }\n        }\n        pBVar11 = (Btree *)((int *)ppsVar13)[4];\n        if (pBVar11->sharable != '\0') {\n          iVar14 = pBVar11->wantToLock;\n          *ppsVar13 = (sqlite3_value *)iVar14;\n          iVar14 = iVar14 + -1;\n          pBVar11->wantToLock = iVar14;\n          if (iVar14 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa7883;\n            sqlite3BtreeLeave(pBVar11);\n          }\n        }\n        if (iVar10 == 0) {\n          pBVar11 = (Btree *)((int *)ppsVar13)[0xe];\n          ((int *)ppsVar13)[-1] = 0xa7896;\n          iVar10 = sqlite3BtreeCommit(pBVar11);\n          if (iVar10 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa78a9;\n            iVar10 = sqlite3BtreeGetAutoVacuum(p_00);\n            p = (Btree *)((int *)ppsVar13)[3];\n            ((int *)ppsVar13)[-2] = 0xa78b6;\n            sqlite3BtreeSetAutoVacuum(p,iVar10);\n            uVar6 = pBVar11->pBt->pageSize;\n            ((int *)ppsVar13)[-5] = 1;\n            ((int *)ppsVar13)[-6] = 0xa78cc;\n            iVar10 = sqlite3BtreeSetPageSize(p,uVar6,((int *)ppsVar13)[0xe],((int *)ppsVar13)[-5]);\n            ppsVar13 = (sqlite3_value **)((int *)ppsVar13 + -1);\n          }\n        }\n        goto LAB_000a7644;\n      }" { (if_statement "if (((Btree *)((int *)ppsVar13)[4])->sharable != '\0') {\n          ((int *)ppsVar13)[-1] = 0xa7778;\n          sqlite3BtreeEnter((Btree *)((int *)ppsVar13)[4]);\n        }" if (parenthesized_expression "(((Btree *)((int *)ppsVar13)[4])->sharable != '\0')" ( (binary_expression "((Btree *)((int *)ppsVar13)[4])->sharable != '\0'" (field_expression "((Btree *)((int *)ppsVar13)[4])->sharable" (parenthesized_expression "((Btree *)((int *)ppsVar13)[4])" ( (cast_expression "(Btree *)((int *)ppsVar13)[4]" ( (type_descriptor "Btree *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((int *)ppsVar13)[4]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) )) -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          ((int *)ppsVar13)[-1] = 0xa7778;\n          sqlite3BtreeEnter((Btree *)((int *)ppsVar13)[4]);\n        }" { (expression_statement "((int *)ppsVar13)[-1] = 0xa7778;" (assignment_expression "((int *)ppsVar13)[-1] = 0xa7778" (subscript_expression "((int *)ppsVar13)[-1]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "sqlite3BtreeEnter((Btree *)((int *)ppsVar13)[4]);" (call_expression "sqlite3BtreeEnter((Btree *)((int *)ppsVar13)[4])" identifier (argument_list "((Btree *)((int *)ppsVar13)[4])" ( (cast_expression "(Btree *)((int *)ppsVar13)[4]" ( (type_descriptor "Btree *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((int *)ppsVar13)[4]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ))) ;) })) (if_statement "if (((Btree *)((int *)ppsVar13)[0xe])->sharable != '\0') {\n          ((int *)ppsVar13)[-1] = 0xa7787;\n          sqlite3BtreeEnter((Btree *)((int *)ppsVar13)[0xe]);\n        }" if (parenthesized_expression "(((Btree *)((int *)ppsVar13)[0xe])->sharable != '\0')" ( (binary_expression "((Btree *)((int *)ppsVar13)[0xe])->sharable != '\0'" (field_expression "((Btree *)((int *)ppsVar13)[0xe])->sharable" (parenthesized_expression "((Btree *)((int *)ppsVar13)[0xe])" ( (cast_expression "(Btree *)((int *)ppsVar13)[0xe]" ( (type_descriptor "Btree *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((int *)ppsVar13)[0xe]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) )) -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          ((int *)ppsVar13)[-1] = 0xa7787;\n          sqlite3BtreeEnter((Btree *)((int *)ppsVar13)[0xe]);\n        }" { (expression_statement "((int *)ppsVar13)[-1] = 0xa7787;" (assignment_expression "((int *)ppsVar13)[-1] = 0xa7787" (subscript_expression "((int *)ppsVar13)[-1]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "sqlite3BtreeEnter((Btree *)((int *)ppsVar13)[0xe]);" (call_expression "sqlite3BtreeEnter((Btree *)((int *)ppsVar13)[0xe])" identifier (argument_list "((Btree *)((int *)ppsVar13)[0xe])" ( (cast_expression "(Btree *)((int *)ppsVar13)[0xe]" ( (type_descriptor "Btree *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((int *)ppsVar13)[0xe]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ))) ;) })) (expression_statement "iVar10 = **(int **)(**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c);" (assignment_expression "iVar10 = **(int **)(**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c)" identifier = (pointer_expression "**(int **)(**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c)" * (pointer_expression "*(int **)(**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c)" * (cast_expression "(int **)(**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c)" ( (binary_expression "**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c" (pointer_expression "**(int **)(((int *)ppsVar13)[4] + 4)" * (pointer_expression "*(int **)(((int *)ppsVar13)[4] + 4)" * (cast_expression "(int **)(((int *)ppsVar13)[4] + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(((int *)ppsVar13)[4] + 4)" ( (binary_expression "((int *)ppsVar13)[4] + 4" (subscript_expression "((int *)ppsVar13)[4]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) + number_literal) ))))) + number_literal) )))))) ;) (expression_statement "*ppsVar13 = (sqlite3_value *)*(int **)(**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c);" (assignment_expression "*ppsVar13 = (sqlite3_value *)*(int **)(**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c)" (pointer_expression "*ppsVar13" * identifier) = (cast_expression "(sqlite3_value *)*(int **)(**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c)" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*(int **)(**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c)" * (cast_expression "(int **)(**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c)" ( (binary_expression "**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c" (pointer_expression "**(int **)(((int *)ppsVar13)[4] + 4)" * (pointer_expression "*(int **)(((int *)ppsVar13)[4] + 4)" * (cast_expression "(int **)(((int *)ppsVar13)[4] + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(((int *)ppsVar13)[4] + 4)" ( (binary_expression "((int *)ppsVar13)[4] + 4" (subscript_expression "((int *)ppsVar13)[4]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) + number_literal) ))))) + number_literal) )))))) ;) (if_statement "if (iVar10 == 0) {\nLAB_000a77ea:\n          piVar15 = (int *)ppsVar13 + 0x12;\n          piVar17 = piVar15;\n          for (iVar10 = 0xc; iVar10 != 0; iVar10 = iVar10 + -1) {\n            *piVar17 = 0;\n            piVar17 = piVar17 + (uint)bVar18 * -2 + 1;\n          }\n          iVar10 = *(int *)((int *)ppsVar13)[0xe];\n          ((int *)ppsVar13)[0x18] = ((int *)ppsVar13)[0xe];\n          ((int *)ppsVar13)[0x16] = 1;\n          ((int *)ppsVar13)[0x17] = iVar10;\n          iVar10 = ((int *)ppsVar13)[4];\n          ((int *)ppsVar13)[0x13] = iVar10;\n          ((int *)ppsVar13)[-1] = iVar10;\n          ((int *)ppsVar13)[-2] = iVar10;\n          ((int *)ppsVar13)[-3] = 0x7fffffff;\n          ((int *)ppsVar13)[-4] = (int)piVar15;\n          ((int *)ppsVar13)[-5] = 0xa7820;\n          sqlite3_backup_step((sqlite3_backup *)((int *)ppsVar13)[-4],((int *)ppsVar13)[-3]);\n          ((int *)ppsVar13)[-4] = (int)piVar15;\n          ((int *)ppsVar13)[-5] = 0xa7828;\n          iVar10 = sqlite3_backup_finish((sqlite3_backup *)((int *)ppsVar13)[-4]);\n          if (iVar10 == 0) {\n            *(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18) & 0xfffd;\n          }\n          else {\n            pPager = (Pager *)**(undefined4 **)(((int *)ppsVar13)[0x13] + 4);\n            if (pPager->tempFile == '\0') {\n              ((int *)ppsVar13)[-1] = 0xa78ee;\n              pager_reset(pPager);\n            }\n          }\n        }\n        else {\n          uVar16 = *(uint *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x24);\n          uVar7 = *(uint *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x30);\n          ((int *)ppsVar13)[8] = uVar16;\n          ((int *)ppsVar13)[9] = (int)uVar16 >> 0x1f;\n          lVar9 = (ulonglong)uVar7 * (ulonglong)uVar16;\n          iVar14 = (int)((ulonglong)lVar9 >> 0x20) + ((int *)ppsVar13)[9] * uVar7;\n          ((int *)ppsVar13)[0x12] = (int)lVar9;\n          ((int *)ppsVar13)[0x13] = iVar14;\n          ((int *)ppsVar13)[-1] = iVar14;\n          ((int *)ppsVar13)[-2] = (int)((int *)ppsVar13 + 0x12);\n          ((int *)ppsVar13)[-3] = 0xb;\n          ((int *)ppsVar13)[-4] = (int)*ppsVar13;\n          pcVar8 = *(code **)(iVar10 + 0x28);\n          ((int *)ppsVar13)[-5] = 0xa77dc;\n          iVar10 = (*pcVar8)();\n          if ((iVar10 == 0xc) || (iVar10 == 0)) goto LAB_000a77ea;\n        }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000a77ea:\n          piVar15 = (int *)ppsVar13 + 0x12;\n          piVar17 = piVar15;\n          for (iVar10 = 0xc; iVar10 != 0; iVar10 = iVar10 + -1) {\n            *piVar17 = 0;\n            piVar17 = piVar17 + (uint)bVar18 * -2 + 1;\n          }\n          iVar10 = *(int *)((int *)ppsVar13)[0xe];\n          ((int *)ppsVar13)[0x18] = ((int *)ppsVar13)[0xe];\n          ((int *)ppsVar13)[0x16] = 1;\n          ((int *)ppsVar13)[0x17] = iVar10;\n          iVar10 = ((int *)ppsVar13)[4];\n          ((int *)ppsVar13)[0x13] = iVar10;\n          ((int *)ppsVar13)[-1] = iVar10;\n          ((int *)ppsVar13)[-2] = iVar10;\n          ((int *)ppsVar13)[-3] = 0x7fffffff;\n          ((int *)ppsVar13)[-4] = (int)piVar15;\n          ((int *)ppsVar13)[-5] = 0xa7820;\n          sqlite3_backup_step((sqlite3_backup *)((int *)ppsVar13)[-4],((int *)ppsVar13)[-3]);\n          ((int *)ppsVar13)[-4] = (int)piVar15;\n          ((int *)ppsVar13)[-5] = 0xa7828;\n          iVar10 = sqlite3_backup_finish((sqlite3_backup *)((int *)ppsVar13)[-4]);\n          if (iVar10 == 0) {\n            *(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18) & 0xfffd;\n          }\n          else {\n            pPager = (Pager *)**(undefined4 **)(((int *)ppsVar13)[0x13] + 4);\n            if (pPager->tempFile == '\0') {\n              ((int *)ppsVar13)[-1] = 0xa78ee;\n              pager_reset(pPager);\n            }\n          }\n        }" { (labeled_statement "LAB_000a77ea:\n          piVar15 = (int *)ppsVar13 + 0x12;" statement_identifier : (expression_statement "piVar15 = (int *)ppsVar13 + 0x12;" (assignment_expression "piVar15 = (int *)ppsVar13 + 0x12" identifier = (binary_expression "(int *)ppsVar13 + 0x12" (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal)) ;)) (expression_statement "piVar17 = piVar15;" (assignment_expression "piVar17 = piVar15" identifier = identifier) ;) (for_statement "for (iVar10 = 0xc; iVar10 != 0; iVar10 = iVar10 + -1) {\n            *piVar17 = 0;\n            piVar17 = piVar17 + (uint)bVar18 * -2 + 1;\n          }" for ( (assignment_expression "iVar10 = 0xc" identifier = number_literal) ; (binary_expression "iVar10 != 0" identifier != number_literal) ; (assignment_expression "iVar10 = iVar10 + -1" identifier = (binary_expression "iVar10 + -1" identifier + number_literal)) ) (compound_statement "{\n            *piVar17 = 0;\n            piVar17 = piVar17 + (uint)bVar18 * -2 + 1;\n          }" { (expression_statement "*piVar17 = 0;" (assignment_expression "*piVar17 = 0" (pointer_expression "*piVar17" * identifier) = number_literal) ;) (expression_statement "piVar17 = piVar17 + (uint)bVar18 * -2 + 1;" (assignment_expression "piVar17 = piVar17 + (uint)bVar18 * -2 + 1" identifier = (binary_expression "piVar17 + (uint)bVar18 * -2 + 1" (binary_expression "piVar17 + (uint)bVar18 * -2" identifier + (binary_expression "(uint)bVar18 * -2" (cast_expression "(uint)bVar18" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "iVar10 = *(int *)((int *)ppsVar13)[0xe];" (assignment_expression "iVar10 = *(int *)((int *)ppsVar13)[0xe]" identifier = (pointer_expression "*(int *)((int *)ppsVar13)[0xe]" * (cast_expression "(int *)((int *)ppsVar13)[0xe]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "((int *)ppsVar13)[0xe]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])))) ;) (expression_statement "((int *)ppsVar13)[0x18] = ((int *)ppsVar13)[0xe];" (assignment_expression "((int *)ppsVar13)[0x18] = ((int *)ppsVar13)[0xe]" (subscript_expression "((int *)ppsVar13)[0x18]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (subscript_expression "((int *)ppsVar13)[0xe]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;) (expression_statement "((int *)ppsVar13)[0x16] = 1;" (assignment_expression "((int *)ppsVar13)[0x16] = 1" (subscript_expression "((int *)ppsVar13)[0x16]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "((int *)ppsVar13)[0x17] = iVar10;" (assignment_expression "((int *)ppsVar13)[0x17] = iVar10" (subscript_expression "((int *)ppsVar13)[0x17]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = identifier) ;) (expression_statement "iVar10 = ((int *)ppsVar13)[4];" (assignment_expression "iVar10 = ((int *)ppsVar13)[4]" identifier = (subscript_expression "((int *)ppsVar13)[4]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;) (expression_statement "((int *)ppsVar13)[0x13] = iVar10;" (assignment_expression "((int *)ppsVar13)[0x13] = iVar10" (subscript_expression "((int *)ppsVar13)[0x13]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = identifier) ;) (expression_statement "((int *)ppsVar13)[-1] = iVar10;" (assignment_expression "((int *)ppsVar13)[-1] = iVar10" (subscript_expression "((int *)ppsVar13)[-1]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = identifier) ;) (expression_statement "((int *)ppsVar13)[-2] = iVar10;" (assignment_expression "((int *)ppsVar13)[-2] = iVar10" (subscript_expression "((int *)ppsVar13)[-2]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = identifier) ;) (expression_statement "((int *)ppsVar13)[-3] = 0x7fffffff;" (assignment_expression "((int *)ppsVar13)[-3] = 0x7fffffff" (subscript_expression "((int *)ppsVar13)[-3]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "((int *)ppsVar13)[-4] = (int)piVar15;" (assignment_expression "((int *)ppsVar13)[-4] = (int)piVar15" (subscript_expression "((int *)ppsVar13)[-4]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "((int *)ppsVar13)[-5] = 0xa7820;" (assignment_expression "((int *)ppsVar13)[-5] = 0xa7820" (subscript_expression "((int *)ppsVar13)[-5]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "sqlite3_backup_step((sqlite3_backup *)((int *)ppsVar13)[-4],((int *)ppsVar13)[-3]);" (call_expression "sqlite3_backup_step((sqlite3_backup *)((int *)ppsVar13)[-4],((int *)ppsVar13)[-3])" identifier (argument_list "((sqlite3_backup *)((int *)ppsVar13)[-4],((int *)ppsVar13)[-3])" ( (cast_expression "(sqlite3_backup *)((int *)ppsVar13)[-4]" ( (type_descriptor "sqlite3_backup *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((int *)ppsVar13)[-4]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) , (subscript_expression "((int *)ppsVar13)[-3]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) ))) ;) (expression_statement "((int *)ppsVar13)[-4] = (int)piVar15;" (assignment_expression "((int *)ppsVar13)[-4] = (int)piVar15" (subscript_expression "((int *)ppsVar13)[-4]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "((int *)ppsVar13)[-5] = 0xa7828;" (assignment_expression "((int *)ppsVar13)[-5] = 0xa7828" (subscript_expression "((int *)ppsVar13)[-5]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "iVar10 = sqlite3_backup_finish((sqlite3_backup *)((int *)ppsVar13)[-4]);" (assignment_expression "iVar10 = sqlite3_backup_finish((sqlite3_backup *)((int *)ppsVar13)[-4])" identifier = (call_expression "sqlite3_backup_finish((sqlite3_backup *)((int *)ppsVar13)[-4])" identifier (argument_list "((sqlite3_backup *)((int *)ppsVar13)[-4])" ( (cast_expression "(sqlite3_backup *)((int *)ppsVar13)[-4]" ( (type_descriptor "sqlite3_backup *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((int *)ppsVar13)[-4]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) )))) ;) (if_statement "if (iVar10 == 0) {\n            *(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18) & 0xfffd;\n          }\n          else {\n            pPager = (Pager *)**(undefined4 **)(((int *)ppsVar13)[0x13] + 4);\n            if (pPager->tempFile == '\0') {\n              ((int *)ppsVar13)[-1] = 0xa78ee;\n              pager_reset(pPager);\n            }\n          }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n            *(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18) & 0xfffd;\n          }" { (expression_statement "*(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18) & 0xfffd;" (assignment_expression "*(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18) & 0xfffd" (pointer_expression "*(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18)" * (cast_expression "(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18)" ( (binary_expression "*(int *)(((int *)ppsVar13)[4] + 4) + 0x18" (pointer_expression "*(int *)(((int *)ppsVar13)[4] + 4)" * (cast_expression "(int *)(((int *)ppsVar13)[4] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int *)ppsVar13)[4] + 4)" ( (binary_expression "((int *)ppsVar13)[4] + 4" (subscript_expression "((int *)ppsVar13)[4]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) + number_literal) )))) + number_literal) )))) = (binary_expression "*(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18) & 0xfffd" (pointer_expression "*(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18)" * (cast_expression "(ushort *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18)" ( (binary_expression "*(int *)(((int *)ppsVar13)[4] + 4) + 0x18" (pointer_expression "*(int *)(((int *)ppsVar13)[4] + 4)" * (cast_expression "(int *)(((int *)ppsVar13)[4] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int *)ppsVar13)[4] + 4)" ( (binary_expression "((int *)ppsVar13)[4] + 4" (subscript_expression "((int *)ppsVar13)[4]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) + number_literal) )))) + number_literal) )))) & number_literal)) ;) }) (else_clause "else {\n            pPager = (Pager *)**(undefined4 **)(((int *)ppsVar13)[0x13] + 4);\n            if (pPager->tempFile == '\0') {\n              ((int *)ppsVar13)[-1] = 0xa78ee;\n              pager_reset(pPager);\n            }\n          }" else (compound_statement "{\n            pPager = (Pager *)**(undefined4 **)(((int *)ppsVar13)[0x13] + 4);\n            if (pPager->tempFile == '\0') {\n              ((int *)ppsVar13)[-1] = 0xa78ee;\n              pager_reset(pPager);\n            }\n          }" { (expression_statement "pPager = (Pager *)**(undefined4 **)(((int *)ppsVar13)[0x13] + 4);" (assignment_expression "pPager = (Pager *)**(undefined4 **)(((int *)ppsVar13)[0x13] + 4)" identifier = (cast_expression "(Pager *)**(undefined4 **)(((int *)ppsVar13)[0x13] + 4)" ( (type_descriptor "Pager *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(((int *)ppsVar13)[0x13] + 4)" * (pointer_expression "*(undefined4 **)(((int *)ppsVar13)[0x13] + 4)" * (cast_expression "(undefined4 **)(((int *)ppsVar13)[0x13] + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(((int *)ppsVar13)[0x13] + 4)" ( (binary_expression "((int *)ppsVar13)[0x13] + 4" (subscript_expression "((int *)ppsVar13)[0x13]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) + number_literal) ))))))) ;) (if_statement "if (pPager->tempFile == '\0') {\n              ((int *)ppsVar13)[-1] = 0xa78ee;\n              pager_reset(pPager);\n            }" if (parenthesized_expression "(pPager->tempFile == '\0')" ( (binary_expression "pPager->tempFile == '\0'" (field_expression "pPager->tempFile" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              ((int *)ppsVar13)[-1] = 0xa78ee;\n              pager_reset(pPager);\n            }" { (expression_statement "((int *)ppsVar13)[-1] = 0xa78ee;" (assignment_expression "((int *)ppsVar13)[-1] = 0xa78ee" (subscript_expression "((int *)ppsVar13)[-1]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "pager_reset(pPager);" (call_expression "pager_reset(pPager)" identifier (argument_list "(pPager)" ( identifier ))) ;) })) }))) }) (else_clause "else {\n          uVar16 = *(uint *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x24);\n          uVar7 = *(uint *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x30);\n          ((int *)ppsVar13)[8] = uVar16;\n          ((int *)ppsVar13)[9] = (int)uVar16 >> 0x1f;\n          lVar9 = (ulonglong)uVar7 * (ulonglong)uVar16;\n          iVar14 = (int)((ulonglong)lVar9 >> 0x20) + ((int *)ppsVar13)[9] * uVar7;\n          ((int *)ppsVar13)[0x12] = (int)lVar9;\n          ((int *)ppsVar13)[0x13] = iVar14;\n          ((int *)ppsVar13)[-1] = iVar14;\n          ((int *)ppsVar13)[-2] = (int)((int *)ppsVar13 + 0x12);\n          ((int *)ppsVar13)[-3] = 0xb;\n          ((int *)ppsVar13)[-4] = (int)*ppsVar13;\n          pcVar8 = *(code **)(iVar10 + 0x28);\n          ((int *)ppsVar13)[-5] = 0xa77dc;\n          iVar10 = (*pcVar8)();\n          if ((iVar10 == 0xc) || (iVar10 == 0)) goto LAB_000a77ea;\n        }" else (compound_statement "{\n          uVar16 = *(uint *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x24);\n          uVar7 = *(uint *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x30);\n          ((int *)ppsVar13)[8] = uVar16;\n          ((int *)ppsVar13)[9] = (int)uVar16 >> 0x1f;\n          lVar9 = (ulonglong)uVar7 * (ulonglong)uVar16;\n          iVar14 = (int)((ulonglong)lVar9 >> 0x20) + ((int *)ppsVar13)[9] * uVar7;\n          ((int *)ppsVar13)[0x12] = (int)lVar9;\n          ((int *)ppsVar13)[0x13] = iVar14;\n          ((int *)ppsVar13)[-1] = iVar14;\n          ((int *)ppsVar13)[-2] = (int)((int *)ppsVar13 + 0x12);\n          ((int *)ppsVar13)[-3] = 0xb;\n          ((int *)ppsVar13)[-4] = (int)*ppsVar13;\n          pcVar8 = *(code **)(iVar10 + 0x28);\n          ((int *)ppsVar13)[-5] = 0xa77dc;\n          iVar10 = (*pcVar8)();\n          if ((iVar10 == 0xc) || (iVar10 == 0)) goto LAB_000a77ea;\n        }" { (expression_statement "uVar16 = *(uint *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x24);" (assignment_expression "uVar16 = *(uint *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x24)" identifier = (pointer_expression "*(uint *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x24)" * (cast_expression "(uint *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x24)" ( (binary_expression "*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x24" (pointer_expression "*(int *)(((int *)ppsVar13)[0xe] + 4)" * (cast_expression "(int *)(((int *)ppsVar13)[0xe] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int *)ppsVar13)[0xe] + 4)" ( (binary_expression "((int *)ppsVar13)[0xe] + 4" (subscript_expression "((int *)ppsVar13)[0xe]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar7 = *(uint *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x30);" (assignment_expression "uVar7 = *(uint *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x30)" identifier = (pointer_expression "*(uint *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x30)" * (cast_expression "(uint *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x30)" ( (binary_expression "*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x30" (pointer_expression "*(int *)(((int *)ppsVar13)[0xe] + 4)" * (cast_expression "(int *)(((int *)ppsVar13)[0xe] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int *)ppsVar13)[0xe] + 4)" ( (binary_expression "((int *)ppsVar13)[0xe] + 4" (subscript_expression "((int *)ppsVar13)[0xe]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "((int *)ppsVar13)[8] = uVar16;" (assignment_expression "((int *)ppsVar13)[8] = uVar16" (subscript_expression "((int *)ppsVar13)[8]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = identifier) ;) (expression_statement "((int *)ppsVar13)[9] = (int)uVar16 >> 0x1f;" (assignment_expression "((int *)ppsVar13)[9] = (int)uVar16 >> 0x1f" (subscript_expression "((int *)ppsVar13)[9]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (binary_expression "(int)uVar16 >> 0x1f" (cast_expression "(int)uVar16" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "lVar9 = (ulonglong)uVar7 * (ulonglong)uVar16;" (assignment_expression "lVar9 = (ulonglong)uVar7 * (ulonglong)uVar16" identifier = (binary_expression "(ulonglong)uVar7 * (ulonglong)uVar16" (cast_expression "(ulonglong)uVar7" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * (cast_expression "(ulonglong)uVar16" ( (type_descriptor "ulonglong" type_identifier) ) identifier))) ;) (expression_statement "iVar14 = (int)((ulonglong)lVar9 >> 0x20) + ((int *)ppsVar13)[9] * uVar7;" (assignment_expression "iVar14 = (int)((ulonglong)lVar9 >> 0x20) + ((int *)ppsVar13)[9] * uVar7" identifier = (binary_expression "(int)((ulonglong)lVar9 >> 0x20) + ((int *)ppsVar13)[9] * uVar7" (cast_expression "(int)((ulonglong)lVar9 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar9 >> 0x20)" ( (binary_expression "(ulonglong)lVar9 >> 0x20" (cast_expression "(ulonglong)lVar9" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) + (binary_expression "((int *)ppsVar13)[9] * uVar7" (subscript_expression "((int *)ppsVar13)[9]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) * identifier))) ;) (expression_statement "((int *)ppsVar13)[0x12] = (int)lVar9;" (assignment_expression "((int *)ppsVar13)[0x12] = (int)lVar9" (subscript_expression "((int *)ppsVar13)[0x12]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)lVar9" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "((int *)ppsVar13)[0x13] = iVar14;" (assignment_expression "((int *)ppsVar13)[0x13] = iVar14" (subscript_expression "((int *)ppsVar13)[0x13]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = identifier) ;) (expression_statement "((int *)ppsVar13)[-1] = iVar14;" (assignment_expression "((int *)ppsVar13)[-1] = iVar14" (subscript_expression "((int *)ppsVar13)[-1]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = identifier) ;) (expression_statement "((int *)ppsVar13)[-2] = (int)((int *)ppsVar13 + 0x12);" (assignment_expression "((int *)ppsVar13)[-2] = (int)((int *)ppsVar13 + 0x12)" (subscript_expression "((int *)ppsVar13)[-2]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)((int *)ppsVar13 + 0x12)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int *)ppsVar13 + 0x12)" ( (binary_expression "(int *)ppsVar13 + 0x12" (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "((int *)ppsVar13)[-3] = 0xb;" (assignment_expression "((int *)ppsVar13)[-3] = 0xb" (subscript_expression "((int *)ppsVar13)[-3]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "((int *)ppsVar13)[-4] = (int)*ppsVar13;" (assignment_expression "((int *)ppsVar13)[-4] = (int)*ppsVar13" (subscript_expression "((int *)ppsVar13)[-4]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)*ppsVar13" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*ppsVar13" * identifier))) ;) (expression_statement "pcVar8 = *(code **)(iVar10 + 0x28);" (assignment_expression "pcVar8 = *(code **)(iVar10 + 0x28)" identifier = (pointer_expression "*(code **)(iVar10 + 0x28)" * (cast_expression "(code **)(iVar10 + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + 0x28)" ( (binary_expression "iVar10 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "((int *)ppsVar13)[-5] = 0xa77dc;" (assignment_expression "((int *)ppsVar13)[-5] = 0xa77dc" (subscript_expression "((int *)ppsVar13)[-5]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "iVar10 = (*pcVar8)();" (assignment_expression "iVar10 = (*pcVar8)()" identifier = (call_expression "(*pcVar8)()" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "()" ( )))) ;) (if_statement "if ((iVar10 == 0xc) || (iVar10 == 0)) goto LAB_000a77ea;" if (parenthesized_expression "((iVar10 == 0xc) || (iVar10 == 0))" ( (binary_expression "(iVar10 == 0xc) || (iVar10 == 0)" (parenthesized_expression "(iVar10 == 0xc)" ( (binary_expression "iVar10 == 0xc" identifier == number_literal) )) || (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) ))) )) (goto_statement "goto LAB_000a77ea;" goto statement_identifier ;)) }))) (expression_statement "pBVar11 = (Btree *)((int *)ppsVar13)[0xe];" (assignment_expression "pBVar11 = (Btree *)((int *)ppsVar13)[0xe]" identifier = (cast_expression "(Btree *)((int *)ppsVar13)[0xe]" ( (type_descriptor "Btree *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((int *)ppsVar13)[0xe]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]))) ;) (if_statement "if (pBVar11->sharable != '\0') {\n          iVar14 = pBVar11->wantToLock;\n          *ppsVar13 = (sqlite3_value *)iVar14;\n          iVar14 = iVar14 + -1;\n          pBVar11->wantToLock = iVar14;\n          if (iVar14 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa7862;\n            sqlite3BtreeLeave(pBVar11);\n          }\n        }" if (parenthesized_expression "(pBVar11->sharable != '\0')" ( (binary_expression "pBVar11->sharable != '\0'" (field_expression "pBVar11->sharable" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          iVar14 = pBVar11->wantToLock;\n          *ppsVar13 = (sqlite3_value *)iVar14;\n          iVar14 = iVar14 + -1;\n          pBVar11->wantToLock = iVar14;\n          if (iVar14 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa7862;\n            sqlite3BtreeLeave(pBVar11);\n          }\n        }" { (expression_statement "iVar14 = pBVar11->wantToLock;" (assignment_expression "iVar14 = pBVar11->wantToLock" identifier = (field_expression "pBVar11->wantToLock" identifier -> field_identifier)) ;) (expression_statement "*ppsVar13 = (sqlite3_value *)iVar14;" (assignment_expression "*ppsVar13 = (sqlite3_value *)iVar14" (pointer_expression "*ppsVar13" * identifier) = (cast_expression "(sqlite3_value *)iVar14" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ;) (expression_statement "pBVar11->wantToLock = iVar14;" (assignment_expression "pBVar11->wantToLock = iVar14" (field_expression "pBVar11->wantToLock" identifier -> field_identifier) = identifier) ;) (if_statement "if (iVar14 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa7862;\n            sqlite3BtreeLeave(pBVar11);\n          }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n            ((int *)ppsVar13)[-1] = 0xa7862;\n            sqlite3BtreeLeave(pBVar11);\n          }" { (expression_statement "((int *)ppsVar13)[-1] = 0xa7862;" (assignment_expression "((int *)ppsVar13)[-1] = 0xa7862" (subscript_expression "((int *)ppsVar13)[-1]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "sqlite3BtreeLeave(pBVar11);" (call_expression "sqlite3BtreeLeave(pBVar11)" identifier (argument_list "(pBVar11)" ( identifier ))) ;) })) })) (expression_statement "pBVar11 = (Btree *)((int *)ppsVar13)[4];" (assignment_expression "pBVar11 = (Btree *)((int *)ppsVar13)[4]" identifier = (cast_expression "(Btree *)((int *)ppsVar13)[4]" ( (type_descriptor "Btree *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((int *)ppsVar13)[4]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]))) ;) (if_statement "if (pBVar11->sharable != '\0') {\n          iVar14 = pBVar11->wantToLock;\n          *ppsVar13 = (sqlite3_value *)iVar14;\n          iVar14 = iVar14 + -1;\n          pBVar11->wantToLock = iVar14;\n          if (iVar14 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa7883;\n            sqlite3BtreeLeave(pBVar11);\n          }\n        }" if (parenthesized_expression "(pBVar11->sharable != '\0')" ( (binary_expression "pBVar11->sharable != '\0'" (field_expression "pBVar11->sharable" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          iVar14 = pBVar11->wantToLock;\n          *ppsVar13 = (sqlite3_value *)iVar14;\n          iVar14 = iVar14 + -1;\n          pBVar11->wantToLock = iVar14;\n          if (iVar14 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa7883;\n            sqlite3BtreeLeave(pBVar11);\n          }\n        }" { (expression_statement "iVar14 = pBVar11->wantToLock;" (assignment_expression "iVar14 = pBVar11->wantToLock" identifier = (field_expression "pBVar11->wantToLock" identifier -> field_identifier)) ;) (expression_statement "*ppsVar13 = (sqlite3_value *)iVar14;" (assignment_expression "*ppsVar13 = (sqlite3_value *)iVar14" (pointer_expression "*ppsVar13" * identifier) = (cast_expression "(sqlite3_value *)iVar14" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ;) (expression_statement "pBVar11->wantToLock = iVar14;" (assignment_expression "pBVar11->wantToLock = iVar14" (field_expression "pBVar11->wantToLock" identifier -> field_identifier) = identifier) ;) (if_statement "if (iVar14 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa7883;\n            sqlite3BtreeLeave(pBVar11);\n          }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n            ((int *)ppsVar13)[-1] = 0xa7883;\n            sqlite3BtreeLeave(pBVar11);\n          }" { (expression_statement "((int *)ppsVar13)[-1] = 0xa7883;" (assignment_expression "((int *)ppsVar13)[-1] = 0xa7883" (subscript_expression "((int *)ppsVar13)[-1]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "sqlite3BtreeLeave(pBVar11);" (call_expression "sqlite3BtreeLeave(pBVar11)" identifier (argument_list "(pBVar11)" ( identifier ))) ;) })) })) (if_statement "if (iVar10 == 0) {\n          pBVar11 = (Btree *)((int *)ppsVar13)[0xe];\n          ((int *)ppsVar13)[-1] = 0xa7896;\n          iVar10 = sqlite3BtreeCommit(pBVar11);\n          if (iVar10 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa78a9;\n            iVar10 = sqlite3BtreeGetAutoVacuum(p_00);\n            p = (Btree *)((int *)ppsVar13)[3];\n            ((int *)ppsVar13)[-2] = 0xa78b6;\n            sqlite3BtreeSetAutoVacuum(p,iVar10);\n            uVar6 = pBVar11->pBt->pageSize;\n            ((int *)ppsVar13)[-5] = 1;\n            ((int *)ppsVar13)[-6] = 0xa78cc;\n            iVar10 = sqlite3BtreeSetPageSize(p,uVar6,((int *)ppsVar13)[0xe],((int *)ppsVar13)[-5]);\n            ppsVar13 = (sqlite3_value **)((int *)ppsVar13 + -1);\n          }\n        }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n          pBVar11 = (Btree *)((int *)ppsVar13)[0xe];\n          ((int *)ppsVar13)[-1] = 0xa7896;\n          iVar10 = sqlite3BtreeCommit(pBVar11);\n          if (iVar10 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa78a9;\n            iVar10 = sqlite3BtreeGetAutoVacuum(p_00);\n            p = (Btree *)((int *)ppsVar13)[3];\n            ((int *)ppsVar13)[-2] = 0xa78b6;\n            sqlite3BtreeSetAutoVacuum(p,iVar10);\n            uVar6 = pBVar11->pBt->pageSize;\n            ((int *)ppsVar13)[-5] = 1;\n            ((int *)ppsVar13)[-6] = 0xa78cc;\n            iVar10 = sqlite3BtreeSetPageSize(p,uVar6,((int *)ppsVar13)[0xe],((int *)ppsVar13)[-5]);\n            ppsVar13 = (sqlite3_value **)((int *)ppsVar13 + -1);\n          }\n        }" { (expression_statement "pBVar11 = (Btree *)((int *)ppsVar13)[0xe];" (assignment_expression "pBVar11 = (Btree *)((int *)ppsVar13)[0xe]" identifier = (cast_expression "(Btree *)((int *)ppsVar13)[0xe]" ( (type_descriptor "Btree *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((int *)ppsVar13)[0xe]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]))) ;) (expression_statement "((int *)ppsVar13)[-1] = 0xa7896;" (assignment_expression "((int *)ppsVar13)[-1] = 0xa7896" (subscript_expression "((int *)ppsVar13)[-1]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "iVar10 = sqlite3BtreeCommit(pBVar11);" (assignment_expression "iVar10 = sqlite3BtreeCommit(pBVar11)" identifier = (call_expression "sqlite3BtreeCommit(pBVar11)" identifier (argument_list "(pBVar11)" ( identifier )))) ;) (if_statement "if (iVar10 == 0) {\n            ((int *)ppsVar13)[-1] = 0xa78a9;\n            iVar10 = sqlite3BtreeGetAutoVacuum(p_00);\n            p = (Btree *)((int *)ppsVar13)[3];\n            ((int *)ppsVar13)[-2] = 0xa78b6;\n            sqlite3BtreeSetAutoVacuum(p,iVar10);\n            uVar6 = pBVar11->pBt->pageSize;\n            ((int *)ppsVar13)[-5] = 1;\n            ((int *)ppsVar13)[-6] = 0xa78cc;\n            iVar10 = sqlite3BtreeSetPageSize(p,uVar6,((int *)ppsVar13)[0xe],((int *)ppsVar13)[-5]);\n            ppsVar13 = (sqlite3_value **)((int *)ppsVar13 + -1);\n          }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n            ((int *)ppsVar13)[-1] = 0xa78a9;\n            iVar10 = sqlite3BtreeGetAutoVacuum(p_00);\n            p = (Btree *)((int *)ppsVar13)[3];\n            ((int *)ppsVar13)[-2] = 0xa78b6;\n            sqlite3BtreeSetAutoVacuum(p,iVar10);\n            uVar6 = pBVar11->pBt->pageSize;\n            ((int *)ppsVar13)[-5] = 1;\n            ((int *)ppsVar13)[-6] = 0xa78cc;\n            iVar10 = sqlite3BtreeSetPageSize(p,uVar6,((int *)ppsVar13)[0xe],((int *)ppsVar13)[-5]);\n            ppsVar13 = (sqlite3_value **)((int *)ppsVar13 + -1);\n          }" { (expression_statement "((int *)ppsVar13)[-1] = 0xa78a9;" (assignment_expression "((int *)ppsVar13)[-1] = 0xa78a9" (subscript_expression "((int *)ppsVar13)[-1]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "iVar10 = sqlite3BtreeGetAutoVacuum(p_00);" (assignment_expression "iVar10 = sqlite3BtreeGetAutoVacuum(p_00)" identifier = (call_expression "sqlite3BtreeGetAutoVacuum(p_00)" identifier (argument_list "(p_00)" ( identifier )))) ;) (expression_statement "p = (Btree *)((int *)ppsVar13)[3];" (assignment_expression "p = (Btree *)((int *)ppsVar13)[3]" identifier = (cast_expression "(Btree *)((int *)ppsVar13)[3]" ( (type_descriptor "Btree *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((int *)ppsVar13)[3]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]))) ;) (expression_statement "((int *)ppsVar13)[-2] = 0xa78b6;" (assignment_expression "((int *)ppsVar13)[-2] = 0xa78b6" (subscript_expression "((int *)ppsVar13)[-2]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "sqlite3BtreeSetAutoVacuum(p,iVar10);" (call_expression "sqlite3BtreeSetAutoVacuum(p,iVar10)" identifier (argument_list "(p,iVar10)" ( identifier , identifier ))) ;) (expression_statement "uVar6 = pBVar11->pBt->pageSize;" (assignment_expression "uVar6 = pBVar11->pBt->pageSize" identifier = (field_expression "pBVar11->pBt->pageSize" (field_expression "pBVar11->pBt" identifier -> field_identifier) -> field_identifier)) ;) (expression_statement "((int *)ppsVar13)[-5] = 1;" (assignment_expression "((int *)ppsVar13)[-5] = 1" (subscript_expression "((int *)ppsVar13)[-5]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "((int *)ppsVar13)[-6] = 0xa78cc;" (assignment_expression "((int *)ppsVar13)[-6] = 0xa78cc" (subscript_expression "((int *)ppsVar13)[-6]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "iVar10 = sqlite3BtreeSetPageSize(p,uVar6,((int *)ppsVar13)[0xe],((int *)ppsVar13)[-5]);" (assignment_expression "iVar10 = sqlite3BtreeSetPageSize(p,uVar6,((int *)ppsVar13)[0xe],((int *)ppsVar13)[-5])" identifier = (call_expression "sqlite3BtreeSetPageSize(p,uVar6,((int *)ppsVar13)[0xe],((int *)ppsVar13)[-5])" identifier (argument_list "(p,uVar6,((int *)ppsVar13)[0xe],((int *)ppsVar13)[-5])" ( identifier , identifier , (subscript_expression "((int *)ppsVar13)[0xe]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) , (subscript_expression "((int *)ppsVar13)[-5]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) )))) ;) (expression_statement "ppsVar13 = (sqlite3_value **)((int *)ppsVar13 + -1);" (assignment_expression "ppsVar13 = (sqlite3_value **)((int *)ppsVar13 + -1)" identifier = (cast_expression "(sqlite3_value **)((int *)ppsVar13 + -1)" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int *)ppsVar13 + -1)" ( (binary_expression "(int *)ppsVar13 + -1" (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) })) })) (goto_statement "goto LAB_000a7644;" goto statement_identifier ;) })) (expression_statement "((int *)ppsVar13)[-1] = 0xa755d;" (assignment_expression "((int *)ppsVar13)[-1] = 0xa755d" (subscript_expression "((int *)ppsVar13)[-1]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "iVar10 = sqlite3BtreeCommit((Btree *)((int *)ppsVar13)[0xe]);" (assignment_expression "iVar10 = sqlite3BtreeCommit((Btree *)((int *)ppsVar13)[0xe])" identifier = (call_expression "sqlite3BtreeCommit((Btree *)((int *)ppsVar13)[0xe])" identifier (argument_list "((Btree *)((int *)ppsVar13)[0xe])" ( (cast_expression "(Btree *)((int *)ppsVar13)[0xe]" ( (type_descriptor "Btree *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((int *)ppsVar13)[0xe]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) )))) ;) (if_statement "if (iVar10 != 0) goto LAB_000a7644;" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a7644;" goto statement_identifier ;)) (expression_statement "uVar6 = ((int *)ppsVar13)[5];" (assignment_expression "uVar6 = ((int *)ppsVar13)[5]" identifier = (subscript_expression "((int *)ppsVar13)[5]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;) (expression_statement "(db->init).iDb = '\0';" (assignment_expression "(db->init).iDb = '\0'" (field_expression "(db->init).iDb" (parenthesized_expression "(db->init)" ( (field_expression "db->init" identifier -> field_identifier) )) . field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (expression_statement "db->mDbFlags = uVar6;" (assignment_expression "db->mDbFlags = uVar6" (field_expression "db->mDbFlags" identifier -> field_identifier) = identifier) ;) (expression_statement "*(int *)&db->flags = ((int *)ppsVar13)[1];" (assignment_expression "*(int *)&db->flags = ((int *)ppsVar13)[1]" (pointer_expression "*(int *)&db->flags" * (cast_expression "(int *)&db->flags" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&db->flags" & (field_expression "db->flags" identifier -> field_identifier)))) = (subscript_expression "((int *)ppsVar13)[1]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;) (expression_statement "*(int *)((int)&db->flags + 4) = ((int *)ppsVar13)[2];" (assignment_expression "*(int *)((int)&db->flags + 4) = ((int *)ppsVar13)[2]" (pointer_expression "*(int *)((int)&db->flags + 4)" * (cast_expression "(int *)((int)&db->flags + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&db->flags + 4)" ( (binary_expression "(int)&db->flags + 4" (cast_expression "(int)&db->flags" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&db->flags" & (field_expression "db->flags" identifier -> field_identifier))) + number_literal) )))) = (subscript_expression "((int *)ppsVar13)[2]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;) (expression_statement "db->nChange = ((int *)ppsVar13)[6];" (assignment_expression "db->nChange = ((int *)ppsVar13)[6]" (field_expression "db->nChange" identifier -> field_identifier) = (subscript_expression "((int *)ppsVar13)[6]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;) (expression_statement "db->nTotalChange = ((int *)ppsVar13)[7];" (assignment_expression "db->nTotalChange = ((int *)ppsVar13)[7]" (field_expression "db->nTotalChange" identifier -> field_identifier) = (subscript_expression "((int *)ppsVar13)[7]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;) (expression_statement "((int *)ppsVar13)[-4] = 1;" (assignment_expression "((int *)ppsVar13)[-4] = 1" (subscript_expression "((int *)ppsVar13)[-4]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "db->mTrace = *(u8 *)((int)ppsVar13 + 0x2b);" (assignment_expression "db->mTrace = *(u8 *)((int)ppsVar13 + 0x2b)" (field_expression "db->mTrace" identifier -> field_identifier) = (pointer_expression "*(u8 *)((int)ppsVar13 + 0x2b)" * (cast_expression "(u8 *)((int)ppsVar13 + 0x2b)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppsVar13 + 0x2b)" ( (binary_expression "(int)ppsVar13 + 0x2b" (cast_expression "(int)ppsVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "((int *)ppsVar13)[-5] = 0xa75ae;" (assignment_expression "((int *)ppsVar13)[-5] = 0xa75ae" (subscript_expression "((int *)ppsVar13)[-5]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "sqlite3BtreeSetPageSize((Btree *)((int *)ppsVar13)[4],-1,0,((int *)ppsVar13)[-4]);" (call_expression "sqlite3BtreeSetPageSize((Btree *)((int *)ppsVar13)[4],-1,0,((int *)ppsVar13)[-4])" identifier (argument_list "((Btree *)((int *)ppsVar13)[4],-1,0,((int *)ppsVar13)[-4])" ( (cast_expression "(Btree *)((int *)ppsVar13)[4]" ( (type_descriptor "Btree *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((int *)ppsVar13)[4]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) , number_literal , number_literal , (subscript_expression "((int *)ppsVar13)[-4]" (parenthesized_expression "((int *)ppsVar13)" ( (cast_expression "(int *)ppsVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) ))) ;) (expression_statement "db->autoCommit = '\x01';" (assignment_expression "db->autoCommit = '\x01'" (field_expression "db->autoCommit" identifier -> field_identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) }))) (expression_statement "iVar14 = *(int *)((int)ppsVar13 + 0xc);" (assignment_expression "iVar14 = *(int *)((int)ppsVar13 + 0xc)" identifier = (pointer_expression "*(int *)((int)ppsVar13 + 0xc)" * (cast_expression "(int *)((int)ppsVar13 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppsVar13 + 0xc)" ( (binary_expression "(int)ppsVar13 + 0xc" (cast_expression "(int)ppsVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "pBVar11 = *(Btree **)(iVar14 + 4);" (assignment_expression "pBVar11 = *(Btree **)(iVar14 + 4)" identifier = (pointer_expression "*(Btree **)(iVar14 + 4)" * (cast_expression "(Btree **)(iVar14 + 4)" ( (type_descriptor "Btree **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + 4)" ( (binary_expression "iVar14 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)ppsVar13 + -4) = 0xa769e;" (assignment_expression "*(undefined4 *)((int)ppsVar13 + -4) = 0xa769e" (pointer_expression "*(undefined4 *)((int)ppsVar13 + -4)" * (cast_expression "(undefined4 *)((int)ppsVar13 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppsVar13 + -4)" ( (binary_expression "(int)ppsVar13 + -4" (cast_expression "(int)ppsVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "sqlite3BtreeClose(pBVar11);" (call_expression "sqlite3BtreeClose(pBVar11)" identifier (argument_list "(pBVar11)" ( identifier ))) ;) (expression_statement "*(undefined4 *)(iVar14 + 4) = 0;" (assignment_expression "*(undefined4 *)(iVar14 + 4) = 0" (pointer_expression "*(undefined4 *)(iVar14 + 4)" * (cast_expression "(undefined4 *)(iVar14 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 4)" ( (binary_expression "iVar14 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar14 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(iVar14 + 0xc) = 0" (pointer_expression "*(undefined4 *)(iVar14 + 0xc)" * (cast_expression "(undefined4 *)(iVar14 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0xc)" ( (binary_expression "iVar14 + 0xc" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n    (db->init).iDb = '\0';\n    db->mDbFlags = local_88[0];\n    *(uint *)&db->flags = local_98[0];\n    *(uint *)((int)&db->flags + 4) = local_98[1];\n    db->nChange = local_88[1];\n    db->nTotalChange = local_88[2];\n    db->mTrace = local_71;\n    sqlite3BtreeSetPageSize(local_8c,-1,0,1);\n    db->autoCommit = '\x01';\n    ppsVar13 = &local_9c;\n  }" else (compound_statement "{\n    (db->init).iDb = '\0';\n    db->mDbFlags = local_88[0];\n    *(uint *)&db->flags = local_98[0];\n    *(uint *)((int)&db->flags + 4) = local_98[1];\n    db->nChange = local_88[1];\n    db->nTotalChange = local_88[2];\n    db->mTrace = local_71;\n    sqlite3BtreeSetPageSize(local_8c,-1,0,1);\n    db->autoCommit = '\x01';\n    ppsVar13 = &local_9c;\n  }" { (expression_statement "(db->init).iDb = '\0';" (assignment_expression "(db->init).iDb = '\0'" (field_expression "(db->init).iDb" (parenthesized_expression "(db->init)" ( (field_expression "db->init" identifier -> field_identifier) )) . field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "db->mDbFlags = local_88[0];" (assignment_expression "db->mDbFlags = local_88[0]" (field_expression "db->mDbFlags" identifier -> field_identifier) = (subscript_expression "local_88[0]" identifier [ number_literal ])) ;) (expression_statement "*(uint *)&db->flags = local_98[0];" (assignment_expression "*(uint *)&db->flags = local_98[0]" (pointer_expression "*(uint *)&db->flags" * (cast_expression "(uint *)&db->flags" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&db->flags" & (field_expression "db->flags" identifier -> field_identifier)))) = (subscript_expression "local_98[0]" identifier [ number_literal ])) ;) (expression_statement "*(uint *)((int)&db->flags + 4) = local_98[1];" (assignment_expression "*(uint *)((int)&db->flags + 4) = local_98[1]" (pointer_expression "*(uint *)((int)&db->flags + 4)" * (cast_expression "(uint *)((int)&db->flags + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&db->flags + 4)" ( (binary_expression "(int)&db->flags + 4" (cast_expression "(int)&db->flags" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&db->flags" & (field_expression "db->flags" identifier -> field_identifier))) + number_literal) )))) = (subscript_expression "local_98[1]" identifier [ number_literal ])) ;) (expression_statement "db->nChange = local_88[1];" (assignment_expression "db->nChange = local_88[1]" (field_expression "db->nChange" identifier -> field_identifier) = (subscript_expression "local_88[1]" identifier [ number_literal ])) ;) (expression_statement "db->nTotalChange = local_88[2];" (assignment_expression "db->nTotalChange = local_88[2]" (field_expression "db->nTotalChange" identifier -> field_identifier) = (subscript_expression "local_88[2]" identifier [ number_literal ])) ;) (expression_statement "db->mTrace = local_71;" (assignment_expression "db->mTrace = local_71" (field_expression "db->mTrace" identifier -> field_identifier) = identifier) ;) (expression_statement "sqlite3BtreeSetPageSize(local_8c,-1,0,1);" (call_expression "sqlite3BtreeSetPageSize(local_8c,-1,0,1)" identifier (argument_list "(local_8c,-1,0,1)" ( identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "db->autoCommit = '\x01';" (assignment_expression "db->autoCommit = '\x01'" (field_expression "db->autoCommit" identifier -> field_identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "ppsVar13 = &local_9c;" (assignment_expression "ppsVar13 = &local_9c" identifier = (pointer_expression "&local_9c" & identifier)) ;) }))) (expression_statement "*(undefined4 *)((int)ppsVar13 + -4) = 0xa7625;" (assignment_expression "*(undefined4 *)((int)ppsVar13 + -4) = 0xa7625" (pointer_expression "*(undefined4 *)((int)ppsVar13 + -4)" * (cast_expression "(undefined4 *)((int)ppsVar13 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppsVar13 + -4)" ( (binary_expression "(int)ppsVar13 + -4" (cast_expression "(int)ppsVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "sqlite3ResetAllSchemasOfConnection(db);" (call_expression "sqlite3ResetAllSchemasOfConnection(db)" identifier (argument_list "(db)" ( identifier ))) ;) (labeled_statement "LAB_000a7232:\n  if (*(int *)((int)ppsVar13 + 0x7c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)ppsVar13 + -4) = 0xa7760;\n    __stack_chk_fail_local();\n  }" statement_identifier : (if_statement "if (*(int *)((int)ppsVar13 + 0x7c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)ppsVar13 + -4) = 0xa7760;\n    __stack_chk_fail_local();\n  }" if (parenthesized_expression "(*(int *)((int)ppsVar13 + 0x7c) != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "*(int *)((int)ppsVar13 + 0x7c) != *(int *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(int *)((int)ppsVar13 + 0x7c)" * (cast_expression "(int *)((int)ppsVar13 + 0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppsVar13 + 0x7c)" ( (binary_expression "(int)ppsVar13 + 0x7c" (cast_expression "(int)ppsVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)ppsVar13 + -4) = 0xa7760;\n    __stack_chk_fail_local();\n  }" { comment (expression_statement "*(undefined4 *)((int)ppsVar13 + -4) = 0xa7760;" (assignment_expression "*(undefined4 *)((int)ppsVar13 + -4) = 0xa7760" (pointer_expression "*(undefined4 *)((int)ppsVar13 + -4)" * (cast_expression "(undefined4 *)((int)ppsVar13 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppsVar13 + -4)" ( (binary_expression "(int)ppsVar13 + -4" (cast_expression "(int)ppsVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return iVar10;" return identifier ;) })))
(translation_unit "int __regparm3 FUN_000a71a0(undefined4 param_1,int param_2,int param_3,int param_4)\n\n{\n  int *piVar1;\n  uint uVar2;\n  code *pcVar3;\n  longlong lVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  char *pcVar7;\n  undefined **ppuVar8;\n  char **ppcVar9;\n  int iVar10;\n  char **ppcVar11;\n  char **ppcVar12;\n  int in_GS_OFFSET;\n  byte bVar13;\n  char *apcStackY_b8 [3];\n  char *apcStack_a0 [2];\n  uint local_98 [2];\n  char *local_90 [5];\n  undefined4 local_7c;\n  undefined1 local_71;\n  int local_70;\n  undefined4 local_6c;\n  char local_65;\n  int local_64;\n  undefined4 local_60;\n  int local_54;\n  int local_50;\n  char *apcStack_28 [5];\n  undefined4 uStack_14;\n  \n  bVar13 = 0;\n  uStack_14 = 0xa71ad;\n  ppuVar8 = &__DT_PLTGOT;\n  ppcVar9 = apcStack_a0 + 1;\n  apcStack_a0[1] = (char *)param_4;\n  apcStack_28[2] = *(char **)(in_GS_OFFSET + 0x14);\n  if (*(char *)(param_2 + 0x4b) == '\0') {\n    iVar5 = 1;\n    apcStack_a0[0] = (char *)0xa7262;\n    FUN_0002ec00();\n    goto LAB_000a7232;\n  }\n  if (1 < *(int *)(param_2 + 0xa8)) {\n    iVar5 = 1;\n    apcStack_a0[0] = (char *)0xa7232;\n    FUN_0002ec00();\n    ppcVar9 = apcStack_a0 + 1;\n    goto LAB_000a7232;\n  }\n  local_90[0] = *(char **)(param_2 + 0x38);\n  if (param_4 == 0) {\n    apcStack_a0[0] = "";\n  }\n  else {\n    iVar5 = sqlite3_value_type(param_4);\n    if (iVar5 != 3) {\n      iVar5 = 1;\n      apcStack_a0[0] = (char *)0xa7217;\n      FUN_0002ec00();\n      ppcVar9 = apcStack_a0 + 1;\n      goto LAB_000a7232;\n    }\n    apcStack_a0[0] = (char *)sqlite3_value_text(apcStack_a0[1]);\n    *(uint *)(param_2 + 0x38) = *(uint *)(param_2 + 0x38) & 0xfffffffe | 6;\n  }\n  local_98[0] = *(uint *)(param_2 + 0x1c);\n  local_90[2] = *(char **)(param_2 + 0x18);\n  local_70 = param_3 * 0x10;\n  local_98[1] = *(uint *)(param_2 + 0x20);\n  *(uint *)(param_2 + 0x18) = (uint)local_90[2] | 6;\n  local_90[3] = *(char **)(param_2 + 0x60);\n  local_90[4] = *(char **)(param_2 + 100);\n  *(uint *)(param_2 + 0x1c) = local_98[0] & 0xefffafff | 0x201;\n  puVar6 = (undefined4 *)(local_70 + *(int *)(param_2 + 0x10));\n  local_71 = *(undefined1 *)(param_2 + 0x54);\n  *(undefined1 *)(param_2 + 0x54) = 0;\n  *(uint *)(param_2 + 0x20) = local_98[1] & 0xfffffffe;\n  local_6c = *puVar6;\n  local_90[1] = (char *)puVar6[1];\n  local_65 = *(char *)(**(int **)((int)local_90[1] + 4) + 0xc);\n  local_7c = *(int *)(param_2 + 0x14);\n  iVar5 = FUN_000a7160(param_2,param_1,"ATTACH %Q AS vacuum_db");\n  ppcVar9 = apcStack_a0 + 1;\n  *(char **)(param_2 + 0x38) = local_90[0];\n  if (iVar5 == 0) {\n    local_90[0] = (char *)(local_7c * 0x10 + *(int *)(param_2 + 0x10));\n    local_64 = *(int *)((int)local_90[0] + 4);\n    if (apcStack_a0[1] == (char *)0x0) {\n      apcStack_a0[0] = (char *)0xa76c1;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa76de;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa76e9;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76f2;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76fe;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa770d;\n      iVar5 = FUN_000a7010();\n      if (iVar5 == 0) goto LAB_000a73fb;\nLAB_000a7644:\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[0xfffffffc] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[0xfffffffb] = (char *)0xa768b;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }\n    else {\n      piVar1 = *(int **)(**(int **)(local_64 + 4) + 0x3c);\n      local_54 = 0;\n      local_50 = 0;\n      iVar5 = *piVar1;\n      if (iVar5 != 0) {\n        iVar5 = (**(code **)(iVar5 + 0x18))(piVar1,&local_54);\n        ppcVar9 = apcStack_a0 + 1;\n        if ((iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))) {\n          iVar5 = 1;\n          apcStack_a0[0] = (char *)0xa7644;\n          FUN_0002ec00();\n          goto LAB_000a7644;\n        }\n      }\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) | 8;\n      apcStack_a0[0] = (char *)0xa73a5;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa73c2;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa73cd;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73d6;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73e2;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa73f1;\n      iVar5 = FUN_000a7010();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\nLAB_000a73fb:\n      apcStack_a0[0] = (char *)0xa7408;\n      iVar5 = FUN_00062b70();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\n      if (*(char *)(**(int **)((int)local_90[1] + 4) + 5) == '\x05') {\n        *(undefined4 *)(param_2 + 0x58) = 0;\n      }\n      iVar5 = FUN_00041730(0);\n      if ((iVar5 != 0) ||\n         (((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0')))) {\n        iVar5 = 7;\n        ppcVar9 = apcStack_a0 + 1;\n        goto LAB_000a7644;\n      }\n      ppcVar9 = apcStack_a0 + 1;\n      if (*(char *)(param_2 + 0x50) < '\0') {\n        ppcVar9 = apcStack_a0;\n        apcStack_a0[0] = (char *)0xa7754;\n        entry();\n      }\n      ppcVar9[-1] = (char *)0xa7472;\n      FUN_00028170();\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = *(undefined1 *)(ppcVar9 + 8);\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcc7);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa748f;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcac);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74ae;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc9e);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74d4;\n      iVar5 = FUN_000a7160();\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) & 0xfffffffb;\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc78);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74f7;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[8] = (char *)(ppcVar9 + 0x11);\n      iVar10 = 0;\n      do {\n        ppcVar9[-1] = (char *)0xa7523;\n        FUN_000341f0();\n        ppcVar9[-1] = (char *)0xa753a;\n        iVar5 = FUN_000633c0();\n        if (iVar5 != 0) goto LAB_000a7644;\n        iVar10 = iVar10 + 2;\n      } while (iVar10 != 10);\n      if (*ppcVar9 == (char *)0x0) {\n        if (ppcVar9[4][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7778;\n          FUN_00027820();\n        }\n        if (ppcVar9[0xe][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7787;\n          FUN_00027820();\n        }\n        iVar5 = **(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        *ppcVar9 = (char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        if (iVar5 == 0) {\nLAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;\n          ppcVar12 = ppcVar11;\n          for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }\n          pcVar7 = *(char **)ppcVar9[0xe];\n          ppcVar9[0x18] = ppcVar9[0xe];\n          ppcVar9[0x16] = (char *)0x1;\n          ppcVar9[0x17] = pcVar7;\n          pcVar7 = ppcVar9[4];\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = pcVar7;\n          ppcVar9[-3] = (char *)0x7fffffff;\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7820;\n          sqlite3_backup_step();\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7828;\n          iVar5 = sqlite3_backup_finish();\n          if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }\n        }\n        else {\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }\n        pcVar7 = ppcVar9[0xe];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }\n        }\n        pcVar7 = ppcVar9[4];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }\n        }\n        if (iVar5 == 0) {\n          ppcVar9[-1] = (char *)0xa7896;\n          iVar5 = FUN_0006aff0();\n          if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }\n        }\n        goto LAB_000a7644;\n      }\n      ppcVar9[-1] = (char *)0xa755d;\n      iVar5 = FUN_0006aff0();\n      if (iVar5 != 0) goto LAB_000a7644;\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      iVar5 = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[-4] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[-5] = (char *)0xa75ae;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }\n    iVar10 = *(int *)((int)ppcVar9 + 0xc);\n    *(undefined4 *)((int)ppcVar9 + -4) = 0xa769e;\n    FUN_0006de60();\n    *(undefined4 *)(iVar10 + 4) = 0;\n    *(undefined4 *)(iVar10 + 0xc) = 0;\n  }\n  else {\n    *(undefined1 *)(param_2 + 0xa0) = 0;\n    *(char **)(param_2 + 0x18) = local_90[2];\n    *(uint *)(param_2 + 0x1c) = local_98[0];\n    *(uint *)(param_2 + 0x20) = local_98[1];\n    *(char **)(param_2 + 0x60) = local_90[3];\n    *(char **)(param_2 + 100) = local_90[4];\n    *(undefined1 *)(param_2 + 0x54) = local_71;\n    FUN_00041730(1);\n    *(undefined1 *)(param_2 + 0x4b) = 1;\n    ppcVar9 = apcStack_a0 + 1;\n  }\n  ppcVar9[0xffffffff] = (char *)0xa7625;\n  FUN_000462f0();\nLAB_000a7232:\n  if (ppcVar9[0x1f] != *(char **)(in_GS_OFFSET + 0x14)) {\n                    \n    ppcVar9[0xffffffff] = (char *)0xa7760;\n    FUN_000a9ea0();\n  }\n  return iVar5;\n}\n\n" (function_definition "int __regparm3 FUN_000a71a0(undefined4 param_1,int param_2,int param_3,int param_4)\n\n{\n  int *piVar1;\n  uint uVar2;\n  code *pcVar3;\n  longlong lVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  char *pcVar7;\n  undefined **ppuVar8;\n  char **ppcVar9;\n  int iVar10;\n  char **ppcVar11;\n  char **ppcVar12;\n  int in_GS_OFFSET;\n  byte bVar13;\n  char *apcStackY_b8 [3];\n  char *apcStack_a0 [2];\n  uint local_98 [2];\n  char *local_90 [5];\n  undefined4 local_7c;\n  undefined1 local_71;\n  int local_70;\n  undefined4 local_6c;\n  char local_65;\n  int local_64;\n  undefined4 local_60;\n  int local_54;\n  int local_50;\n  char *apcStack_28 [5];\n  undefined4 uStack_14;\n  \n  bVar13 = 0;\n  uStack_14 = 0xa71ad;\n  ppuVar8 = &__DT_PLTGOT;\n  ppcVar9 = apcStack_a0 + 1;\n  apcStack_a0[1] = (char *)param_4;\n  apcStack_28[2] = *(char **)(in_GS_OFFSET + 0x14);\n  if (*(char *)(param_2 + 0x4b) == '\0') {\n    iVar5 = 1;\n    apcStack_a0[0] = (char *)0xa7262;\n    FUN_0002ec00();\n    goto LAB_000a7232;\n  }\n  if (1 < *(int *)(param_2 + 0xa8)) {\n    iVar5 = 1;\n    apcStack_a0[0] = (char *)0xa7232;\n    FUN_0002ec00();\n    ppcVar9 = apcStack_a0 + 1;\n    goto LAB_000a7232;\n  }\n  local_90[0] = *(char **)(param_2 + 0x38);\n  if (param_4 == 0) {\n    apcStack_a0[0] = "";\n  }\n  else {\n    iVar5 = sqlite3_value_type(param_4);\n    if (iVar5 != 3) {\n      iVar5 = 1;\n      apcStack_a0[0] = (char *)0xa7217;\n      FUN_0002ec00();\n      ppcVar9 = apcStack_a0 + 1;\n      goto LAB_000a7232;\n    }\n    apcStack_a0[0] = (char *)sqlite3_value_text(apcStack_a0[1]);\n    *(uint *)(param_2 + 0x38) = *(uint *)(param_2 + 0x38) & 0xfffffffe | 6;\n  }\n  local_98[0] = *(uint *)(param_2 + 0x1c);\n  local_90[2] = *(char **)(param_2 + 0x18);\n  local_70 = param_3 * 0x10;\n  local_98[1] = *(uint *)(param_2 + 0x20);\n  *(uint *)(param_2 + 0x18) = (uint)local_90[2] | 6;\n  local_90[3] = *(char **)(param_2 + 0x60);\n  local_90[4] = *(char **)(param_2 + 100);\n  *(uint *)(param_2 + 0x1c) = local_98[0] & 0xefffafff | 0x201;\n  puVar6 = (undefined4 *)(local_70 + *(int *)(param_2 + 0x10));\n  local_71 = *(undefined1 *)(param_2 + 0x54);\n  *(undefined1 *)(param_2 + 0x54) = 0;\n  *(uint *)(param_2 + 0x20) = local_98[1] & 0xfffffffe;\n  local_6c = *puVar6;\n  local_90[1] = (char *)puVar6[1];\n  local_65 = *(char *)(**(int **)((int)local_90[1] + 4) + 0xc);\n  local_7c = *(int *)(param_2 + 0x14);\n  iVar5 = FUN_000a7160(param_2,param_1,"ATTACH %Q AS vacuum_db");\n  ppcVar9 = apcStack_a0 + 1;\n  *(char **)(param_2 + 0x38) = local_90[0];\n  if (iVar5 == 0) {\n    local_90[0] = (char *)(local_7c * 0x10 + *(int *)(param_2 + 0x10));\n    local_64 = *(int *)((int)local_90[0] + 4);\n    if (apcStack_a0[1] == (char *)0x0) {\n      apcStack_a0[0] = (char *)0xa76c1;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa76de;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa76e9;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76f2;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76fe;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa770d;\n      iVar5 = FUN_000a7010();\n      if (iVar5 == 0) goto LAB_000a73fb;\nLAB_000a7644:\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[0xfffffffc] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[0xfffffffb] = (char *)0xa768b;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }\n    else {\n      piVar1 = *(int **)(**(int **)(local_64 + 4) + 0x3c);\n      local_54 = 0;\n      local_50 = 0;\n      iVar5 = *piVar1;\n      if (iVar5 != 0) {\n        iVar5 = (**(code **)(iVar5 + 0x18))(piVar1,&local_54);\n        ppcVar9 = apcStack_a0 + 1;\n        if ((iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))) {\n          iVar5 = 1;\n          apcStack_a0[0] = (char *)0xa7644;\n          FUN_0002ec00();\n          goto LAB_000a7644;\n        }\n      }\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) | 8;\n      apcStack_a0[0] = (char *)0xa73a5;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa73c2;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa73cd;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73d6;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73e2;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa73f1;\n      iVar5 = FUN_000a7010();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\nLAB_000a73fb:\n      apcStack_a0[0] = (char *)0xa7408;\n      iVar5 = FUN_00062b70();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\n      if (*(char *)(**(int **)((int)local_90[1] + 4) + 5) == '\x05') {\n        *(undefined4 *)(param_2 + 0x58) = 0;\n      }\n      iVar5 = FUN_00041730(0);\n      if ((iVar5 != 0) ||\n         (((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0')))) {\n        iVar5 = 7;\n        ppcVar9 = apcStack_a0 + 1;\n        goto LAB_000a7644;\n      }\n      ppcVar9 = apcStack_a0 + 1;\n      if (*(char *)(param_2 + 0x50) < '\0') {\n        ppcVar9 = apcStack_a0;\n        apcStack_a0[0] = (char *)0xa7754;\n        entry();\n      }\n      ppcVar9[-1] = (char *)0xa7472;\n      FUN_00028170();\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = *(undefined1 *)(ppcVar9 + 8);\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcc7);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa748f;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcac);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74ae;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc9e);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74d4;\n      iVar5 = FUN_000a7160();\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) & 0xfffffffb;\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc78);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74f7;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[8] = (char *)(ppcVar9 + 0x11);\n      iVar10 = 0;\n      do {\n        ppcVar9[-1] = (char *)0xa7523;\n        FUN_000341f0();\n        ppcVar9[-1] = (char *)0xa753a;\n        iVar5 = FUN_000633c0();\n        if (iVar5 != 0) goto LAB_000a7644;\n        iVar10 = iVar10 + 2;\n      } while (iVar10 != 10);\n      if (*ppcVar9 == (char *)0x0) {\n        if (ppcVar9[4][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7778;\n          FUN_00027820();\n        }\n        if (ppcVar9[0xe][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7787;\n          FUN_00027820();\n        }\n        iVar5 = **(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        *ppcVar9 = (char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        if (iVar5 == 0) {\nLAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;\n          ppcVar12 = ppcVar11;\n          for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }\n          pcVar7 = *(char **)ppcVar9[0xe];\n          ppcVar9[0x18] = ppcVar9[0xe];\n          ppcVar9[0x16] = (char *)0x1;\n          ppcVar9[0x17] = pcVar7;\n          pcVar7 = ppcVar9[4];\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = pcVar7;\n          ppcVar9[-3] = (char *)0x7fffffff;\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7820;\n          sqlite3_backup_step();\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7828;\n          iVar5 = sqlite3_backup_finish();\n          if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }\n        }\n        else {\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }\n        pcVar7 = ppcVar9[0xe];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }\n        }\n        pcVar7 = ppcVar9[4];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }\n        }\n        if (iVar5 == 0) {\n          ppcVar9[-1] = (char *)0xa7896;\n          iVar5 = FUN_0006aff0();\n          if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }\n        }\n        goto LAB_000a7644;\n      }\n      ppcVar9[-1] = (char *)0xa755d;\n      iVar5 = FUN_0006aff0();\n      if (iVar5 != 0) goto LAB_000a7644;\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      iVar5 = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[-4] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[-5] = (char *)0xa75ae;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }\n    iVar10 = *(int *)((int)ppcVar9 + 0xc);\n    *(undefined4 *)((int)ppcVar9 + -4) = 0xa769e;\n    FUN_0006de60();\n    *(undefined4 *)(iVar10 + 4) = 0;\n    *(undefined4 *)(iVar10 + 0xc) = 0;\n  }\n  else {\n    *(undefined1 *)(param_2 + 0xa0) = 0;\n    *(char **)(param_2 + 0x18) = local_90[2];\n    *(uint *)(param_2 + 0x1c) = local_98[0];\n    *(uint *)(param_2 + 0x20) = local_98[1];\n    *(char **)(param_2 + 0x60) = local_90[3];\n    *(char **)(param_2 + 100) = local_90[4];\n    *(undefined1 *)(param_2 + 0x54) = local_71;\n    FUN_00041730(1);\n    *(undefined1 *)(param_2 + 0x4b) = 1;\n    ppcVar9 = apcStack_a0 + 1;\n  }\n  ppcVar9[0xffffffff] = (char *)0xa7625;\n  FUN_000462f0();\nLAB_000a7232:\n  if (ppcVar9[0x1f] != *(char **)(in_GS_OFFSET + 0x14)) {\n                    \n    ppcVar9[0xffffffff] = (char *)0xa7760;\n    FUN_000a9ea0();\n  }\n  return iVar5;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_000a71a0(undefined4 param_1,int param_2,int param_3,int param_4)" identifier (parameter_list "(undefined4 param_1,int param_2,int param_3,int param_4)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int param_4" primitive_type identifier) ))) (compound_statement "{\n  int *piVar1;\n  uint uVar2;\n  code *pcVar3;\n  longlong lVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  char *pcVar7;\n  undefined **ppuVar8;\n  char **ppcVar9;\n  int iVar10;\n  char **ppcVar11;\n  char **ppcVar12;\n  int in_GS_OFFSET;\n  byte bVar13;\n  char *apcStackY_b8 [3];\n  char *apcStack_a0 [2];\n  uint local_98 [2];\n  char *local_90 [5];\n  undefined4 local_7c;\n  undefined1 local_71;\n  int local_70;\n  undefined4 local_6c;\n  char local_65;\n  int local_64;\n  undefined4 local_60;\n  int local_54;\n  int local_50;\n  char *apcStack_28 [5];\n  undefined4 uStack_14;\n  \n  bVar13 = 0;\n  uStack_14 = 0xa71ad;\n  ppuVar8 = &__DT_PLTGOT;\n  ppcVar9 = apcStack_a0 + 1;\n  apcStack_a0[1] = (char *)param_4;\n  apcStack_28[2] = *(char **)(in_GS_OFFSET + 0x14);\n  if (*(char *)(param_2 + 0x4b) == '\0') {\n    iVar5 = 1;\n    apcStack_a0[0] = (char *)0xa7262;\n    FUN_0002ec00();\n    goto LAB_000a7232;\n  }\n  if (1 < *(int *)(param_2 + 0xa8)) {\n    iVar5 = 1;\n    apcStack_a0[0] = (char *)0xa7232;\n    FUN_0002ec00();\n    ppcVar9 = apcStack_a0 + 1;\n    goto LAB_000a7232;\n  }\n  local_90[0] = *(char **)(param_2 + 0x38);\n  if (param_4 == 0) {\n    apcStack_a0[0] = "";\n  }\n  else {\n    iVar5 = sqlite3_value_type(param_4);\n    if (iVar5 != 3) {\n      iVar5 = 1;\n      apcStack_a0[0] = (char *)0xa7217;\n      FUN_0002ec00();\n      ppcVar9 = apcStack_a0 + 1;\n      goto LAB_000a7232;\n    }\n    apcStack_a0[0] = (char *)sqlite3_value_text(apcStack_a0[1]);\n    *(uint *)(param_2 + 0x38) = *(uint *)(param_2 + 0x38) & 0xfffffffe | 6;\n  }\n  local_98[0] = *(uint *)(param_2 + 0x1c);\n  local_90[2] = *(char **)(param_2 + 0x18);\n  local_70 = param_3 * 0x10;\n  local_98[1] = *(uint *)(param_2 + 0x20);\n  *(uint *)(param_2 + 0x18) = (uint)local_90[2] | 6;\n  local_90[3] = *(char **)(param_2 + 0x60);\n  local_90[4] = *(char **)(param_2 + 100);\n  *(uint *)(param_2 + 0x1c) = local_98[0] & 0xefffafff | 0x201;\n  puVar6 = (undefined4 *)(local_70 + *(int *)(param_2 + 0x10));\n  local_71 = *(undefined1 *)(param_2 + 0x54);\n  *(undefined1 *)(param_2 + 0x54) = 0;\n  *(uint *)(param_2 + 0x20) = local_98[1] & 0xfffffffe;\n  local_6c = *puVar6;\n  local_90[1] = (char *)puVar6[1];\n  local_65 = *(char *)(**(int **)((int)local_90[1] + 4) + 0xc);\n  local_7c = *(int *)(param_2 + 0x14);\n  iVar5 = FUN_000a7160(param_2,param_1,"ATTACH %Q AS vacuum_db");\n  ppcVar9 = apcStack_a0 + 1;\n  *(char **)(param_2 + 0x38) = local_90[0];\n  if (iVar5 == 0) {\n    local_90[0] = (char *)(local_7c * 0x10 + *(int *)(param_2 + 0x10));\n    local_64 = *(int *)((int)local_90[0] + 4);\n    if (apcStack_a0[1] == (char *)0x0) {\n      apcStack_a0[0] = (char *)0xa76c1;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa76de;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa76e9;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76f2;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76fe;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa770d;\n      iVar5 = FUN_000a7010();\n      if (iVar5 == 0) goto LAB_000a73fb;\nLAB_000a7644:\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[0xfffffffc] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[0xfffffffb] = (char *)0xa768b;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }\n    else {\n      piVar1 = *(int **)(**(int **)(local_64 + 4) + 0x3c);\n      local_54 = 0;\n      local_50 = 0;\n      iVar5 = *piVar1;\n      if (iVar5 != 0) {\n        iVar5 = (**(code **)(iVar5 + 0x18))(piVar1,&local_54);\n        ppcVar9 = apcStack_a0 + 1;\n        if ((iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))) {\n          iVar5 = 1;\n          apcStack_a0[0] = (char *)0xa7644;\n          FUN_0002ec00();\n          goto LAB_000a7644;\n        }\n      }\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) | 8;\n      apcStack_a0[0] = (char *)0xa73a5;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa73c2;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa73cd;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73d6;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73e2;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa73f1;\n      iVar5 = FUN_000a7010();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\nLAB_000a73fb:\n      apcStack_a0[0] = (char *)0xa7408;\n      iVar5 = FUN_00062b70();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\n      if (*(char *)(**(int **)((int)local_90[1] + 4) + 5) == '\x05') {\n        *(undefined4 *)(param_2 + 0x58) = 0;\n      }\n      iVar5 = FUN_00041730(0);\n      if ((iVar5 != 0) ||\n         (((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0')))) {\n        iVar5 = 7;\n        ppcVar9 = apcStack_a0 + 1;\n        goto LAB_000a7644;\n      }\n      ppcVar9 = apcStack_a0 + 1;\n      if (*(char *)(param_2 + 0x50) < '\0') {\n        ppcVar9 = apcStack_a0;\n        apcStack_a0[0] = (char *)0xa7754;\n        entry();\n      }\n      ppcVar9[-1] = (char *)0xa7472;\n      FUN_00028170();\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = *(undefined1 *)(ppcVar9 + 8);\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcc7);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa748f;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcac);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74ae;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc9e);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74d4;\n      iVar5 = FUN_000a7160();\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) & 0xfffffffb;\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc78);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74f7;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[8] = (char *)(ppcVar9 + 0x11);\n      iVar10 = 0;\n      do {\n        ppcVar9[-1] = (char *)0xa7523;\n        FUN_000341f0();\n        ppcVar9[-1] = (char *)0xa753a;\n        iVar5 = FUN_000633c0();\n        if (iVar5 != 0) goto LAB_000a7644;\n        iVar10 = iVar10 + 2;\n      } while (iVar10 != 10);\n      if (*ppcVar9 == (char *)0x0) {\n        if (ppcVar9[4][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7778;\n          FUN_00027820();\n        }\n        if (ppcVar9[0xe][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7787;\n          FUN_00027820();\n        }\n        iVar5 = **(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        *ppcVar9 = (char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        if (iVar5 == 0) {\nLAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;\n          ppcVar12 = ppcVar11;\n          for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }\n          pcVar7 = *(char **)ppcVar9[0xe];\n          ppcVar9[0x18] = ppcVar9[0xe];\n          ppcVar9[0x16] = (char *)0x1;\n          ppcVar9[0x17] = pcVar7;\n          pcVar7 = ppcVar9[4];\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = pcVar7;\n          ppcVar9[-3] = (char *)0x7fffffff;\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7820;\n          sqlite3_backup_step();\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7828;\n          iVar5 = sqlite3_backup_finish();\n          if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }\n        }\n        else {\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }\n        pcVar7 = ppcVar9[0xe];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }\n        }\n        pcVar7 = ppcVar9[4];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }\n        }\n        if (iVar5 == 0) {\n          ppcVar9[-1] = (char *)0xa7896;\n          iVar5 = FUN_0006aff0();\n          if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }\n        }\n        goto LAB_000a7644;\n      }\n      ppcVar9[-1] = (char *)0xa755d;\n      iVar5 = FUN_0006aff0();\n      if (iVar5 != 0) goto LAB_000a7644;\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      iVar5 = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[-4] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[-5] = (char *)0xa75ae;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }\n    iVar10 = *(int *)((int)ppcVar9 + 0xc);\n    *(undefined4 *)((int)ppcVar9 + -4) = 0xa769e;\n    FUN_0006de60();\n    *(undefined4 *)(iVar10 + 4) = 0;\n    *(undefined4 *)(iVar10 + 0xc) = 0;\n  }\n  else {\n    *(undefined1 *)(param_2 + 0xa0) = 0;\n    *(char **)(param_2 + 0x18) = local_90[2];\n    *(uint *)(param_2 + 0x1c) = local_98[0];\n    *(uint *)(param_2 + 0x20) = local_98[1];\n    *(char **)(param_2 + 0x60) = local_90[3];\n    *(char **)(param_2 + 100) = local_90[4];\n    *(undefined1 *)(param_2 + 0x54) = local_71;\n    FUN_00041730(1);\n    *(undefined1 *)(param_2 + 0x4b) = 1;\n    ppcVar9 = apcStack_a0 + 1;\n  }\n  ppcVar9[0xffffffff] = (char *)0xa7625;\n  FUN_000462f0();\nLAB_000a7232:\n  if (ppcVar9[0x1f] != *(char **)(in_GS_OFFSET + 0x14)) {\n                    \n    ppcVar9[0xffffffff] = (char *)0xa7760;\n    FUN_000a9ea0();\n  }\n  return iVar5;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "code *pcVar3;" type_identifier (pointer_declarator "*pcVar3" * identifier) ;) (declaration "longlong lVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "undefined **ppuVar8;" type_identifier (pointer_declarator "**ppuVar8" * (pointer_declarator "*ppuVar8" * identifier)) ;) (declaration "char **ppcVar9;" primitive_type (pointer_declarator "**ppcVar9" * (pointer_declarator "*ppcVar9" * identifier)) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "char **ppcVar11;" primitive_type (pointer_declarator "**ppcVar11" * (pointer_declarator "*ppcVar11" * identifier)) ;) (declaration "char **ppcVar12;" primitive_type (pointer_declarator "**ppcVar12" * (pointer_declarator "*ppcVar12" * identifier)) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "byte bVar13;" type_identifier identifier ;) (declaration "char *apcStackY_b8 [3];" primitive_type (pointer_declarator "*apcStackY_b8 [3]" * (array_declarator "apcStackY_b8 [3]" identifier [ number_literal ])) ;) (declaration "char *apcStack_a0 [2];" primitive_type (pointer_declarator "*apcStack_a0 [2]" * (array_declarator "apcStack_a0 [2]" identifier [ number_literal ])) ;) (declaration "uint local_98 [2];" type_identifier (array_declarator "local_98 [2]" identifier [ number_literal ]) ;) (declaration "char *local_90 [5];" primitive_type (pointer_declarator "*local_90 [5]" * (array_declarator "local_90 [5]" identifier [ number_literal ])) ;) (declaration "undefined4 local_7c;" type_identifier identifier ;) (declaration "undefined1 local_71;" type_identifier identifier ;) (declaration "int local_70;" primitive_type identifier ;) (declaration "undefined4 local_6c;" type_identifier identifier ;) (declaration "char local_65;" primitive_type identifier ;) (declaration "int local_64;" primitive_type identifier ;) (declaration "undefined4 local_60;" type_identifier identifier ;) (declaration "int local_54;" primitive_type identifier ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "char *apcStack_28 [5];" primitive_type (pointer_declarator "*apcStack_28 [5]" * (array_declarator "apcStack_28 [5]" identifier [ number_literal ])) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar13 = 0;" (assignment_expression "bVar13 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0xa71ad;" (assignment_expression "uStack_14 = 0xa71ad" identifier = number_literal) ;) (expression_statement "ppuVar8 = &__DT_PLTGOT;" (assignment_expression "ppuVar8 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "ppcVar9 = apcStack_a0 + 1;" (assignment_expression "ppcVar9 = apcStack_a0 + 1" identifier = (binary_expression "apcStack_a0 + 1" identifier + number_literal)) ;) (expression_statement "apcStack_a0[1] = (char *)param_4;" (assignment_expression "apcStack_a0[1] = (char *)param_4" (subscript_expression "apcStack_a0[1]" identifier [ number_literal ]) = (cast_expression "(char *)param_4" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "apcStack_28[2] = *(char **)(in_GS_OFFSET + 0x14);" (assignment_expression "apcStack_28[2] = *(char **)(in_GS_OFFSET + 0x14)" (subscript_expression "apcStack_28[2]" identifier [ number_literal ]) = (pointer_expression "*(char **)(in_GS_OFFSET + 0x14)" * (cast_expression "(char **)(in_GS_OFFSET + 0x14)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (*(char *)(param_2 + 0x4b) == '\0') {\n    iVar5 = 1;\n    apcStack_a0[0] = (char *)0xa7262;\n    FUN_0002ec00();\n    goto LAB_000a7232;\n  }" if (parenthesized_expression "(*(char *)(param_2 + 0x4b) == '\0')" ( (binary_expression "*(char *)(param_2 + 0x4b) == '\0'" (pointer_expression "*(char *)(param_2 + 0x4b)" * (cast_expression "(char *)(param_2 + 0x4b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x4b)" ( (binary_expression "param_2 + 0x4b" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    iVar5 = 1;\n    apcStack_a0[0] = (char *)0xa7262;\n    FUN_0002ec00();\n    goto LAB_000a7232;\n  }" { (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (expression_statement "apcStack_a0[0] = (char *)0xa7262;" (assignment_expression "apcStack_a0[0] = (char *)0xa7262" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)0xa7262" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_0002ec00();" (call_expression "FUN_0002ec00()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_000a7232;" goto statement_identifier ;) })) (if_statement "if (1 < *(int *)(param_2 + 0xa8)) {\n    iVar5 = 1;\n    apcStack_a0[0] = (char *)0xa7232;\n    FUN_0002ec00();\n    ppcVar9 = apcStack_a0 + 1;\n    goto LAB_000a7232;\n  }" if (parenthesized_expression "(1 < *(int *)(param_2 + 0xa8))" ( (binary_expression "1 < *(int *)(param_2 + 0xa8)" number_literal < (pointer_expression "*(int *)(param_2 + 0xa8)" * (cast_expression "(int *)(param_2 + 0xa8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xa8)" ( (binary_expression "param_2 + 0xa8" identifier + number_literal) ))))) )) (compound_statement "{\n    iVar5 = 1;\n    apcStack_a0[0] = (char *)0xa7232;\n    FUN_0002ec00();\n    ppcVar9 = apcStack_a0 + 1;\n    goto LAB_000a7232;\n  }" { (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (expression_statement "apcStack_a0[0] = (char *)0xa7232;" (assignment_expression "apcStack_a0[0] = (char *)0xa7232" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)0xa7232" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_0002ec00();" (call_expression "FUN_0002ec00()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppcVar9 = apcStack_a0 + 1;" (assignment_expression "ppcVar9 = apcStack_a0 + 1" identifier = (binary_expression "apcStack_a0 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_000a7232;" goto statement_identifier ;) })) (expression_statement "local_90[0] = *(char **)(param_2 + 0x38);" (assignment_expression "local_90[0] = *(char **)(param_2 + 0x38)" (subscript_expression "local_90[0]" identifier [ number_literal ]) = (pointer_expression "*(char **)(param_2 + 0x38)" * (cast_expression "(char **)(param_2 + 0x38)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x38)" ( (binary_expression "param_2 + 0x38" identifier + number_literal) ))))) ;) (if_statement "if (param_4 == 0) {\n    apcStack_a0[0] = "";\n  }\n  else {\n    iVar5 = sqlite3_value_type(param_4);\n    if (iVar5 != 3) {\n      iVar5 = 1;\n      apcStack_a0[0] = (char *)0xa7217;\n      FUN_0002ec00();\n      ppcVar9 = apcStack_a0 + 1;\n      goto LAB_000a7232;\n    }\n    apcStack_a0[0] = (char *)sqlite3_value_text(apcStack_a0[1]);\n    *(uint *)(param_2 + 0x38) = *(uint *)(param_2 + 0x38) & 0xfffffffe | 6;\n  }" if (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) (compound_statement "{\n    apcStack_a0[0] = "";\n  }" { (expression_statement "apcStack_a0[0] = "";" (assignment_expression "apcStack_a0[0] = """ (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (string_literal """" " ")) ;) }) (else_clause "else {\n    iVar5 = sqlite3_value_type(param_4);\n    if (iVar5 != 3) {\n      iVar5 = 1;\n      apcStack_a0[0] = (char *)0xa7217;\n      FUN_0002ec00();\n      ppcVar9 = apcStack_a0 + 1;\n      goto LAB_000a7232;\n    }\n    apcStack_a0[0] = (char *)sqlite3_value_text(apcStack_a0[1]);\n    *(uint *)(param_2 + 0x38) = *(uint *)(param_2 + 0x38) & 0xfffffffe | 6;\n  }" else (compound_statement "{\n    iVar5 = sqlite3_value_type(param_4);\n    if (iVar5 != 3) {\n      iVar5 = 1;\n      apcStack_a0[0] = (char *)0xa7217;\n      FUN_0002ec00();\n      ppcVar9 = apcStack_a0 + 1;\n      goto LAB_000a7232;\n    }\n    apcStack_a0[0] = (char *)sqlite3_value_text(apcStack_a0[1]);\n    *(uint *)(param_2 + 0x38) = *(uint *)(param_2 + 0x38) & 0xfffffffe | 6;\n  }" { (expression_statement "iVar5 = sqlite3_value_type(param_4);" (assignment_expression "iVar5 = sqlite3_value_type(param_4)" identifier = (call_expression "sqlite3_value_type(param_4)" identifier (argument_list "(param_4)" ( identifier )))) ;) (if_statement "if (iVar5 != 3) {\n      iVar5 = 1;\n      apcStack_a0[0] = (char *)0xa7217;\n      FUN_0002ec00();\n      ppcVar9 = apcStack_a0 + 1;\n      goto LAB_000a7232;\n    }" if (parenthesized_expression "(iVar5 != 3)" ( (binary_expression "iVar5 != 3" identifier != number_literal) )) (compound_statement "{\n      iVar5 = 1;\n      apcStack_a0[0] = (char *)0xa7217;\n      FUN_0002ec00();\n      ppcVar9 = apcStack_a0 + 1;\n      goto LAB_000a7232;\n    }" { (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (expression_statement "apcStack_a0[0] = (char *)0xa7217;" (assignment_expression "apcStack_a0[0] = (char *)0xa7217" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)0xa7217" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_0002ec00();" (call_expression "FUN_0002ec00()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppcVar9 = apcStack_a0 + 1;" (assignment_expression "ppcVar9 = apcStack_a0 + 1" identifier = (binary_expression "apcStack_a0 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_000a7232;" goto statement_identifier ;) })) (expression_statement "apcStack_a0[0] = (char *)sqlite3_value_text(apcStack_a0[1]);" (assignment_expression "apcStack_a0[0] = (char *)sqlite3_value_text(apcStack_a0[1])" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)sqlite3_value_text(apcStack_a0[1])" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "sqlite3_value_text(apcStack_a0[1])" identifier (argument_list "(apcStack_a0[1])" ( (subscript_expression "apcStack_a0[1]" identifier [ number_literal ]) ))))) ;) (expression_statement "*(uint *)(param_2 + 0x38) = *(uint *)(param_2 + 0x38) & 0xfffffffe | 6;" (assignment_expression "*(uint *)(param_2 + 0x38) = *(uint *)(param_2 + 0x38) & 0xfffffffe | 6" (pointer_expression "*(uint *)(param_2 + 0x38)" * (cast_expression "(uint *)(param_2 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x38)" ( (binary_expression "param_2 + 0x38" identifier + number_literal) )))) = (binary_expression "*(uint *)(param_2 + 0x38) & 0xfffffffe | 6" (binary_expression "*(uint *)(param_2 + 0x38) & 0xfffffffe" (pointer_expression "*(uint *)(param_2 + 0x38)" * (cast_expression "(uint *)(param_2 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x38)" ( (binary_expression "param_2 + 0x38" identifier + number_literal) )))) & number_literal) | number_literal)) ;) }))) (expression_statement "local_98[0] = *(uint *)(param_2 + 0x1c);" (assignment_expression "local_98[0] = *(uint *)(param_2 + 0x1c)" (subscript_expression "local_98[0]" identifier [ number_literal ]) = (pointer_expression "*(uint *)(param_2 + 0x1c)" * (cast_expression "(uint *)(param_2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "local_90[2] = *(char **)(param_2 + 0x18);" (assignment_expression "local_90[2] = *(char **)(param_2 + 0x18)" (subscript_expression "local_90[2]" identifier [ number_literal ]) = (pointer_expression "*(char **)(param_2 + 0x18)" * (cast_expression "(char **)(param_2 + 0x18)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "local_70 = param_3 * 0x10;" (assignment_expression "local_70 = param_3 * 0x10" identifier = (binary_expression "param_3 * 0x10" identifier * number_literal)) ;) (expression_statement "local_98[1] = *(uint *)(param_2 + 0x20);" (assignment_expression "local_98[1] = *(uint *)(param_2 + 0x20)" (subscript_expression "local_98[1]" identifier [ number_literal ]) = (pointer_expression "*(uint *)(param_2 + 0x20)" * (cast_expression "(uint *)(param_2 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x20)" ( (binary_expression "param_2 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(param_2 + 0x18) = (uint)local_90[2] | 6;" (assignment_expression "*(uint *)(param_2 + 0x18) = (uint)local_90[2] | 6" (pointer_expression "*(uint *)(param_2 + 0x18)" * (cast_expression "(uint *)(param_2 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) )))) = (binary_expression "(uint)local_90[2] | 6" (cast_expression "(uint)local_90[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_90[2]" identifier [ number_literal ])) | number_literal)) ;) (expression_statement "local_90[3] = *(char **)(param_2 + 0x60);" (assignment_expression "local_90[3] = *(char **)(param_2 + 0x60)" (subscript_expression "local_90[3]" identifier [ number_literal ]) = (pointer_expression "*(char **)(param_2 + 0x60)" * (cast_expression "(char **)(param_2 + 0x60)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x60)" ( (binary_expression "param_2 + 0x60" identifier + number_literal) ))))) ;) (expression_statement "local_90[4] = *(char **)(param_2 + 100);" (assignment_expression "local_90[4] = *(char **)(param_2 + 100)" (subscript_expression "local_90[4]" identifier [ number_literal ]) = (pointer_expression "*(char **)(param_2 + 100)" * (cast_expression "(char **)(param_2 + 100)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 100)" ( (binary_expression "param_2 + 100" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(param_2 + 0x1c) = local_98[0] & 0xefffafff | 0x201;" (assignment_expression "*(uint *)(param_2 + 0x1c) = local_98[0] & 0xefffafff | 0x201" (pointer_expression "*(uint *)(param_2 + 0x1c)" * (cast_expression "(uint *)(param_2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) )))) = (binary_expression "local_98[0] & 0xefffafff | 0x201" (binary_expression "local_98[0] & 0xefffafff" (subscript_expression "local_98[0]" identifier [ number_literal ]) & number_literal) | number_literal)) ;) (expression_statement "puVar6 = (undefined4 *)(local_70 + *(int *)(param_2 + 0x10));" (assignment_expression "puVar6 = (undefined4 *)(local_70 + *(int *)(param_2 + 0x10))" identifier = (cast_expression "(undefined4 *)(local_70 + *(int *)(param_2 + 0x10))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_70 + *(int *)(param_2 + 0x10))" ( (binary_expression "local_70 + *(int *)(param_2 + 0x10)" identifier + (pointer_expression "*(int *)(param_2 + 0x10)" * (cast_expression "(int *)(param_2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) ))))) )))) ;) (expression_statement "local_71 = *(undefined1 *)(param_2 + 0x54);" (assignment_expression "local_71 = *(undefined1 *)(param_2 + 0x54)" identifier = (pointer_expression "*(undefined1 *)(param_2 + 0x54)" * (cast_expression "(undefined1 *)(param_2 + 0x54)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x54)" ( (binary_expression "param_2 + 0x54" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 *)(param_2 + 0x54) = 0;" (assignment_expression "*(undefined1 *)(param_2 + 0x54) = 0" (pointer_expression "*(undefined1 *)(param_2 + 0x54)" * (cast_expression "(undefined1 *)(param_2 + 0x54)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x54)" ( (binary_expression "param_2 + 0x54" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(uint *)(param_2 + 0x20) = local_98[1] & 0xfffffffe;" (assignment_expression "*(uint *)(param_2 + 0x20) = local_98[1] & 0xfffffffe" (pointer_expression "*(uint *)(param_2 + 0x20)" * (cast_expression "(uint *)(param_2 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x20)" ( (binary_expression "param_2 + 0x20" identifier + number_literal) )))) = (binary_expression "local_98[1] & 0xfffffffe" (subscript_expression "local_98[1]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "local_6c = *puVar6;" (assignment_expression "local_6c = *puVar6" identifier = (pointer_expression "*puVar6" * identifier)) ;) (expression_statement "local_90[1] = (char *)puVar6[1];" (assignment_expression "local_90[1] = (char *)puVar6[1]" (subscript_expression "local_90[1]" identifier [ number_literal ]) = (cast_expression "(char *)puVar6[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[1]" identifier [ number_literal ]))) ;) (expression_statement "local_65 = *(char *)(**(int **)((int)local_90[1] + 4) + 0xc);" (assignment_expression "local_65 = *(char *)(**(int **)((int)local_90[1] + 4) + 0xc)" identifier = (pointer_expression "*(char *)(**(int **)((int)local_90[1] + 4) + 0xc)" * (cast_expression "(char *)(**(int **)((int)local_90[1] + 4) + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)((int)local_90[1] + 4) + 0xc)" ( (binary_expression "**(int **)((int)local_90[1] + 4) + 0xc" (pointer_expression "**(int **)((int)local_90[1] + 4)" * (pointer_expression "*(int **)((int)local_90[1] + 4)" * (cast_expression "(int **)((int)local_90[1] + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_90[1] + 4)" ( (binary_expression "(int)local_90[1] + 4" (cast_expression "(int)local_90[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_90[1]" identifier [ number_literal ])) + number_literal) ))))) + number_literal) ))))) ;) (expression_statement "local_7c = *(int *)(param_2 + 0x14);" (assignment_expression "local_7c = *(int *)(param_2 + 0x14)" identifier = (pointer_expression "*(int *)(param_2 + 0x14)" * (cast_expression "(int *)(param_2 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x14)" ( (binary_expression "param_2 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = FUN_000a7160(param_2,param_1,"ATTACH %Q AS vacuum_db");" (assignment_expression "iVar5 = FUN_000a7160(param_2,param_1,"ATTACH %Q AS vacuum_db")" identifier = (call_expression "FUN_000a7160(param_2,param_1,"ATTACH %Q AS vacuum_db")" identifier (argument_list "(param_2,param_1,"ATTACH %Q AS vacuum_db")" ( identifier , identifier , (string_literal ""ATTACH %Q AS vacuum_db"" " string_content ") )))) ;) (expression_statement "ppcVar9 = apcStack_a0 + 1;" (assignment_expression "ppcVar9 = apcStack_a0 + 1" identifier = (binary_expression "apcStack_a0 + 1" identifier + number_literal)) ;) (expression_statement "*(char **)(param_2 + 0x38) = local_90[0];" (assignment_expression "*(char **)(param_2 + 0x38) = local_90[0]" (pointer_expression "*(char **)(param_2 + 0x38)" * (cast_expression "(char **)(param_2 + 0x38)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x38)" ( (binary_expression "param_2 + 0x38" identifier + number_literal) )))) = (subscript_expression "local_90[0]" identifier [ number_literal ])) ;) (if_statement "if (iVar5 == 0) {\n    local_90[0] = (char *)(local_7c * 0x10 + *(int *)(param_2 + 0x10));\n    local_64 = *(int *)((int)local_90[0] + 4);\n    if (apcStack_a0[1] == (char *)0x0) {\n      apcStack_a0[0] = (char *)0xa76c1;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa76de;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa76e9;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76f2;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76fe;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa770d;\n      iVar5 = FUN_000a7010();\n      if (iVar5 == 0) goto LAB_000a73fb;\nLAB_000a7644:\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[0xfffffffc] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[0xfffffffb] = (char *)0xa768b;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }\n    else {\n      piVar1 = *(int **)(**(int **)(local_64 + 4) + 0x3c);\n      local_54 = 0;\n      local_50 = 0;\n      iVar5 = *piVar1;\n      if (iVar5 != 0) {\n        iVar5 = (**(code **)(iVar5 + 0x18))(piVar1,&local_54);\n        ppcVar9 = apcStack_a0 + 1;\n        if ((iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))) {\n          iVar5 = 1;\n          apcStack_a0[0] = (char *)0xa7644;\n          FUN_0002ec00();\n          goto LAB_000a7644;\n        }\n      }\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) | 8;\n      apcStack_a0[0] = (char *)0xa73a5;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa73c2;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa73cd;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73d6;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73e2;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa73f1;\n      iVar5 = FUN_000a7010();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\nLAB_000a73fb:\n      apcStack_a0[0] = (char *)0xa7408;\n      iVar5 = FUN_00062b70();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\n      if (*(char *)(**(int **)((int)local_90[1] + 4) + 5) == '\x05') {\n        *(undefined4 *)(param_2 + 0x58) = 0;\n      }\n      iVar5 = FUN_00041730(0);\n      if ((iVar5 != 0) ||\n         (((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0')))) {\n        iVar5 = 7;\n        ppcVar9 = apcStack_a0 + 1;\n        goto LAB_000a7644;\n      }\n      ppcVar9 = apcStack_a0 + 1;\n      if (*(char *)(param_2 + 0x50) < '\0') {\n        ppcVar9 = apcStack_a0;\n        apcStack_a0[0] = (char *)0xa7754;\n        entry();\n      }\n      ppcVar9[-1] = (char *)0xa7472;\n      FUN_00028170();\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = *(undefined1 *)(ppcVar9 + 8);\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcc7);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa748f;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcac);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74ae;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc9e);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74d4;\n      iVar5 = FUN_000a7160();\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) & 0xfffffffb;\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc78);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74f7;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[8] = (char *)(ppcVar9 + 0x11);\n      iVar10 = 0;\n      do {\n        ppcVar9[-1] = (char *)0xa7523;\n        FUN_000341f0();\n        ppcVar9[-1] = (char *)0xa753a;\n        iVar5 = FUN_000633c0();\n        if (iVar5 != 0) goto LAB_000a7644;\n        iVar10 = iVar10 + 2;\n      } while (iVar10 != 10);\n      if (*ppcVar9 == (char *)0x0) {\n        if (ppcVar9[4][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7778;\n          FUN_00027820();\n        }\n        if (ppcVar9[0xe][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7787;\n          FUN_00027820();\n        }\n        iVar5 = **(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        *ppcVar9 = (char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        if (iVar5 == 0) {\nLAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;\n          ppcVar12 = ppcVar11;\n          for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }\n          pcVar7 = *(char **)ppcVar9[0xe];\n          ppcVar9[0x18] = ppcVar9[0xe];\n          ppcVar9[0x16] = (char *)0x1;\n          ppcVar9[0x17] = pcVar7;\n          pcVar7 = ppcVar9[4];\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = pcVar7;\n          ppcVar9[-3] = (char *)0x7fffffff;\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7820;\n          sqlite3_backup_step();\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7828;\n          iVar5 = sqlite3_backup_finish();\n          if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }\n        }\n        else {\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }\n        pcVar7 = ppcVar9[0xe];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }\n        }\n        pcVar7 = ppcVar9[4];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }\n        }\n        if (iVar5 == 0) {\n          ppcVar9[-1] = (char *)0xa7896;\n          iVar5 = FUN_0006aff0();\n          if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }\n        }\n        goto LAB_000a7644;\n      }\n      ppcVar9[-1] = (char *)0xa755d;\n      iVar5 = FUN_0006aff0();\n      if (iVar5 != 0) goto LAB_000a7644;\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      iVar5 = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[-4] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[-5] = (char *)0xa75ae;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }\n    iVar10 = *(int *)((int)ppcVar9 + 0xc);\n    *(undefined4 *)((int)ppcVar9 + -4) = 0xa769e;\n    FUN_0006de60();\n    *(undefined4 *)(iVar10 + 4) = 0;\n    *(undefined4 *)(iVar10 + 0xc) = 0;\n  }\n  else {\n    *(undefined1 *)(param_2 + 0xa0) = 0;\n    *(char **)(param_2 + 0x18) = local_90[2];\n    *(uint *)(param_2 + 0x1c) = local_98[0];\n    *(uint *)(param_2 + 0x20) = local_98[1];\n    *(char **)(param_2 + 0x60) = local_90[3];\n    *(char **)(param_2 + 100) = local_90[4];\n    *(undefined1 *)(param_2 + 0x54) = local_71;\n    FUN_00041730(1);\n    *(undefined1 *)(param_2 + 0x4b) = 1;\n    ppcVar9 = apcStack_a0 + 1;\n  }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n    local_90[0] = (char *)(local_7c * 0x10 + *(int *)(param_2 + 0x10));\n    local_64 = *(int *)((int)local_90[0] + 4);\n    if (apcStack_a0[1] == (char *)0x0) {\n      apcStack_a0[0] = (char *)0xa76c1;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa76de;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa76e9;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76f2;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76fe;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa770d;\n      iVar5 = FUN_000a7010();\n      if (iVar5 == 0) goto LAB_000a73fb;\nLAB_000a7644:\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[0xfffffffc] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[0xfffffffb] = (char *)0xa768b;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }\n    else {\n      piVar1 = *(int **)(**(int **)(local_64 + 4) + 0x3c);\n      local_54 = 0;\n      local_50 = 0;\n      iVar5 = *piVar1;\n      if (iVar5 != 0) {\n        iVar5 = (**(code **)(iVar5 + 0x18))(piVar1,&local_54);\n        ppcVar9 = apcStack_a0 + 1;\n        if ((iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))) {\n          iVar5 = 1;\n          apcStack_a0[0] = (char *)0xa7644;\n          FUN_0002ec00();\n          goto LAB_000a7644;\n        }\n      }\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) | 8;\n      apcStack_a0[0] = (char *)0xa73a5;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa73c2;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa73cd;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73d6;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73e2;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa73f1;\n      iVar5 = FUN_000a7010();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\nLAB_000a73fb:\n      apcStack_a0[0] = (char *)0xa7408;\n      iVar5 = FUN_00062b70();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\n      if (*(char *)(**(int **)((int)local_90[1] + 4) + 5) == '\x05') {\n        *(undefined4 *)(param_2 + 0x58) = 0;\n      }\n      iVar5 = FUN_00041730(0);\n      if ((iVar5 != 0) ||\n         (((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0')))) {\n        iVar5 = 7;\n        ppcVar9 = apcStack_a0 + 1;\n        goto LAB_000a7644;\n      }\n      ppcVar9 = apcStack_a0 + 1;\n      if (*(char *)(param_2 + 0x50) < '\0') {\n        ppcVar9 = apcStack_a0;\n        apcStack_a0[0] = (char *)0xa7754;\n        entry();\n      }\n      ppcVar9[-1] = (char *)0xa7472;\n      FUN_00028170();\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = *(undefined1 *)(ppcVar9 + 8);\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcc7);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa748f;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcac);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74ae;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc9e);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74d4;\n      iVar5 = FUN_000a7160();\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) & 0xfffffffb;\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc78);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74f7;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[8] = (char *)(ppcVar9 + 0x11);\n      iVar10 = 0;\n      do {\n        ppcVar9[-1] = (char *)0xa7523;\n        FUN_000341f0();\n        ppcVar9[-1] = (char *)0xa753a;\n        iVar5 = FUN_000633c0();\n        if (iVar5 != 0) goto LAB_000a7644;\n        iVar10 = iVar10 + 2;\n      } while (iVar10 != 10);\n      if (*ppcVar9 == (char *)0x0) {\n        if (ppcVar9[4][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7778;\n          FUN_00027820();\n        }\n        if (ppcVar9[0xe][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7787;\n          FUN_00027820();\n        }\n        iVar5 = **(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        *ppcVar9 = (char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        if (iVar5 == 0) {\nLAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;\n          ppcVar12 = ppcVar11;\n          for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }\n          pcVar7 = *(char **)ppcVar9[0xe];\n          ppcVar9[0x18] = ppcVar9[0xe];\n          ppcVar9[0x16] = (char *)0x1;\n          ppcVar9[0x17] = pcVar7;\n          pcVar7 = ppcVar9[4];\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = pcVar7;\n          ppcVar9[-3] = (char *)0x7fffffff;\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7820;\n          sqlite3_backup_step();\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7828;\n          iVar5 = sqlite3_backup_finish();\n          if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }\n        }\n        else {\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }\n        pcVar7 = ppcVar9[0xe];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }\n        }\n        pcVar7 = ppcVar9[4];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }\n        }\n        if (iVar5 == 0) {\n          ppcVar9[-1] = (char *)0xa7896;\n          iVar5 = FUN_0006aff0();\n          if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }\n        }\n        goto LAB_000a7644;\n      }\n      ppcVar9[-1] = (char *)0xa755d;\n      iVar5 = FUN_0006aff0();\n      if (iVar5 != 0) goto LAB_000a7644;\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      iVar5 = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[-4] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[-5] = (char *)0xa75ae;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }\n    iVar10 = *(int *)((int)ppcVar9 + 0xc);\n    *(undefined4 *)((int)ppcVar9 + -4) = 0xa769e;\n    FUN_0006de60();\n    *(undefined4 *)(iVar10 + 4) = 0;\n    *(undefined4 *)(iVar10 + 0xc) = 0;\n  }" { (expression_statement "local_90[0] = (char *)(local_7c * 0x10 + *(int *)(param_2 + 0x10));" (assignment_expression "local_90[0] = (char *)(local_7c * 0x10 + *(int *)(param_2 + 0x10))" (subscript_expression "local_90[0]" identifier [ number_literal ]) = (cast_expression "(char *)(local_7c * 0x10 + *(int *)(param_2 + 0x10))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c * 0x10 + *(int *)(param_2 + 0x10))" ( (binary_expression "local_7c * 0x10 + *(int *)(param_2 + 0x10)" (binary_expression "local_7c * 0x10" identifier * number_literal) + (pointer_expression "*(int *)(param_2 + 0x10)" * (cast_expression "(int *)(param_2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) ))))) )))) ;) (expression_statement "local_64 = *(int *)((int)local_90[0] + 4);" (assignment_expression "local_64 = *(int *)((int)local_90[0] + 4)" identifier = (pointer_expression "*(int *)((int)local_90[0] + 4)" * (cast_expression "(int *)((int)local_90[0] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90[0] + 4)" ( (binary_expression "(int)local_90[0] + 4" (cast_expression "(int)local_90[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_90[0]" identifier [ number_literal ])) + number_literal) ))))) ;) (if_statement "if (apcStack_a0[1] == (char *)0x0) {\n      apcStack_a0[0] = (char *)0xa76c1;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa76de;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa76e9;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76f2;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76fe;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa770d;\n      iVar5 = FUN_000a7010();\n      if (iVar5 == 0) goto LAB_000a73fb;\nLAB_000a7644:\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[0xfffffffc] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[0xfffffffb] = (char *)0xa768b;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }\n    else {\n      piVar1 = *(int **)(**(int **)(local_64 + 4) + 0x3c);\n      local_54 = 0;\n      local_50 = 0;\n      iVar5 = *piVar1;\n      if (iVar5 != 0) {\n        iVar5 = (**(code **)(iVar5 + 0x18))(piVar1,&local_54);\n        ppcVar9 = apcStack_a0 + 1;\n        if ((iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))) {\n          iVar5 = 1;\n          apcStack_a0[0] = (char *)0xa7644;\n          FUN_0002ec00();\n          goto LAB_000a7644;\n        }\n      }\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) | 8;\n      apcStack_a0[0] = (char *)0xa73a5;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa73c2;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa73cd;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73d6;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73e2;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa73f1;\n      iVar5 = FUN_000a7010();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\nLAB_000a73fb:\n      apcStack_a0[0] = (char *)0xa7408;\n      iVar5 = FUN_00062b70();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\n      if (*(char *)(**(int **)((int)local_90[1] + 4) + 5) == '\x05') {\n        *(undefined4 *)(param_2 + 0x58) = 0;\n      }\n      iVar5 = FUN_00041730(0);\n      if ((iVar5 != 0) ||\n         (((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0')))) {\n        iVar5 = 7;\n        ppcVar9 = apcStack_a0 + 1;\n        goto LAB_000a7644;\n      }\n      ppcVar9 = apcStack_a0 + 1;\n      if (*(char *)(param_2 + 0x50) < '\0') {\n        ppcVar9 = apcStack_a0;\n        apcStack_a0[0] = (char *)0xa7754;\n        entry();\n      }\n      ppcVar9[-1] = (char *)0xa7472;\n      FUN_00028170();\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = *(undefined1 *)(ppcVar9 + 8);\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcc7);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa748f;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcac);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74ae;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc9e);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74d4;\n      iVar5 = FUN_000a7160();\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) & 0xfffffffb;\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc78);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74f7;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[8] = (char *)(ppcVar9 + 0x11);\n      iVar10 = 0;\n      do {\n        ppcVar9[-1] = (char *)0xa7523;\n        FUN_000341f0();\n        ppcVar9[-1] = (char *)0xa753a;\n        iVar5 = FUN_000633c0();\n        if (iVar5 != 0) goto LAB_000a7644;\n        iVar10 = iVar10 + 2;\n      } while (iVar10 != 10);\n      if (*ppcVar9 == (char *)0x0) {\n        if (ppcVar9[4][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7778;\n          FUN_00027820();\n        }\n        if (ppcVar9[0xe][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7787;\n          FUN_00027820();\n        }\n        iVar5 = **(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        *ppcVar9 = (char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        if (iVar5 == 0) {\nLAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;\n          ppcVar12 = ppcVar11;\n          for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }\n          pcVar7 = *(char **)ppcVar9[0xe];\n          ppcVar9[0x18] = ppcVar9[0xe];\n          ppcVar9[0x16] = (char *)0x1;\n          ppcVar9[0x17] = pcVar7;\n          pcVar7 = ppcVar9[4];\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = pcVar7;\n          ppcVar9[-3] = (char *)0x7fffffff;\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7820;\n          sqlite3_backup_step();\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7828;\n          iVar5 = sqlite3_backup_finish();\n          if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }\n        }\n        else {\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }\n        pcVar7 = ppcVar9[0xe];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }\n        }\n        pcVar7 = ppcVar9[4];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }\n        }\n        if (iVar5 == 0) {\n          ppcVar9[-1] = (char *)0xa7896;\n          iVar5 = FUN_0006aff0();\n          if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }\n        }\n        goto LAB_000a7644;\n      }\n      ppcVar9[-1] = (char *)0xa755d;\n      iVar5 = FUN_0006aff0();\n      if (iVar5 != 0) goto LAB_000a7644;\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      iVar5 = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[-4] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[-5] = (char *)0xa75ae;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }" if (parenthesized_expression "(apcStack_a0[1] == (char *)0x0)" ( (binary_expression "apcStack_a0[1] == (char *)0x0" (subscript_expression "apcStack_a0[1]" identifier [ number_literal ]) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      apcStack_a0[0] = (char *)0xa76c1;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa76de;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa76e9;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76f2;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76fe;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa770d;\n      iVar5 = FUN_000a7010();\n      if (iVar5 == 0) goto LAB_000a73fb;\nLAB_000a7644:\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[0xfffffffc] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[0xfffffffb] = (char *)0xa768b;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }" { (expression_statement "apcStack_a0[0] = (char *)0xa76c1;" (assignment_expression "apcStack_a0[0] = (char *)0xa76c1" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)0xa76c1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_60 = FUN_000279c0();" (assignment_expression "local_60 = FUN_000279c0()" identifier = (call_expression "FUN_000279c0()" identifier (argument_list "()" ( )))) ;) (expression_statement "apcStack_a0[0] = (char *)0xa76de;" (assignment_expression "apcStack_a0[0] = (char *)0xa76de" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)0xa76de" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00027ef0();" (call_expression "FUN_00027ef0()" identifier (argument_list "()" ( ))) ;) (expression_statement "apcStack_a0[0] = (char *)0xa76e9;" (assignment_expression "apcStack_a0[0] = (char *)0xa76e9" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)0xa76e9" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00027fa0();" (call_expression "FUN_00027fa0()" identifier (argument_list "()" ( ))) ;) (expression_statement "apcStack_a0[0] = (char *)0xa76f2;" (assignment_expression "apcStack_a0[0] = (char *)0xa76f2" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)0xa76f2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00027fa0();" (call_expression "FUN_00027fa0()" identifier (argument_list "()" ( ))) ;) (expression_statement "apcStack_a0[0] = (char *)0xa76fe;" (assignment_expression "apcStack_a0[0] = (char *)0xa76fe" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)0xa76fe" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_000280a0();" (call_expression "FUN_000280a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "apcStack_a0[0] = (char *)0xa770d;" (assignment_expression "apcStack_a0[0] = (char *)0xa770d" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)0xa770d" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar5 = FUN_000a7010();" (assignment_expression "iVar5 = FUN_000a7010()" identifier = (call_expression "FUN_000a7010()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar5 == 0) goto LAB_000a73fb;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000a73fb;" goto statement_identifier ;)) (labeled_statement "LAB_000a7644:\n      pcVar7 = ppcVar9[5];" statement_identifier : (expression_statement "pcVar7 = ppcVar9[5];" (assignment_expression "pcVar7 = ppcVar9[5]" identifier = (subscript_expression "ppcVar9[5]" identifier [ number_literal ])) ;)) (expression_statement "*(undefined1 *)(param_2 + 0xa0) = 0;" (assignment_expression "*(undefined1 *)(param_2 + 0xa0) = 0" (pointer_expression "*(undefined1 *)(param_2 + 0xa0)" * (cast_expression "(undefined1 *)(param_2 + 0xa0)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xa0)" ( (binary_expression "param_2 + 0xa0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(param_2 + 0x18) = pcVar7;" (assignment_expression "*(char **)(param_2 + 0x18) = pcVar7" (pointer_expression "*(char **)(param_2 + 0x18)" * (cast_expression "(char **)(param_2 + 0x18)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(param_2 + 0x1c) = ppcVar9[1];" (assignment_expression "*(char **)(param_2 + 0x1c) = ppcVar9[1]" (pointer_expression "*(char **)(param_2 + 0x1c)" * (cast_expression "(char **)(param_2 + 0x1c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) )))) = (subscript_expression "ppcVar9[1]" identifier [ number_literal ])) ;) (expression_statement "*(char **)(param_2 + 0x20) = ppcVar9[2];" (assignment_expression "*(char **)(param_2 + 0x20) = ppcVar9[2]" (pointer_expression "*(char **)(param_2 + 0x20)" * (cast_expression "(char **)(param_2 + 0x20)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x20)" ( (binary_expression "param_2 + 0x20" identifier + number_literal) )))) = (subscript_expression "ppcVar9[2]" identifier [ number_literal ])) ;) (expression_statement "*(char **)(param_2 + 0x60) = ppcVar9[6];" (assignment_expression "*(char **)(param_2 + 0x60) = ppcVar9[6]" (pointer_expression "*(char **)(param_2 + 0x60)" * (cast_expression "(char **)(param_2 + 0x60)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x60)" ( (binary_expression "param_2 + 0x60" identifier + number_literal) )))) = (subscript_expression "ppcVar9[6]" identifier [ number_literal ])) ;) (expression_statement "*(char **)(param_2 + 100) = ppcVar9[7];" (assignment_expression "*(char **)(param_2 + 100) = ppcVar9[7]" (pointer_expression "*(char **)(param_2 + 100)" * (cast_expression "(char **)(param_2 + 100)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 100)" ( (binary_expression "param_2 + 100" identifier + number_literal) )))) = (subscript_expression "ppcVar9[7]" identifier [ number_literal ])) ;) (expression_statement "ppcVar9[0xfffffffc] = (char *)0x1;" (assignment_expression "ppcVar9[0xfffffffc] = (char *)0x1" (subscript_expression "ppcVar9[0xfffffffc]" identifier [ number_literal ]) = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);" (assignment_expression "*(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b)" (pointer_expression "*(undefined1 *)(param_2 + 0x54)" * (cast_expression "(undefined1 *)(param_2 + 0x54)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x54)" ( (binary_expression "param_2 + 0x54" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)((int)ppcVar9 + 0x2b)" * (cast_expression "(undefined1 *)((int)ppcVar9 + 0x2b)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar9 + 0x2b)" ( (binary_expression "(int)ppcVar9 + 0x2b" (cast_expression "(int)ppcVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "ppcVar9[0xfffffffb] = (char *)0xa768b;" (assignment_expression "ppcVar9[0xfffffffb] = (char *)0xa768b" (subscript_expression "ppcVar9[0xfffffffb]" identifier [ number_literal ]) = (cast_expression "(char *)0xa768b" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00041730();" (call_expression "FUN_00041730()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined1 *)(param_2 + 0x4b) = 1;" (assignment_expression "*(undefined1 *)(param_2 + 0x4b) = 1" (pointer_expression "*(undefined1 *)(param_2 + 0x4b)" * (cast_expression "(undefined1 *)(param_2 + 0x4b)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x4b)" ( (binary_expression "param_2 + 0x4b" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n      piVar1 = *(int **)(**(int **)(local_64 + 4) + 0x3c);\n      local_54 = 0;\n      local_50 = 0;\n      iVar5 = *piVar1;\n      if (iVar5 != 0) {\n        iVar5 = (**(code **)(iVar5 + 0x18))(piVar1,&local_54);\n        ppcVar9 = apcStack_a0 + 1;\n        if ((iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))) {\n          iVar5 = 1;\n          apcStack_a0[0] = (char *)0xa7644;\n          FUN_0002ec00();\n          goto LAB_000a7644;\n        }\n      }\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) | 8;\n      apcStack_a0[0] = (char *)0xa73a5;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa73c2;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa73cd;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73d6;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73e2;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa73f1;\n      iVar5 = FUN_000a7010();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\nLAB_000a73fb:\n      apcStack_a0[0] = (char *)0xa7408;\n      iVar5 = FUN_00062b70();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\n      if (*(char *)(**(int **)((int)local_90[1] + 4) + 5) == '\x05') {\n        *(undefined4 *)(param_2 + 0x58) = 0;\n      }\n      iVar5 = FUN_00041730(0);\n      if ((iVar5 != 0) ||\n         (((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0')))) {\n        iVar5 = 7;\n        ppcVar9 = apcStack_a0 + 1;\n        goto LAB_000a7644;\n      }\n      ppcVar9 = apcStack_a0 + 1;\n      if (*(char *)(param_2 + 0x50) < '\0') {\n        ppcVar9 = apcStack_a0;\n        apcStack_a0[0] = (char *)0xa7754;\n        entry();\n      }\n      ppcVar9[-1] = (char *)0xa7472;\n      FUN_00028170();\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = *(undefined1 *)(ppcVar9 + 8);\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcc7);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa748f;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcac);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74ae;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc9e);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74d4;\n      iVar5 = FUN_000a7160();\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) & 0xfffffffb;\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc78);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74f7;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[8] = (char *)(ppcVar9 + 0x11);\n      iVar10 = 0;\n      do {\n        ppcVar9[-1] = (char *)0xa7523;\n        FUN_000341f0();\n        ppcVar9[-1] = (char *)0xa753a;\n        iVar5 = FUN_000633c0();\n        if (iVar5 != 0) goto LAB_000a7644;\n        iVar10 = iVar10 + 2;\n      } while (iVar10 != 10);\n      if (*ppcVar9 == (char *)0x0) {\n        if (ppcVar9[4][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7778;\n          FUN_00027820();\n        }\n        if (ppcVar9[0xe][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7787;\n          FUN_00027820();\n        }\n        iVar5 = **(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        *ppcVar9 = (char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        if (iVar5 == 0) {\nLAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;\n          ppcVar12 = ppcVar11;\n          for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }\n          pcVar7 = *(char **)ppcVar9[0xe];\n          ppcVar9[0x18] = ppcVar9[0xe];\n          ppcVar9[0x16] = (char *)0x1;\n          ppcVar9[0x17] = pcVar7;\n          pcVar7 = ppcVar9[4];\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = pcVar7;\n          ppcVar9[-3] = (char *)0x7fffffff;\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7820;\n          sqlite3_backup_step();\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7828;\n          iVar5 = sqlite3_backup_finish();\n          if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }\n        }\n        else {\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }\n        pcVar7 = ppcVar9[0xe];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }\n        }\n        pcVar7 = ppcVar9[4];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }\n        }\n        if (iVar5 == 0) {\n          ppcVar9[-1] = (char *)0xa7896;\n          iVar5 = FUN_0006aff0();\n          if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }\n        }\n        goto LAB_000a7644;\n      }\n      ppcVar9[-1] = (char *)0xa755d;\n      iVar5 = FUN_0006aff0();\n      if (iVar5 != 0) goto LAB_000a7644;\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      iVar5 = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[-4] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[-5] = (char *)0xa75ae;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }" else (compound_statement "{\n      piVar1 = *(int **)(**(int **)(local_64 + 4) + 0x3c);\n      local_54 = 0;\n      local_50 = 0;\n      iVar5 = *piVar1;\n      if (iVar5 != 0) {\n        iVar5 = (**(code **)(iVar5 + 0x18))(piVar1,&local_54);\n        ppcVar9 = apcStack_a0 + 1;\n        if ((iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))) {\n          iVar5 = 1;\n          apcStack_a0[0] = (char *)0xa7644;\n          FUN_0002ec00();\n          goto LAB_000a7644;\n        }\n      }\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) | 8;\n      apcStack_a0[0] = (char *)0xa73a5;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa73c2;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa73cd;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73d6;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73e2;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa73f1;\n      iVar5 = FUN_000a7010();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\nLAB_000a73fb:\n      apcStack_a0[0] = (char *)0xa7408;\n      iVar5 = FUN_00062b70();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\n      if (*(char *)(**(int **)((int)local_90[1] + 4) + 5) == '\x05') {\n        *(undefined4 *)(param_2 + 0x58) = 0;\n      }\n      iVar5 = FUN_00041730(0);\n      if ((iVar5 != 0) ||\n         (((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0')))) {\n        iVar5 = 7;\n        ppcVar9 = apcStack_a0 + 1;\n        goto LAB_000a7644;\n      }\n      ppcVar9 = apcStack_a0 + 1;\n      if (*(char *)(param_2 + 0x50) < '\0') {\n        ppcVar9 = apcStack_a0;\n        apcStack_a0[0] = (char *)0xa7754;\n        entry();\n      }\n      ppcVar9[-1] = (char *)0xa7472;\n      FUN_00028170();\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = *(undefined1 *)(ppcVar9 + 8);\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcc7);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa748f;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcac);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74ae;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc9e);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74d4;\n      iVar5 = FUN_000a7160();\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) & 0xfffffffb;\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc78);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74f7;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[8] = (char *)(ppcVar9 + 0x11);\n      iVar10 = 0;\n      do {\n        ppcVar9[-1] = (char *)0xa7523;\n        FUN_000341f0();\n        ppcVar9[-1] = (char *)0xa753a;\n        iVar5 = FUN_000633c0();\n        if (iVar5 != 0) goto LAB_000a7644;\n        iVar10 = iVar10 + 2;\n      } while (iVar10 != 10);\n      if (*ppcVar9 == (char *)0x0) {\n        if (ppcVar9[4][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7778;\n          FUN_00027820();\n        }\n        if (ppcVar9[0xe][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7787;\n          FUN_00027820();\n        }\n        iVar5 = **(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        *ppcVar9 = (char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        if (iVar5 == 0) {\nLAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;\n          ppcVar12 = ppcVar11;\n          for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }\n          pcVar7 = *(char **)ppcVar9[0xe];\n          ppcVar9[0x18] = ppcVar9[0xe];\n          ppcVar9[0x16] = (char *)0x1;\n          ppcVar9[0x17] = pcVar7;\n          pcVar7 = ppcVar9[4];\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = pcVar7;\n          ppcVar9[-3] = (char *)0x7fffffff;\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7820;\n          sqlite3_backup_step();\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7828;\n          iVar5 = sqlite3_backup_finish();\n          if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }\n        }\n        else {\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }\n        pcVar7 = ppcVar9[0xe];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }\n        }\n        pcVar7 = ppcVar9[4];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }\n        }\n        if (iVar5 == 0) {\n          ppcVar9[-1] = (char *)0xa7896;\n          iVar5 = FUN_0006aff0();\n          if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }\n        }\n        goto LAB_000a7644;\n      }\n      ppcVar9[-1] = (char *)0xa755d;\n      iVar5 = FUN_0006aff0();\n      if (iVar5 != 0) goto LAB_000a7644;\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      iVar5 = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[-4] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[-5] = (char *)0xa75ae;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }" { (expression_statement "piVar1 = *(int **)(**(int **)(local_64 + 4) + 0x3c);" (assignment_expression "piVar1 = *(int **)(**(int **)(local_64 + 4) + 0x3c)" identifier = (pointer_expression "*(int **)(**(int **)(local_64 + 4) + 0x3c)" * (cast_expression "(int **)(**(int **)(local_64 + 4) + 0x3c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(local_64 + 4) + 0x3c)" ( (binary_expression "**(int **)(local_64 + 4) + 0x3c" (pointer_expression "**(int **)(local_64 + 4)" * (pointer_expression "*(int **)(local_64 + 4)" * (cast_expression "(int **)(local_64 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_64 + 4)" ( (binary_expression "local_64 + 4" identifier + number_literal) ))))) + number_literal) ))))) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "iVar5 = *piVar1;" (assignment_expression "iVar5 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) (if_statement "if (iVar5 != 0) {\n        iVar5 = (**(code **)(iVar5 + 0x18))(piVar1,&local_54);\n        ppcVar9 = apcStack_a0 + 1;\n        if ((iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))) {\n          iVar5 = 1;\n          apcStack_a0[0] = (char *)0xa7644;\n          FUN_0002ec00();\n          goto LAB_000a7644;\n        }\n      }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar5 = (**(code **)(iVar5 + 0x18))(piVar1,&local_54);\n        ppcVar9 = apcStack_a0 + 1;\n        if ((iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))) {\n          iVar5 = 1;\n          apcStack_a0[0] = (char *)0xa7644;\n          FUN_0002ec00();\n          goto LAB_000a7644;\n        }\n      }" { (expression_statement "iVar5 = (**(code **)(iVar5 + 0x18))(piVar1,&local_54);" (assignment_expression "iVar5 = (**(code **)(iVar5 + 0x18))(piVar1,&local_54)" identifier = (call_expression "(**(code **)(iVar5 + 0x18))(piVar1,&local_54)" (parenthesized_expression "(**(code **)(iVar5 + 0x18))" ( (pointer_expression "**(code **)(iVar5 + 0x18)" * (pointer_expression "*(code **)(iVar5 + 0x18)" * (cast_expression "(code **)(iVar5 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0x18)" ( (binary_expression "iVar5 + 0x18" identifier + number_literal) ))))) )) (argument_list "(piVar1,&local_54)" ( identifier , (pointer_expression "&local_54" & identifier) )))) ;) (expression_statement "ppcVar9 = apcStack_a0 + 1;" (assignment_expression "ppcVar9 = apcStack_a0 + 1" identifier = (binary_expression "apcStack_a0 + 1" identifier + number_literal)) ;) (if_statement "if ((iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))) {\n          iVar5 = 1;\n          apcStack_a0[0] = (char *)0xa7644;\n          FUN_0002ec00();\n          goto LAB_000a7644;\n        }" if (parenthesized_expression "((iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0))))))" ( (binary_expression "(iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))" (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) || (parenthesized_expression "((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))" ( (parenthesized_expression "(-1 < local_50 && ((0 < local_50 || (local_54 != 0))))" ( (binary_expression "-1 < local_50 && ((0 < local_50 || (local_54 != 0)))" (binary_expression "-1 < local_50" number_literal < identifier) && (parenthesized_expression "((0 < local_50 || (local_54 != 0)))" ( (parenthesized_expression "(0 < local_50 || (local_54 != 0))" ( (binary_expression "0 < local_50 || (local_54 != 0)" (binary_expression "0 < local_50" number_literal < identifier) || (parenthesized_expression "(local_54 != 0)" ( (binary_expression "local_54 != 0" identifier != number_literal) ))) )) ))) )) ))) )) (compound_statement "{\n          iVar5 = 1;\n          apcStack_a0[0] = (char *)0xa7644;\n          FUN_0002ec00();\n          goto LAB_000a7644;\n        }" { (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (expression_statement "apcStack_a0[0] = (char *)0xa7644;" (assignment_expression "apcStack_a0[0] = (char *)0xa7644" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)0xa7644" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_0002ec00();" (call_expression "FUN_0002ec00()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_000a7644;" goto statement_identifier ;) })) })) (expression_statement "*(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) | 8;" (assignment_expression "*(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) | 8" (pointer_expression "*(uint *)(param_2 + 0x18)" * (cast_expression "(uint *)(param_2 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) )))) = (binary_expression "*(uint *)(param_2 + 0x18) | 8" (pointer_expression "*(uint *)(param_2 + 0x18)" * (cast_expression "(uint *)(param_2 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "apcStack_a0[0] = (char *)0xa73a5;" (assignment_expression "apcStack_a0[0] = (char *)0xa73a5" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)0xa73a5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_60 = FUN_000279c0();" (assignment_expression "local_60 = FUN_000279c0()" identifier = (call_expression "FUN_000279c0()" identifier (argument_list "()" ( )))) ;) (expression_statement "apcStack_a0[0] = (char *)0xa73c2;" (assignment_expression "apcStack_a0[0] = (char *)0xa73c2" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)0xa73c2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00027ef0();" (call_expression "FUN_00027ef0()" identifier (argument_list "()" ( ))) ;) (expression_statement "apcStack_a0[0] = (char *)0xa73cd;" (assignment_expression "apcStack_a0[0] = (char *)0xa73cd" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)0xa73cd" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00027fa0();" (call_expression "FUN_00027fa0()" identifier (argument_list "()" ( ))) ;) (expression_statement "apcStack_a0[0] = (char *)0xa73d6;" (assignment_expression "apcStack_a0[0] = (char *)0xa73d6" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)0xa73d6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00027fa0();" (call_expression "FUN_00027fa0()" identifier (argument_list "()" ( ))) ;) (expression_statement "apcStack_a0[0] = (char *)0xa73e2;" (assignment_expression "apcStack_a0[0] = (char *)0xa73e2" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)0xa73e2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_000280a0();" (call_expression "FUN_000280a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "apcStack_a0[0] = (char *)0xa73f1;" (assignment_expression "apcStack_a0[0] = (char *)0xa73f1" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)0xa73f1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar5 = FUN_000a7010();" (assignment_expression "iVar5 = FUN_000a7010()" identifier = (call_expression "FUN_000a7010()" identifier (argument_list "()" ( )))) ;) (expression_statement "ppcVar9 = apcStack_a0 + 1;" (assignment_expression "ppcVar9 = apcStack_a0 + 1" identifier = (binary_expression "apcStack_a0 + 1" identifier + number_literal)) ;) (if_statement "if (iVar5 != 0) goto LAB_000a7644;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a7644;" goto statement_identifier ;)) (labeled_statement "LAB_000a73fb:\n      apcStack_a0[0] = (char *)0xa7408;" statement_identifier : (expression_statement "apcStack_a0[0] = (char *)0xa7408;" (assignment_expression "apcStack_a0[0] = (char *)0xa7408" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)0xa7408" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "iVar5 = FUN_00062b70();" (assignment_expression "iVar5 = FUN_00062b70()" identifier = (call_expression "FUN_00062b70()" identifier (argument_list "()" ( )))) ;) (expression_statement "ppcVar9 = apcStack_a0 + 1;" (assignment_expression "ppcVar9 = apcStack_a0 + 1" identifier = (binary_expression "apcStack_a0 + 1" identifier + number_literal)) ;) (if_statement "if (iVar5 != 0) goto LAB_000a7644;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a7644;" goto statement_identifier ;)) (if_statement "if (*(char *)(**(int **)((int)local_90[1] + 4) + 5) == '\x05') {\n        *(undefined4 *)(param_2 + 0x58) = 0;\n      }" if (parenthesized_expression "(*(char *)(**(int **)((int)local_90[1] + 4) + 5) == '\x05')" ( (binary_expression "*(char *)(**(int **)((int)local_90[1] + 4) + 5) == '\x05'" (pointer_expression "*(char *)(**(int **)((int)local_90[1] + 4) + 5)" * (cast_expression "(char *)(**(int **)((int)local_90[1] + 4) + 5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)((int)local_90[1] + 4) + 5)" ( (binary_expression "**(int **)((int)local_90[1] + 4) + 5" (pointer_expression "**(int **)((int)local_90[1] + 4)" * (pointer_expression "*(int **)((int)local_90[1] + 4)" * (cast_expression "(int **)((int)local_90[1] + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_90[1] + 4)" ( (binary_expression "(int)local_90[1] + 4" (cast_expression "(int)local_90[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_90[1]" identifier [ number_literal ])) + number_literal) ))))) + number_literal) )))) == (char_literal "'\x05'" ' escape_sequence ')) )) (compound_statement "{\n        *(undefined4 *)(param_2 + 0x58) = 0;\n      }" { (expression_statement "*(undefined4 *)(param_2 + 0x58) = 0;" (assignment_expression "*(undefined4 *)(param_2 + 0x58) = 0" (pointer_expression "*(undefined4 *)(param_2 + 0x58)" * (cast_expression "(undefined4 *)(param_2 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x58)" ( (binary_expression "param_2 + 0x58" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "iVar5 = FUN_00041730(0);" (assignment_expression "iVar5 = FUN_00041730(0)" identifier = (call_expression "FUN_00041730(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (if_statement "if ((iVar5 != 0) ||\n         (((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0')))) {\n        iVar5 = 7;\n        ppcVar9 = apcStack_a0 + 1;\n        goto LAB_000a7644;\n      }" if (parenthesized_expression "((iVar5 != 0) ||\n         (((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0'))))" ( (binary_expression "(iVar5 != 0) ||\n         (((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0')))" (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) || (parenthesized_expression "(((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0')))" ( (parenthesized_expression "((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0'))" ( (binary_expression "(local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0')" (parenthesized_expression "(local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0))" ( (binary_expression "local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)" (binary_expression "local_65 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(iVar5 = FUN_00041730(0), iVar5 != 0)" ( (comma_expression "iVar5 = FUN_00041730(0), iVar5 != 0" (assignment_expression "iVar5 = FUN_00041730(0)" identifier = (call_expression "FUN_00041730(0)" identifier (argument_list "(0)" ( number_literal )))) , (binary_expression "iVar5 != 0" identifier != number_literal)) ))) )) || (parenthesized_expression "(*(char *)(param_2 + 0x4d) != '\0')" ( (binary_expression "*(char *)(param_2 + 0x4d) != '\0'" (pointer_expression "*(char *)(param_2 + 0x4d)" * (cast_expression "(char *)(param_2 + 0x4d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x4d)" ( (binary_expression "param_2 + 0x4d" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (compound_statement "{\n        iVar5 = 7;\n        ppcVar9 = apcStack_a0 + 1;\n        goto LAB_000a7644;\n      }" { (expression_statement "iVar5 = 7;" (assignment_expression "iVar5 = 7" identifier = number_literal) ;) (expression_statement "ppcVar9 = apcStack_a0 + 1;" (assignment_expression "ppcVar9 = apcStack_a0 + 1" identifier = (binary_expression "apcStack_a0 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_000a7644;" goto statement_identifier ;) })) (expression_statement "ppcVar9 = apcStack_a0 + 1;" (assignment_expression "ppcVar9 = apcStack_a0 + 1" identifier = (binary_expression "apcStack_a0 + 1" identifier + number_literal)) ;) (if_statement "if (*(char *)(param_2 + 0x50) < '\0') {\n        ppcVar9 = apcStack_a0;\n        apcStack_a0[0] = (char *)0xa7754;\n        entry();\n      }" if (parenthesized_expression "(*(char *)(param_2 + 0x50) < '\0')" ( (binary_expression "*(char *)(param_2 + 0x50) < '\0'" (pointer_expression "*(char *)(param_2 + 0x50)" * (cast_expression "(char *)(param_2 + 0x50)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x50)" ( (binary_expression "param_2 + 0x50" identifier + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        ppcVar9 = apcStack_a0;\n        apcStack_a0[0] = (char *)0xa7754;\n        entry();\n      }" { (expression_statement "ppcVar9 = apcStack_a0;" (assignment_expression "ppcVar9 = apcStack_a0" identifier = identifier) ;) (expression_statement "apcStack_a0[0] = (char *)0xa7754;" (assignment_expression "apcStack_a0[0] = (char *)0xa7754" (subscript_expression "apcStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(char *)0xa7754" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "entry();" (call_expression "entry()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppcVar9[-1] = (char *)0xa7472;" (assignment_expression "ppcVar9[-1] = (char *)0xa7472" (subscript_expression "ppcVar9[-1]" identifier [ number_literal ]) = (cast_expression "(char *)0xa7472" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00028170();" (call_expression "FUN_00028170()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppcVar9[-1] = ppcVar9[0xc];" (assignment_expression "ppcVar9[-1] = ppcVar9[0xc]" (subscript_expression "ppcVar9[-1]" identifier [ number_literal ]) = (subscript_expression "ppcVar9[0xc]" identifier [ number_literal ])) ;) (expression_statement "*(undefined1 *)(param_2 + 0xa0) = *(undefined1 *)(ppcVar9 + 8);" (assignment_expression "*(undefined1 *)(param_2 + 0xa0) = *(undefined1 *)(ppcVar9 + 8)" (pointer_expression "*(undefined1 *)(param_2 + 0xa0)" * (cast_expression "(undefined1 *)(param_2 + 0xa0)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xa0)" ( (binary_expression "param_2 + 0xa0" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)(ppcVar9 + 8)" * (cast_expression "(undefined1 *)(ppcVar9 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppcVar9 + 8)" ( (binary_expression "ppcVar9 + 8" identifier + number_literal) ))))) ;) (expression_statement "ppcVar9[-2] = (char *)(ppuVar8 + -0xbcc7);" (assignment_expression "ppcVar9[-2] = (char *)(ppuVar8 + -0xbcc7)" (subscript_expression "ppcVar9[-2]" identifier [ number_literal ]) = (cast_expression "(char *)(ppuVar8 + -0xbcc7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuVar8 + -0xbcc7)" ( (binary_expression "ppuVar8 + -0xbcc7" identifier + number_literal) )))) ;) (expression_statement "ppcVar9[-3] = (char *)param_1;" (assignment_expression "ppcVar9[-3] = (char *)param_1" (subscript_expression "ppcVar9[-3]" identifier [ number_literal ]) = (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppcVar9[-4] = (char *)param_2;" (assignment_expression "ppcVar9[-4] = (char *)param_2" (subscript_expression "ppcVar9[-4]" identifier [ number_literal ]) = (cast_expression "(char *)param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppcVar9[-5] = (char *)0xa748f;" (assignment_expression "ppcVar9[-5] = (char *)0xa748f" (subscript_expression "ppcVar9[-5]" identifier [ number_literal ]) = (cast_expression "(char *)0xa748f" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar5 = FUN_000a7160();" (assignment_expression "iVar5 = FUN_000a7160()" identifier = (call_expression "FUN_000a7160()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar5 != 0) goto LAB_000a7644;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a7644;" goto statement_identifier ;)) (expression_statement "ppcVar9[-1] = ppcVar9[0xc];" (assignment_expression "ppcVar9[-1] = ppcVar9[0xc]" (subscript_expression "ppcVar9[-1]" identifier [ number_literal ]) = (subscript_expression "ppcVar9[0xc]" identifier [ number_literal ])) ;) (expression_statement "ppcVar9[-2] = (char *)(ppuVar8 + -0xbcac);" (assignment_expression "ppcVar9[-2] = (char *)(ppuVar8 + -0xbcac)" (subscript_expression "ppcVar9[-2]" identifier [ number_literal ]) = (cast_expression "(char *)(ppuVar8 + -0xbcac)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuVar8 + -0xbcac)" ( (binary_expression "ppuVar8 + -0xbcac" identifier + number_literal) )))) ;) (expression_statement "ppcVar9[-3] = (char *)param_1;" (assignment_expression "ppcVar9[-3] = (char *)param_1" (subscript_expression "ppcVar9[-3]" identifier [ number_literal ]) = (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppcVar9[-4] = (char *)param_2;" (assignment_expression "ppcVar9[-4] = (char *)param_2" (subscript_expression "ppcVar9[-4]" identifier [ number_literal ]) = (cast_expression "(char *)param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppcVar9[-5] = (char *)0xa74ae;" (assignment_expression "ppcVar9[-5] = (char *)0xa74ae" (subscript_expression "ppcVar9[-5]" identifier [ number_literal ]) = (cast_expression "(char *)0xa74ae" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar5 = FUN_000a7160();" (assignment_expression "iVar5 = FUN_000a7160()" identifier = (call_expression "FUN_000a7160()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar5 != 0) goto LAB_000a7644;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a7644;" goto statement_identifier ;)) (expression_statement "ppcVar9[-1] = ppcVar9[0xc];" (assignment_expression "ppcVar9[-1] = ppcVar9[0xc]" (subscript_expression "ppcVar9[-1]" identifier [ number_literal ]) = (subscript_expression "ppcVar9[0xc]" identifier [ number_literal ])) ;) (expression_statement "*(undefined1 *)(param_2 + 0xa0) = 0;" (assignment_expression "*(undefined1 *)(param_2 + 0xa0) = 0" (pointer_expression "*(undefined1 *)(param_2 + 0xa0)" * (cast_expression "(undefined1 *)(param_2 + 0xa0)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xa0)" ( (binary_expression "param_2 + 0xa0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ppcVar9[-2] = (char *)(ppuVar8 + -0xbc9e);" (assignment_expression "ppcVar9[-2] = (char *)(ppuVar8 + -0xbc9e)" (subscript_expression "ppcVar9[-2]" identifier [ number_literal ]) = (cast_expression "(char *)(ppuVar8 + -0xbc9e)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuVar8 + -0xbc9e)" ( (binary_expression "ppuVar8 + -0xbc9e" identifier + number_literal) )))) ;) (expression_statement "ppcVar9[-3] = (char *)param_1;" (assignment_expression "ppcVar9[-3] = (char *)param_1" (subscript_expression "ppcVar9[-3]" identifier [ number_literal ]) = (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppcVar9[-4] = (char *)param_2;" (assignment_expression "ppcVar9[-4] = (char *)param_2" (subscript_expression "ppcVar9[-4]" identifier [ number_literal ]) = (cast_expression "(char *)param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppcVar9[-5] = (char *)0xa74d4;" (assignment_expression "ppcVar9[-5] = (char *)0xa74d4" (subscript_expression "ppcVar9[-5]" identifier [ number_literal ]) = (cast_expression "(char *)0xa74d4" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar5 = FUN_000a7160();" (assignment_expression "iVar5 = FUN_000a7160()" identifier = (call_expression "FUN_000a7160()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) & 0xfffffffb;" (assignment_expression "*(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) & 0xfffffffb" (pointer_expression "*(uint *)(param_2 + 0x18)" * (cast_expression "(uint *)(param_2 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) )))) = (binary_expression "*(uint *)(param_2 + 0x18) & 0xfffffffb" (pointer_expression "*(uint *)(param_2 + 0x18)" * (cast_expression "(uint *)(param_2 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) )))) & number_literal)) ;) (if_statement "if (iVar5 != 0) goto LAB_000a7644;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a7644;" goto statement_identifier ;)) (expression_statement "ppcVar9[-1] = ppcVar9[0xc];" (assignment_expression "ppcVar9[-1] = ppcVar9[0xc]" (subscript_expression "ppcVar9[-1]" identifier [ number_literal ]) = (subscript_expression "ppcVar9[0xc]" identifier [ number_literal ])) ;) (expression_statement "ppcVar9[-2] = (char *)(ppuVar8 + -0xbc78);" (assignment_expression "ppcVar9[-2] = (char *)(ppuVar8 + -0xbc78)" (subscript_expression "ppcVar9[-2]" identifier [ number_literal ]) = (cast_expression "(char *)(ppuVar8 + -0xbc78)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuVar8 + -0xbc78)" ( (binary_expression "ppuVar8 + -0xbc78" identifier + number_literal) )))) ;) (expression_statement "ppcVar9[-3] = (char *)param_1;" (assignment_expression "ppcVar9[-3] = (char *)param_1" (subscript_expression "ppcVar9[-3]" identifier [ number_literal ]) = (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppcVar9[-4] = (char *)param_2;" (assignment_expression "ppcVar9[-4] = (char *)param_2" (subscript_expression "ppcVar9[-4]" identifier [ number_literal ]) = (cast_expression "(char *)param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppcVar9[-5] = (char *)0xa74f7;" (assignment_expression "ppcVar9[-5] = (char *)0xa74f7" (subscript_expression "ppcVar9[-5]" identifier [ number_literal ]) = (cast_expression "(char *)0xa74f7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar5 = FUN_000a7160();" (assignment_expression "iVar5 = FUN_000a7160()" identifier = (call_expression "FUN_000a7160()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar5 != 0) goto LAB_000a7644;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a7644;" goto statement_identifier ;)) (expression_statement "ppcVar9[8] = (char *)(ppcVar9 + 0x11);" (assignment_expression "ppcVar9[8] = (char *)(ppcVar9 + 0x11)" (subscript_expression "ppcVar9[8]" identifier [ number_literal ]) = (cast_expression "(char *)(ppcVar9 + 0x11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppcVar9 + 0x11)" ( (binary_expression "ppcVar9 + 0x11" identifier + number_literal) )))) ;) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (do_statement "do {\n        ppcVar9[-1] = (char *)0xa7523;\n        FUN_000341f0();\n        ppcVar9[-1] = (char *)0xa753a;\n        iVar5 = FUN_000633c0();\n        if (iVar5 != 0) goto LAB_000a7644;\n        iVar10 = iVar10 + 2;\n      } while (iVar10 != 10);" do (compound_statement "{\n        ppcVar9[-1] = (char *)0xa7523;\n        FUN_000341f0();\n        ppcVar9[-1] = (char *)0xa753a;\n        iVar5 = FUN_000633c0();\n        if (iVar5 != 0) goto LAB_000a7644;\n        iVar10 = iVar10 + 2;\n      }" { (expression_statement "ppcVar9[-1] = (char *)0xa7523;" (assignment_expression "ppcVar9[-1] = (char *)0xa7523" (subscript_expression "ppcVar9[-1]" identifier [ number_literal ]) = (cast_expression "(char *)0xa7523" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_000341f0();" (call_expression "FUN_000341f0()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppcVar9[-1] = (char *)0xa753a;" (assignment_expression "ppcVar9[-1] = (char *)0xa753a" (subscript_expression "ppcVar9[-1]" identifier [ number_literal ]) = (cast_expression "(char *)0xa753a" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar5 = FUN_000633c0();" (assignment_expression "iVar5 = FUN_000633c0()" identifier = (call_expression "FUN_000633c0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar5 != 0) goto LAB_000a7644;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a7644;" goto statement_identifier ;)) (expression_statement "iVar10 = iVar10 + 2;" (assignment_expression "iVar10 = iVar10 + 2" identifier = (binary_expression "iVar10 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar10 != 10)" ( (binary_expression "iVar10 != 10" identifier != number_literal) )) ;) (if_statement "if (*ppcVar9 == (char *)0x0) {\n        if (ppcVar9[4][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7778;\n          FUN_00027820();\n        }\n        if (ppcVar9[0xe][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7787;\n          FUN_00027820();\n        }\n        iVar5 = **(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        *ppcVar9 = (char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        if (iVar5 == 0) {\nLAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;\n          ppcVar12 = ppcVar11;\n          for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }\n          pcVar7 = *(char **)ppcVar9[0xe];\n          ppcVar9[0x18] = ppcVar9[0xe];\n          ppcVar9[0x16] = (char *)0x1;\n          ppcVar9[0x17] = pcVar7;\n          pcVar7 = ppcVar9[4];\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = pcVar7;\n          ppcVar9[-3] = (char *)0x7fffffff;\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7820;\n          sqlite3_backup_step();\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7828;\n          iVar5 = sqlite3_backup_finish();\n          if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }\n        }\n        else {\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }\n        pcVar7 = ppcVar9[0xe];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }\n        }\n        pcVar7 = ppcVar9[4];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }\n        }\n        if (iVar5 == 0) {\n          ppcVar9[-1] = (char *)0xa7896;\n          iVar5 = FUN_0006aff0();\n          if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }\n        }\n        goto LAB_000a7644;\n      }" if (parenthesized_expression "(*ppcVar9 == (char *)0x0)" ( (binary_expression "*ppcVar9 == (char *)0x0" (pointer_expression "*ppcVar9" * identifier) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (ppcVar9[4][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7778;\n          FUN_00027820();\n        }\n        if (ppcVar9[0xe][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7787;\n          FUN_00027820();\n        }\n        iVar5 = **(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        *ppcVar9 = (char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        if (iVar5 == 0) {\nLAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;\n          ppcVar12 = ppcVar11;\n          for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }\n          pcVar7 = *(char **)ppcVar9[0xe];\n          ppcVar9[0x18] = ppcVar9[0xe];\n          ppcVar9[0x16] = (char *)0x1;\n          ppcVar9[0x17] = pcVar7;\n          pcVar7 = ppcVar9[4];\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = pcVar7;\n          ppcVar9[-3] = (char *)0x7fffffff;\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7820;\n          sqlite3_backup_step();\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7828;\n          iVar5 = sqlite3_backup_finish();\n          if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }\n        }\n        else {\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }\n        pcVar7 = ppcVar9[0xe];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }\n        }\n        pcVar7 = ppcVar9[4];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }\n        }\n        if (iVar5 == 0) {\n          ppcVar9[-1] = (char *)0xa7896;\n          iVar5 = FUN_0006aff0();\n          if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }\n        }\n        goto LAB_000a7644;\n      }" { (if_statement "if (ppcVar9[4][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7778;\n          FUN_00027820();\n        }" if (parenthesized_expression "(ppcVar9[4][9] != '\0')" ( (binary_expression "ppcVar9[4][9] != '\0'" (subscript_expression "ppcVar9[4][9]" (subscript_expression "ppcVar9[4]" identifier [ number_literal ]) [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          ppcVar9[-1] = (char *)0xa7778;\n          FUN_00027820();\n        }" { (expression_statement "ppcVar9[-1] = (char *)0xa7778;" (assignment_expression "ppcVar9[-1] = (char *)0xa7778" (subscript_expression "ppcVar9[-1]" identifier [ number_literal ]) = (cast_expression "(char *)0xa7778" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00027820();" (call_expression "FUN_00027820()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (ppcVar9[0xe][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7787;\n          FUN_00027820();\n        }" if (parenthesized_expression "(ppcVar9[0xe][9] != '\0')" ( (binary_expression "ppcVar9[0xe][9] != '\0'" (subscript_expression "ppcVar9[0xe][9]" (subscript_expression "ppcVar9[0xe]" identifier [ number_literal ]) [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          ppcVar9[-1] = (char *)0xa7787;\n          FUN_00027820();\n        }" { (expression_statement "ppcVar9[-1] = (char *)0xa7787;" (assignment_expression "ppcVar9[-1] = (char *)0xa7787" (subscript_expression "ppcVar9[-1]" identifier [ number_literal ]) = (cast_expression "(char *)0xa7787" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00027820();" (call_expression "FUN_00027820()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar5 = **(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);" (assignment_expression "iVar5 = **(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c)" identifier = (pointer_expression "**(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c)" * (pointer_expression "*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c)" * (cast_expression "(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(ppcVar9[4] + 4) + 0x3c)" ( (binary_expression "**(int **)(ppcVar9[4] + 4) + 0x3c" (pointer_expression "**(int **)(ppcVar9[4] + 4)" * (pointer_expression "*(int **)(ppcVar9[4] + 4)" * (cast_expression "(int **)(ppcVar9[4] + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(ppcVar9[4] + 4)" ( (binary_expression "ppcVar9[4] + 4" (subscript_expression "ppcVar9[4]" identifier [ number_literal ]) + number_literal) ))))) + number_literal) )))))) ;) (expression_statement "*ppcVar9 = (char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);" (assignment_expression "*ppcVar9 = (char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c)" (pointer_expression "*ppcVar9" * identifier) = (cast_expression "(char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c)" * (cast_expression "(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(ppcVar9[4] + 4) + 0x3c)" ( (binary_expression "**(int **)(ppcVar9[4] + 4) + 0x3c" (pointer_expression "**(int **)(ppcVar9[4] + 4)" * (pointer_expression "*(int **)(ppcVar9[4] + 4)" * (cast_expression "(int **)(ppcVar9[4] + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(ppcVar9[4] + 4)" ( (binary_expression "ppcVar9[4] + 4" (subscript_expression "ppcVar9[4]" identifier [ number_literal ]) + number_literal) ))))) + number_literal) )))))) ;) (if_statement "if (iVar5 == 0) {\nLAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;\n          ppcVar12 = ppcVar11;\n          for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }\n          pcVar7 = *(char **)ppcVar9[0xe];\n          ppcVar9[0x18] = ppcVar9[0xe];\n          ppcVar9[0x16] = (char *)0x1;\n          ppcVar9[0x17] = pcVar7;\n          pcVar7 = ppcVar9[4];\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = pcVar7;\n          ppcVar9[-3] = (char *)0x7fffffff;\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7820;\n          sqlite3_backup_step();\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7828;\n          iVar5 = sqlite3_backup_finish();\n          if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }\n        }\n        else {\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;\n          ppcVar12 = ppcVar11;\n          for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }\n          pcVar7 = *(char **)ppcVar9[0xe];\n          ppcVar9[0x18] = ppcVar9[0xe];\n          ppcVar9[0x16] = (char *)0x1;\n          ppcVar9[0x17] = pcVar7;\n          pcVar7 = ppcVar9[4];\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = pcVar7;\n          ppcVar9[-3] = (char *)0x7fffffff;\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7820;\n          sqlite3_backup_step();\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7828;\n          iVar5 = sqlite3_backup_finish();\n          if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }\n        }" { (labeled_statement "LAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;" statement_identifier : (expression_statement "ppcVar11 = ppcVar9 + 0x12;" (assignment_expression "ppcVar11 = ppcVar9 + 0x12" identifier = (binary_expression "ppcVar9 + 0x12" identifier + number_literal)) ;)) (expression_statement "ppcVar12 = ppcVar11;" (assignment_expression "ppcVar12 = ppcVar11" identifier = identifier) ;) (for_statement "for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }" for ( (assignment_expression "iVar5 = 0xc" identifier = number_literal) ; (binary_expression "iVar5 != 0" identifier != number_literal) ; (assignment_expression "iVar5 = iVar5 + -1" identifier = (binary_expression "iVar5 + -1" identifier + number_literal)) ) (compound_statement "{\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }" { (expression_statement "*ppcVar12 = (char *)0x0;" (assignment_expression "*ppcVar12 = (char *)0x0" (pointer_expression "*ppcVar12" * identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;" (assignment_expression "ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1" identifier = (binary_expression "ppcVar12 + (uint)bVar13 * -2 + 1" (binary_expression "ppcVar12 + (uint)bVar13 * -2" identifier + (binary_expression "(uint)bVar13 * -2" (cast_expression "(uint)bVar13" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "pcVar7 = *(char **)ppcVar9[0xe];" (assignment_expression "pcVar7 = *(char **)ppcVar9[0xe]" identifier = (pointer_expression "*(char **)ppcVar9[0xe]" * (cast_expression "(char **)ppcVar9[0xe]" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "ppcVar9[0xe]" identifier [ number_literal ])))) ;) (expression_statement "ppcVar9[0x18] = ppcVar9[0xe];" (assignment_expression "ppcVar9[0x18] = ppcVar9[0xe]" (subscript_expression "ppcVar9[0x18]" identifier [ number_literal ]) = (subscript_expression "ppcVar9[0xe]" identifier [ number_literal ])) ;) (expression_statement "ppcVar9[0x16] = (char *)0x1;" (assignment_expression "ppcVar9[0x16] = (char *)0x1" (subscript_expression "ppcVar9[0x16]" identifier [ number_literal ]) = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppcVar9[0x17] = pcVar7;" (assignment_expression "ppcVar9[0x17] = pcVar7" (subscript_expression "ppcVar9[0x17]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pcVar7 = ppcVar9[4];" (assignment_expression "pcVar7 = ppcVar9[4]" identifier = (subscript_expression "ppcVar9[4]" identifier [ number_literal ])) ;) (expression_statement "ppcVar9[0x13] = pcVar7;" (assignment_expression "ppcVar9[0x13] = pcVar7" (subscript_expression "ppcVar9[0x13]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppcVar9[-1] = pcVar7;" (assignment_expression "ppcVar9[-1] = pcVar7" (subscript_expression "ppcVar9[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppcVar9[-2] = pcVar7;" (assignment_expression "ppcVar9[-2] = pcVar7" (subscript_expression "ppcVar9[-2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppcVar9[-3] = (char *)0x7fffffff;" (assignment_expression "ppcVar9[-3] = (char *)0x7fffffff" (subscript_expression "ppcVar9[-3]" identifier [ number_literal ]) = (cast_expression "(char *)0x7fffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppcVar9[-4] = (char *)ppcVar11;" (assignment_expression "ppcVar9[-4] = (char *)ppcVar11" (subscript_expression "ppcVar9[-4]" identifier [ number_literal ]) = (cast_expression "(char *)ppcVar11" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppcVar9[-5] = (char *)0xa7820;" (assignment_expression "ppcVar9[-5] = (char *)0xa7820" (subscript_expression "ppcVar9[-5]" identifier [ number_literal ]) = (cast_expression "(char *)0xa7820" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sqlite3_backup_step();" (call_expression "sqlite3_backup_step()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppcVar9[-4] = (char *)ppcVar11;" (assignment_expression "ppcVar9[-4] = (char *)ppcVar11" (subscript_expression "ppcVar9[-4]" identifier [ number_literal ]) = (cast_expression "(char *)ppcVar11" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppcVar9[-5] = (char *)0xa7828;" (assignment_expression "ppcVar9[-5] = (char *)0xa7828" (subscript_expression "ppcVar9[-5]" identifier [ number_literal ]) = (cast_expression "(char *)0xa7828" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar5 = sqlite3_backup_finish();" (assignment_expression "iVar5 = sqlite3_backup_finish()" identifier = (call_expression "sqlite3_backup_finish()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }" { (expression_statement "*(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;" (assignment_expression "*(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd" (pointer_expression "*(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18)" * (cast_expression "(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(ppcVar9[4] + 4) + 0x18)" ( (binary_expression "*(int *)(ppcVar9[4] + 4) + 0x18" (pointer_expression "*(int *)(ppcVar9[4] + 4)" * (cast_expression "(int *)(ppcVar9[4] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppcVar9[4] + 4)" ( (binary_expression "ppcVar9[4] + 4" (subscript_expression "ppcVar9[4]" identifier [ number_literal ]) + number_literal) )))) + number_literal) )))) = (binary_expression "*(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd" (pointer_expression "*(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18)" * (cast_expression "(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(ppcVar9[4] + 4) + 0x18)" ( (binary_expression "*(int *)(ppcVar9[4] + 4) + 0x18" (pointer_expression "*(int *)(ppcVar9[4] + 4)" * (cast_expression "(int *)(ppcVar9[4] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppcVar9[4] + 4)" ( (binary_expression "ppcVar9[4] + 4" (subscript_expression "ppcVar9[4]" identifier [ number_literal ]) + number_literal) )))) + number_literal) )))) & number_literal)) ;) }) (else_clause "else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }" else (if_statement "if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }" if (parenthesized_expression "(*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0')" ( (binary_expression "*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0'" (pointer_expression "*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc)" * (cast_expression "(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(ppcVar9[0x13] + 4) + 0xc)" ( (binary_expression "**(int **)(ppcVar9[0x13] + 4) + 0xc" (pointer_expression "**(int **)(ppcVar9[0x13] + 4)" * (pointer_expression "*(int **)(ppcVar9[0x13] + 4)" * (cast_expression "(int **)(ppcVar9[0x13] + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(ppcVar9[0x13] + 4)" ( (binary_expression "ppcVar9[0x13] + 4" (subscript_expression "ppcVar9[0x13]" identifier [ number_literal ]) + number_literal) ))))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }" { (expression_statement "ppcVar9[-1] = (char *)0xa78ee;" (assignment_expression "ppcVar9[-1] = (char *)0xa78ee" (subscript_expression "ppcVar9[-1]" identifier [ number_literal ]) = (cast_expression "(char *)0xa78ee" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00026f50();" (call_expression "FUN_00026f50()" identifier (argument_list "()" ( ))) ;) })))) }) (else_clause "else {\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }" else (compound_statement "{\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }" { (expression_statement "pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);" (assignment_expression "pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24)" identifier = (pointer_expression "*(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24)" * (cast_expression "(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(ppcVar9[0xe] + 4) + 0x24)" ( (binary_expression "*(int *)(ppcVar9[0xe] + 4) + 0x24" (pointer_expression "*(int *)(ppcVar9[0xe] + 4)" * (cast_expression "(int *)(ppcVar9[0xe] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppcVar9[0xe] + 4)" ( (binary_expression "ppcVar9[0xe] + 4" (subscript_expression "ppcVar9[0xe]" identifier [ number_literal ]) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);" (assignment_expression "uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30)" identifier = (pointer_expression "*(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30)" * (cast_expression "(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(ppcVar9[0xe] + 4) + 0x30)" ( (binary_expression "*(int *)(ppcVar9[0xe] + 4) + 0x30" (pointer_expression "*(int *)(ppcVar9[0xe] + 4)" * (cast_expression "(int *)(ppcVar9[0xe] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppcVar9[0xe] + 4)" ( (binary_expression "ppcVar9[0xe] + 4" (subscript_expression "ppcVar9[0xe]" identifier [ number_literal ]) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "ppcVar9[8] = pcVar7;" (assignment_expression "ppcVar9[8] = pcVar7" (subscript_expression "ppcVar9[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);" (assignment_expression "ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f)" (subscript_expression "ppcVar9[9]" identifier [ number_literal ]) = (cast_expression "(char *)((int)pcVar7 >> 0x1f)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pcVar7 >> 0x1f)" ( (binary_expression "(int)pcVar7 >> 0x1f" (cast_expression "(int)pcVar7" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) (expression_statement "lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);" (assignment_expression "lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7)" identifier = (binary_expression "(ulonglong)uVar2 * ZEXT48(pcVar7)" (cast_expression "(ulonglong)uVar2" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * (call_expression "ZEXT48(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier ))))) ;) (expression_statement "pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);" (assignment_expression "pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2)" identifier = (cast_expression "(char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2)" ( (binary_expression "(int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2" (cast_expression "(int)((ulonglong)lVar4 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar4 >> 0x20)" ( (binary_expression "(ulonglong)lVar4 >> 0x20" (cast_expression "(ulonglong)lVar4" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) + (binary_expression "(int)ppcVar9[9] * uVar2" (cast_expression "(int)ppcVar9[9]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppcVar9[9]" identifier [ number_literal ])) * identifier)) )))) ;) (expression_statement "ppcVar9[0x12] = (char *)lVar4;" (assignment_expression "ppcVar9[0x12] = (char *)lVar4" (subscript_expression "ppcVar9[0x12]" identifier [ number_literal ]) = (cast_expression "(char *)lVar4" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppcVar9[0x13] = pcVar7;" (assignment_expression "ppcVar9[0x13] = pcVar7" (subscript_expression "ppcVar9[0x13]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppcVar9[-1] = pcVar7;" (assignment_expression "ppcVar9[-1] = pcVar7" (subscript_expression "ppcVar9[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppcVar9[-2] = (char *)(ppcVar9 + 0x12);" (assignment_expression "ppcVar9[-2] = (char *)(ppcVar9 + 0x12)" (subscript_expression "ppcVar9[-2]" identifier [ number_literal ]) = (cast_expression "(char *)(ppcVar9 + 0x12)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppcVar9 + 0x12)" ( (binary_expression "ppcVar9 + 0x12" identifier + number_literal) )))) ;) (expression_statement "ppcVar9[-3] = (char *)0xb;" (assignment_expression "ppcVar9[-3] = (char *)0xb" (subscript_expression "ppcVar9[-3]" identifier [ number_literal ]) = (cast_expression "(char *)0xb" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppcVar9[-4] = *ppcVar9;" (assignment_expression "ppcVar9[-4] = *ppcVar9" (subscript_expression "ppcVar9[-4]" identifier [ number_literal ]) = (pointer_expression "*ppcVar9" * identifier)) ;) (expression_statement "pcVar3 = *(code **)(iVar5 + 0x28);" (assignment_expression "pcVar3 = *(code **)(iVar5 + 0x28)" identifier = (pointer_expression "*(code **)(iVar5 + 0x28)" * (cast_expression "(code **)(iVar5 + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0x28)" ( (binary_expression "iVar5 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "ppcVar9[-5] = (char *)0xa77dc;" (assignment_expression "ppcVar9[-5] = (char *)0xa77dc" (subscript_expression "ppcVar9[-5]" identifier [ number_literal ]) = (cast_expression "(char *)0xa77dc" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar5 = (*pcVar3)();" (assignment_expression "iVar5 = (*pcVar3)()" identifier = (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( )))) ;) (if_statement "if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;" if (parenthesized_expression "((iVar5 == 0xc) || (iVar5 == 0))" ( (binary_expression "(iVar5 == 0xc) || (iVar5 == 0)" (parenthesized_expression "(iVar5 == 0xc)" ( (binary_expression "iVar5 == 0xc" identifier == number_literal) )) || (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) ))) )) (goto_statement "goto LAB_000a77ea;" goto statement_identifier ;)) }))) (expression_statement "pcVar7 = ppcVar9[0xe];" (assignment_expression "pcVar7 = ppcVar9[0xe]" identifier = (subscript_expression "ppcVar9[0xe]" identifier [ number_literal ])) ;) (if_statement "if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }\n        }" if (parenthesized_expression "(pcVar7[9] != '\0')" ( (binary_expression "pcVar7[9] != '\0'" (subscript_expression "pcVar7[9]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }\n        }" { (expression_statement "iVar10 = *(int *)(pcVar7 + 0xc);" (assignment_expression "iVar10 = *(int *)(pcVar7 + 0xc)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xc)" * (cast_expression "(int *)(pcVar7 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xc)" ( (binary_expression "pcVar7 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*ppcVar9 = (char *)iVar10;" (assignment_expression "*ppcVar9 = (char *)iVar10" (pointer_expression "*ppcVar9" * identifier) = (cast_expression "(char *)iVar10" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" identifier = (binary_expression "iVar10 + -1" identifier + number_literal)) ;) (expression_statement "*(int *)(pcVar7 + 0xc) = iVar10;" (assignment_expression "*(int *)(pcVar7 + 0xc) = iVar10" (pointer_expression "*(int *)(pcVar7 + 0xc)" * (cast_expression "(int *)(pcVar7 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xc)" ( (binary_expression "pcVar7 + 0xc" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }" { (expression_statement "ppcVar9[-1] = (char *)0xa7862;" (assignment_expression "ppcVar9[-1] = (char *)0xa7862" (subscript_expression "ppcVar9[-1]" identifier [ number_literal ]) = (cast_expression "(char *)0xa7862" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_000278b0();" (call_expression "FUN_000278b0()" identifier (argument_list "()" ( ))) ;) })) })) (expression_statement "pcVar7 = ppcVar9[4];" (assignment_expression "pcVar7 = ppcVar9[4]" identifier = (subscript_expression "ppcVar9[4]" identifier [ number_literal ])) ;) (if_statement "if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }\n        }" if (parenthesized_expression "(pcVar7[9] != '\0')" ( (binary_expression "pcVar7[9] != '\0'" (subscript_expression "pcVar7[9]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }\n        }" { (expression_statement "iVar10 = *(int *)(pcVar7 + 0xc);" (assignment_expression "iVar10 = *(int *)(pcVar7 + 0xc)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xc)" * (cast_expression "(int *)(pcVar7 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xc)" ( (binary_expression "pcVar7 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*ppcVar9 = (char *)iVar10;" (assignment_expression "*ppcVar9 = (char *)iVar10" (pointer_expression "*ppcVar9" * identifier) = (cast_expression "(char *)iVar10" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" identifier = (binary_expression "iVar10 + -1" identifier + number_literal)) ;) (expression_statement "*(int *)(pcVar7 + 0xc) = iVar10;" (assignment_expression "*(int *)(pcVar7 + 0xc) = iVar10" (pointer_expression "*(int *)(pcVar7 + 0xc)" * (cast_expression "(int *)(pcVar7 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xc)" ( (binary_expression "pcVar7 + 0xc" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }" { (expression_statement "ppcVar9[-1] = (char *)0xa7883;" (assignment_expression "ppcVar9[-1] = (char *)0xa7883" (subscript_expression "ppcVar9[-1]" identifier [ number_literal ]) = (cast_expression "(char *)0xa7883" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_000278b0();" (call_expression "FUN_000278b0()" identifier (argument_list "()" ( ))) ;) })) })) (if_statement "if (iVar5 == 0) {\n          ppcVar9[-1] = (char *)0xa7896;\n          iVar5 = FUN_0006aff0();\n          if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }\n        }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n          ppcVar9[-1] = (char *)0xa7896;\n          iVar5 = FUN_0006aff0();\n          if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }\n        }" { (expression_statement "ppcVar9[-1] = (char *)0xa7896;" (assignment_expression "ppcVar9[-1] = (char *)0xa7896" (subscript_expression "ppcVar9[-1]" identifier [ number_literal ]) = (cast_expression "(char *)0xa7896" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar5 = FUN_0006aff0();" (assignment_expression "iVar5 = FUN_0006aff0()" identifier = (call_expression "FUN_0006aff0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }" { (expression_statement "ppcVar9[-1] = (char *)0xa78a9;" (assignment_expression "ppcVar9[-1] = (char *)0xa78a9" (subscript_expression "ppcVar9[-1]" identifier [ number_literal ]) = (cast_expression "(char *)0xa78a9" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "entry();" (call_expression "entry()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppcVar9[-2] = (char *)0xa78b6;" (assignment_expression "ppcVar9[-2] = (char *)0xa78b6" (subscript_expression "ppcVar9[-2]" identifier [ number_literal ]) = (cast_expression "(char *)0xa78b6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00028170();" (call_expression "FUN_00028170()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppcVar9[-5] = (char *)0x1;" (assignment_expression "ppcVar9[-5] = (char *)0x1" (subscript_expression "ppcVar9[-5]" identifier [ number_literal ]) = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppcVar9[-6] = (char *)0xa78cc;" (assignment_expression "ppcVar9[-6] = (char *)0xa78cc" (subscript_expression "ppcVar9[-6]" identifier [ number_literal ]) = (cast_expression "(char *)0xa78cc" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar5 = FUN_00041730();" (assignment_expression "iVar5 = FUN_00041730()" identifier = (call_expression "FUN_00041730()" identifier (argument_list "()" ( )))) ;) (expression_statement "ppcVar9 = ppcVar9 + -1;" (assignment_expression "ppcVar9 = ppcVar9 + -1" identifier = (binary_expression "ppcVar9 + -1" identifier + number_literal)) ;) })) })) (goto_statement "goto LAB_000a7644;" goto statement_identifier ;) })) (expression_statement "ppcVar9[-1] = (char *)0xa755d;" (assignment_expression "ppcVar9[-1] = (char *)0xa755d" (subscript_expression "ppcVar9[-1]" identifier [ number_literal ]) = (cast_expression "(char *)0xa755d" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar5 = FUN_0006aff0();" (assignment_expression "iVar5 = FUN_0006aff0()" identifier = (call_expression "FUN_0006aff0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar5 != 0) goto LAB_000a7644;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a7644;" goto statement_identifier ;)) (expression_statement "pcVar7 = ppcVar9[5];" (assignment_expression "pcVar7 = ppcVar9[5]" identifier = (subscript_expression "ppcVar9[5]" identifier [ number_literal ])) ;) (expression_statement "*(undefined1 *)(param_2 + 0xa0) = 0;" (assignment_expression "*(undefined1 *)(param_2 + 0xa0) = 0" (pointer_expression "*(undefined1 *)(param_2 + 0xa0)" * (cast_expression "(undefined1 *)(param_2 + 0xa0)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xa0)" ( (binary_expression "param_2 + 0xa0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (expression_statement "*(char **)(param_2 + 0x18) = pcVar7;" (assignment_expression "*(char **)(param_2 + 0x18) = pcVar7" (pointer_expression "*(char **)(param_2 + 0x18)" * (cast_expression "(char **)(param_2 + 0x18)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(param_2 + 0x1c) = ppcVar9[1];" (assignment_expression "*(char **)(param_2 + 0x1c) = ppcVar9[1]" (pointer_expression "*(char **)(param_2 + 0x1c)" * (cast_expression "(char **)(param_2 + 0x1c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) )))) = (subscript_expression "ppcVar9[1]" identifier [ number_literal ])) ;) (expression_statement "*(char **)(param_2 + 0x20) = ppcVar9[2];" (assignment_expression "*(char **)(param_2 + 0x20) = ppcVar9[2]" (pointer_expression "*(char **)(param_2 + 0x20)" * (cast_expression "(char **)(param_2 + 0x20)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x20)" ( (binary_expression "param_2 + 0x20" identifier + number_literal) )))) = (subscript_expression "ppcVar9[2]" identifier [ number_literal ])) ;) (expression_statement "*(char **)(param_2 + 0x60) = ppcVar9[6];" (assignment_expression "*(char **)(param_2 + 0x60) = ppcVar9[6]" (pointer_expression "*(char **)(param_2 + 0x60)" * (cast_expression "(char **)(param_2 + 0x60)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x60)" ( (binary_expression "param_2 + 0x60" identifier + number_literal) )))) = (subscript_expression "ppcVar9[6]" identifier [ number_literal ])) ;) (expression_statement "*(char **)(param_2 + 100) = ppcVar9[7];" (assignment_expression "*(char **)(param_2 + 100) = ppcVar9[7]" (pointer_expression "*(char **)(param_2 + 100)" * (cast_expression "(char **)(param_2 + 100)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 100)" ( (binary_expression "param_2 + 100" identifier + number_literal) )))) = (subscript_expression "ppcVar9[7]" identifier [ number_literal ])) ;) (expression_statement "ppcVar9[-4] = (char *)0x1;" (assignment_expression "ppcVar9[-4] = (char *)0x1" (subscript_expression "ppcVar9[-4]" identifier [ number_literal ]) = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);" (assignment_expression "*(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b)" (pointer_expression "*(undefined1 *)(param_2 + 0x54)" * (cast_expression "(undefined1 *)(param_2 + 0x54)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x54)" ( (binary_expression "param_2 + 0x54" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)((int)ppcVar9 + 0x2b)" * (cast_expression "(undefined1 *)((int)ppcVar9 + 0x2b)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar9 + 0x2b)" ( (binary_expression "(int)ppcVar9 + 0x2b" (cast_expression "(int)ppcVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "ppcVar9[-5] = (char *)0xa75ae;" (assignment_expression "ppcVar9[-5] = (char *)0xa75ae" (subscript_expression "ppcVar9[-5]" identifier [ number_literal ]) = (cast_expression "(char *)0xa75ae" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00041730();" (call_expression "FUN_00041730()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined1 *)(param_2 + 0x4b) = 1;" (assignment_expression "*(undefined1 *)(param_2 + 0x4b) = 1" (pointer_expression "*(undefined1 *)(param_2 + 0x4b)" * (cast_expression "(undefined1 *)(param_2 + 0x4b)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x4b)" ( (binary_expression "param_2 + 0x4b" identifier + number_literal) )))) = number_literal) ;) }))) (expression_statement "iVar10 = *(int *)((int)ppcVar9 + 0xc);" (assignment_expression "iVar10 = *(int *)((int)ppcVar9 + 0xc)" identifier = (pointer_expression "*(int *)((int)ppcVar9 + 0xc)" * (cast_expression "(int *)((int)ppcVar9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar9 + 0xc)" ( (binary_expression "(int)ppcVar9 + 0xc" (cast_expression "(int)ppcVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)ppcVar9 + -4) = 0xa769e;" (assignment_expression "*(undefined4 *)((int)ppcVar9 + -4) = 0xa769e" (pointer_expression "*(undefined4 *)((int)ppcVar9 + -4)" * (cast_expression "(undefined4 *)((int)ppcVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar9 + -4)" ( (binary_expression "(int)ppcVar9 + -4" (cast_expression "(int)ppcVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0006de60();" (call_expression "FUN_0006de60()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(iVar10 + 4) = 0;" (assignment_expression "*(undefined4 *)(iVar10 + 4) = 0" (pointer_expression "*(undefined4 *)(iVar10 + 4)" * (cast_expression "(undefined4 *)(iVar10 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 4)" ( (binary_expression "iVar10 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar10 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(iVar10 + 0xc) = 0" (pointer_expression "*(undefined4 *)(iVar10 + 0xc)" * (cast_expression "(undefined4 *)(iVar10 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0xc)" ( (binary_expression "iVar10 + 0xc" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n    *(undefined1 *)(param_2 + 0xa0) = 0;\n    *(char **)(param_2 + 0x18) = local_90[2];\n    *(uint *)(param_2 + 0x1c) = local_98[0];\n    *(uint *)(param_2 + 0x20) = local_98[1];\n    *(char **)(param_2 + 0x60) = local_90[3];\n    *(char **)(param_2 + 100) = local_90[4];\n    *(undefined1 *)(param_2 + 0x54) = local_71;\n    FUN_00041730(1);\n    *(undefined1 *)(param_2 + 0x4b) = 1;\n    ppcVar9 = apcStack_a0 + 1;\n  }" else (compound_statement "{\n    *(undefined1 *)(param_2 + 0xa0) = 0;\n    *(char **)(param_2 + 0x18) = local_90[2];\n    *(uint *)(param_2 + 0x1c) = local_98[0];\n    *(uint *)(param_2 + 0x20) = local_98[1];\n    *(char **)(param_2 + 0x60) = local_90[3];\n    *(char **)(param_2 + 100) = local_90[4];\n    *(undefined1 *)(param_2 + 0x54) = local_71;\n    FUN_00041730(1);\n    *(undefined1 *)(param_2 + 0x4b) = 1;\n    ppcVar9 = apcStack_a0 + 1;\n  }" { (expression_statement "*(undefined1 *)(param_2 + 0xa0) = 0;" (assignment_expression "*(undefined1 *)(param_2 + 0xa0) = 0" (pointer_expression "*(undefined1 *)(param_2 + 0xa0)" * (cast_expression "(undefined1 *)(param_2 + 0xa0)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xa0)" ( (binary_expression "param_2 + 0xa0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(param_2 + 0x18) = local_90[2];" (assignment_expression "*(char **)(param_2 + 0x18) = local_90[2]" (pointer_expression "*(char **)(param_2 + 0x18)" * (cast_expression "(char **)(param_2 + 0x18)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) )))) = (subscript_expression "local_90[2]" identifier [ number_literal ])) ;) (expression_statement "*(uint *)(param_2 + 0x1c) = local_98[0];" (assignment_expression "*(uint *)(param_2 + 0x1c) = local_98[0]" (pointer_expression "*(uint *)(param_2 + 0x1c)" * (cast_expression "(uint *)(param_2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) )))) = (subscript_expression "local_98[0]" identifier [ number_literal ])) ;) (expression_statement "*(uint *)(param_2 + 0x20) = local_98[1];" (assignment_expression "*(uint *)(param_2 + 0x20) = local_98[1]" (pointer_expression "*(uint *)(param_2 + 0x20)" * (cast_expression "(uint *)(param_2 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x20)" ( (binary_expression "param_2 + 0x20" identifier + number_literal) )))) = (subscript_expression "local_98[1]" identifier [ number_literal ])) ;) (expression_statement "*(char **)(param_2 + 0x60) = local_90[3];" (assignment_expression "*(char **)(param_2 + 0x60) = local_90[3]" (pointer_expression "*(char **)(param_2 + 0x60)" * (cast_expression "(char **)(param_2 + 0x60)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x60)" ( (binary_expression "param_2 + 0x60" identifier + number_literal) )))) = (subscript_expression "local_90[3]" identifier [ number_literal ])) ;) (expression_statement "*(char **)(param_2 + 100) = local_90[4];" (assignment_expression "*(char **)(param_2 + 100) = local_90[4]" (pointer_expression "*(char **)(param_2 + 100)" * (cast_expression "(char **)(param_2 + 100)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 100)" ( (binary_expression "param_2 + 100" identifier + number_literal) )))) = (subscript_expression "local_90[4]" identifier [ number_literal ])) ;) (expression_statement "*(undefined1 *)(param_2 + 0x54) = local_71;" (assignment_expression "*(undefined1 *)(param_2 + 0x54) = local_71" (pointer_expression "*(undefined1 *)(param_2 + 0x54)" * (cast_expression "(undefined1 *)(param_2 + 0x54)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x54)" ( (binary_expression "param_2 + 0x54" identifier + number_literal) )))) = identifier) ;) (expression_statement "FUN_00041730(1);" (call_expression "FUN_00041730(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "*(undefined1 *)(param_2 + 0x4b) = 1;" (assignment_expression "*(undefined1 *)(param_2 + 0x4b) = 1" (pointer_expression "*(undefined1 *)(param_2 + 0x4b)" * (cast_expression "(undefined1 *)(param_2 + 0x4b)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x4b)" ( (binary_expression "param_2 + 0x4b" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ppcVar9 = apcStack_a0 + 1;" (assignment_expression "ppcVar9 = apcStack_a0 + 1" identifier = (binary_expression "apcStack_a0 + 1" identifier + number_literal)) ;) }))) (expression_statement "ppcVar9[0xffffffff] = (char *)0xa7625;" (assignment_expression "ppcVar9[0xffffffff] = (char *)0xa7625" (subscript_expression "ppcVar9[0xffffffff]" identifier [ number_literal ]) = (cast_expression "(char *)0xa7625" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_000462f0();" (call_expression "FUN_000462f0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_000a7232:\n  if (ppcVar9[0x1f] != *(char **)(in_GS_OFFSET + 0x14)) {\n                    \n    ppcVar9[0xffffffff] = (char *)0xa7760;\n    FUN_000a9ea0();\n  }" statement_identifier : (if_statement "if (ppcVar9[0x1f] != *(char **)(in_GS_OFFSET + 0x14)) {\n                    \n    ppcVar9[0xffffffff] = (char *)0xa7760;\n    FUN_000a9ea0();\n  }" if (parenthesized_expression "(ppcVar9[0x1f] != *(char **)(in_GS_OFFSET + 0x14))" ( (binary_expression "ppcVar9[0x1f] != *(char **)(in_GS_OFFSET + 0x14)" (subscript_expression "ppcVar9[0x1f]" identifier [ number_literal ]) != (pointer_expression "*(char **)(in_GS_OFFSET + 0x14)" * (cast_expression "(char **)(in_GS_OFFSET + 0x14)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n    ppcVar9[0xffffffff] = (char *)0xa7760;\n    FUN_000a9ea0();\n  }" { (expression_statement "ppcVar9[0xffffffff] = (char *)0xa7760;" (assignment_expression "ppcVar9[0xffffffff] = (char *)0xa7760" (subscript_expression "ppcVar9[0xffffffff]" identifier [ number_literal ]) = (cast_expression "(char *)0xa7760" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_000a9ea0();" (call_expression "FUN_000a9ea0()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return iVar5;" return identifier ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (string_literal " ")) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) | LIT)) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) | LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) | LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (subscript_expression IDENT [ LIT ]) & LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) ))))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (string_literal " string_content ") )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression LIT < IDENT) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression LIT < IDENT) || (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) ))))) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT == (char_literal ' escape_sequence ')) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) , (binary_expression IDENT != LIT)) ))) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) + LIT) )))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) + LIT) )))) & LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) * IDENT)) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (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 (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (return_statement return IDENT ;) })))
(function_definition "int __regparm3 FUN_000a71a0(undefined4 param_1,int param_2,int param_3,int param_4)\n\n{\n  int *piVar1;\n  uint uVar2;\n  code *pcVar3;\n  longlong lVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  char *pcVar7;\n  undefined **ppuVar8;\n  char **ppcVar9;\n  int iVar10;\n  char **ppcVar11;\n  char **ppcVar12;\n  int in_GS_OFFSET;\n  byte bVar13;\n  char *apcStackY_b8 [3];\n  char *apcStack_a0 [2];\n  uint local_98 [2];\n  char *local_90 [5];\n  undefined4 local_7c;\n  undefined1 local_71;\n  int local_70;\n  undefined4 local_6c;\n  char local_65;\n  int local_64;\n  undefined4 local_60;\n  int local_54;\n  int local_50;\n  char *apcStack_28 [5];\n  undefined4 uStack_14;\n  \n  bVar13 = 0;\n  uStack_14 = 0xa71ad;\n  ppuVar8 = &__DT_PLTGOT;\n  ppcVar9 = apcStack_a0 + 1;\n  apcStack_a0[1] = (char *)param_4;\n  apcStack_28[2] = *(char **)(in_GS_OFFSET + 0x14);\n  if (*(char *)(param_2 + 0x4b) == '\0') {\n    iVar5 = 1;\n    apcStack_a0[0] = (char *)0xa7262;\n    FUN_0002ec00();\n    goto LAB_000a7232;\n  }\n  if (1 < *(int *)(param_2 + 0xa8)) {\n    iVar5 = 1;\n    apcStack_a0[0] = (char *)0xa7232;\n    FUN_0002ec00();\n    ppcVar9 = apcStack_a0 + 1;\n    goto LAB_000a7232;\n  }\n  local_90[0] = *(char **)(param_2 + 0x38);\n  if (param_4 == 0) {\n    apcStack_a0[0] = "";\n  }\n  else {\n    iVar5 = sqlite3_value_type(param_4);\n    if (iVar5 != 3) {\n      iVar5 = 1;\n      apcStack_a0[0] = (char *)0xa7217;\n      FUN_0002ec00();\n      ppcVar9 = apcStack_a0 + 1;\n      goto LAB_000a7232;\n    }\n    apcStack_a0[0] = (char *)sqlite3_value_text(apcStack_a0[1]);\n    *(uint *)(param_2 + 0x38) = *(uint *)(param_2 + 0x38) & 0xfffffffe | 6;\n  }\n  local_98[0] = *(uint *)(param_2 + 0x1c);\n  local_90[2] = *(char **)(param_2 + 0x18);\n  local_70 = param_3 * 0x10;\n  local_98[1] = *(uint *)(param_2 + 0x20);\n  *(uint *)(param_2 + 0x18) = (uint)local_90[2] | 6;\n  local_90[3] = *(char **)(param_2 + 0x60);\n  local_90[4] = *(char **)(param_2 + 100);\n  *(uint *)(param_2 + 0x1c) = local_98[0] & 0xefffafff | 0x201;\n  puVar6 = (undefined4 *)(local_70 + *(int *)(param_2 + 0x10));\n  local_71 = *(undefined1 *)(param_2 + 0x54);\n  *(undefined1 *)(param_2 + 0x54) = 0;\n  *(uint *)(param_2 + 0x20) = local_98[1] & 0xfffffffe;\n  local_6c = *puVar6;\n  local_90[1] = (char *)puVar6[1];\n  local_65 = *(char *)(**(int **)((int)local_90[1] + 4) + 0xc);\n  local_7c = *(int *)(param_2 + 0x14);\n  iVar5 = FUN_000a7160(param_2,param_1,"ATTACH %Q AS vacuum_db");\n  ppcVar9 = apcStack_a0 + 1;\n  *(char **)(param_2 + 0x38) = local_90[0];\n  if (iVar5 == 0) {\n    local_90[0] = (char *)(local_7c * 0x10 + *(int *)(param_2 + 0x10));\n    local_64 = *(int *)((int)local_90[0] + 4);\n    if (apcStack_a0[1] == (char *)0x0) {\n      apcStack_a0[0] = (char *)0xa76c1;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa76de;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa76e9;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76f2;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76fe;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa770d;\n      iVar5 = FUN_000a7010();\n      if (iVar5 == 0) goto LAB_000a73fb;\nLAB_000a7644:\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[0xfffffffc] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[0xfffffffb] = (char *)0xa768b;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }\n    else {\n      piVar1 = *(int **)(**(int **)(local_64 + 4) + 0x3c);\n      local_54 = 0;\n      local_50 = 0;\n      iVar5 = *piVar1;\n      if (iVar5 != 0) {\n        iVar5 = (**(code **)(iVar5 + 0x18))(piVar1,&local_54);\n        ppcVar9 = apcStack_a0 + 1;\n        if ((iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))) {\n          iVar5 = 1;\n          apcStack_a0[0] = (char *)0xa7644;\n          FUN_0002ec00();\n          goto LAB_000a7644;\n        }\n      }\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) | 8;\n      apcStack_a0[0] = (char *)0xa73a5;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa73c2;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa73cd;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73d6;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73e2;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa73f1;\n      iVar5 = FUN_000a7010();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\nLAB_000a73fb:\n      apcStack_a0[0] = (char *)0xa7408;\n      iVar5 = FUN_00062b70();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\n      if (*(char *)(**(int **)((int)local_90[1] + 4) + 5) == '\x05') {\n        *(undefined4 *)(param_2 + 0x58) = 0;\n      }\n      iVar5 = FUN_00041730(0);\n      if ((iVar5 != 0) ||\n         (((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0')))) {\n        iVar5 = 7;\n        ppcVar9 = apcStack_a0 + 1;\n        goto LAB_000a7644;\n      }\n      ppcVar9 = apcStack_a0 + 1;\n      if (*(char *)(param_2 + 0x50) < '\0') {\n        ppcVar9 = apcStack_a0;\n        apcStack_a0[0] = (char *)0xa7754;\n        entry();\n      }\n      ppcVar9[-1] = (char *)0xa7472;\n      FUN_00028170();\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = *(undefined1 *)(ppcVar9 + 8);\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcc7);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa748f;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcac);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74ae;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc9e);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74d4;\n      iVar5 = FUN_000a7160();\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) & 0xfffffffb;\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc78);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74f7;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[8] = (char *)(ppcVar9 + 0x11);\n      iVar10 = 0;\n      do {\n        ppcVar9[-1] = (char *)0xa7523;\n        FUN_000341f0();\n        ppcVar9[-1] = (char *)0xa753a;\n        iVar5 = FUN_000633c0();\n        if (iVar5 != 0) goto LAB_000a7644;\n        iVar10 = iVar10 + 2;\n      } while (iVar10 != 10);\n      if (*ppcVar9 == (char *)0x0) {\n        if (ppcVar9[4][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7778;\n          FUN_00027820();\n        }\n        if (ppcVar9[0xe][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7787;\n          FUN_00027820();\n        }\n        iVar5 = **(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        *ppcVar9 = (char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        if (iVar5 == 0) {\nLAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;\n          ppcVar12 = ppcVar11;\n          for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }\n          pcVar7 = *(char **)ppcVar9[0xe];\n          ppcVar9[0x18] = ppcVar9[0xe];\n          ppcVar9[0x16] = (char *)0x1;\n          ppcVar9[0x17] = pcVar7;\n          pcVar7 = ppcVar9[4];\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = pcVar7;\n          ppcVar9[-3] = (char *)0x7fffffff;\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7820;\n          sqlite3_backup_step();\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7828;\n          iVar5 = sqlite3_backup_finish();\n          if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }\n        }\n        else {\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }\n        pcVar7 = ppcVar9[0xe];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }\n        }\n        pcVar7 = ppcVar9[4];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }\n        }\n        if (iVar5 == 0) {\n          ppcVar9[-1] = (char *)0xa7896;\n          iVar5 = FUN_0006aff0();\n          if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }\n        }\n        goto LAB_000a7644;\n      }\n      ppcVar9[-1] = (char *)0xa755d;\n      iVar5 = FUN_0006aff0();\n      if (iVar5 != 0) goto LAB_000a7644;\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      iVar5 = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[-4] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[-5] = (char *)0xa75ae;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }\n    iVar10 = *(int *)((int)ppcVar9 + 0xc);\n    *(undefined4 *)((int)ppcVar9 + -4) = 0xa769e;\n    FUN_0006de60();\n    *(undefined4 *)(iVar10 + 4) = 0;\n    *(undefined4 *)(iVar10 + 0xc) = 0;\n  }\n  else {\n    *(undefined1 *)(param_2 + 0xa0) = 0;\n    *(char **)(param_2 + 0x18) = local_90[2];\n    *(uint *)(param_2 + 0x1c) = local_98[0];\n    *(uint *)(param_2 + 0x20) = local_98[1];\n    *(char **)(param_2 + 0x60) = local_90[3];\n    *(char **)(param_2 + 100) = local_90[4];\n    *(undefined1 *)(param_2 + 0x54) = local_71;\n    FUN_00041730(1);\n    *(undefined1 *)(param_2 + 0x4b) = 1;\n    ppcVar9 = apcStack_a0 + 1;\n  }\n  ppcVar9[0xffffffff] = (char *)0xa7625;\n  FUN_000462f0();\nLAB_000a7232:\n  if (ppcVar9[0x1f] != *(char **)(in_GS_OFFSET + 0x14)) {\n                    \n    ppcVar9[0xffffffff] = (char *)0xa7760;\n    FUN_000a9ea0();\n  }\n  return iVar5;\n}" (primitive_type "int") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_000a71a0(undefined4 param_1,int param_2,int param_3,int param_4)" (identifier "FUN_000a71a0") (parameter_list "(undefined4 param_1,int param_2,int param_3,int param_4)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "int param_4" (primitive_type "int") (identifier "param_4")) () ")"))) (compound_statement "{\n  int *piVar1;\n  uint uVar2;\n  code *pcVar3;\n  longlong lVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  char *pcVar7;\n  undefined **ppuVar8;\n  char **ppcVar9;\n  int iVar10;\n  char **ppcVar11;\n  char **ppcVar12;\n  int in_GS_OFFSET;\n  byte bVar13;\n  char *apcStackY_b8 [3];\n  char *apcStack_a0 [2];\n  uint local_98 [2];\n  char *local_90 [5];\n  undefined4 local_7c;\n  undefined1 local_71;\n  int local_70;\n  undefined4 local_6c;\n  char local_65;\n  int local_64;\n  undefined4 local_60;\n  int local_54;\n  int local_50;\n  char *apcStack_28 [5];\n  undefined4 uStack_14;\n  \n  bVar13 = 0;\n  uStack_14 = 0xa71ad;\n  ppuVar8 = &__DT_PLTGOT;\n  ppcVar9 = apcStack_a0 + 1;\n  apcStack_a0[1] = (char *)param_4;\n  apcStack_28[2] = *(char **)(in_GS_OFFSET + 0x14);\n  if (*(char *)(param_2 + 0x4b) == '\0') {\n    iVar5 = 1;\n    apcStack_a0[0] = (char *)0xa7262;\n    FUN_0002ec00();\n    goto LAB_000a7232;\n  }\n  if (1 < *(int *)(param_2 + 0xa8)) {\n    iVar5 = 1;\n    apcStack_a0[0] = (char *)0xa7232;\n    FUN_0002ec00();\n    ppcVar9 = apcStack_a0 + 1;\n    goto LAB_000a7232;\n  }\n  local_90[0] = *(char **)(param_2 + 0x38);\n  if (param_4 == 0) {\n    apcStack_a0[0] = "";\n  }\n  else {\n    iVar5 = sqlite3_value_type(param_4);\n    if (iVar5 != 3) {\n      iVar5 = 1;\n      apcStack_a0[0] = (char *)0xa7217;\n      FUN_0002ec00();\n      ppcVar9 = apcStack_a0 + 1;\n      goto LAB_000a7232;\n    }\n    apcStack_a0[0] = (char *)sqlite3_value_text(apcStack_a0[1]);\n    *(uint *)(param_2 + 0x38) = *(uint *)(param_2 + 0x38) & 0xfffffffe | 6;\n  }\n  local_98[0] = *(uint *)(param_2 + 0x1c);\n  local_90[2] = *(char **)(param_2 + 0x18);\n  local_70 = param_3 * 0x10;\n  local_98[1] = *(uint *)(param_2 + 0x20);\n  *(uint *)(param_2 + 0x18) = (uint)local_90[2] | 6;\n  local_90[3] = *(char **)(param_2 + 0x60);\n  local_90[4] = *(char **)(param_2 + 100);\n  *(uint *)(param_2 + 0x1c) = local_98[0] & 0xefffafff | 0x201;\n  puVar6 = (undefined4 *)(local_70 + *(int *)(param_2 + 0x10));\n  local_71 = *(undefined1 *)(param_2 + 0x54);\n  *(undefined1 *)(param_2 + 0x54) = 0;\n  *(uint *)(param_2 + 0x20) = local_98[1] & 0xfffffffe;\n  local_6c = *puVar6;\n  local_90[1] = (char *)puVar6[1];\n  local_65 = *(char *)(**(int **)((int)local_90[1] + 4) + 0xc);\n  local_7c = *(int *)(param_2 + 0x14);\n  iVar5 = FUN_000a7160(param_2,param_1,"ATTACH %Q AS vacuum_db");\n  ppcVar9 = apcStack_a0 + 1;\n  *(char **)(param_2 + 0x38) = local_90[0];\n  if (iVar5 == 0) {\n    local_90[0] = (char *)(local_7c * 0x10 + *(int *)(param_2 + 0x10));\n    local_64 = *(int *)((int)local_90[0] + 4);\n    if (apcStack_a0[1] == (char *)0x0) {\n      apcStack_a0[0] = (char *)0xa76c1;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa76de;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa76e9;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76f2;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76fe;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa770d;\n      iVar5 = FUN_000a7010();\n      if (iVar5 == 0) goto LAB_000a73fb;\nLAB_000a7644:\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[0xfffffffc] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[0xfffffffb] = (char *)0xa768b;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }\n    else {\n      piVar1 = *(int **)(**(int **)(local_64 + 4) + 0x3c);\n      local_54 = 0;\n      local_50 = 0;\n      iVar5 = *piVar1;\n      if (iVar5 != 0) {\n        iVar5 = (**(code **)(iVar5 + 0x18))(piVar1,&local_54);\n        ppcVar9 = apcStack_a0 + 1;\n        if ((iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))) {\n          iVar5 = 1;\n          apcStack_a0[0] = (char *)0xa7644;\n          FUN_0002ec00();\n          goto LAB_000a7644;\n        }\n      }\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) | 8;\n      apcStack_a0[0] = (char *)0xa73a5;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa73c2;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa73cd;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73d6;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73e2;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa73f1;\n      iVar5 = FUN_000a7010();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\nLAB_000a73fb:\n      apcStack_a0[0] = (char *)0xa7408;\n      iVar5 = FUN_00062b70();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\n      if (*(char *)(**(int **)((int)local_90[1] + 4) + 5) == '\x05') {\n        *(undefined4 *)(param_2 + 0x58) = 0;\n      }\n      iVar5 = FUN_00041730(0);\n      if ((iVar5 != 0) ||\n         (((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0')))) {\n        iVar5 = 7;\n        ppcVar9 = apcStack_a0 + 1;\n        goto LAB_000a7644;\n      }\n      ppcVar9 = apcStack_a0 + 1;\n      if (*(char *)(param_2 + 0x50) < '\0') {\n        ppcVar9 = apcStack_a0;\n        apcStack_a0[0] = (char *)0xa7754;\n        entry();\n      }\n      ppcVar9[-1] = (char *)0xa7472;\n      FUN_00028170();\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = *(undefined1 *)(ppcVar9 + 8);\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcc7);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa748f;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcac);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74ae;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc9e);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74d4;\n      iVar5 = FUN_000a7160();\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) & 0xfffffffb;\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc78);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74f7;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[8] = (char *)(ppcVar9 + 0x11);\n      iVar10 = 0;\n      do {\n        ppcVar9[-1] = (char *)0xa7523;\n        FUN_000341f0();\n        ppcVar9[-1] = (char *)0xa753a;\n        iVar5 = FUN_000633c0();\n        if (iVar5 != 0) goto LAB_000a7644;\n        iVar10 = iVar10 + 2;\n      } while (iVar10 != 10);\n      if (*ppcVar9 == (char *)0x0) {\n        if (ppcVar9[4][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7778;\n          FUN_00027820();\n        }\n        if (ppcVar9[0xe][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7787;\n          FUN_00027820();\n        }\n        iVar5 = **(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        *ppcVar9 = (char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        if (iVar5 == 0) {\nLAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;\n          ppcVar12 = ppcVar11;\n          for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }\n          pcVar7 = *(char **)ppcVar9[0xe];\n          ppcVar9[0x18] = ppcVar9[0xe];\n          ppcVar9[0x16] = (char *)0x1;\n          ppcVar9[0x17] = pcVar7;\n          pcVar7 = ppcVar9[4];\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = pcVar7;\n          ppcVar9[-3] = (char *)0x7fffffff;\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7820;\n          sqlite3_backup_step();\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7828;\n          iVar5 = sqlite3_backup_finish();\n          if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }\n        }\n        else {\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }\n        pcVar7 = ppcVar9[0xe];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }\n        }\n        pcVar7 = ppcVar9[4];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }\n        }\n        if (iVar5 == 0) {\n          ppcVar9[-1] = (char *)0xa7896;\n          iVar5 = FUN_0006aff0();\n          if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }\n        }\n        goto LAB_000a7644;\n      }\n      ppcVar9[-1] = (char *)0xa755d;\n      iVar5 = FUN_0006aff0();\n      if (iVar5 != 0) goto LAB_000a7644;\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      iVar5 = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[-4] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[-5] = (char *)0xa75ae;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }\n    iVar10 = *(int *)((int)ppcVar9 + 0xc);\n    *(undefined4 *)((int)ppcVar9 + -4) = 0xa769e;\n    FUN_0006de60();\n    *(undefined4 *)(iVar10 + 4) = 0;\n    *(undefined4 *)(iVar10 + 0xc) = 0;\n  }\n  else {\n    *(undefined1 *)(param_2 + 0xa0) = 0;\n    *(char **)(param_2 + 0x18) = local_90[2];\n    *(uint *)(param_2 + 0x1c) = local_98[0];\n    *(uint *)(param_2 + 0x20) = local_98[1];\n    *(char **)(param_2 + 0x60) = local_90[3];\n    *(char **)(param_2 + 100) = local_90[4];\n    *(undefined1 *)(param_2 + 0x54) = local_71;\n    FUN_00041730(1);\n    *(undefined1 *)(param_2 + 0x4b) = 1;\n    ppcVar9 = apcStack_a0 + 1;\n  }\n  ppcVar9[0xffffffff] = (char *)0xa7625;\n  FUN_000462f0();\nLAB_000a7232:\n  if (ppcVar9[0x1f] != *(char **)(in_GS_OFFSET + 0x14)) {\n                    \n    ppcVar9[0xffffffff] = (char *)0xa7760;\n    FUN_000a9ea0();\n  }\n  return iVar5;\n}" ({ "{") (declaration "int *piVar1;" (primitive_type "int") (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "code *pcVar3;" (type_identifier "code") (pointer_declarator "*pcVar3" (* "*") (identifier "pcVar3")) (; ";")) (declaration "longlong lVar4;" (type_identifier "longlong") (identifier "lVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "undefined4 *puVar6;" (type_identifier "undefined4") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "char *pcVar7;" (primitive_type "char") (pointer_declarator "*pcVar7" (* "*") (identifier "pcVar7")) (; ";")) (declaration "undefined **ppuVar8;" (type_identifier "undefined") (pointer_declarator "**ppuVar8" (* "*") (pointer_declarator "*ppuVar8" (* "*") (identifier "ppuVar8"))) (; ";")) (declaration "char **ppcVar9;" (primitive_type "char") (pointer_declarator "**ppcVar9" (* "*") (pointer_declarator "*ppcVar9" (* "*") (identifier "ppcVar9"))) (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "char **ppcVar11;" (primitive_type "char") (pointer_declarator "**ppcVar11" (* "*") (pointer_declarator "*ppcVar11" (* "*") (identifier "ppcVar11"))) (; ";")) (declaration "char **ppcVar12;" (primitive_type "char") (pointer_declarator "**ppcVar12" (* "*") (pointer_declarator "*ppcVar12" (* "*") (identifier "ppcVar12"))) (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "byte bVar13;" (type_identifier "byte") (identifier "bVar13") (; ";")) (declaration "char *apcStackY_b8 [3];" (primitive_type "char") (pointer_declarator "*apcStackY_b8 [3]" (* "*") (array_declarator "apcStackY_b8 [3]" (identifier "apcStackY_b8") ([ "[") (number_literal "3") (] "]"))) (; ";")) (declaration "char *apcStack_a0 [2];" (primitive_type "char") (pointer_declarator "*apcStack_a0 [2]" (* "*") (array_declarator "apcStack_a0 [2]" (identifier "apcStack_a0") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "uint local_98 [2];" (type_identifier "uint") (array_declarator "local_98 [2]" (identifier "local_98") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "char *local_90 [5];" (primitive_type "char") (pointer_declarator "*local_90 [5]" (* "*") (array_declarator "local_90 [5]" (identifier "local_90") ([ "[") (number_literal "5") (] "]"))) (; ";")) (declaration "undefined4 local_7c;" (type_identifier "undefined4") (identifier "local_7c") (; ";")) (declaration "undefined1 local_71;" (type_identifier "undefined1") (identifier "local_71") (; ";")) (declaration "int local_70;" (primitive_type "int") (identifier "local_70") (; ";")) (declaration "undefined4 local_6c;" (type_identifier "undefined4") (identifier "local_6c") (; ";")) (declaration "char local_65;" (primitive_type "char") (identifier "local_65") (; ";")) (declaration "int local_64;" (primitive_type "int") (identifier "local_64") (; ";")) (declaration "undefined4 local_60;" (type_identifier "undefined4") (identifier "local_60") (; ";")) (declaration "int local_54;" (primitive_type "int") (identifier "local_54") (; ";")) (declaration "int local_50;" (primitive_type "int") (identifier "local_50") (; ";")) (declaration "char *apcStack_28 [5];" (primitive_type "char") (pointer_declarator "*apcStack_28 [5]" (* "*") (array_declarator "apcStack_28 [5]" (identifier "apcStack_28") ([ "[") (number_literal "5") (] "]"))) (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "bVar13 = 0;" (assignment_expression "bVar13 = 0" (identifier "bVar13") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_14 = 0xa71ad;" (assignment_expression "uStack_14 = 0xa71ad" (identifier "uStack_14") (= "=") (number_literal "0xa71ad")) (; ";")) (expression_statement "ppuVar8 = &__DT_PLTGOT;" (assignment_expression "ppuVar8 = &__DT_PLTGOT" (identifier "ppuVar8") (= "=") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT"))) (; ";")) (expression_statement "ppcVar9 = apcStack_a0 + 1;" (assignment_expression "ppcVar9 = apcStack_a0 + 1" (identifier "ppcVar9") (= "=") (binary_expression "apcStack_a0 + 1" (identifier "apcStack_a0") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "apcStack_a0[1] = (char *)param_4;" (assignment_expression "apcStack_a0[1] = (char *)param_4" (subscript_expression "apcStack_a0[1]" (identifier "apcStack_a0") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(char *)param_4" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_4"))) (; ";")) (expression_statement "apcStack_28[2] = *(char **)(in_GS_OFFSET + 0x14);" (assignment_expression "apcStack_28[2] = *(char **)(in_GS_OFFSET + 0x14)" (subscript_expression "apcStack_28[2]" (identifier "apcStack_28") ([ "[") (number_literal "2") (] "]")) (= "=") (pointer_expression "*(char **)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(char **)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (*(char *)(param_2 + 0x4b) == '\0') {\n    iVar5 = 1;\n    apcStack_a0[0] = (char *)0xa7262;\n    FUN_0002ec00();\n    goto LAB_000a7232;\n  }" (if "if") (parenthesized_expression "(*(char *)(param_2 + 0x4b) == '\0')" (( "(") (binary_expression "*(char *)(param_2 + 0x4b) == '\0'" (pointer_expression "*(char *)(param_2 + 0x4b)" (* "*") (cast_expression "(char *)(param_2 + 0x4b)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x4b)" (( "(") (binary_expression "param_2 + 0x4b" (identifier "param_2") (+ "+") (number_literal "0x4b")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    iVar5 = 1;\n    apcStack_a0[0] = (char *)0xa7262;\n    FUN_0002ec00();\n    goto LAB_000a7232;\n  }" ({ "{") (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" (identifier "iVar5") (= "=") (number_literal "1")) (; ";")) (expression_statement "apcStack_a0[0] = (char *)0xa7262;" (assignment_expression "apcStack_a0[0] = (char *)0xa7262" (subscript_expression "apcStack_a0[0]" (identifier "apcStack_a0") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(char *)0xa7262" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa7262"))) (; ";")) (expression_statement "FUN_0002ec00();" (call_expression "FUN_0002ec00()" (identifier "FUN_0002ec00") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_000a7232;" (goto "goto") (statement_identifier "LAB_000a7232") (; ";")) (} "}"))) (if_statement "if (1 < *(int *)(param_2 + 0xa8)) {\n    iVar5 = 1;\n    apcStack_a0[0] = (char *)0xa7232;\n    FUN_0002ec00();\n    ppcVar9 = apcStack_a0 + 1;\n    goto LAB_000a7232;\n  }" (if "if") (parenthesized_expression "(1 < *(int *)(param_2 + 0xa8))" (( "(") (binary_expression "1 < *(int *)(param_2 + 0xa8)" (number_literal "1") (< "<") (pointer_expression "*(int *)(param_2 + 0xa8)" (* "*") (cast_expression "(int *)(param_2 + 0xa8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xa8)" (( "(") (binary_expression "param_2 + 0xa8" (identifier "param_2") (+ "+") (number_literal "0xa8")) () ")"))))) () ")")) (compound_statement "{\n    iVar5 = 1;\n    apcStack_a0[0] = (char *)0xa7232;\n    FUN_0002ec00();\n    ppcVar9 = apcStack_a0 + 1;\n    goto LAB_000a7232;\n  }" ({ "{") (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" (identifier "iVar5") (= "=") (number_literal "1")) (; ";")) (expression_statement "apcStack_a0[0] = (char *)0xa7232;" (assignment_expression "apcStack_a0[0] = (char *)0xa7232" (subscript_expression "apcStack_a0[0]" (identifier "apcStack_a0") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(char *)0xa7232" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa7232"))) (; ";")) (expression_statement "FUN_0002ec00();" (call_expression "FUN_0002ec00()" (identifier "FUN_0002ec00") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppcVar9 = apcStack_a0 + 1;" (assignment_expression "ppcVar9 = apcStack_a0 + 1" (identifier "ppcVar9") (= "=") (binary_expression "apcStack_a0 + 1" (identifier "apcStack_a0") (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_000a7232;" (goto "goto") (statement_identifier "LAB_000a7232") (; ";")) (} "}"))) (expression_statement "local_90[0] = *(char **)(param_2 + 0x38);" (assignment_expression "local_90[0] = *(char **)(param_2 + 0x38)" (subscript_expression "local_90[0]" (identifier "local_90") ([ "[") (number_literal "0") (] "]")) (= "=") (pointer_expression "*(char **)(param_2 + 0x38)" (* "*") (cast_expression "(char **)(param_2 + 0x38)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0x38)" (( "(") (binary_expression "param_2 + 0x38" (identifier "param_2") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (if_statement "if (param_4 == 0) {\n    apcStack_a0[0] = "";\n  }\n  else {\n    iVar5 = sqlite3_value_type(param_4);\n    if (iVar5 != 3) {\n      iVar5 = 1;\n      apcStack_a0[0] = (char *)0xa7217;\n      FUN_0002ec00();\n      ppcVar9 = apcStack_a0 + 1;\n      goto LAB_000a7232;\n    }\n    apcStack_a0[0] = (char *)sqlite3_value_text(apcStack_a0[1]);\n    *(uint *)(param_2 + 0x38) = *(uint *)(param_2 + 0x38) & 0xfffffffe | 6;\n  }" (if "if") (parenthesized_expression "(param_4 == 0)" (( "(") (binary_expression "param_4 == 0" (identifier "param_4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    apcStack_a0[0] = "";\n  }" ({ "{") (expression_statement "apcStack_a0[0] = "";" (assignment_expression "apcStack_a0[0] = """ (subscript_expression "apcStack_a0[0]" (identifier "apcStack_a0") ([ "[") (number_literal "0") (] "]")) (= "=") (string_literal """" (" """) (" """))) (; ";")) (} "}")) (else_clause "else {\n    iVar5 = sqlite3_value_type(param_4);\n    if (iVar5 != 3) {\n      iVar5 = 1;\n      apcStack_a0[0] = (char *)0xa7217;\n      FUN_0002ec00();\n      ppcVar9 = apcStack_a0 + 1;\n      goto LAB_000a7232;\n    }\n    apcStack_a0[0] = (char *)sqlite3_value_text(apcStack_a0[1]);\n    *(uint *)(param_2 + 0x38) = *(uint *)(param_2 + 0x38) & 0xfffffffe | 6;\n  }" (else "else") (compound_statement "{\n    iVar5 = sqlite3_value_type(param_4);\n    if (iVar5 != 3) {\n      iVar5 = 1;\n      apcStack_a0[0] = (char *)0xa7217;\n      FUN_0002ec00();\n      ppcVar9 = apcStack_a0 + 1;\n      goto LAB_000a7232;\n    }\n    apcStack_a0[0] = (char *)sqlite3_value_text(apcStack_a0[1]);\n    *(uint *)(param_2 + 0x38) = *(uint *)(param_2 + 0x38) & 0xfffffffe | 6;\n  }" ({ "{") (expression_statement "iVar5 = sqlite3_value_type(param_4);" (assignment_expression "iVar5 = sqlite3_value_type(param_4)" (identifier "iVar5") (= "=") (call_expression "sqlite3_value_type(param_4)" (identifier "sqlite3_value_type") (argument_list "(param_4)" (( "(") (identifier "param_4") () ")")))) (; ";")) (if_statement "if (iVar5 != 3) {\n      iVar5 = 1;\n      apcStack_a0[0] = (char *)0xa7217;\n      FUN_0002ec00();\n      ppcVar9 = apcStack_a0 + 1;\n      goto LAB_000a7232;\n    }" (if "if") (parenthesized_expression "(iVar5 != 3)" (( "(") (binary_expression "iVar5 != 3" (identifier "iVar5") (!= "!=") (number_literal "3")) () ")")) (compound_statement "{\n      iVar5 = 1;\n      apcStack_a0[0] = (char *)0xa7217;\n      FUN_0002ec00();\n      ppcVar9 = apcStack_a0 + 1;\n      goto LAB_000a7232;\n    }" ({ "{") (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" (identifier "iVar5") (= "=") (number_literal "1")) (; ";")) (expression_statement "apcStack_a0[0] = (char *)0xa7217;" (assignment_expression "apcStack_a0[0] = (char *)0xa7217" (subscript_expression "apcStack_a0[0]" (identifier "apcStack_a0") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(char *)0xa7217" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa7217"))) (; ";")) (expression_statement "FUN_0002ec00();" (call_expression "FUN_0002ec00()" (identifier "FUN_0002ec00") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppcVar9 = apcStack_a0 + 1;" (assignment_expression "ppcVar9 = apcStack_a0 + 1" (identifier "ppcVar9") (= "=") (binary_expression "apcStack_a0 + 1" (identifier "apcStack_a0") (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_000a7232;" (goto "goto") (statement_identifier "LAB_000a7232") (; ";")) (} "}"))) (expression_statement "apcStack_a0[0] = (char *)sqlite3_value_text(apcStack_a0[1]);" (assignment_expression "apcStack_a0[0] = (char *)sqlite3_value_text(apcStack_a0[1])" (subscript_expression "apcStack_a0[0]" (identifier "apcStack_a0") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(char *)sqlite3_value_text(apcStack_a0[1])" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "sqlite3_value_text(apcStack_a0[1])" (identifier "sqlite3_value_text") (argument_list "(apcStack_a0[1])" (( "(") (subscript_expression "apcStack_a0[1]" (identifier "apcStack_a0") ([ "[") (number_literal "1") (] "]")) () ")"))))) (; ";")) (expression_statement "*(uint *)(param_2 + 0x38) = *(uint *)(param_2 + 0x38) & 0xfffffffe | 6;" (assignment_expression "*(uint *)(param_2 + 0x38) = *(uint *)(param_2 + 0x38) & 0xfffffffe | 6" (pointer_expression "*(uint *)(param_2 + 0x38)" (* "*") (cast_expression "(uint *)(param_2 + 0x38)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x38)" (( "(") (binary_expression "param_2 + 0x38" (identifier "param_2") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (binary_expression "*(uint *)(param_2 + 0x38) & 0xfffffffe | 6" (binary_expression "*(uint *)(param_2 + 0x38) & 0xfffffffe" (pointer_expression "*(uint *)(param_2 + 0x38)" (* "*") (cast_expression "(uint *)(param_2 + 0x38)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x38)" (( "(") (binary_expression "param_2 + 0x38" (identifier "param_2") (+ "+") (number_literal "0x38")) () ")")))) (& "&") (number_literal "0xfffffffe")) (| "|") (number_literal "6"))) (; ";")) (} "}")))) (expression_statement "local_98[0] = *(uint *)(param_2 + 0x1c);" (assignment_expression "local_98[0] = *(uint *)(param_2 + 0x1c)" (subscript_expression "local_98[0]" (identifier "local_98") ([ "[") (number_literal "0") (] "]")) (= "=") (pointer_expression "*(uint *)(param_2 + 0x1c)" (* "*") (cast_expression "(uint *)(param_2 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x1c)" (( "(") (binary_expression "param_2 + 0x1c" (identifier "param_2") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "local_90[2] = *(char **)(param_2 + 0x18);" (assignment_expression "local_90[2] = *(char **)(param_2 + 0x18)" (subscript_expression "local_90[2]" (identifier "local_90") ([ "[") (number_literal "2") (] "]")) (= "=") (pointer_expression "*(char **)(param_2 + 0x18)" (* "*") (cast_expression "(char **)(param_2 + 0x18)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0x18)" (( "(") (binary_expression "param_2 + 0x18" (identifier "param_2") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "local_70 = param_3 * 0x10;" (assignment_expression "local_70 = param_3 * 0x10" (identifier "local_70") (= "=") (binary_expression "param_3 * 0x10" (identifier "param_3") (* "*") (number_literal "0x10"))) (; ";")) (expression_statement "local_98[1] = *(uint *)(param_2 + 0x20);" (assignment_expression "local_98[1] = *(uint *)(param_2 + 0x20)" (subscript_expression "local_98[1]" (identifier "local_98") ([ "[") (number_literal "1") (] "]")) (= "=") (pointer_expression "*(uint *)(param_2 + 0x20)" (* "*") (cast_expression "(uint *)(param_2 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x20)" (( "(") (binary_expression "param_2 + 0x20" (identifier "param_2") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "*(uint *)(param_2 + 0x18) = (uint)local_90[2] | 6;" (assignment_expression "*(uint *)(param_2 + 0x18) = (uint)local_90[2] | 6" (pointer_expression "*(uint *)(param_2 + 0x18)" (* "*") (cast_expression "(uint *)(param_2 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x18)" (( "(") (binary_expression "param_2 + 0x18" (identifier "param_2") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (binary_expression "(uint)local_90[2] | 6" (cast_expression "(uint)local_90[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_90[2]" (identifier "local_90") ([ "[") (number_literal "2") (] "]"))) (| "|") (number_literal "6"))) (; ";")) (expression_statement "local_90[3] = *(char **)(param_2 + 0x60);" (assignment_expression "local_90[3] = *(char **)(param_2 + 0x60)" (subscript_expression "local_90[3]" (identifier "local_90") ([ "[") (number_literal "3") (] "]")) (= "=") (pointer_expression "*(char **)(param_2 + 0x60)" (* "*") (cast_expression "(char **)(param_2 + 0x60)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0x60)" (( "(") (binary_expression "param_2 + 0x60" (identifier "param_2") (+ "+") (number_literal "0x60")) () ")"))))) (; ";")) (expression_statement "local_90[4] = *(char **)(param_2 + 100);" (assignment_expression "local_90[4] = *(char **)(param_2 + 100)" (subscript_expression "local_90[4]" (identifier "local_90") ([ "[") (number_literal "4") (] "]")) (= "=") (pointer_expression "*(char **)(param_2 + 100)" (* "*") (cast_expression "(char **)(param_2 + 100)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 100)" (( "(") (binary_expression "param_2 + 100" (identifier "param_2") (+ "+") (number_literal "100")) () ")"))))) (; ";")) (expression_statement "*(uint *)(param_2 + 0x1c) = local_98[0] & 0xefffafff | 0x201;" (assignment_expression "*(uint *)(param_2 + 0x1c) = local_98[0] & 0xefffafff | 0x201" (pointer_expression "*(uint *)(param_2 + 0x1c)" (* "*") (cast_expression "(uint *)(param_2 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x1c)" (( "(") (binary_expression "param_2 + 0x1c" (identifier "param_2") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (binary_expression "local_98[0] & 0xefffafff | 0x201" (binary_expression "local_98[0] & 0xefffafff" (subscript_expression "local_98[0]" (identifier "local_98") ([ "[") (number_literal "0") (] "]")) (& "&") (number_literal "0xefffafff")) (| "|") (number_literal "0x201"))) (; ";")) (expression_statement "puVar6 = (undefined4 *)(local_70 + *(int *)(param_2 + 0x10));" (assignment_expression "puVar6 = (undefined4 *)(local_70 + *(int *)(param_2 + 0x10))" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)(local_70 + *(int *)(param_2 + 0x10))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_70 + *(int *)(param_2 + 0x10))" (( "(") (binary_expression "local_70 + *(int *)(param_2 + 0x10)" (identifier "local_70") (+ "+") (pointer_expression "*(int *)(param_2 + 0x10)" (* "*") (cast_expression "(int *)(param_2 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x10)" (( "(") (binary_expression "param_2 + 0x10" (identifier "param_2") (+ "+") (number_literal "0x10")) () ")"))))) () ")")))) (; ";")) (expression_statement "local_71 = *(undefined1 *)(param_2 + 0x54);" (assignment_expression "local_71 = *(undefined1 *)(param_2 + 0x54)" (identifier "local_71") (= "=") (pointer_expression "*(undefined1 *)(param_2 + 0x54)" (* "*") (cast_expression "(undefined1 *)(param_2 + 0x54)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x54)" (( "(") (binary_expression "param_2 + 0x54" (identifier "param_2") (+ "+") (number_literal "0x54")) () ")"))))) (; ";")) (expression_statement "*(undefined1 *)(param_2 + 0x54) = 0;" (assignment_expression "*(undefined1 *)(param_2 + 0x54) = 0" (pointer_expression "*(undefined1 *)(param_2 + 0x54)" (* "*") (cast_expression "(undefined1 *)(param_2 + 0x54)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x54)" (( "(") (binary_expression "param_2 + 0x54" (identifier "param_2") (+ "+") (number_literal "0x54")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(uint *)(param_2 + 0x20) = local_98[1] & 0xfffffffe;" (assignment_expression "*(uint *)(param_2 + 0x20) = local_98[1] & 0xfffffffe" (pointer_expression "*(uint *)(param_2 + 0x20)" (* "*") (cast_expression "(uint *)(param_2 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x20)" (( "(") (binary_expression "param_2 + 0x20" (identifier "param_2") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (binary_expression "local_98[1] & 0xfffffffe" (subscript_expression "local_98[1]" (identifier "local_98") ([ "[") (number_literal "1") (] "]")) (& "&") (number_literal "0xfffffffe"))) (; ";")) (expression_statement "local_6c = *puVar6;" (assignment_expression "local_6c = *puVar6" (identifier "local_6c") (= "=") (pointer_expression "*puVar6" (* "*") (identifier "puVar6"))) (; ";")) (expression_statement "local_90[1] = (char *)puVar6[1];" (assignment_expression "local_90[1] = (char *)puVar6[1]" (subscript_expression "local_90[1]" (identifier "local_90") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(char *)puVar6[1]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar6[1]" (identifier "puVar6") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "local_65 = *(char *)(**(int **)((int)local_90[1] + 4) + 0xc);" (assignment_expression "local_65 = *(char *)(**(int **)((int)local_90[1] + 4) + 0xc)" (identifier "local_65") (= "=") (pointer_expression "*(char *)(**(int **)((int)local_90[1] + 4) + 0xc)" (* "*") (cast_expression "(char *)(**(int **)((int)local_90[1] + 4) + 0xc)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(**(int **)((int)local_90[1] + 4) + 0xc)" (( "(") (binary_expression "**(int **)((int)local_90[1] + 4) + 0xc" (pointer_expression "**(int **)((int)local_90[1] + 4)" (* "*") (pointer_expression "*(int **)((int)local_90[1] + 4)" (* "*") (cast_expression "(int **)((int)local_90[1] + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)local_90[1] + 4)" (( "(") (binary_expression "(int)local_90[1] + 4" (cast_expression "(int)local_90[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_90[1]" (identifier "local_90") ([ "[") (number_literal "1") (] "]"))) (+ "+") (number_literal "4")) () ")"))))) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "local_7c = *(int *)(param_2 + 0x14);" (assignment_expression "local_7c = *(int *)(param_2 + 0x14)" (identifier "local_7c") (= "=") (pointer_expression "*(int *)(param_2 + 0x14)" (* "*") (cast_expression "(int *)(param_2 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x14)" (( "(") (binary_expression "param_2 + 0x14" (identifier "param_2") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "iVar5 = FUN_000a7160(param_2,param_1,"ATTACH %Q AS vacuum_db");" (assignment_expression "iVar5 = FUN_000a7160(param_2,param_1,"ATTACH %Q AS vacuum_db")" (identifier "iVar5") (= "=") (call_expression "FUN_000a7160(param_2,param_1,"ATTACH %Q AS vacuum_db")" (identifier "FUN_000a7160") (argument_list "(param_2,param_1,"ATTACH %Q AS vacuum_db")" (( "(") (identifier "param_2") (, ",") (identifier "param_1") (, ",") (string_literal ""ATTACH %Q AS vacuum_db"" (" """) (string_content "ATTACH %Q AS vacuum_db") (" """)) () ")")))) (; ";")) (expression_statement "ppcVar9 = apcStack_a0 + 1;" (assignment_expression "ppcVar9 = apcStack_a0 + 1" (identifier "ppcVar9") (= "=") (binary_expression "apcStack_a0 + 1" (identifier "apcStack_a0") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(char **)(param_2 + 0x38) = local_90[0];" (assignment_expression "*(char **)(param_2 + 0x38) = local_90[0]" (pointer_expression "*(char **)(param_2 + 0x38)" (* "*") (cast_expression "(char **)(param_2 + 0x38)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0x38)" (( "(") (binary_expression "param_2 + 0x38" (identifier "param_2") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (subscript_expression "local_90[0]" (identifier "local_90") ([ "[") (number_literal "0") (] "]"))) (; ";")) (if_statement "if (iVar5 == 0) {\n    local_90[0] = (char *)(local_7c * 0x10 + *(int *)(param_2 + 0x10));\n    local_64 = *(int *)((int)local_90[0] + 4);\n    if (apcStack_a0[1] == (char *)0x0) {\n      apcStack_a0[0] = (char *)0xa76c1;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa76de;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa76e9;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76f2;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76fe;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa770d;\n      iVar5 = FUN_000a7010();\n      if (iVar5 == 0) goto LAB_000a73fb;\nLAB_000a7644:\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[0xfffffffc] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[0xfffffffb] = (char *)0xa768b;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }\n    else {\n      piVar1 = *(int **)(**(int **)(local_64 + 4) + 0x3c);\n      local_54 = 0;\n      local_50 = 0;\n      iVar5 = *piVar1;\n      if (iVar5 != 0) {\n        iVar5 = (**(code **)(iVar5 + 0x18))(piVar1,&local_54);\n        ppcVar9 = apcStack_a0 + 1;\n        if ((iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))) {\n          iVar5 = 1;\n          apcStack_a0[0] = (char *)0xa7644;\n          FUN_0002ec00();\n          goto LAB_000a7644;\n        }\n      }\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) | 8;\n      apcStack_a0[0] = (char *)0xa73a5;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa73c2;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa73cd;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73d6;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73e2;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa73f1;\n      iVar5 = FUN_000a7010();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\nLAB_000a73fb:\n      apcStack_a0[0] = (char *)0xa7408;\n      iVar5 = FUN_00062b70();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\n      if (*(char *)(**(int **)((int)local_90[1] + 4) + 5) == '\x05') {\n        *(undefined4 *)(param_2 + 0x58) = 0;\n      }\n      iVar5 = FUN_00041730(0);\n      if ((iVar5 != 0) ||\n         (((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0')))) {\n        iVar5 = 7;\n        ppcVar9 = apcStack_a0 + 1;\n        goto LAB_000a7644;\n      }\n      ppcVar9 = apcStack_a0 + 1;\n      if (*(char *)(param_2 + 0x50) < '\0') {\n        ppcVar9 = apcStack_a0;\n        apcStack_a0[0] = (char *)0xa7754;\n        entry();\n      }\n      ppcVar9[-1] = (char *)0xa7472;\n      FUN_00028170();\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = *(undefined1 *)(ppcVar9 + 8);\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcc7);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa748f;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcac);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74ae;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc9e);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74d4;\n      iVar5 = FUN_000a7160();\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) & 0xfffffffb;\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc78);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74f7;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[8] = (char *)(ppcVar9 + 0x11);\n      iVar10 = 0;\n      do {\n        ppcVar9[-1] = (char *)0xa7523;\n        FUN_000341f0();\n        ppcVar9[-1] = (char *)0xa753a;\n        iVar5 = FUN_000633c0();\n        if (iVar5 != 0) goto LAB_000a7644;\n        iVar10 = iVar10 + 2;\n      } while (iVar10 != 10);\n      if (*ppcVar9 == (char *)0x0) {\n        if (ppcVar9[4][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7778;\n          FUN_00027820();\n        }\n        if (ppcVar9[0xe][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7787;\n          FUN_00027820();\n        }\n        iVar5 = **(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        *ppcVar9 = (char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        if (iVar5 == 0) {\nLAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;\n          ppcVar12 = ppcVar11;\n          for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }\n          pcVar7 = *(char **)ppcVar9[0xe];\n          ppcVar9[0x18] = ppcVar9[0xe];\n          ppcVar9[0x16] = (char *)0x1;\n          ppcVar9[0x17] = pcVar7;\n          pcVar7 = ppcVar9[4];\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = pcVar7;\n          ppcVar9[-3] = (char *)0x7fffffff;\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7820;\n          sqlite3_backup_step();\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7828;\n          iVar5 = sqlite3_backup_finish();\n          if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }\n        }\n        else {\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }\n        pcVar7 = ppcVar9[0xe];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }\n        }\n        pcVar7 = ppcVar9[4];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }\n        }\n        if (iVar5 == 0) {\n          ppcVar9[-1] = (char *)0xa7896;\n          iVar5 = FUN_0006aff0();\n          if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }\n        }\n        goto LAB_000a7644;\n      }\n      ppcVar9[-1] = (char *)0xa755d;\n      iVar5 = FUN_0006aff0();\n      if (iVar5 != 0) goto LAB_000a7644;\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      iVar5 = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[-4] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[-5] = (char *)0xa75ae;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }\n    iVar10 = *(int *)((int)ppcVar9 + 0xc);\n    *(undefined4 *)((int)ppcVar9 + -4) = 0xa769e;\n    FUN_0006de60();\n    *(undefined4 *)(iVar10 + 4) = 0;\n    *(undefined4 *)(iVar10 + 0xc) = 0;\n  }\n  else {\n    *(undefined1 *)(param_2 + 0xa0) = 0;\n    *(char **)(param_2 + 0x18) = local_90[2];\n    *(uint *)(param_2 + 0x1c) = local_98[0];\n    *(uint *)(param_2 + 0x20) = local_98[1];\n    *(char **)(param_2 + 0x60) = local_90[3];\n    *(char **)(param_2 + 100) = local_90[4];\n    *(undefined1 *)(param_2 + 0x54) = local_71;\n    FUN_00041730(1);\n    *(undefined1 *)(param_2 + 0x4b) = 1;\n    ppcVar9 = apcStack_a0 + 1;\n  }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    local_90[0] = (char *)(local_7c * 0x10 + *(int *)(param_2 + 0x10));\n    local_64 = *(int *)((int)local_90[0] + 4);\n    if (apcStack_a0[1] == (char *)0x0) {\n      apcStack_a0[0] = (char *)0xa76c1;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa76de;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa76e9;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76f2;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76fe;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa770d;\n      iVar5 = FUN_000a7010();\n      if (iVar5 == 0) goto LAB_000a73fb;\nLAB_000a7644:\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[0xfffffffc] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[0xfffffffb] = (char *)0xa768b;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }\n    else {\n      piVar1 = *(int **)(**(int **)(local_64 + 4) + 0x3c);\n      local_54 = 0;\n      local_50 = 0;\n      iVar5 = *piVar1;\n      if (iVar5 != 0) {\n        iVar5 = (**(code **)(iVar5 + 0x18))(piVar1,&local_54);\n        ppcVar9 = apcStack_a0 + 1;\n        if ((iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))) {\n          iVar5 = 1;\n          apcStack_a0[0] = (char *)0xa7644;\n          FUN_0002ec00();\n          goto LAB_000a7644;\n        }\n      }\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) | 8;\n      apcStack_a0[0] = (char *)0xa73a5;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa73c2;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa73cd;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73d6;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73e2;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa73f1;\n      iVar5 = FUN_000a7010();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\nLAB_000a73fb:\n      apcStack_a0[0] = (char *)0xa7408;\n      iVar5 = FUN_00062b70();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\n      if (*(char *)(**(int **)((int)local_90[1] + 4) + 5) == '\x05') {\n        *(undefined4 *)(param_2 + 0x58) = 0;\n      }\n      iVar5 = FUN_00041730(0);\n      if ((iVar5 != 0) ||\n         (((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0')))) {\n        iVar5 = 7;\n        ppcVar9 = apcStack_a0 + 1;\n        goto LAB_000a7644;\n      }\n      ppcVar9 = apcStack_a0 + 1;\n      if (*(char *)(param_2 + 0x50) < '\0') {\n        ppcVar9 = apcStack_a0;\n        apcStack_a0[0] = (char *)0xa7754;\n        entry();\n      }\n      ppcVar9[-1] = (char *)0xa7472;\n      FUN_00028170();\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = *(undefined1 *)(ppcVar9 + 8);\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcc7);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa748f;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcac);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74ae;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc9e);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74d4;\n      iVar5 = FUN_000a7160();\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) & 0xfffffffb;\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc78);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74f7;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[8] = (char *)(ppcVar9 + 0x11);\n      iVar10 = 0;\n      do {\n        ppcVar9[-1] = (char *)0xa7523;\n        FUN_000341f0();\n        ppcVar9[-1] = (char *)0xa753a;\n        iVar5 = FUN_000633c0();\n        if (iVar5 != 0) goto LAB_000a7644;\n        iVar10 = iVar10 + 2;\n      } while (iVar10 != 10);\n      if (*ppcVar9 == (char *)0x0) {\n        if (ppcVar9[4][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7778;\n          FUN_00027820();\n        }\n        if (ppcVar9[0xe][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7787;\n          FUN_00027820();\n        }\n        iVar5 = **(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        *ppcVar9 = (char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        if (iVar5 == 0) {\nLAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;\n          ppcVar12 = ppcVar11;\n          for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }\n          pcVar7 = *(char **)ppcVar9[0xe];\n          ppcVar9[0x18] = ppcVar9[0xe];\n          ppcVar9[0x16] = (char *)0x1;\n          ppcVar9[0x17] = pcVar7;\n          pcVar7 = ppcVar9[4];\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = pcVar7;\n          ppcVar9[-3] = (char *)0x7fffffff;\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7820;\n          sqlite3_backup_step();\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7828;\n          iVar5 = sqlite3_backup_finish();\n          if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }\n        }\n        else {\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }\n        pcVar7 = ppcVar9[0xe];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }\n        }\n        pcVar7 = ppcVar9[4];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }\n        }\n        if (iVar5 == 0) {\n          ppcVar9[-1] = (char *)0xa7896;\n          iVar5 = FUN_0006aff0();\n          if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }\n        }\n        goto LAB_000a7644;\n      }\n      ppcVar9[-1] = (char *)0xa755d;\n      iVar5 = FUN_0006aff0();\n      if (iVar5 != 0) goto LAB_000a7644;\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      iVar5 = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[-4] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[-5] = (char *)0xa75ae;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }\n    iVar10 = *(int *)((int)ppcVar9 + 0xc);\n    *(undefined4 *)((int)ppcVar9 + -4) = 0xa769e;\n    FUN_0006de60();\n    *(undefined4 *)(iVar10 + 4) = 0;\n    *(undefined4 *)(iVar10 + 0xc) = 0;\n  }" ({ "{") (expression_statement "local_90[0] = (char *)(local_7c * 0x10 + *(int *)(param_2 + 0x10));" (assignment_expression "local_90[0] = (char *)(local_7c * 0x10 + *(int *)(param_2 + 0x10))" (subscript_expression "local_90[0]" (identifier "local_90") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(char *)(local_7c * 0x10 + *(int *)(param_2 + 0x10))" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_7c * 0x10 + *(int *)(param_2 + 0x10))" (( "(") (binary_expression "local_7c * 0x10 + *(int *)(param_2 + 0x10)" (binary_expression "local_7c * 0x10" (identifier "local_7c") (* "*") (number_literal "0x10")) (+ "+") (pointer_expression "*(int *)(param_2 + 0x10)" (* "*") (cast_expression "(int *)(param_2 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x10)" (( "(") (binary_expression "param_2 + 0x10" (identifier "param_2") (+ "+") (number_literal "0x10")) () ")"))))) () ")")))) (; ";")) (expression_statement "local_64 = *(int *)((int)local_90[0] + 4);" (assignment_expression "local_64 = *(int *)((int)local_90[0] + 4)" (identifier "local_64") (= "=") (pointer_expression "*(int *)((int)local_90[0] + 4)" (* "*") (cast_expression "(int *)((int)local_90[0] + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90[0] + 4)" (( "(") (binary_expression "(int)local_90[0] + 4" (cast_expression "(int)local_90[0]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_90[0]" (identifier "local_90") ([ "[") (number_literal "0") (] "]"))) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (apcStack_a0[1] == (char *)0x0) {\n      apcStack_a0[0] = (char *)0xa76c1;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa76de;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa76e9;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76f2;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76fe;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa770d;\n      iVar5 = FUN_000a7010();\n      if (iVar5 == 0) goto LAB_000a73fb;\nLAB_000a7644:\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[0xfffffffc] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[0xfffffffb] = (char *)0xa768b;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }\n    else {\n      piVar1 = *(int **)(**(int **)(local_64 + 4) + 0x3c);\n      local_54 = 0;\n      local_50 = 0;\n      iVar5 = *piVar1;\n      if (iVar5 != 0) {\n        iVar5 = (**(code **)(iVar5 + 0x18))(piVar1,&local_54);\n        ppcVar9 = apcStack_a0 + 1;\n        if ((iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))) {\n          iVar5 = 1;\n          apcStack_a0[0] = (char *)0xa7644;\n          FUN_0002ec00();\n          goto LAB_000a7644;\n        }\n      }\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) | 8;\n      apcStack_a0[0] = (char *)0xa73a5;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa73c2;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa73cd;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73d6;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73e2;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa73f1;\n      iVar5 = FUN_000a7010();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\nLAB_000a73fb:\n      apcStack_a0[0] = (char *)0xa7408;\n      iVar5 = FUN_00062b70();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\n      if (*(char *)(**(int **)((int)local_90[1] + 4) + 5) == '\x05') {\n        *(undefined4 *)(param_2 + 0x58) = 0;\n      }\n      iVar5 = FUN_00041730(0);\n      if ((iVar5 != 0) ||\n         (((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0')))) {\n        iVar5 = 7;\n        ppcVar9 = apcStack_a0 + 1;\n        goto LAB_000a7644;\n      }\n      ppcVar9 = apcStack_a0 + 1;\n      if (*(char *)(param_2 + 0x50) < '\0') {\n        ppcVar9 = apcStack_a0;\n        apcStack_a0[0] = (char *)0xa7754;\n        entry();\n      }\n      ppcVar9[-1] = (char *)0xa7472;\n      FUN_00028170();\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = *(undefined1 *)(ppcVar9 + 8);\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcc7);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa748f;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcac);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74ae;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc9e);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74d4;\n      iVar5 = FUN_000a7160();\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) & 0xfffffffb;\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc78);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74f7;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[8] = (char *)(ppcVar9 + 0x11);\n      iVar10 = 0;\n      do {\n        ppcVar9[-1] = (char *)0xa7523;\n        FUN_000341f0();\n        ppcVar9[-1] = (char *)0xa753a;\n        iVar5 = FUN_000633c0();\n        if (iVar5 != 0) goto LAB_000a7644;\n        iVar10 = iVar10 + 2;\n      } while (iVar10 != 10);\n      if (*ppcVar9 == (char *)0x0) {\n        if (ppcVar9[4][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7778;\n          FUN_00027820();\n        }\n        if (ppcVar9[0xe][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7787;\n          FUN_00027820();\n        }\n        iVar5 = **(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        *ppcVar9 = (char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        if (iVar5 == 0) {\nLAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;\n          ppcVar12 = ppcVar11;\n          for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }\n          pcVar7 = *(char **)ppcVar9[0xe];\n          ppcVar9[0x18] = ppcVar9[0xe];\n          ppcVar9[0x16] = (char *)0x1;\n          ppcVar9[0x17] = pcVar7;\n          pcVar7 = ppcVar9[4];\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = pcVar7;\n          ppcVar9[-3] = (char *)0x7fffffff;\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7820;\n          sqlite3_backup_step();\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7828;\n          iVar5 = sqlite3_backup_finish();\n          if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }\n        }\n        else {\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }\n        pcVar7 = ppcVar9[0xe];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }\n        }\n        pcVar7 = ppcVar9[4];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }\n        }\n        if (iVar5 == 0) {\n          ppcVar9[-1] = (char *)0xa7896;\n          iVar5 = FUN_0006aff0();\n          if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }\n        }\n        goto LAB_000a7644;\n      }\n      ppcVar9[-1] = (char *)0xa755d;\n      iVar5 = FUN_0006aff0();\n      if (iVar5 != 0) goto LAB_000a7644;\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      iVar5 = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[-4] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[-5] = (char *)0xa75ae;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }" (if "if") (parenthesized_expression "(apcStack_a0[1] == (char *)0x0)" (( "(") (binary_expression "apcStack_a0[1] == (char *)0x0" (subscript_expression "apcStack_a0[1]" (identifier "apcStack_a0") ([ "[") (number_literal "1") (] "]")) (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      apcStack_a0[0] = (char *)0xa76c1;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa76de;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa76e9;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76f2;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa76fe;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa770d;\n      iVar5 = FUN_000a7010();\n      if (iVar5 == 0) goto LAB_000a73fb;\nLAB_000a7644:\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[0xfffffffc] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[0xfffffffb] = (char *)0xa768b;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }" ({ "{") (expression_statement "apcStack_a0[0] = (char *)0xa76c1;" (assignment_expression "apcStack_a0[0] = (char *)0xa76c1" (subscript_expression "apcStack_a0[0]" (identifier "apcStack_a0") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(char *)0xa76c1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa76c1"))) (; ";")) (expression_statement "local_60 = FUN_000279c0();" (assignment_expression "local_60 = FUN_000279c0()" (identifier "local_60") (= "=") (call_expression "FUN_000279c0()" (identifier "FUN_000279c0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "apcStack_a0[0] = (char *)0xa76de;" (assignment_expression "apcStack_a0[0] = (char *)0xa76de" (subscript_expression "apcStack_a0[0]" (identifier "apcStack_a0") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(char *)0xa76de" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa76de"))) (; ";")) (expression_statement "FUN_00027ef0();" (call_expression "FUN_00027ef0()" (identifier "FUN_00027ef0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "apcStack_a0[0] = (char *)0xa76e9;" (assignment_expression "apcStack_a0[0] = (char *)0xa76e9" (subscript_expression "apcStack_a0[0]" (identifier "apcStack_a0") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(char *)0xa76e9" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa76e9"))) (; ";")) (expression_statement "FUN_00027fa0();" (call_expression "FUN_00027fa0()" (identifier "FUN_00027fa0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "apcStack_a0[0] = (char *)0xa76f2;" (assignment_expression "apcStack_a0[0] = (char *)0xa76f2" (subscript_expression "apcStack_a0[0]" (identifier "apcStack_a0") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(char *)0xa76f2" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa76f2"))) (; ";")) (expression_statement "FUN_00027fa0();" (call_expression "FUN_00027fa0()" (identifier "FUN_00027fa0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "apcStack_a0[0] = (char *)0xa76fe;" (assignment_expression "apcStack_a0[0] = (char *)0xa76fe" (subscript_expression "apcStack_a0[0]" (identifier "apcStack_a0") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(char *)0xa76fe" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa76fe"))) (; ";")) (expression_statement "FUN_000280a0();" (call_expression "FUN_000280a0()" (identifier "FUN_000280a0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "apcStack_a0[0] = (char *)0xa770d;" (assignment_expression "apcStack_a0[0] = (char *)0xa770d" (subscript_expression "apcStack_a0[0]" (identifier "apcStack_a0") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(char *)0xa770d" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa770d"))) (; ";")) (expression_statement "iVar5 = FUN_000a7010();" (assignment_expression "iVar5 = FUN_000a7010()" (identifier "iVar5") (= "=") (call_expression "FUN_000a7010()" (identifier "FUN_000a7010") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar5 == 0) goto LAB_000a73fb;" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000a73fb;" (goto "goto") (statement_identifier "LAB_000a73fb") (; ";"))) (labeled_statement "LAB_000a7644:\n      pcVar7 = ppcVar9[5];" (statement_identifier "LAB_000a7644") (: ":") (expression_statement "pcVar7 = ppcVar9[5];" (assignment_expression "pcVar7 = ppcVar9[5]" (identifier "pcVar7") (= "=") (subscript_expression "ppcVar9[5]" (identifier "ppcVar9") ([ "[") (number_literal "5") (] "]"))) (; ";"))) (expression_statement "*(undefined1 *)(param_2 + 0xa0) = 0;" (assignment_expression "*(undefined1 *)(param_2 + 0xa0) = 0" (pointer_expression "*(undefined1 *)(param_2 + 0xa0)" (* "*") (cast_expression "(undefined1 *)(param_2 + 0xa0)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xa0)" (( "(") (binary_expression "param_2 + 0xa0" (identifier "param_2") (+ "+") (number_literal "0xa0")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(char **)(param_2 + 0x18) = pcVar7;" (assignment_expression "*(char **)(param_2 + 0x18) = pcVar7" (pointer_expression "*(char **)(param_2 + 0x18)" (* "*") (cast_expression "(char **)(param_2 + 0x18)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0x18)" (( "(") (binary_expression "param_2 + 0x18" (identifier "param_2") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "pcVar7")) (; ";")) (expression_statement "*(char **)(param_2 + 0x1c) = ppcVar9[1];" (assignment_expression "*(char **)(param_2 + 0x1c) = ppcVar9[1]" (pointer_expression "*(char **)(param_2 + 0x1c)" (* "*") (cast_expression "(char **)(param_2 + 0x1c)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0x1c)" (( "(") (binary_expression "param_2 + 0x1c" (identifier "param_2") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (subscript_expression "ppcVar9[1]" (identifier "ppcVar9") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*(char **)(param_2 + 0x20) = ppcVar9[2];" (assignment_expression "*(char **)(param_2 + 0x20) = ppcVar9[2]" (pointer_expression "*(char **)(param_2 + 0x20)" (* "*") (cast_expression "(char **)(param_2 + 0x20)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0x20)" (( "(") (binary_expression "param_2 + 0x20" (identifier "param_2") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (subscript_expression "ppcVar9[2]" (identifier "ppcVar9") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "*(char **)(param_2 + 0x60) = ppcVar9[6];" (assignment_expression "*(char **)(param_2 + 0x60) = ppcVar9[6]" (pointer_expression "*(char **)(param_2 + 0x60)" (* "*") (cast_expression "(char **)(param_2 + 0x60)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0x60)" (( "(") (binary_expression "param_2 + 0x60" (identifier "param_2") (+ "+") (number_literal "0x60")) () ")")))) (= "=") (subscript_expression "ppcVar9[6]" (identifier "ppcVar9") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "*(char **)(param_2 + 100) = ppcVar9[7];" (assignment_expression "*(char **)(param_2 + 100) = ppcVar9[7]" (pointer_expression "*(char **)(param_2 + 100)" (* "*") (cast_expression "(char **)(param_2 + 100)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 100)" (( "(") (binary_expression "param_2 + 100" (identifier "param_2") (+ "+") (number_literal "100")) () ")")))) (= "=") (subscript_expression "ppcVar9[7]" (identifier "ppcVar9") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "ppcVar9[0xfffffffc] = (char *)0x1;" (assignment_expression "ppcVar9[0xfffffffc] = (char *)0x1" (subscript_expression "ppcVar9[0xfffffffc]" (identifier "ppcVar9") ([ "[") (number_literal "0xfffffffc") (] "]")) (= "=") (cast_expression "(char *)0x1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "*(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);" (assignment_expression "*(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b)" (pointer_expression "*(undefined1 *)(param_2 + 0x54)" (* "*") (cast_expression "(undefined1 *)(param_2 + 0x54)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x54)" (( "(") (binary_expression "param_2 + 0x54" (identifier "param_2") (+ "+") (number_literal "0x54")) () ")")))) (= "=") (pointer_expression "*(undefined1 *)((int)ppcVar9 + 0x2b)" (* "*") (cast_expression "(undefined1 *)((int)ppcVar9 + 0x2b)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppcVar9 + 0x2b)" (( "(") (binary_expression "(int)ppcVar9 + 0x2b" (cast_expression "(int)ppcVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar9")) (+ "+") (number_literal "0x2b")) () ")"))))) (; ";")) (expression_statement "ppcVar9[0xfffffffb] = (char *)0xa768b;" (assignment_expression "ppcVar9[0xfffffffb] = (char *)0xa768b" (subscript_expression "ppcVar9[0xfffffffb]" (identifier "ppcVar9") ([ "[") (number_literal "0xfffffffb") (] "]")) (= "=") (cast_expression "(char *)0xa768b" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa768b"))) (; ";")) (expression_statement "FUN_00041730();" (call_expression "FUN_00041730()" (identifier "FUN_00041730") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined1 *)(param_2 + 0x4b) = 1;" (assignment_expression "*(undefined1 *)(param_2 + 0x4b) = 1" (pointer_expression "*(undefined1 *)(param_2 + 0x4b)" (* "*") (cast_expression "(undefined1 *)(param_2 + 0x4b)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x4b)" (( "(") (binary_expression "param_2 + 0x4b" (identifier "param_2") (+ "+") (number_literal "0x4b")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n      piVar1 = *(int **)(**(int **)(local_64 + 4) + 0x3c);\n      local_54 = 0;\n      local_50 = 0;\n      iVar5 = *piVar1;\n      if (iVar5 != 0) {\n        iVar5 = (**(code **)(iVar5 + 0x18))(piVar1,&local_54);\n        ppcVar9 = apcStack_a0 + 1;\n        if ((iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))) {\n          iVar5 = 1;\n          apcStack_a0[0] = (char *)0xa7644;\n          FUN_0002ec00();\n          goto LAB_000a7644;\n        }\n      }\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) | 8;\n      apcStack_a0[0] = (char *)0xa73a5;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa73c2;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa73cd;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73d6;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73e2;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa73f1;\n      iVar5 = FUN_000a7010();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\nLAB_000a73fb:\n      apcStack_a0[0] = (char *)0xa7408;\n      iVar5 = FUN_00062b70();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\n      if (*(char *)(**(int **)((int)local_90[1] + 4) + 5) == '\x05') {\n        *(undefined4 *)(param_2 + 0x58) = 0;\n      }\n      iVar5 = FUN_00041730(0);\n      if ((iVar5 != 0) ||\n         (((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0')))) {\n        iVar5 = 7;\n        ppcVar9 = apcStack_a0 + 1;\n        goto LAB_000a7644;\n      }\n      ppcVar9 = apcStack_a0 + 1;\n      if (*(char *)(param_2 + 0x50) < '\0') {\n        ppcVar9 = apcStack_a0;\n        apcStack_a0[0] = (char *)0xa7754;\n        entry();\n      }\n      ppcVar9[-1] = (char *)0xa7472;\n      FUN_00028170();\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = *(undefined1 *)(ppcVar9 + 8);\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcc7);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa748f;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcac);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74ae;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc9e);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74d4;\n      iVar5 = FUN_000a7160();\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) & 0xfffffffb;\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc78);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74f7;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[8] = (char *)(ppcVar9 + 0x11);\n      iVar10 = 0;\n      do {\n        ppcVar9[-1] = (char *)0xa7523;\n        FUN_000341f0();\n        ppcVar9[-1] = (char *)0xa753a;\n        iVar5 = FUN_000633c0();\n        if (iVar5 != 0) goto LAB_000a7644;\n        iVar10 = iVar10 + 2;\n      } while (iVar10 != 10);\n      if (*ppcVar9 == (char *)0x0) {\n        if (ppcVar9[4][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7778;\n          FUN_00027820();\n        }\n        if (ppcVar9[0xe][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7787;\n          FUN_00027820();\n        }\n        iVar5 = **(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        *ppcVar9 = (char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        if (iVar5 == 0) {\nLAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;\n          ppcVar12 = ppcVar11;\n          for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }\n          pcVar7 = *(char **)ppcVar9[0xe];\n          ppcVar9[0x18] = ppcVar9[0xe];\n          ppcVar9[0x16] = (char *)0x1;\n          ppcVar9[0x17] = pcVar7;\n          pcVar7 = ppcVar9[4];\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = pcVar7;\n          ppcVar9[-3] = (char *)0x7fffffff;\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7820;\n          sqlite3_backup_step();\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7828;\n          iVar5 = sqlite3_backup_finish();\n          if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }\n        }\n        else {\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }\n        pcVar7 = ppcVar9[0xe];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }\n        }\n        pcVar7 = ppcVar9[4];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }\n        }\n        if (iVar5 == 0) {\n          ppcVar9[-1] = (char *)0xa7896;\n          iVar5 = FUN_0006aff0();\n          if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }\n        }\n        goto LAB_000a7644;\n      }\n      ppcVar9[-1] = (char *)0xa755d;\n      iVar5 = FUN_0006aff0();\n      if (iVar5 != 0) goto LAB_000a7644;\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      iVar5 = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[-4] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[-5] = (char *)0xa75ae;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }" (else "else") (compound_statement "{\n      piVar1 = *(int **)(**(int **)(local_64 + 4) + 0x3c);\n      local_54 = 0;\n      local_50 = 0;\n      iVar5 = *piVar1;\n      if (iVar5 != 0) {\n        iVar5 = (**(code **)(iVar5 + 0x18))(piVar1,&local_54);\n        ppcVar9 = apcStack_a0 + 1;\n        if ((iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))) {\n          iVar5 = 1;\n          apcStack_a0[0] = (char *)0xa7644;\n          FUN_0002ec00();\n          goto LAB_000a7644;\n        }\n      }\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) | 8;\n      apcStack_a0[0] = (char *)0xa73a5;\n      local_60 = FUN_000279c0();\n      apcStack_a0[0] = (char *)0xa73c2;\n      FUN_00027ef0();\n      apcStack_a0[0] = (char *)0xa73cd;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73d6;\n      FUN_00027fa0();\n      apcStack_a0[0] = (char *)0xa73e2;\n      FUN_000280a0();\n      apcStack_a0[0] = (char *)0xa73f1;\n      iVar5 = FUN_000a7010();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\nLAB_000a73fb:\n      apcStack_a0[0] = (char *)0xa7408;\n      iVar5 = FUN_00062b70();\n      ppcVar9 = apcStack_a0 + 1;\n      if (iVar5 != 0) goto LAB_000a7644;\n      if (*(char *)(**(int **)((int)local_90[1] + 4) + 5) == '\x05') {\n        *(undefined4 *)(param_2 + 0x58) = 0;\n      }\n      iVar5 = FUN_00041730(0);\n      if ((iVar5 != 0) ||\n         (((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0')))) {\n        iVar5 = 7;\n        ppcVar9 = apcStack_a0 + 1;\n        goto LAB_000a7644;\n      }\n      ppcVar9 = apcStack_a0 + 1;\n      if (*(char *)(param_2 + 0x50) < '\0') {\n        ppcVar9 = apcStack_a0;\n        apcStack_a0[0] = (char *)0xa7754;\n        entry();\n      }\n      ppcVar9[-1] = (char *)0xa7472;\n      FUN_00028170();\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = *(undefined1 *)(ppcVar9 + 8);\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcc7);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa748f;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcac);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74ae;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc9e);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74d4;\n      iVar5 = FUN_000a7160();\n      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) & 0xfffffffb;\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[-1] = ppcVar9[0xc];\n      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc78);\n      ppcVar9[-3] = (char *)param_1;\n      ppcVar9[-4] = (char *)param_2;\n      ppcVar9[-5] = (char *)0xa74f7;\n      iVar5 = FUN_000a7160();\n      if (iVar5 != 0) goto LAB_000a7644;\n      ppcVar9[8] = (char *)(ppcVar9 + 0x11);\n      iVar10 = 0;\n      do {\n        ppcVar9[-1] = (char *)0xa7523;\n        FUN_000341f0();\n        ppcVar9[-1] = (char *)0xa753a;\n        iVar5 = FUN_000633c0();\n        if (iVar5 != 0) goto LAB_000a7644;\n        iVar10 = iVar10 + 2;\n      } while (iVar10 != 10);\n      if (*ppcVar9 == (char *)0x0) {\n        if (ppcVar9[4][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7778;\n          FUN_00027820();\n        }\n        if (ppcVar9[0xe][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7787;\n          FUN_00027820();\n        }\n        iVar5 = **(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        *ppcVar9 = (char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        if (iVar5 == 0) {\nLAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;\n          ppcVar12 = ppcVar11;\n          for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }\n          pcVar7 = *(char **)ppcVar9[0xe];\n          ppcVar9[0x18] = ppcVar9[0xe];\n          ppcVar9[0x16] = (char *)0x1;\n          ppcVar9[0x17] = pcVar7;\n          pcVar7 = ppcVar9[4];\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = pcVar7;\n          ppcVar9[-3] = (char *)0x7fffffff;\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7820;\n          sqlite3_backup_step();\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7828;\n          iVar5 = sqlite3_backup_finish();\n          if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }\n        }\n        else {\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }\n        pcVar7 = ppcVar9[0xe];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }\n        }\n        pcVar7 = ppcVar9[4];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }\n        }\n        if (iVar5 == 0) {\n          ppcVar9[-1] = (char *)0xa7896;\n          iVar5 = FUN_0006aff0();\n          if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }\n        }\n        goto LAB_000a7644;\n      }\n      ppcVar9[-1] = (char *)0xa755d;\n      iVar5 = FUN_0006aff0();\n      if (iVar5 != 0) goto LAB_000a7644;\n      pcVar7 = ppcVar9[5];\n      *(undefined1 *)(param_2 + 0xa0) = 0;\n      iVar5 = 0;\n      *(char **)(param_2 + 0x18) = pcVar7;\n      *(char **)(param_2 + 0x1c) = ppcVar9[1];\n      *(char **)(param_2 + 0x20) = ppcVar9[2];\n      *(char **)(param_2 + 0x60) = ppcVar9[6];\n      *(char **)(param_2 + 100) = ppcVar9[7];\n      ppcVar9[-4] = (char *)0x1;\n      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);\n      ppcVar9[-5] = (char *)0xa75ae;\n      FUN_00041730();\n      *(undefined1 *)(param_2 + 0x4b) = 1;\n    }" ({ "{") (expression_statement "piVar1 = *(int **)(**(int **)(local_64 + 4) + 0x3c);" (assignment_expression "piVar1 = *(int **)(**(int **)(local_64 + 4) + 0x3c)" (identifier "piVar1") (= "=") (pointer_expression "*(int **)(**(int **)(local_64 + 4) + 0x3c)" (* "*") (cast_expression "(int **)(**(int **)(local_64 + 4) + 0x3c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(local_64 + 4) + 0x3c)" (( "(") (binary_expression "**(int **)(local_64 + 4) + 0x3c" (pointer_expression "**(int **)(local_64 + 4)" (* "*") (pointer_expression "*(int **)(local_64 + 4)" (* "*") (cast_expression "(int **)(local_64 + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_64 + 4)" (( "(") (binary_expression "local_64 + 4" (identifier "local_64") (+ "+") (number_literal "4")) () ")"))))) (+ "+") (number_literal "0x3c")) () ")"))))) (; ";")) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" (identifier "local_54") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" (identifier "local_50") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar5 = *piVar1;" (assignment_expression "iVar5 = *piVar1" (identifier "iVar5") (= "=") (pointer_expression "*piVar1" (* "*") (identifier "piVar1"))) (; ";")) (if_statement "if (iVar5 != 0) {\n        iVar5 = (**(code **)(iVar5 + 0x18))(piVar1,&local_54);\n        ppcVar9 = apcStack_a0 + 1;\n        if ((iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))) {\n          iVar5 = 1;\n          apcStack_a0[0] = (char *)0xa7644;\n          FUN_0002ec00();\n          goto LAB_000a7644;\n        }\n      }" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar5 = (**(code **)(iVar5 + 0x18))(piVar1,&local_54);\n        ppcVar9 = apcStack_a0 + 1;\n        if ((iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))) {\n          iVar5 = 1;\n          apcStack_a0[0] = (char *)0xa7644;\n          FUN_0002ec00();\n          goto LAB_000a7644;\n        }\n      }" ({ "{") (expression_statement "iVar5 = (**(code **)(iVar5 + 0x18))(piVar1,&local_54);" (assignment_expression "iVar5 = (**(code **)(iVar5 + 0x18))(piVar1,&local_54)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(iVar5 + 0x18))(piVar1,&local_54)" (parenthesized_expression "(**(code **)(iVar5 + 0x18))" (( "(") (pointer_expression "**(code **)(iVar5 + 0x18)" (* "*") (pointer_expression "*(code **)(iVar5 + 0x18)" (* "*") (cast_expression "(code **)(iVar5 + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 0x18)" (( "(") (binary_expression "iVar5 + 0x18" (identifier "iVar5") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (argument_list "(piVar1,&local_54)" (( "(") (identifier "piVar1") (, ",") (pointer_expression "&local_54" (& "&") (identifier "local_54")) () ")")))) (; ";")) (expression_statement "ppcVar9 = apcStack_a0 + 1;" (assignment_expression "ppcVar9 = apcStack_a0 + 1" (identifier "ppcVar9") (= "=") (binary_expression "apcStack_a0 + 1" (identifier "apcStack_a0") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if ((iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))) {\n          iVar5 = 1;\n          apcStack_a0[0] = (char *)0xa7644;\n          FUN_0002ec00();\n          goto LAB_000a7644;\n        }" (if "if") (parenthesized_expression "((iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0))))))" (( "(") (binary_expression "(iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))" (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))" (( "(") (parenthesized_expression "(-1 < local_50 && ((0 < local_50 || (local_54 != 0))))" (( "(") (binary_expression "-1 < local_50 && ((0 < local_50 || (local_54 != 0)))" (binary_expression "-1 < local_50" (number_literal "-1") (< "<") (identifier "local_50")) (&& "&&") (parenthesized_expression "((0 < local_50 || (local_54 != 0)))" (( "(") (parenthesized_expression "(0 < local_50 || (local_54 != 0))" (( "(") (binary_expression "0 < local_50 || (local_54 != 0)" (binary_expression "0 < local_50" (number_literal "0") (< "<") (identifier "local_50")) (|| "||") (parenthesized_expression "(local_54 != 0)" (( "(") (binary_expression "local_54 != 0" (identifier "local_54") (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n          iVar5 = 1;\n          apcStack_a0[0] = (char *)0xa7644;\n          FUN_0002ec00();\n          goto LAB_000a7644;\n        }" ({ "{") (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" (identifier "iVar5") (= "=") (number_literal "1")) (; ";")) (expression_statement "apcStack_a0[0] = (char *)0xa7644;" (assignment_expression "apcStack_a0[0] = (char *)0xa7644" (subscript_expression "apcStack_a0[0]" (identifier "apcStack_a0") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(char *)0xa7644" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa7644"))) (; ";")) (expression_statement "FUN_0002ec00();" (call_expression "FUN_0002ec00()" (identifier "FUN_0002ec00") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_000a7644;" (goto "goto") (statement_identifier "LAB_000a7644") (; ";")) (} "}"))) (} "}"))) (expression_statement "*(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) | 8;" (assignment_expression "*(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) | 8" (pointer_expression "*(uint *)(param_2 + 0x18)" (* "*") (cast_expression "(uint *)(param_2 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x18)" (( "(") (binary_expression "param_2 + 0x18" (identifier "param_2") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (binary_expression "*(uint *)(param_2 + 0x18) | 8" (pointer_expression "*(uint *)(param_2 + 0x18)" (* "*") (cast_expression "(uint *)(param_2 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x18)" (( "(") (binary_expression "param_2 + 0x18" (identifier "param_2") (+ "+") (number_literal "0x18")) () ")")))) (| "|") (number_literal "8"))) (; ";")) (expression_statement "apcStack_a0[0] = (char *)0xa73a5;" (assignment_expression "apcStack_a0[0] = (char *)0xa73a5" (subscript_expression "apcStack_a0[0]" (identifier "apcStack_a0") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(char *)0xa73a5" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa73a5"))) (; ";")) (expression_statement "local_60 = FUN_000279c0();" (assignment_expression "local_60 = FUN_000279c0()" (identifier "local_60") (= "=") (call_expression "FUN_000279c0()" (identifier "FUN_000279c0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "apcStack_a0[0] = (char *)0xa73c2;" (assignment_expression "apcStack_a0[0] = (char *)0xa73c2" (subscript_expression "apcStack_a0[0]" (identifier "apcStack_a0") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(char *)0xa73c2" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa73c2"))) (; ";")) (expression_statement "FUN_00027ef0();" (call_expression "FUN_00027ef0()" (identifier "FUN_00027ef0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "apcStack_a0[0] = (char *)0xa73cd;" (assignment_expression "apcStack_a0[0] = (char *)0xa73cd" (subscript_expression "apcStack_a0[0]" (identifier "apcStack_a0") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(char *)0xa73cd" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa73cd"))) (; ";")) (expression_statement "FUN_00027fa0();" (call_expression "FUN_00027fa0()" (identifier "FUN_00027fa0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "apcStack_a0[0] = (char *)0xa73d6;" (assignment_expression "apcStack_a0[0] = (char *)0xa73d6" (subscript_expression "apcStack_a0[0]" (identifier "apcStack_a0") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(char *)0xa73d6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa73d6"))) (; ";")) (expression_statement "FUN_00027fa0();" (call_expression "FUN_00027fa0()" (identifier "FUN_00027fa0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "apcStack_a0[0] = (char *)0xa73e2;" (assignment_expression "apcStack_a0[0] = (char *)0xa73e2" (subscript_expression "apcStack_a0[0]" (identifier "apcStack_a0") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(char *)0xa73e2" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa73e2"))) (; ";")) (expression_statement "FUN_000280a0();" (call_expression "FUN_000280a0()" (identifier "FUN_000280a0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "apcStack_a0[0] = (char *)0xa73f1;" (assignment_expression "apcStack_a0[0] = (char *)0xa73f1" (subscript_expression "apcStack_a0[0]" (identifier "apcStack_a0") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(char *)0xa73f1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa73f1"))) (; ";")) (expression_statement "iVar5 = FUN_000a7010();" (assignment_expression "iVar5 = FUN_000a7010()" (identifier "iVar5") (= "=") (call_expression "FUN_000a7010()" (identifier "FUN_000a7010") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "ppcVar9 = apcStack_a0 + 1;" (assignment_expression "ppcVar9 = apcStack_a0 + 1" (identifier "ppcVar9") (= "=") (binary_expression "apcStack_a0 + 1" (identifier "apcStack_a0") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar5 != 0) goto LAB_000a7644;" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000a7644;" (goto "goto") (statement_identifier "LAB_000a7644") (; ";"))) (labeled_statement "LAB_000a73fb:\n      apcStack_a0[0] = (char *)0xa7408;" (statement_identifier "LAB_000a73fb") (: ":") (expression_statement "apcStack_a0[0] = (char *)0xa7408;" (assignment_expression "apcStack_a0[0] = (char *)0xa7408" (subscript_expression "apcStack_a0[0]" (identifier "apcStack_a0") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(char *)0xa7408" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa7408"))) (; ";"))) (expression_statement "iVar5 = FUN_00062b70();" (assignment_expression "iVar5 = FUN_00062b70()" (identifier "iVar5") (= "=") (call_expression "FUN_00062b70()" (identifier "FUN_00062b70") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "ppcVar9 = apcStack_a0 + 1;" (assignment_expression "ppcVar9 = apcStack_a0 + 1" (identifier "ppcVar9") (= "=") (binary_expression "apcStack_a0 + 1" (identifier "apcStack_a0") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar5 != 0) goto LAB_000a7644;" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000a7644;" (goto "goto") (statement_identifier "LAB_000a7644") (; ";"))) (if_statement "if (*(char *)(**(int **)((int)local_90[1] + 4) + 5) == '\x05') {\n        *(undefined4 *)(param_2 + 0x58) = 0;\n      }" (if "if") (parenthesized_expression "(*(char *)(**(int **)((int)local_90[1] + 4) + 5) == '\x05')" (( "(") (binary_expression "*(char *)(**(int **)((int)local_90[1] + 4) + 5) == '\x05'" (pointer_expression "*(char *)(**(int **)((int)local_90[1] + 4) + 5)" (* "*") (cast_expression "(char *)(**(int **)((int)local_90[1] + 4) + 5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(**(int **)((int)local_90[1] + 4) + 5)" (( "(") (binary_expression "**(int **)((int)local_90[1] + 4) + 5" (pointer_expression "**(int **)((int)local_90[1] + 4)" (* "*") (pointer_expression "*(int **)((int)local_90[1] + 4)" (* "*") (cast_expression "(int **)((int)local_90[1] + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)local_90[1] + 4)" (( "(") (binary_expression "(int)local_90[1] + 4" (cast_expression "(int)local_90[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_90[1]" (identifier "local_90") ([ "[") (number_literal "1") (] "]"))) (+ "+") (number_literal "4")) () ")"))))) (+ "+") (number_literal "5")) () ")")))) (== "==") (char_literal "'\x05'" (' "'") (escape_sequence "\x05") (' "'"))) () ")")) (compound_statement "{\n        *(undefined4 *)(param_2 + 0x58) = 0;\n      }" ({ "{") (expression_statement "*(undefined4 *)(param_2 + 0x58) = 0;" (assignment_expression "*(undefined4 *)(param_2 + 0x58) = 0" (pointer_expression "*(undefined4 *)(param_2 + 0x58)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x58)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x58)" (( "(") (binary_expression "param_2 + 0x58" (identifier "param_2") (+ "+") (number_literal "0x58")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "iVar5 = FUN_00041730(0);" (assignment_expression "iVar5 = FUN_00041730(0)" (identifier "iVar5") (= "=") (call_expression "FUN_00041730(0)" (identifier "FUN_00041730") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (if_statement "if ((iVar5 != 0) ||\n         (((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0')))) {\n        iVar5 = 7;\n        ppcVar9 = apcStack_a0 + 1;\n        goto LAB_000a7644;\n      }" (if "if") (parenthesized_expression "((iVar5 != 0) ||\n         (((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0'))))" (( "(") (binary_expression "(iVar5 != 0) ||\n         (((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0')))" (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0')))" (( "(") (parenthesized_expression "((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0'))" (( "(") (binary_expression "(local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||\n          (*(char *)(param_2 + 0x4d) != '\0')" (parenthesized_expression "(local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0))" (( "(") (binary_expression "local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)" (binary_expression "local_65 == '\0'" (identifier "local_65") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (&& "&&") (parenthesized_expression "(iVar5 = FUN_00041730(0), iVar5 != 0)" (( "(") (comma_expression "iVar5 = FUN_00041730(0), iVar5 != 0" (assignment_expression "iVar5 = FUN_00041730(0)" (identifier "iVar5") (= "=") (call_expression "FUN_00041730(0)" (identifier "FUN_00041730") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (, ",") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(*(char *)(param_2 + 0x4d) != '\0')" (( "(") (binary_expression "*(char *)(param_2 + 0x4d) != '\0'" (pointer_expression "*(char *)(param_2 + 0x4d)" (* "*") (cast_expression "(char *)(param_2 + 0x4d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x4d)" (( "(") (binary_expression "param_2 + 0x4d" (identifier "param_2") (+ "+") (number_literal "0x4d")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n        iVar5 = 7;\n        ppcVar9 = apcStack_a0 + 1;\n        goto LAB_000a7644;\n      }" ({ "{") (expression_statement "iVar5 = 7;" (assignment_expression "iVar5 = 7" (identifier "iVar5") (= "=") (number_literal "7")) (; ";")) (expression_statement "ppcVar9 = apcStack_a0 + 1;" (assignment_expression "ppcVar9 = apcStack_a0 + 1" (identifier "ppcVar9") (= "=") (binary_expression "apcStack_a0 + 1" (identifier "apcStack_a0") (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_000a7644;" (goto "goto") (statement_identifier "LAB_000a7644") (; ";")) (} "}"))) (expression_statement "ppcVar9 = apcStack_a0 + 1;" (assignment_expression "ppcVar9 = apcStack_a0 + 1" (identifier "ppcVar9") (= "=") (binary_expression "apcStack_a0 + 1" (identifier "apcStack_a0") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (*(char *)(param_2 + 0x50) < '\0') {\n        ppcVar9 = apcStack_a0;\n        apcStack_a0[0] = (char *)0xa7754;\n        entry();\n      }" (if "if") (parenthesized_expression "(*(char *)(param_2 + 0x50) < '\0')" (( "(") (binary_expression "*(char *)(param_2 + 0x50) < '\0'" (pointer_expression "*(char *)(param_2 + 0x50)" (* "*") (cast_expression "(char *)(param_2 + 0x50)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x50)" (( "(") (binary_expression "param_2 + 0x50" (identifier "param_2") (+ "+") (number_literal "0x50")) () ")")))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        ppcVar9 = apcStack_a0;\n        apcStack_a0[0] = (char *)0xa7754;\n        entry();\n      }" ({ "{") (expression_statement "ppcVar9 = apcStack_a0;" (assignment_expression "ppcVar9 = apcStack_a0" (identifier "ppcVar9") (= "=") (identifier "apcStack_a0")) (; ";")) (expression_statement "apcStack_a0[0] = (char *)0xa7754;" (assignment_expression "apcStack_a0[0] = (char *)0xa7754" (subscript_expression "apcStack_a0[0]" (identifier "apcStack_a0") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(char *)0xa7754" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa7754"))) (; ";")) (expression_statement "entry();" (call_expression "entry()" (identifier "entry") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "ppcVar9[-1] = (char *)0xa7472;" (assignment_expression "ppcVar9[-1] = (char *)0xa7472" (subscript_expression "ppcVar9[-1]" (identifier "ppcVar9") ([ "[") (number_literal "-1") (] "]")) (= "=") (cast_expression "(char *)0xa7472" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa7472"))) (; ";")) (expression_statement "FUN_00028170();" (call_expression "FUN_00028170()" (identifier "FUN_00028170") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppcVar9[-1] = ppcVar9[0xc];" (assignment_expression "ppcVar9[-1] = ppcVar9[0xc]" (subscript_expression "ppcVar9[-1]" (identifier "ppcVar9") ([ "[") (number_literal "-1") (] "]")) (= "=") (subscript_expression "ppcVar9[0xc]" (identifier "ppcVar9") ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (expression_statement "*(undefined1 *)(param_2 + 0xa0) = *(undefined1 *)(ppcVar9 + 8);" (assignment_expression "*(undefined1 *)(param_2 + 0xa0) = *(undefined1 *)(ppcVar9 + 8)" (pointer_expression "*(undefined1 *)(param_2 + 0xa0)" (* "*") (cast_expression "(undefined1 *)(param_2 + 0xa0)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xa0)" (( "(") (binary_expression "param_2 + 0xa0" (identifier "param_2") (+ "+") (number_literal "0xa0")) () ")")))) (= "=") (pointer_expression "*(undefined1 *)(ppcVar9 + 8)" (* "*") (cast_expression "(undefined1 *)(ppcVar9 + 8)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppcVar9 + 8)" (( "(") (binary_expression "ppcVar9 + 8" (identifier "ppcVar9") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "ppcVar9[-2] = (char *)(ppuVar8 + -0xbcc7);" (assignment_expression "ppcVar9[-2] = (char *)(ppuVar8 + -0xbcc7)" (subscript_expression "ppcVar9[-2]" (identifier "ppcVar9") ([ "[") (number_literal "-2") (] "]")) (= "=") (cast_expression "(char *)(ppuVar8 + -0xbcc7)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppuVar8 + -0xbcc7)" (( "(") (binary_expression "ppuVar8 + -0xbcc7" (identifier "ppuVar8") (+ "+") (number_literal "-0xbcc7")) () ")")))) (; ";")) (expression_statement "ppcVar9[-3] = (char *)param_1;" (assignment_expression "ppcVar9[-3] = (char *)param_1" (subscript_expression "ppcVar9[-3]" (identifier "ppcVar9") ([ "[") (number_literal "-3") (] "]")) (= "=") (cast_expression "(char *)param_1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) (; ";")) (expression_statement "ppcVar9[-4] = (char *)param_2;" (assignment_expression "ppcVar9[-4] = (char *)param_2" (subscript_expression "ppcVar9[-4]" (identifier "ppcVar9") ([ "[") (number_literal "-4") (] "]")) (= "=") (cast_expression "(char *)param_2" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_2"))) (; ";")) (expression_statement "ppcVar9[-5] = (char *)0xa748f;" (assignment_expression "ppcVar9[-5] = (char *)0xa748f" (subscript_expression "ppcVar9[-5]" (identifier "ppcVar9") ([ "[") (number_literal "-5") (] "]")) (= "=") (cast_expression "(char *)0xa748f" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa748f"))) (; ";")) (expression_statement "iVar5 = FUN_000a7160();" (assignment_expression "iVar5 = FUN_000a7160()" (identifier "iVar5") (= "=") (call_expression "FUN_000a7160()" (identifier "FUN_000a7160") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar5 != 0) goto LAB_000a7644;" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000a7644;" (goto "goto") (statement_identifier "LAB_000a7644") (; ";"))) (expression_statement "ppcVar9[-1] = ppcVar9[0xc];" (assignment_expression "ppcVar9[-1] = ppcVar9[0xc]" (subscript_expression "ppcVar9[-1]" (identifier "ppcVar9") ([ "[") (number_literal "-1") (] "]")) (= "=") (subscript_expression "ppcVar9[0xc]" (identifier "ppcVar9") ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (expression_statement "ppcVar9[-2] = (char *)(ppuVar8 + -0xbcac);" (assignment_expression "ppcVar9[-2] = (char *)(ppuVar8 + -0xbcac)" (subscript_expression "ppcVar9[-2]" (identifier "ppcVar9") ([ "[") (number_literal "-2") (] "]")) (= "=") (cast_expression "(char *)(ppuVar8 + -0xbcac)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppuVar8 + -0xbcac)" (( "(") (binary_expression "ppuVar8 + -0xbcac" (identifier "ppuVar8") (+ "+") (number_literal "-0xbcac")) () ")")))) (; ";")) (expression_statement "ppcVar9[-3] = (char *)param_1;" (assignment_expression "ppcVar9[-3] = (char *)param_1" (subscript_expression "ppcVar9[-3]" (identifier "ppcVar9") ([ "[") (number_literal "-3") (] "]")) (= "=") (cast_expression "(char *)param_1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) (; ";")) (expression_statement "ppcVar9[-4] = (char *)param_2;" (assignment_expression "ppcVar9[-4] = (char *)param_2" (subscript_expression "ppcVar9[-4]" (identifier "ppcVar9") ([ "[") (number_literal "-4") (] "]")) (= "=") (cast_expression "(char *)param_2" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_2"))) (; ";")) (expression_statement "ppcVar9[-5] = (char *)0xa74ae;" (assignment_expression "ppcVar9[-5] = (char *)0xa74ae" (subscript_expression "ppcVar9[-5]" (identifier "ppcVar9") ([ "[") (number_literal "-5") (] "]")) (= "=") (cast_expression "(char *)0xa74ae" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa74ae"))) (; ";")) (expression_statement "iVar5 = FUN_000a7160();" (assignment_expression "iVar5 = FUN_000a7160()" (identifier "iVar5") (= "=") (call_expression "FUN_000a7160()" (identifier "FUN_000a7160") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar5 != 0) goto LAB_000a7644;" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000a7644;" (goto "goto") (statement_identifier "LAB_000a7644") (; ";"))) (expression_statement "ppcVar9[-1] = ppcVar9[0xc];" (assignment_expression "ppcVar9[-1] = ppcVar9[0xc]" (subscript_expression "ppcVar9[-1]" (identifier "ppcVar9") ([ "[") (number_literal "-1") (] "]")) (= "=") (subscript_expression "ppcVar9[0xc]" (identifier "ppcVar9") ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (expression_statement "*(undefined1 *)(param_2 + 0xa0) = 0;" (assignment_expression "*(undefined1 *)(param_2 + 0xa0) = 0" (pointer_expression "*(undefined1 *)(param_2 + 0xa0)" (* "*") (cast_expression "(undefined1 *)(param_2 + 0xa0)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xa0)" (( "(") (binary_expression "param_2 + 0xa0" (identifier "param_2") (+ "+") (number_literal "0xa0")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "ppcVar9[-2] = (char *)(ppuVar8 + -0xbc9e);" (assignment_expression "ppcVar9[-2] = (char *)(ppuVar8 + -0xbc9e)" (subscript_expression "ppcVar9[-2]" (identifier "ppcVar9") ([ "[") (number_literal "-2") (] "]")) (= "=") (cast_expression "(char *)(ppuVar8 + -0xbc9e)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppuVar8 + -0xbc9e)" (( "(") (binary_expression "ppuVar8 + -0xbc9e" (identifier "ppuVar8") (+ "+") (number_literal "-0xbc9e")) () ")")))) (; ";")) (expression_statement "ppcVar9[-3] = (char *)param_1;" (assignment_expression "ppcVar9[-3] = (char *)param_1" (subscript_expression "ppcVar9[-3]" (identifier "ppcVar9") ([ "[") (number_literal "-3") (] "]")) (= "=") (cast_expression "(char *)param_1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) (; ";")) (expression_statement "ppcVar9[-4] = (char *)param_2;" (assignment_expression "ppcVar9[-4] = (char *)param_2" (subscript_expression "ppcVar9[-4]" (identifier "ppcVar9") ([ "[") (number_literal "-4") (] "]")) (= "=") (cast_expression "(char *)param_2" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_2"))) (; ";")) (expression_statement "ppcVar9[-5] = (char *)0xa74d4;" (assignment_expression "ppcVar9[-5] = (char *)0xa74d4" (subscript_expression "ppcVar9[-5]" (identifier "ppcVar9") ([ "[") (number_literal "-5") (] "]")) (= "=") (cast_expression "(char *)0xa74d4" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa74d4"))) (; ";")) (expression_statement "iVar5 = FUN_000a7160();" (assignment_expression "iVar5 = FUN_000a7160()" (identifier "iVar5") (= "=") (call_expression "FUN_000a7160()" (identifier "FUN_000a7160") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) & 0xfffffffb;" (assignment_expression "*(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) & 0xfffffffb" (pointer_expression "*(uint *)(param_2 + 0x18)" (* "*") (cast_expression "(uint *)(param_2 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x18)" (( "(") (binary_expression "param_2 + 0x18" (identifier "param_2") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (binary_expression "*(uint *)(param_2 + 0x18) & 0xfffffffb" (pointer_expression "*(uint *)(param_2 + 0x18)" (* "*") (cast_expression "(uint *)(param_2 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x18)" (( "(") (binary_expression "param_2 + 0x18" (identifier "param_2") (+ "+") (number_literal "0x18")) () ")")))) (& "&") (number_literal "0xfffffffb"))) (; ";")) (if_statement "if (iVar5 != 0) goto LAB_000a7644;" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000a7644;" (goto "goto") (statement_identifier "LAB_000a7644") (; ";"))) (expression_statement "ppcVar9[-1] = ppcVar9[0xc];" (assignment_expression "ppcVar9[-1] = ppcVar9[0xc]" (subscript_expression "ppcVar9[-1]" (identifier "ppcVar9") ([ "[") (number_literal "-1") (] "]")) (= "=") (subscript_expression "ppcVar9[0xc]" (identifier "ppcVar9") ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (expression_statement "ppcVar9[-2] = (char *)(ppuVar8 + -0xbc78);" (assignment_expression "ppcVar9[-2] = (char *)(ppuVar8 + -0xbc78)" (subscript_expression "ppcVar9[-2]" (identifier "ppcVar9") ([ "[") (number_literal "-2") (] "]")) (= "=") (cast_expression "(char *)(ppuVar8 + -0xbc78)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppuVar8 + -0xbc78)" (( "(") (binary_expression "ppuVar8 + -0xbc78" (identifier "ppuVar8") (+ "+") (number_literal "-0xbc78")) () ")")))) (; ";")) (expression_statement "ppcVar9[-3] = (char *)param_1;" (assignment_expression "ppcVar9[-3] = (char *)param_1" (subscript_expression "ppcVar9[-3]" (identifier "ppcVar9") ([ "[") (number_literal "-3") (] "]")) (= "=") (cast_expression "(char *)param_1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) (; ";")) (expression_statement "ppcVar9[-4] = (char *)param_2;" (assignment_expression "ppcVar9[-4] = (char *)param_2" (subscript_expression "ppcVar9[-4]" (identifier "ppcVar9") ([ "[") (number_literal "-4") (] "]")) (= "=") (cast_expression "(char *)param_2" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_2"))) (; ";")) (expression_statement "ppcVar9[-5] = (char *)0xa74f7;" (assignment_expression "ppcVar9[-5] = (char *)0xa74f7" (subscript_expression "ppcVar9[-5]" (identifier "ppcVar9") ([ "[") (number_literal "-5") (] "]")) (= "=") (cast_expression "(char *)0xa74f7" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa74f7"))) (; ";")) (expression_statement "iVar5 = FUN_000a7160();" (assignment_expression "iVar5 = FUN_000a7160()" (identifier "iVar5") (= "=") (call_expression "FUN_000a7160()" (identifier "FUN_000a7160") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar5 != 0) goto LAB_000a7644;" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000a7644;" (goto "goto") (statement_identifier "LAB_000a7644") (; ";"))) (expression_statement "ppcVar9[8] = (char *)(ppcVar9 + 0x11);" (assignment_expression "ppcVar9[8] = (char *)(ppcVar9 + 0x11)" (subscript_expression "ppcVar9[8]" (identifier "ppcVar9") ([ "[") (number_literal "8") (] "]")) (= "=") (cast_expression "(char *)(ppcVar9 + 0x11)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppcVar9 + 0x11)" (( "(") (binary_expression "ppcVar9 + 0x11" (identifier "ppcVar9") (+ "+") (number_literal "0x11")) () ")")))) (; ";")) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" (identifier "iVar10") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        ppcVar9[-1] = (char *)0xa7523;\n        FUN_000341f0();\n        ppcVar9[-1] = (char *)0xa753a;\n        iVar5 = FUN_000633c0();\n        if (iVar5 != 0) goto LAB_000a7644;\n        iVar10 = iVar10 + 2;\n      } while (iVar10 != 10);" (do "do") (compound_statement "{\n        ppcVar9[-1] = (char *)0xa7523;\n        FUN_000341f0();\n        ppcVar9[-1] = (char *)0xa753a;\n        iVar5 = FUN_000633c0();\n        if (iVar5 != 0) goto LAB_000a7644;\n        iVar10 = iVar10 + 2;\n      }" ({ "{") (expression_statement "ppcVar9[-1] = (char *)0xa7523;" (assignment_expression "ppcVar9[-1] = (char *)0xa7523" (subscript_expression "ppcVar9[-1]" (identifier "ppcVar9") ([ "[") (number_literal "-1") (] "]")) (= "=") (cast_expression "(char *)0xa7523" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa7523"))) (; ";")) (expression_statement "FUN_000341f0();" (call_expression "FUN_000341f0()" (identifier "FUN_000341f0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppcVar9[-1] = (char *)0xa753a;" (assignment_expression "ppcVar9[-1] = (char *)0xa753a" (subscript_expression "ppcVar9[-1]" (identifier "ppcVar9") ([ "[") (number_literal "-1") (] "]")) (= "=") (cast_expression "(char *)0xa753a" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa753a"))) (; ";")) (expression_statement "iVar5 = FUN_000633c0();" (assignment_expression "iVar5 = FUN_000633c0()" (identifier "iVar5") (= "=") (call_expression "FUN_000633c0()" (identifier "FUN_000633c0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar5 != 0) goto LAB_000a7644;" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000a7644;" (goto "goto") (statement_identifier "LAB_000a7644") (; ";"))) (expression_statement "iVar10 = iVar10 + 2;" (assignment_expression "iVar10 = iVar10 + 2" (identifier "iVar10") (= "=") (binary_expression "iVar10 + 2" (identifier "iVar10") (+ "+") (number_literal "2"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar10 != 10)" (( "(") (binary_expression "iVar10 != 10" (identifier "iVar10") (!= "!=") (number_literal "10")) () ")")) (; ";")) (if_statement "if (*ppcVar9 == (char *)0x0) {\n        if (ppcVar9[4][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7778;\n          FUN_00027820();\n        }\n        if (ppcVar9[0xe][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7787;\n          FUN_00027820();\n        }\n        iVar5 = **(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        *ppcVar9 = (char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        if (iVar5 == 0) {\nLAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;\n          ppcVar12 = ppcVar11;\n          for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }\n          pcVar7 = *(char **)ppcVar9[0xe];\n          ppcVar9[0x18] = ppcVar9[0xe];\n          ppcVar9[0x16] = (char *)0x1;\n          ppcVar9[0x17] = pcVar7;\n          pcVar7 = ppcVar9[4];\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = pcVar7;\n          ppcVar9[-3] = (char *)0x7fffffff;\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7820;\n          sqlite3_backup_step();\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7828;\n          iVar5 = sqlite3_backup_finish();\n          if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }\n        }\n        else {\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }\n        pcVar7 = ppcVar9[0xe];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }\n        }\n        pcVar7 = ppcVar9[4];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }\n        }\n        if (iVar5 == 0) {\n          ppcVar9[-1] = (char *)0xa7896;\n          iVar5 = FUN_0006aff0();\n          if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }\n        }\n        goto LAB_000a7644;\n      }" (if "if") (parenthesized_expression "(*ppcVar9 == (char *)0x0)" (( "(") (binary_expression "*ppcVar9 == (char *)0x0" (pointer_expression "*ppcVar9" (* "*") (identifier "ppcVar9")) (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        if (ppcVar9[4][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7778;\n          FUN_00027820();\n        }\n        if (ppcVar9[0xe][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7787;\n          FUN_00027820();\n        }\n        iVar5 = **(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        *ppcVar9 = (char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);\n        if (iVar5 == 0) {\nLAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;\n          ppcVar12 = ppcVar11;\n          for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }\n          pcVar7 = *(char **)ppcVar9[0xe];\n          ppcVar9[0x18] = ppcVar9[0xe];\n          ppcVar9[0x16] = (char *)0x1;\n          ppcVar9[0x17] = pcVar7;\n          pcVar7 = ppcVar9[4];\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = pcVar7;\n          ppcVar9[-3] = (char *)0x7fffffff;\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7820;\n          sqlite3_backup_step();\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7828;\n          iVar5 = sqlite3_backup_finish();\n          if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }\n        }\n        else {\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }\n        pcVar7 = ppcVar9[0xe];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }\n        }\n        pcVar7 = ppcVar9[4];\n        if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }\n        }\n        if (iVar5 == 0) {\n          ppcVar9[-1] = (char *)0xa7896;\n          iVar5 = FUN_0006aff0();\n          if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }\n        }\n        goto LAB_000a7644;\n      }" ({ "{") (if_statement "if (ppcVar9[4][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7778;\n          FUN_00027820();\n        }" (if "if") (parenthesized_expression "(ppcVar9[4][9] != '\0')" (( "(") (binary_expression "ppcVar9[4][9] != '\0'" (subscript_expression "ppcVar9[4][9]" (subscript_expression "ppcVar9[4]" (identifier "ppcVar9") ([ "[") (number_literal "4") (] "]")) ([ "[") (number_literal "9") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          ppcVar9[-1] = (char *)0xa7778;\n          FUN_00027820();\n        }" ({ "{") (expression_statement "ppcVar9[-1] = (char *)0xa7778;" (assignment_expression "ppcVar9[-1] = (char *)0xa7778" (subscript_expression "ppcVar9[-1]" (identifier "ppcVar9") ([ "[") (number_literal "-1") (] "]")) (= "=") (cast_expression "(char *)0xa7778" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa7778"))) (; ";")) (expression_statement "FUN_00027820();" (call_expression "FUN_00027820()" (identifier "FUN_00027820") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (ppcVar9[0xe][9] != '\0') {\n          ppcVar9[-1] = (char *)0xa7787;\n          FUN_00027820();\n        }" (if "if") (parenthesized_expression "(ppcVar9[0xe][9] != '\0')" (( "(") (binary_expression "ppcVar9[0xe][9] != '\0'" (subscript_expression "ppcVar9[0xe][9]" (subscript_expression "ppcVar9[0xe]" (identifier "ppcVar9") ([ "[") (number_literal "0xe") (] "]")) ([ "[") (number_literal "9") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          ppcVar9[-1] = (char *)0xa7787;\n          FUN_00027820();\n        }" ({ "{") (expression_statement "ppcVar9[-1] = (char *)0xa7787;" (assignment_expression "ppcVar9[-1] = (char *)0xa7787" (subscript_expression "ppcVar9[-1]" (identifier "ppcVar9") ([ "[") (number_literal "-1") (] "]")) (= "=") (cast_expression "(char *)0xa7787" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa7787"))) (; ";")) (expression_statement "FUN_00027820();" (call_expression "FUN_00027820()" (identifier "FUN_00027820") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar5 = **(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);" (assignment_expression "iVar5 = **(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c)" (identifier "iVar5") (= "=") (pointer_expression "**(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c)" (* "*") (pointer_expression "*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c)" (* "*") (cast_expression "(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(ppcVar9[4] + 4) + 0x3c)" (( "(") (binary_expression "**(int **)(ppcVar9[4] + 4) + 0x3c" (pointer_expression "**(int **)(ppcVar9[4] + 4)" (* "*") (pointer_expression "*(int **)(ppcVar9[4] + 4)" (* "*") (cast_expression "(int **)(ppcVar9[4] + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(ppcVar9[4] + 4)" (( "(") (binary_expression "ppcVar9[4] + 4" (subscript_expression "ppcVar9[4]" (identifier "ppcVar9") ([ "[") (number_literal "4") (] "]")) (+ "+") (number_literal "4")) () ")"))))) (+ "+") (number_literal "0x3c")) () ")")))))) (; ";")) (expression_statement "*ppcVar9 = (char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);" (assignment_expression "*ppcVar9 = (char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c)" (pointer_expression "*ppcVar9" (* "*") (identifier "ppcVar9")) (= "=") (cast_expression "(char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c)" (* "*") (cast_expression "(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(ppcVar9[4] + 4) + 0x3c)" (( "(") (binary_expression "**(int **)(ppcVar9[4] + 4) + 0x3c" (pointer_expression "**(int **)(ppcVar9[4] + 4)" (* "*") (pointer_expression "*(int **)(ppcVar9[4] + 4)" (* "*") (cast_expression "(int **)(ppcVar9[4] + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(ppcVar9[4] + 4)" (( "(") (binary_expression "ppcVar9[4] + 4" (subscript_expression "ppcVar9[4]" (identifier "ppcVar9") ([ "[") (number_literal "4") (] "]")) (+ "+") (number_literal "4")) () ")"))))) (+ "+") (number_literal "0x3c")) () ")")))))) (; ";")) (if_statement "if (iVar5 == 0) {\nLAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;\n          ppcVar12 = ppcVar11;\n          for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }\n          pcVar7 = *(char **)ppcVar9[0xe];\n          ppcVar9[0x18] = ppcVar9[0xe];\n          ppcVar9[0x16] = (char *)0x1;\n          ppcVar9[0x17] = pcVar7;\n          pcVar7 = ppcVar9[4];\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = pcVar7;\n          ppcVar9[-3] = (char *)0x7fffffff;\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7820;\n          sqlite3_backup_step();\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7828;\n          iVar5 = sqlite3_backup_finish();\n          if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }\n        }\n        else {\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;\n          ppcVar12 = ppcVar11;\n          for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }\n          pcVar7 = *(char **)ppcVar9[0xe];\n          ppcVar9[0x18] = ppcVar9[0xe];\n          ppcVar9[0x16] = (char *)0x1;\n          ppcVar9[0x17] = pcVar7;\n          pcVar7 = ppcVar9[4];\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = pcVar7;\n          ppcVar9[-3] = (char *)0x7fffffff;\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7820;\n          sqlite3_backup_step();\n          ppcVar9[-4] = (char *)ppcVar11;\n          ppcVar9[-5] = (char *)0xa7828;\n          iVar5 = sqlite3_backup_finish();\n          if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }\n        }" ({ "{") (labeled_statement "LAB_000a77ea:\n          ppcVar11 = ppcVar9 + 0x12;" (statement_identifier "LAB_000a77ea") (: ":") (expression_statement "ppcVar11 = ppcVar9 + 0x12;" (assignment_expression "ppcVar11 = ppcVar9 + 0x12" (identifier "ppcVar11") (= "=") (binary_expression "ppcVar9 + 0x12" (identifier "ppcVar9") (+ "+") (number_literal "0x12"))) (; ";"))) (expression_statement "ppcVar12 = ppcVar11;" (assignment_expression "ppcVar12 = ppcVar11" (identifier "ppcVar12") (= "=") (identifier "ppcVar11")) (; ";")) (for_statement "for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }" (for "for") (( "(") (assignment_expression "iVar5 = 0xc" (identifier "iVar5") (= "=") (number_literal "0xc")) (; ";") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar5 = iVar5 + -1" (identifier "iVar5") (= "=") (binary_expression "iVar5 + -1" (identifier "iVar5") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n            *ppcVar12 = (char *)0x0;\n            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;\n          }" ({ "{") (expression_statement "*ppcVar12 = (char *)0x0;" (assignment_expression "*ppcVar12 = (char *)0x0" (pointer_expression "*ppcVar12" (* "*") (identifier "ppcVar12")) (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;" (assignment_expression "ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1" (identifier "ppcVar12") (= "=") (binary_expression "ppcVar12 + (uint)bVar13 * -2 + 1" (binary_expression "ppcVar12 + (uint)bVar13 * -2" (identifier "ppcVar12") (+ "+") (binary_expression "(uint)bVar13 * -2" (cast_expression "(uint)bVar13" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "pcVar7 = *(char **)ppcVar9[0xe];" (assignment_expression "pcVar7 = *(char **)ppcVar9[0xe]" (identifier "pcVar7") (= "=") (pointer_expression "*(char **)ppcVar9[0xe]" (* "*") (cast_expression "(char **)ppcVar9[0xe]" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "ppcVar9[0xe]" (identifier "ppcVar9") ([ "[") (number_literal "0xe") (] "]"))))) (; ";")) (expression_statement "ppcVar9[0x18] = ppcVar9[0xe];" (assignment_expression "ppcVar9[0x18] = ppcVar9[0xe]" (subscript_expression "ppcVar9[0x18]" (identifier "ppcVar9") ([ "[") (number_literal "0x18") (] "]")) (= "=") (subscript_expression "ppcVar9[0xe]" (identifier "ppcVar9") ([ "[") (number_literal "0xe") (] "]"))) (; ";")) (expression_statement "ppcVar9[0x16] = (char *)0x1;" (assignment_expression "ppcVar9[0x16] = (char *)0x1" (subscript_expression "ppcVar9[0x16]" (identifier "ppcVar9") ([ "[") (number_literal "0x16") (] "]")) (= "=") (cast_expression "(char *)0x1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "ppcVar9[0x17] = pcVar7;" (assignment_expression "ppcVar9[0x17] = pcVar7" (subscript_expression "ppcVar9[0x17]" (identifier "ppcVar9") ([ "[") (number_literal "0x17") (] "]")) (= "=") (identifier "pcVar7")) (; ";")) (expression_statement "pcVar7 = ppcVar9[4];" (assignment_expression "pcVar7 = ppcVar9[4]" (identifier "pcVar7") (= "=") (subscript_expression "ppcVar9[4]" (identifier "ppcVar9") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "ppcVar9[0x13] = pcVar7;" (assignment_expression "ppcVar9[0x13] = pcVar7" (subscript_expression "ppcVar9[0x13]" (identifier "ppcVar9") ([ "[") (number_literal "0x13") (] "]")) (= "=") (identifier "pcVar7")) (; ";")) (expression_statement "ppcVar9[-1] = pcVar7;" (assignment_expression "ppcVar9[-1] = pcVar7" (subscript_expression "ppcVar9[-1]" (identifier "ppcVar9") ([ "[") (number_literal "-1") (] "]")) (= "=") (identifier "pcVar7")) (; ";")) (expression_statement "ppcVar9[-2] = pcVar7;" (assignment_expression "ppcVar9[-2] = pcVar7" (subscript_expression "ppcVar9[-2]" (identifier "ppcVar9") ([ "[") (number_literal "-2") (] "]")) (= "=") (identifier "pcVar7")) (; ";")) (expression_statement "ppcVar9[-3] = (char *)0x7fffffff;" (assignment_expression "ppcVar9[-3] = (char *)0x7fffffff" (subscript_expression "ppcVar9[-3]" (identifier "ppcVar9") ([ "[") (number_literal "-3") (] "]")) (= "=") (cast_expression "(char *)0x7fffffff" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x7fffffff"))) (; ";")) (expression_statement "ppcVar9[-4] = (char *)ppcVar11;" (assignment_expression "ppcVar9[-4] = (char *)ppcVar11" (subscript_expression "ppcVar9[-4]" (identifier "ppcVar9") ([ "[") (number_literal "-4") (] "]")) (= "=") (cast_expression "(char *)ppcVar11" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11"))) (; ";")) (expression_statement "ppcVar9[-5] = (char *)0xa7820;" (assignment_expression "ppcVar9[-5] = (char *)0xa7820" (subscript_expression "ppcVar9[-5]" (identifier "ppcVar9") ([ "[") (number_literal "-5") (] "]")) (= "=") (cast_expression "(char *)0xa7820" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa7820"))) (; ";")) (expression_statement "sqlite3_backup_step();" (call_expression "sqlite3_backup_step()" (identifier "sqlite3_backup_step") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppcVar9[-4] = (char *)ppcVar11;" (assignment_expression "ppcVar9[-4] = (char *)ppcVar11" (subscript_expression "ppcVar9[-4]" (identifier "ppcVar9") ([ "[") (number_literal "-4") (] "]")) (= "=") (cast_expression "(char *)ppcVar11" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11"))) (; ";")) (expression_statement "ppcVar9[-5] = (char *)0xa7828;" (assignment_expression "ppcVar9[-5] = (char *)0xa7828" (subscript_expression "ppcVar9[-5]" (identifier "ppcVar9") ([ "[") (number_literal "-5") (] "]")) (= "=") (cast_expression "(char *)0xa7828" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa7828"))) (; ";")) (expression_statement "iVar5 = sqlite3_backup_finish();" (assignment_expression "iVar5 = sqlite3_backup_finish()" (identifier "iVar5") (= "=") (call_expression "sqlite3_backup_finish()" (identifier "sqlite3_backup_finish") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar5 == 0) {\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }\n          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;\n          }" ({ "{") (expression_statement "*(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;" (assignment_expression "*(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =\n                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd" (pointer_expression "*(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18)" (* "*") (cast_expression "(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(ppcVar9[4] + 4) + 0x18)" (( "(") (binary_expression "*(int *)(ppcVar9[4] + 4) + 0x18" (pointer_expression "*(int *)(ppcVar9[4] + 4)" (* "*") (cast_expression "(int *)(ppcVar9[4] + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppcVar9[4] + 4)" (( "(") (binary_expression "ppcVar9[4] + 4" (subscript_expression "ppcVar9[4]" (identifier "ppcVar9") ([ "[") (number_literal "4") (] "]")) (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "0x18")) () ")")))) (= "=") (binary_expression "*(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd" (pointer_expression "*(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18)" (* "*") (cast_expression "(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(ppcVar9[4] + 4) + 0x18)" (( "(") (binary_expression "*(int *)(ppcVar9[4] + 4) + 0x18" (pointer_expression "*(int *)(ppcVar9[4] + 4)" (* "*") (cast_expression "(int *)(ppcVar9[4] + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppcVar9[4] + 4)" (( "(") (binary_expression "ppcVar9[4] + 4" (subscript_expression "ppcVar9[4]" (identifier "ppcVar9") ([ "[") (number_literal "4") (] "]")) (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "0x18")) () ")")))) (& "&") (number_literal "0xfffd"))) (; ";")) (} "}")) (else_clause "else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }" (else "else") (if_statement "if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }" (if "if") (parenthesized_expression "(*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0')" (( "(") (binary_expression "*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0'" (pointer_expression "*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc)" (* "*") (cast_expression "(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(**(int **)(ppcVar9[0x13] + 4) + 0xc)" (( "(") (binary_expression "**(int **)(ppcVar9[0x13] + 4) + 0xc" (pointer_expression "**(int **)(ppcVar9[0x13] + 4)" (* "*") (pointer_expression "*(int **)(ppcVar9[0x13] + 4)" (* "*") (cast_expression "(int **)(ppcVar9[0x13] + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(ppcVar9[0x13] + 4)" (( "(") (binary_expression "ppcVar9[0x13] + 4" (subscript_expression "ppcVar9[0x13]" (identifier "ppcVar9") ([ "[") (number_literal "0x13") (] "]")) (+ "+") (number_literal "4")) () ")"))))) (+ "+") (number_literal "0xc")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            ppcVar9[-1] = (char *)0xa78ee;\n            FUN_00026f50();\n          }" ({ "{") (expression_statement "ppcVar9[-1] = (char *)0xa78ee;" (assignment_expression "ppcVar9[-1] = (char *)0xa78ee" (subscript_expression "ppcVar9[-1]" (identifier "ppcVar9") ([ "[") (number_literal "-1") (] "]")) (= "=") (cast_expression "(char *)0xa78ee" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa78ee"))) (; ";")) (expression_statement "FUN_00026f50();" (call_expression "FUN_00026f50()" (identifier "FUN_00026f50") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))))) (} "}")) (else_clause "else {\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }" (else "else") (compound_statement "{\n          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);\n          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);\n          ppcVar9[8] = pcVar7;\n          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);\n          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);\n          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);\n          ppcVar9[0x12] = (char *)lVar4;\n          ppcVar9[0x13] = pcVar7;\n          ppcVar9[-1] = pcVar7;\n          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);\n          ppcVar9[-3] = (char *)0xb;\n          ppcVar9[-4] = *ppcVar9;\n          pcVar3 = *(code **)(iVar5 + 0x28);\n          ppcVar9[-5] = (char *)0xa77dc;\n          iVar5 = (*pcVar3)();\n          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;\n        }" ({ "{") (expression_statement "pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);" (assignment_expression "pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24)" (identifier "pcVar7") (= "=") (pointer_expression "*(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24)" (* "*") (cast_expression "(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(ppcVar9[0xe] + 4) + 0x24)" (( "(") (binary_expression "*(int *)(ppcVar9[0xe] + 4) + 0x24" (pointer_expression "*(int *)(ppcVar9[0xe] + 4)" (* "*") (cast_expression "(int *)(ppcVar9[0xe] + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppcVar9[0xe] + 4)" (( "(") (binary_expression "ppcVar9[0xe] + 4" (subscript_expression "ppcVar9[0xe]" (identifier "ppcVar9") ([ "[") (number_literal "0xe") (] "]")) (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);" (assignment_expression "uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30)" (identifier "uVar2") (= "=") (pointer_expression "*(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30)" (* "*") (cast_expression "(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(ppcVar9[0xe] + 4) + 0x30)" (( "(") (binary_expression "*(int *)(ppcVar9[0xe] + 4) + 0x30" (pointer_expression "*(int *)(ppcVar9[0xe] + 4)" (* "*") (cast_expression "(int *)(ppcVar9[0xe] + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppcVar9[0xe] + 4)" (( "(") (binary_expression "ppcVar9[0xe] + 4" (subscript_expression "ppcVar9[0xe]" (identifier "ppcVar9") ([ "[") (number_literal "0xe") (] "]")) (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "ppcVar9[8] = pcVar7;" (assignment_expression "ppcVar9[8] = pcVar7" (subscript_expression "ppcVar9[8]" (identifier "ppcVar9") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "pcVar7")) (; ";")) (expression_statement "ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);" (assignment_expression "ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f)" (subscript_expression "ppcVar9[9]" (identifier "ppcVar9") ([ "[") (number_literal "9") (] "]")) (= "=") (cast_expression "(char *)((int)pcVar7 >> 0x1f)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pcVar7 >> 0x1f)" (( "(") (binary_expression "(int)pcVar7 >> 0x1f" (cast_expression "(int)pcVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar7")) (>> ">>") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);" (assignment_expression "lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7)" (identifier "lVar4") (= "=") (binary_expression "(ulonglong)uVar2 * ZEXT48(pcVar7)" (cast_expression "(ulonglong)uVar2" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar2")) (* "*") (call_expression "ZEXT48(pcVar7)" (identifier "ZEXT48") (argument_list "(pcVar7)" (( "(") (identifier "pcVar7") () ")"))))) (; ";")) (expression_statement "pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);" (assignment_expression "pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2)" (identifier "pcVar7") (= "=") (cast_expression "(char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2)" (( "(") (binary_expression "(int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2" (cast_expression "(int)((ulonglong)lVar4 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)lVar4 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar4 >> 0x20" (cast_expression "(ulonglong)lVar4" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar4")) (>> ">>") (number_literal "0x20")) () ")"))) (+ "+") (binary_expression "(int)ppcVar9[9] * uVar2" (cast_expression "(int)ppcVar9[9]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppcVar9[9]" (identifier "ppcVar9") ([ "[") (number_literal "9") (] "]"))) (* "*") (identifier "uVar2"))) () ")")))) (; ";")) (expression_statement "ppcVar9[0x12] = (char *)lVar4;" (assignment_expression "ppcVar9[0x12] = (char *)lVar4" (subscript_expression "ppcVar9[0x12]" (identifier "ppcVar9") ([ "[") (number_literal "0x12") (] "]")) (= "=") (cast_expression "(char *)lVar4" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "lVar4"))) (; ";")) (expression_statement "ppcVar9[0x13] = pcVar7;" (assignment_expression "ppcVar9[0x13] = pcVar7" (subscript_expression "ppcVar9[0x13]" (identifier "ppcVar9") ([ "[") (number_literal "0x13") (] "]")) (= "=") (identifier "pcVar7")) (; ";")) (expression_statement "ppcVar9[-1] = pcVar7;" (assignment_expression "ppcVar9[-1] = pcVar7" (subscript_expression "ppcVar9[-1]" (identifier "ppcVar9") ([ "[") (number_literal "-1") (] "]")) (= "=") (identifier "pcVar7")) (; ";")) (expression_statement "ppcVar9[-2] = (char *)(ppcVar9 + 0x12);" (assignment_expression "ppcVar9[-2] = (char *)(ppcVar9 + 0x12)" (subscript_expression "ppcVar9[-2]" (identifier "ppcVar9") ([ "[") (number_literal "-2") (] "]")) (= "=") (cast_expression "(char *)(ppcVar9 + 0x12)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppcVar9 + 0x12)" (( "(") (binary_expression "ppcVar9 + 0x12" (identifier "ppcVar9") (+ "+") (number_literal "0x12")) () ")")))) (; ";")) (expression_statement "ppcVar9[-3] = (char *)0xb;" (assignment_expression "ppcVar9[-3] = (char *)0xb" (subscript_expression "ppcVar9[-3]" (identifier "ppcVar9") ([ "[") (number_literal "-3") (] "]")) (= "=") (cast_expression "(char *)0xb" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xb"))) (; ";")) (expression_statement "ppcVar9[-4] = *ppcVar9;" (assignment_expression "ppcVar9[-4] = *ppcVar9" (subscript_expression "ppcVar9[-4]" (identifier "ppcVar9") ([ "[") (number_literal "-4") (] "]")) (= "=") (pointer_expression "*ppcVar9" (* "*") (identifier "ppcVar9"))) (; ";")) (expression_statement "pcVar3 = *(code **)(iVar5 + 0x28);" (assignment_expression "pcVar3 = *(code **)(iVar5 + 0x28)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(iVar5 + 0x28)" (* "*") (cast_expression "(code **)(iVar5 + 0x28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 0x28)" (( "(") (binary_expression "iVar5 + 0x28" (identifier "iVar5") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "ppcVar9[-5] = (char *)0xa77dc;" (assignment_expression "ppcVar9[-5] = (char *)0xa77dc" (subscript_expression "ppcVar9[-5]" (identifier "ppcVar9") ([ "[") (number_literal "-5") (] "]")) (= "=") (cast_expression "(char *)0xa77dc" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa77dc"))) (; ";")) (expression_statement "iVar5 = (*pcVar3)();" (assignment_expression "iVar5 = (*pcVar3)()" (identifier "iVar5") (= "=") (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;" (if "if") (parenthesized_expression "((iVar5 == 0xc) || (iVar5 == 0))" (( "(") (binary_expression "(iVar5 == 0xc) || (iVar5 == 0)" (parenthesized_expression "(iVar5 == 0xc)" (( "(") (binary_expression "iVar5 == 0xc" (identifier "iVar5") (== "==") (number_literal "0xc")) () ")")) (|| "||") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_000a77ea;" (goto "goto") (statement_identifier "LAB_000a77ea") (; ";"))) (} "}")))) (expression_statement "pcVar7 = ppcVar9[0xe];" (assignment_expression "pcVar7 = ppcVar9[0xe]" (identifier "pcVar7") (= "=") (subscript_expression "ppcVar9[0xe]" (identifier "ppcVar9") ([ "[") (number_literal "0xe") (] "]"))) (; ";")) (if_statement "if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }\n        }" (if "if") (parenthesized_expression "(pcVar7[9] != '\0')" (( "(") (binary_expression "pcVar7[9] != '\0'" (subscript_expression "pcVar7[9]" (identifier "pcVar7") ([ "[") (number_literal "9") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }\n        }" ({ "{") (expression_statement "iVar10 = *(int *)(pcVar7 + 0xc);" (assignment_expression "iVar10 = *(int *)(pcVar7 + 0xc)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(pcVar7 + 0xc)" (* "*") (cast_expression "(int *)(pcVar7 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 0xc)" (( "(") (binary_expression "pcVar7 + 0xc" (identifier "pcVar7") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*ppcVar9 = (char *)iVar10;" (assignment_expression "*ppcVar9 = (char *)iVar10" (pointer_expression "*ppcVar9" (* "*") (identifier "ppcVar9")) (= "=") (cast_expression "(char *)iVar10" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "iVar10"))) (; ";")) (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" (identifier "iVar10") (= "=") (binary_expression "iVar10 + -1" (identifier "iVar10") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "*(int *)(pcVar7 + 0xc) = iVar10;" (assignment_expression "*(int *)(pcVar7 + 0xc) = iVar10" (pointer_expression "*(int *)(pcVar7 + 0xc)" (* "*") (cast_expression "(int *)(pcVar7 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 0xc)" (( "(") (binary_expression "pcVar7 + 0xc" (identifier "pcVar7") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "iVar10")) (; ";")) (if_statement "if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }" (if "if") (parenthesized_expression "(iVar10 == 0)" (( "(") (binary_expression "iVar10 == 0" (identifier "iVar10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            ppcVar9[-1] = (char *)0xa7862;\n            FUN_000278b0();\n          }" ({ "{") (expression_statement "ppcVar9[-1] = (char *)0xa7862;" (assignment_expression "ppcVar9[-1] = (char *)0xa7862" (subscript_expression "ppcVar9[-1]" (identifier "ppcVar9") ([ "[") (number_literal "-1") (] "]")) (= "=") (cast_expression "(char *)0xa7862" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa7862"))) (; ";")) (expression_statement "FUN_000278b0();" (call_expression "FUN_000278b0()" (identifier "FUN_000278b0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "pcVar7 = ppcVar9[4];" (assignment_expression "pcVar7 = ppcVar9[4]" (identifier "pcVar7") (= "=") (subscript_expression "ppcVar9[4]" (identifier "ppcVar9") ([ "[") (number_literal "4") (] "]"))) (; ";")) (if_statement "if (pcVar7[9] != '\0') {\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }\n        }" (if "if") (parenthesized_expression "(pcVar7[9] != '\0')" (( "(") (binary_expression "pcVar7[9] != '\0'" (subscript_expression "pcVar7[9]" (identifier "pcVar7") ([ "[") (number_literal "9") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          iVar10 = *(int *)(pcVar7 + 0xc);\n          *ppcVar9 = (char *)iVar10;\n          iVar10 = iVar10 + -1;\n          *(int *)(pcVar7 + 0xc) = iVar10;\n          if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }\n        }" ({ "{") (expression_statement "iVar10 = *(int *)(pcVar7 + 0xc);" (assignment_expression "iVar10 = *(int *)(pcVar7 + 0xc)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(pcVar7 + 0xc)" (* "*") (cast_expression "(int *)(pcVar7 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 0xc)" (( "(") (binary_expression "pcVar7 + 0xc" (identifier "pcVar7") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*ppcVar9 = (char *)iVar10;" (assignment_expression "*ppcVar9 = (char *)iVar10" (pointer_expression "*ppcVar9" (* "*") (identifier "ppcVar9")) (= "=") (cast_expression "(char *)iVar10" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "iVar10"))) (; ";")) (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" (identifier "iVar10") (= "=") (binary_expression "iVar10 + -1" (identifier "iVar10") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "*(int *)(pcVar7 + 0xc) = iVar10;" (assignment_expression "*(int *)(pcVar7 + 0xc) = iVar10" (pointer_expression "*(int *)(pcVar7 + 0xc)" (* "*") (cast_expression "(int *)(pcVar7 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 0xc)" (( "(") (binary_expression "pcVar7 + 0xc" (identifier "pcVar7") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "iVar10")) (; ";")) (if_statement "if (iVar10 == 0) {\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }" (if "if") (parenthesized_expression "(iVar10 == 0)" (( "(") (binary_expression "iVar10 == 0" (identifier "iVar10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            ppcVar9[-1] = (char *)0xa7883;\n            FUN_000278b0();\n          }" ({ "{") (expression_statement "ppcVar9[-1] = (char *)0xa7883;" (assignment_expression "ppcVar9[-1] = (char *)0xa7883" (subscript_expression "ppcVar9[-1]" (identifier "ppcVar9") ([ "[") (number_literal "-1") (] "]")) (= "=") (cast_expression "(char *)0xa7883" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa7883"))) (; ";")) (expression_statement "FUN_000278b0();" (call_expression "FUN_000278b0()" (identifier "FUN_000278b0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (if_statement "if (iVar5 == 0) {\n          ppcVar9[-1] = (char *)0xa7896;\n          iVar5 = FUN_0006aff0();\n          if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }\n        }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          ppcVar9[-1] = (char *)0xa7896;\n          iVar5 = FUN_0006aff0();\n          if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }\n        }" ({ "{") (expression_statement "ppcVar9[-1] = (char *)0xa7896;" (assignment_expression "ppcVar9[-1] = (char *)0xa7896" (subscript_expression "ppcVar9[-1]" (identifier "ppcVar9") ([ "[") (number_literal "-1") (] "]")) (= "=") (cast_expression "(char *)0xa7896" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa7896"))) (; ";")) (expression_statement "iVar5 = FUN_0006aff0();" (assignment_expression "iVar5 = FUN_0006aff0()" (identifier "iVar5") (= "=") (call_expression "FUN_0006aff0()" (identifier "FUN_0006aff0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar5 == 0) {\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            ppcVar9[-1] = (char *)0xa78a9;\n            entry();\n            ppcVar9[-2] = (char *)0xa78b6;\n            FUN_00028170();\n            ppcVar9[-5] = (char *)0x1;\n            ppcVar9[-6] = (char *)0xa78cc;\n            iVar5 = FUN_00041730();\n            ppcVar9 = ppcVar9 + -1;\n          }" ({ "{") (expression_statement "ppcVar9[-1] = (char *)0xa78a9;" (assignment_expression "ppcVar9[-1] = (char *)0xa78a9" (subscript_expression "ppcVar9[-1]" (identifier "ppcVar9") ([ "[") (number_literal "-1") (] "]")) (= "=") (cast_expression "(char *)0xa78a9" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa78a9"))) (; ";")) (expression_statement "entry();" (call_expression "entry()" (identifier "entry") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppcVar9[-2] = (char *)0xa78b6;" (assignment_expression "ppcVar9[-2] = (char *)0xa78b6" (subscript_expression "ppcVar9[-2]" (identifier "ppcVar9") ([ "[") (number_literal "-2") (] "]")) (= "=") (cast_expression "(char *)0xa78b6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa78b6"))) (; ";")) (expression_statement "FUN_00028170();" (call_expression "FUN_00028170()" (identifier "FUN_00028170") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppcVar9[-5] = (char *)0x1;" (assignment_expression "ppcVar9[-5] = (char *)0x1" (subscript_expression "ppcVar9[-5]" (identifier "ppcVar9") ([ "[") (number_literal "-5") (] "]")) (= "=") (cast_expression "(char *)0x1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "ppcVar9[-6] = (char *)0xa78cc;" (assignment_expression "ppcVar9[-6] = (char *)0xa78cc" (subscript_expression "ppcVar9[-6]" (identifier "ppcVar9") ([ "[") (number_literal "-6") (] "]")) (= "=") (cast_expression "(char *)0xa78cc" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa78cc"))) (; ";")) (expression_statement "iVar5 = FUN_00041730();" (assignment_expression "iVar5 = FUN_00041730()" (identifier "iVar5") (= "=") (call_expression "FUN_00041730()" (identifier "FUN_00041730") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "ppcVar9 = ppcVar9 + -1;" (assignment_expression "ppcVar9 = ppcVar9 + -1" (identifier "ppcVar9") (= "=") (binary_expression "ppcVar9 + -1" (identifier "ppcVar9") (+ "+") (number_literal "-1"))) (; ";")) (} "}"))) (} "}"))) (goto_statement "goto LAB_000a7644;" (goto "goto") (statement_identifier "LAB_000a7644") (; ";")) (} "}"))) (expression_statement "ppcVar9[-1] = (char *)0xa755d;" (assignment_expression "ppcVar9[-1] = (char *)0xa755d" (subscript_expression "ppcVar9[-1]" (identifier "ppcVar9") ([ "[") (number_literal "-1") (] "]")) (= "=") (cast_expression "(char *)0xa755d" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa755d"))) (; ";")) (expression_statement "iVar5 = FUN_0006aff0();" (assignment_expression "iVar5 = FUN_0006aff0()" (identifier "iVar5") (= "=") (call_expression "FUN_0006aff0()" (identifier "FUN_0006aff0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar5 != 0) goto LAB_000a7644;" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000a7644;" (goto "goto") (statement_identifier "LAB_000a7644") (; ";"))) (expression_statement "pcVar7 = ppcVar9[5];" (assignment_expression "pcVar7 = ppcVar9[5]" (identifier "pcVar7") (= "=") (subscript_expression "ppcVar9[5]" (identifier "ppcVar9") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "*(undefined1 *)(param_2 + 0xa0) = 0;" (assignment_expression "*(undefined1 *)(param_2 + 0xa0) = 0" (pointer_expression "*(undefined1 *)(param_2 + 0xa0)" (* "*") (cast_expression "(undefined1 *)(param_2 + 0xa0)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xa0)" (( "(") (binary_expression "param_2 + 0xa0" (identifier "param_2") (+ "+") (number_literal "0xa0")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" (identifier "iVar5") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(char **)(param_2 + 0x18) = pcVar7;" (assignment_expression "*(char **)(param_2 + 0x18) = pcVar7" (pointer_expression "*(char **)(param_2 + 0x18)" (* "*") (cast_expression "(char **)(param_2 + 0x18)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0x18)" (( "(") (binary_expression "param_2 + 0x18" (identifier "param_2") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "pcVar7")) (; ";")) (expression_statement "*(char **)(param_2 + 0x1c) = ppcVar9[1];" (assignment_expression "*(char **)(param_2 + 0x1c) = ppcVar9[1]" (pointer_expression "*(char **)(param_2 + 0x1c)" (* "*") (cast_expression "(char **)(param_2 + 0x1c)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0x1c)" (( "(") (binary_expression "param_2 + 0x1c" (identifier "param_2") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (subscript_expression "ppcVar9[1]" (identifier "ppcVar9") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*(char **)(param_2 + 0x20) = ppcVar9[2];" (assignment_expression "*(char **)(param_2 + 0x20) = ppcVar9[2]" (pointer_expression "*(char **)(param_2 + 0x20)" (* "*") (cast_expression "(char **)(param_2 + 0x20)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0x20)" (( "(") (binary_expression "param_2 + 0x20" (identifier "param_2") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (subscript_expression "ppcVar9[2]" (identifier "ppcVar9") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "*(char **)(param_2 + 0x60) = ppcVar9[6];" (assignment_expression "*(char **)(param_2 + 0x60) = ppcVar9[6]" (pointer_expression "*(char **)(param_2 + 0x60)" (* "*") (cast_expression "(char **)(param_2 + 0x60)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0x60)" (( "(") (binary_expression "param_2 + 0x60" (identifier "param_2") (+ "+") (number_literal "0x60")) () ")")))) (= "=") (subscript_expression "ppcVar9[6]" (identifier "ppcVar9") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "*(char **)(param_2 + 100) = ppcVar9[7];" (assignment_expression "*(char **)(param_2 + 100) = ppcVar9[7]" (pointer_expression "*(char **)(param_2 + 100)" (* "*") (cast_expression "(char **)(param_2 + 100)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 100)" (( "(") (binary_expression "param_2 + 100" (identifier "param_2") (+ "+") (number_literal "100")) () ")")))) (= "=") (subscript_expression "ppcVar9[7]" (identifier "ppcVar9") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "ppcVar9[-4] = (char *)0x1;" (assignment_expression "ppcVar9[-4] = (char *)0x1" (subscript_expression "ppcVar9[-4]" (identifier "ppcVar9") ([ "[") (number_literal "-4") (] "]")) (= "=") (cast_expression "(char *)0x1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "*(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);" (assignment_expression "*(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b)" (pointer_expression "*(undefined1 *)(param_2 + 0x54)" (* "*") (cast_expression "(undefined1 *)(param_2 + 0x54)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x54)" (( "(") (binary_expression "param_2 + 0x54" (identifier "param_2") (+ "+") (number_literal "0x54")) () ")")))) (= "=") (pointer_expression "*(undefined1 *)((int)ppcVar9 + 0x2b)" (* "*") (cast_expression "(undefined1 *)((int)ppcVar9 + 0x2b)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppcVar9 + 0x2b)" (( "(") (binary_expression "(int)ppcVar9 + 0x2b" (cast_expression "(int)ppcVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar9")) (+ "+") (number_literal "0x2b")) () ")"))))) (; ";")) (expression_statement "ppcVar9[-5] = (char *)0xa75ae;" (assignment_expression "ppcVar9[-5] = (char *)0xa75ae" (subscript_expression "ppcVar9[-5]" (identifier "ppcVar9") ([ "[") (number_literal "-5") (] "]")) (= "=") (cast_expression "(char *)0xa75ae" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa75ae"))) (; ";")) (expression_statement "FUN_00041730();" (call_expression "FUN_00041730()" (identifier "FUN_00041730") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined1 *)(param_2 + 0x4b) = 1;" (assignment_expression "*(undefined1 *)(param_2 + 0x4b) = 1" (pointer_expression "*(undefined1 *)(param_2 + 0x4b)" (* "*") (cast_expression "(undefined1 *)(param_2 + 0x4b)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x4b)" (( "(") (binary_expression "param_2 + 0x4b" (identifier "param_2") (+ "+") (number_literal "0x4b")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}")))) (expression_statement "iVar10 = *(int *)((int)ppcVar9 + 0xc);" (assignment_expression "iVar10 = *(int *)((int)ppcVar9 + 0xc)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)((int)ppcVar9 + 0xc)" (* "*") (cast_expression "(int *)((int)ppcVar9 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppcVar9 + 0xc)" (( "(") (binary_expression "(int)ppcVar9 + 0xc" (cast_expression "(int)ppcVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar9")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)ppcVar9 + -4) = 0xa769e;" (assignment_expression "*(undefined4 *)((int)ppcVar9 + -4) = 0xa769e" (pointer_expression "*(undefined4 *)((int)ppcVar9 + -4)" (* "*") (cast_expression "(undefined4 *)((int)ppcVar9 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppcVar9 + -4)" (( "(") (binary_expression "(int)ppcVar9 + -4" (cast_expression "(int)ppcVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0xa769e")) (; ";")) (expression_statement "FUN_0006de60();" (call_expression "FUN_0006de60()" (identifier "FUN_0006de60") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(iVar10 + 4) = 0;" (assignment_expression "*(undefined4 *)(iVar10 + 4) = 0" (pointer_expression "*(undefined4 *)(iVar10 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar10 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 4)" (( "(") (binary_expression "iVar10 + 4" (identifier "iVar10") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(iVar10 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(iVar10 + 0xc) = 0" (pointer_expression "*(undefined4 *)(iVar10 + 0xc)" (* "*") (cast_expression "(undefined4 *)(iVar10 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0xc)" (( "(") (binary_expression "iVar10 + 0xc" (identifier "iVar10") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    *(undefined1 *)(param_2 + 0xa0) = 0;\n    *(char **)(param_2 + 0x18) = local_90[2];\n    *(uint *)(param_2 + 0x1c) = local_98[0];\n    *(uint *)(param_2 + 0x20) = local_98[1];\n    *(char **)(param_2 + 0x60) = local_90[3];\n    *(char **)(param_2 + 100) = local_90[4];\n    *(undefined1 *)(param_2 + 0x54) = local_71;\n    FUN_00041730(1);\n    *(undefined1 *)(param_2 + 0x4b) = 1;\n    ppcVar9 = apcStack_a0 + 1;\n  }" (else "else") (compound_statement "{\n    *(undefined1 *)(param_2 + 0xa0) = 0;\n    *(char **)(param_2 + 0x18) = local_90[2];\n    *(uint *)(param_2 + 0x1c) = local_98[0];\n    *(uint *)(param_2 + 0x20) = local_98[1];\n    *(char **)(param_2 + 0x60) = local_90[3];\n    *(char **)(param_2 + 100) = local_90[4];\n    *(undefined1 *)(param_2 + 0x54) = local_71;\n    FUN_00041730(1);\n    *(undefined1 *)(param_2 + 0x4b) = 1;\n    ppcVar9 = apcStack_a0 + 1;\n  }" ({ "{") (expression_statement "*(undefined1 *)(param_2 + 0xa0) = 0;" (assignment_expression "*(undefined1 *)(param_2 + 0xa0) = 0" (pointer_expression "*(undefined1 *)(param_2 + 0xa0)" (* "*") (cast_expression "(undefined1 *)(param_2 + 0xa0)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xa0)" (( "(") (binary_expression "param_2 + 0xa0" (identifier "param_2") (+ "+") (number_literal "0xa0")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(char **)(param_2 + 0x18) = local_90[2];" (assignment_expression "*(char **)(param_2 + 0x18) = local_90[2]" (pointer_expression "*(char **)(param_2 + 0x18)" (* "*") (cast_expression "(char **)(param_2 + 0x18)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0x18)" (( "(") (binary_expression "param_2 + 0x18" (identifier "param_2") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (subscript_expression "local_90[2]" (identifier "local_90") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "*(uint *)(param_2 + 0x1c) = local_98[0];" (assignment_expression "*(uint *)(param_2 + 0x1c) = local_98[0]" (pointer_expression "*(uint *)(param_2 + 0x1c)" (* "*") (cast_expression "(uint *)(param_2 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x1c)" (( "(") (binary_expression "param_2 + 0x1c" (identifier "param_2") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (subscript_expression "local_98[0]" (identifier "local_98") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "*(uint *)(param_2 + 0x20) = local_98[1];" (assignment_expression "*(uint *)(param_2 + 0x20) = local_98[1]" (pointer_expression "*(uint *)(param_2 + 0x20)" (* "*") (cast_expression "(uint *)(param_2 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x20)" (( "(") (binary_expression "param_2 + 0x20" (identifier "param_2") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (subscript_expression "local_98[1]" (identifier "local_98") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*(char **)(param_2 + 0x60) = local_90[3];" (assignment_expression "*(char **)(param_2 + 0x60) = local_90[3]" (pointer_expression "*(char **)(param_2 + 0x60)" (* "*") (cast_expression "(char **)(param_2 + 0x60)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0x60)" (( "(") (binary_expression "param_2 + 0x60" (identifier "param_2") (+ "+") (number_literal "0x60")) () ")")))) (= "=") (subscript_expression "local_90[3]" (identifier "local_90") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "*(char **)(param_2 + 100) = local_90[4];" (assignment_expression "*(char **)(param_2 + 100) = local_90[4]" (pointer_expression "*(char **)(param_2 + 100)" (* "*") (cast_expression "(char **)(param_2 + 100)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 100)" (( "(") (binary_expression "param_2 + 100" (identifier "param_2") (+ "+") (number_literal "100")) () ")")))) (= "=") (subscript_expression "local_90[4]" (identifier "local_90") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "*(undefined1 *)(param_2 + 0x54) = local_71;" (assignment_expression "*(undefined1 *)(param_2 + 0x54) = local_71" (pointer_expression "*(undefined1 *)(param_2 + 0x54)" (* "*") (cast_expression "(undefined1 *)(param_2 + 0x54)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x54)" (( "(") (binary_expression "param_2 + 0x54" (identifier "param_2") (+ "+") (number_literal "0x54")) () ")")))) (= "=") (identifier "local_71")) (; ";")) (expression_statement "FUN_00041730(1);" (call_expression "FUN_00041730(1)" (identifier "FUN_00041730") (argument_list "(1)" (( "(") (number_literal "1") () ")"))) (; ";")) (expression_statement "*(undefined1 *)(param_2 + 0x4b) = 1;" (assignment_expression "*(undefined1 *)(param_2 + 0x4b) = 1" (pointer_expression "*(undefined1 *)(param_2 + 0x4b)" (* "*") (cast_expression "(undefined1 *)(param_2 + 0x4b)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x4b)" (( "(") (binary_expression "param_2 + 0x4b" (identifier "param_2") (+ "+") (number_literal "0x4b")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "ppcVar9 = apcStack_a0 + 1;" (assignment_expression "ppcVar9 = apcStack_a0 + 1" (identifier "ppcVar9") (= "=") (binary_expression "apcStack_a0 + 1" (identifier "apcStack_a0") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (expression_statement "ppcVar9[0xffffffff] = (char *)0xa7625;" (assignment_expression "ppcVar9[0xffffffff] = (char *)0xa7625" (subscript_expression "ppcVar9[0xffffffff]" (identifier "ppcVar9") ([ "[") (number_literal "0xffffffff") (] "]")) (= "=") (cast_expression "(char *)0xa7625" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa7625"))) (; ";")) (expression_statement "FUN_000462f0();" (call_expression "FUN_000462f0()" (identifier "FUN_000462f0") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_000a7232:\n  if (ppcVar9[0x1f] != *(char **)(in_GS_OFFSET + 0x14)) {\n                    \n    ppcVar9[0xffffffff] = (char *)0xa7760;\n    FUN_000a9ea0();\n  }" (statement_identifier "LAB_000a7232") (: ":") (if_statement "if (ppcVar9[0x1f] != *(char **)(in_GS_OFFSET + 0x14)) {\n                    \n    ppcVar9[0xffffffff] = (char *)0xa7760;\n    FUN_000a9ea0();\n  }" (if "if") (parenthesized_expression "(ppcVar9[0x1f] != *(char **)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "ppcVar9[0x1f] != *(char **)(in_GS_OFFSET + 0x14)" (subscript_expression "ppcVar9[0x1f]" (identifier "ppcVar9") ([ "[") (number_literal "0x1f") (] "]")) (!= "!=") (pointer_expression "*(char **)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(char **)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n                    \n    ppcVar9[0xffffffff] = (char *)0xa7760;\n    FUN_000a9ea0();\n  }" ({ "{") (expression_statement "ppcVar9[0xffffffff] = (char *)0xa7760;" (assignment_expression "ppcVar9[0xffffffff] = (char *)0xa7760" (subscript_expression "ppcVar9[0xffffffff]" (identifier "ppcVar9") ([ "[") (number_literal "0xffffffff") (] "]")) (= "=") (cast_expression "(char *)0xa7760" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa7760"))) (; ";")) (expression_statement "FUN_000a9ea0();" (call_expression "FUN_000a9ea0()" (identifier "FUN_000a9ea0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (return_statement "return iVar5;" (return "return") (identifier "iVar5") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

int __regparm3 function_1(char **pzErrMsg,type_1 *db,int var_7,type_2 *var_3)

{
  type_3 bVar1;
  type_4 *pDVar2;
  type_5 *psVar3;
  type_6 *var_18;
  type_7 *pBVar5;
  type_8 uVar6;
  type_9 var_32;
  type_10 *pcVar8;
  type_11 *p;
  type_12 *pPager;
  type_13 lVar9;
  int var_5;
  type_11 *pBVar11;
  type_11 *p_00;
  type_14 **var_23;
  type_2 **ppsVar13;
  int var_24;
  int *piVar15;
  type_9 uVar16;
  int *var_28;
  int var_1;
  type_3 bVar18;
  int aiStack_b8 [3];
  type_15 *puStack_a0;
  type_2 *var_10;
  type_9 local_98 [2];
  type_4 *local_90;
  type_11 *local_8c;
  type_9 local_88 [3];
  type_16 var_9;
  type_17 local_71;
  int var_13;
  char *local_6c;
  type_17 var_20;
  type_11 *local_64;
  int local_60;
  type_8 meta;
  type_18 sz;
  int aiStack_28 [5];
  type_16 uStack_14;
  
  bVar18 = 0;
  uStack_14 = 0xa71ad;
  var_23 = &_GLOBAL_OFFSET_TABLE_;
  ppsVar13 = &var_10;
  var_10 = var_3;
  aiStack_28[2] = *(type_16 *)(var_1 + 0x14);
  if (db->autoCommit == '\0') {
    var_5 = 1;
    puStack_a0 = (type_15 *)0xa7262;
    var_2(pzErrMsg,db,"cannot VACUUM from within a transaction");
    goto LAB_000a7232;
  }
  if (1 < db->nVdbeActive) {
    var_5 = 1;
    puStack_a0 = (type_15 *)0xa7232;
    var_2(pzErrMsg,db,"cannot VACUUM - SQL statements in progress");
    ppsVar13 = &var_10;
    goto LAB_000a7232;
  }
  local_90 = (type_4 *)db->openFlags;
  if (var_3 == (type_2 *)0x0) {
    puStack_a0 = "";
  }
  else {
    var_5 = var_4(var_3);
    if (var_5 != 3) {
      var_5 = 1;
      puStack_a0 = (type_15 *)0xa7217;
      var_2(pzErrMsg,db,"non-text filename");
      ppsVar13 = &var_10;
      goto LAB_000a7232;
    }
    puStack_a0 = var_6(var_10);
    db->openFlags = db->openFlags & 0xfffffffe | 6;
  }
  local_98[0] = (type_9)db->flags;
  local_88[0] = db->mDbFlags;
  var_13 = var_7 * 0x10;
  local_98[1] = *(type_9 *)((int)&db->flags + 4);
  db->mDbFlags = local_88[0] | 6;
  local_88[1] = db->nChange;
  local_88[2] = db->nTotalChange;
  *(type_9 *)&db->flags = local_98[0] & 0xefffafff | 0x201;
  pDVar2 = db->aDb;
  local_71 = db->mTrace;
  db->mTrace = '\0';
  *(type_9 *)((int)&db->flags + 4) = local_98[1] & 0xfffffffe;
  local_6c = pDVar2[var_7].zDbSName;
  local_8c = pDVar2[var_7].pBt;
  var_20 = local_8c->pBt->pPager->tempFile;
  var_9 = db->nDb;
  var_5 = var_8(db,pzErrMsg,"ATTACH %Q AS vacuum_db");
  ppsVar13 = &var_10;
  db->openFlags = (type_9)local_90;
  if (var_5 == 0) {
    local_90 = db->aDb + var_9;
    local_64 = local_90->pBt;
    if (var_10 == (type_2 *)0x0) {
      puStack_a0 = (type_15 *)0xa76c1;
      local_60 = var_11(local_8c);
      pBVar11 = local_64;
      puStack_a0 = (type_15 *)0xa76de;
      var_12
                (local_64,*(int *)(*(int *)((int)&db->aDb->pSchema + var_13) + 0x50));
      puStack_a0 = (type_15 *)0xa76e9;
      var_5 = var_14(local_8c,0);
      puStack_a0 = (type_15 *)0xa76f2;
      var_14(pBVar11,var_5);
      puStack_a0 = (type_15 *)0xa76fe;
      var_15(pBVar11,0x21);
      puStack_a0 = (type_15 *)0xa770d;
      var_5 = var_16(db,pzErrMsg,"BEGIN");
      if (var_5 == 0) {
        var_5 = 2;
        goto LAB_000a73fb;
      }
LAB_000a7644:
      uVar6 = *(type_8 *)((int)ppsVar13 + 0x14);
      (db->init).var_7 = '\0';
      db->mDbFlags = uVar6;
      *(type_16 *)&db->flags = *(type_16 *)((int)ppsVar13 + 4);
      *(type_16 *)((int)&db->flags + 4) = *(type_16 *)((int)ppsVar13 + 8);
      db->nChange = *(int *)((int)ppsVar13 + 0x18);
      db->nTotalChange = *(int *)((int)ppsVar13 + 0x1c);
      *(type_16 *)((int)ppsVar13 + -0x10) = 1;
      db->mTrace = *(type_17 *)((int)ppsVar13 + 0x2b);
      *(type_16 *)((int)ppsVar13 + -0x14) = 0xa768b;
      var_17
                (*(type_11 **)((int)ppsVar13 + 0x10),-1,0,*(int *)((int)ppsVar13 + -0x10));
      db->autoCommit = '\x01';
    }
    else {
      psVar3 = local_64->pBt->pPager->fd;
      sz._0_4_ = 0;
      sz._4_4_ = 0;
      var_18 = psVar3->pMethods;
      if (var_18 != (type_6 *)0x0) {
        var_5 = (*var_18->xFileSize)(psVar3,&sz);
        ppsVar13 = &var_10;
        if ((var_5 != 0) || ((-1 < sz._4_4_ && ((0 < sz._4_4_ || ((int)sz != 0)))))) {
          var_5 = 1;
          puStack_a0 = (type_15 *)0xa7644;
          var_2(pzErrMsg,db,"output file already exists");
          goto LAB_000a7644;
        }
      }
      db->mDbFlags = db->mDbFlags | 8;
      puStack_a0 = (type_15 *)0xa73a5;
      local_60 = var_11(local_8c);
      pBVar11 = local_64;
      puStack_a0 = (type_15 *)0xa73c2;
      var_12
                (local_64,*(int *)(*(int *)((int)&db->aDb->pSchema + var_13) + 0x50));
      puStack_a0 = (type_15 *)0xa73cd;
      var_5 = var_14(local_8c,0);
      puStack_a0 = (type_15 *)0xa73d6;
      var_14(pBVar11,var_5);
      puStack_a0 = (type_15 *)0xa73e2;
      var_15(pBVar11,0x21);
      puStack_a0 = (type_15 *)0xa73f1;
      var_5 = var_16(db,pzErrMsg,"BEGIN");
      ppsVar13 = &var_10;
      if (var_5 != 0) goto LAB_000a7644;
LAB_000a73fb:
      puStack_a0 = (type_15 *)0xa7408;
      var_5 = var_19(local_8c,var_5,(int *)0x0);
      ppsVar13 = &var_10;
      if (var_5 != 0) goto LAB_000a7644;
      pBVar5 = local_8c->pBt;
      if (pBVar5->pPager->journalMode == '\x05') {
        db->nextPagesize = 0;
      }
      var_5 = var_17(local_64,pBVar5->pageSize,local_60,0);
      if ((var_5 != 0) ||
         (((var_20 == '\0' &&
           (var_5 = var_17(local_64,db->nextPagesize,local_60,0), var_5 != 0)) ||
          (db->mallocFailed != '\0')))) {
        var_5 = 7;
        ppsVar13 = &var_10;
        goto LAB_000a7644;
      }
      pBVar11 = (type_11 *)(int)db->nextAutovac;
      ppsVar13 = &var_10;
      if (db->nextAutovac < '\0') {
        ppsVar13 = (type_2 **)&puStack_a0;
        puStack_a0 = (type_15 *)0xa7754;
        pBVar11 = (type_11 *)var_21(pBVar11);
      }
      ((int *)ppsVar13)[-1] = 0xa7472;
      var_22((type_11 *)((int *)ppsVar13)[0xe],(int)pBVar11);
      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];
      (db->init).var_7 = (type_17)((int *)ppsVar13)[8];
      ((int *)ppsVar13)[-2] = (int)(var_23 + -0xbcc7);
      ((int *)ppsVar13)[-3] = (int)pzErrMsg;
      ((int *)ppsVar13)[-4] = (int)db;
      ((int *)ppsVar13)[-5] = 0xa748f;
      var_5 = var_8((type_1 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],
                        (char *)((int *)ppsVar13)[-2]);
      if (var_5 != 0) goto LAB_000a7644;
      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];
      ((int *)ppsVar13)[-2] = (int)(var_23 + -0xbcac);
      ((int *)ppsVar13)[-3] = (int)pzErrMsg;
      ((int *)ppsVar13)[-4] = (int)db;
      ((int *)ppsVar13)[-5] = 0xa74ae;
      var_5 = var_8((type_1 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],
                        (char *)((int *)ppsVar13)[-2]);
      if (var_5 != 0) goto LAB_000a7644;
      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];
      (db->init).var_7 = '\0';
      ((int *)ppsVar13)[-2] = (int)(var_23 + -0xbc9e);
      ((int *)ppsVar13)[-3] = (int)pzErrMsg;
      ((int *)ppsVar13)[-4] = (int)db;
      ((int *)ppsVar13)[-5] = 0xa74d4;
      var_5 = var_8((type_1 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],
                        (char *)((int *)ppsVar13)[-2]);
      db->mDbFlags = db->mDbFlags & 0xfffffffb;
      if (var_5 != 0) goto LAB_000a7644;
      ((int *)ppsVar13)[-1] = ((int *)ppsVar13)[0xc];
      ((int *)ppsVar13)[-2] = (int)(var_23 + -0xbc78);
      ((int *)ppsVar13)[-3] = (int)pzErrMsg;
      ((int *)ppsVar13)[-4] = (int)db;
      ((int *)ppsVar13)[-5] = 0xa74f7;
      var_5 = var_8((type_1 *)((int *)ppsVar13)[-4],(char **)((int *)ppsVar13)[-3],
                        (char *)((int *)ppsVar13)[-2]);
      if (var_5 != 0) goto LAB_000a7644;
      ((int *)ppsVar13)[8] = (int)((int *)ppsVar13 + 0x11);
      var_24 = 0;
      do {
        uVar16 = (type_9)*(type_3 *)(var_24 + -0x2d058 + (int)var_23);
        ((int *)ppsVar13)[-1] = 0xa7523;
        var_25((type_11 *)((int *)ppsVar13)[4],uVar16,(type_8 *)((int *)ppsVar13)[8]);
        bVar1 = *(type_3 *)(var_24 + -0x2d057 + (int)var_23);
        ((int *)ppsVar13)[-1] = 0xa753a;
        var_5 = var_26
                           ((type_11 *)((int *)ppsVar13)[0xe],uVar16,
                            (type_9)bVar1 + ((int *)ppsVar13)[0x11]);
        if (var_5 != 0) goto LAB_000a7644;
        var_24 = var_24 + 2;
      } while (var_24 != 10);
      if (*ppsVar13 == (type_2 *)0x0) {
        if (((type_11 *)((int *)ppsVar13)[4])->sharable != '\0') {
          ((int *)ppsVar13)[-1] = 0xa7778;
          var_27((type_11 *)((int *)ppsVar13)[4]);
        }
        if (((type_11 *)((int *)ppsVar13)[0xe])->sharable != '\0') {
          ((int *)ppsVar13)[-1] = 0xa7787;
          var_27((type_11 *)((int *)ppsVar13)[0xe]);
        }
        var_5 = **(int **)(**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c);
        *ppsVar13 = (type_2 *)*(int **)(**(int **)(((int *)ppsVar13)[4] + 4) + 0x3c);
        if (var_5 == 0) {
LAB_000a77ea:
          piVar15 = (int *)ppsVar13 + 0x12;
          var_28 = piVar15;
          for (var_5 = 0xc; var_5 != 0; var_5 = var_5 + -1) {
            *var_28 = 0;
            var_28 = var_28 + (type_9)bVar18 * -2 + 1;
          }
          var_5 = *(int *)((int *)ppsVar13)[0xe];
          ((int *)ppsVar13)[0x18] = ((int *)ppsVar13)[0xe];
          ((int *)ppsVar13)[0x16] = 1;
          ((int *)ppsVar13)[0x17] = var_5;
          var_5 = ((int *)ppsVar13)[4];
          ((int *)ppsVar13)[0x13] = var_5;
          ((int *)ppsVar13)[-1] = var_5;
          ((int *)ppsVar13)[-2] = var_5;
          ((int *)ppsVar13)[-3] = 0x7fffffff;
          ((int *)ppsVar13)[-4] = (int)piVar15;
          ((int *)ppsVar13)[-5] = 0xa7820;
          var_29((type_19 *)((int *)ppsVar13)[-4],((int *)ppsVar13)[-3]);
          ((int *)ppsVar13)[-4] = (int)piVar15;
          ((int *)ppsVar13)[-5] = 0xa7828;
          var_5 = var_30((type_19 *)((int *)ppsVar13)[-4]);
          if (var_5 == 0) {
            *(type_20 *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18) =
                 *(type_20 *)(*(int *)(((int *)ppsVar13)[4] + 4) + 0x18) & 0xfffd;
          }
          else {
            pPager = (type_12 *)**(type_16 **)(((int *)ppsVar13)[0x13] + 4);
            if (pPager->tempFile == '\0') {
              ((int *)ppsVar13)[-1] = 0xa78ee;
              var_31(pPager);
            }
          }
        }
        else {
          uVar16 = *(type_9 *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x24);
          var_32 = *(type_9 *)(*(int *)(((int *)ppsVar13)[0xe] + 4) + 0x30);
          ((int *)ppsVar13)[8] = uVar16;
          ((int *)ppsVar13)[9] = (int)uVar16 >> 0x1f;
          lVar9 = (type_21)var_32 * (type_21)uVar16;
          var_24 = (int)((type_21)lVar9 >> 0x20) + ((int *)ppsVar13)[9] * var_32;
          ((int *)ppsVar13)[0x12] = (int)lVar9;
          ((int *)ppsVar13)[0x13] = var_24;
          ((int *)ppsVar13)[-1] = var_24;
          ((int *)ppsVar13)[-2] = (int)((int *)ppsVar13 + 0x12);
          ((int *)ppsVar13)[-3] = 0xb;
          ((int *)ppsVar13)[-4] = (int)*ppsVar13;
          pcVar8 = *(type_10 **)(var_5 + 0x28);
          ((int *)ppsVar13)[-5] = 0xa77dc;
          var_5 = (*pcVar8)();
          if ((var_5 == 0xc) || (var_5 == 0)) goto LAB_000a77ea;
        }
        pBVar11 = (type_11 *)((int *)ppsVar13)[0xe];
        if (pBVar11->sharable != '\0') {
          var_24 = pBVar11->wantToLock;
          *ppsVar13 = (type_2 *)var_24;
          var_24 = var_24 + -1;
          pBVar11->wantToLock = var_24;
          if (var_24 == 0) {
            ((int *)ppsVar13)[-1] = 0xa7862;
            var_33(pBVar11);
          }
        }
        pBVar11 = (type_11 *)((int *)ppsVar13)[4];
        if (pBVar11->sharable != '\0') {
          var_24 = pBVar11->wantToLock;
          *ppsVar13 = (type_2 *)var_24;
          var_24 = var_24 + -1;
          pBVar11->wantToLock = var_24;
          if (var_24 == 0) {
            ((int *)ppsVar13)[-1] = 0xa7883;
            var_33(pBVar11);
          }
        }
        if (var_5 == 0) {
          pBVar11 = (type_11 *)((int *)ppsVar13)[0xe];
          ((int *)ppsVar13)[-1] = 0xa7896;
          var_5 = var_34(pBVar11);
          if (var_5 == 0) {
            ((int *)ppsVar13)[-1] = 0xa78a9;
            var_5 = var_21(p_00);
            p = (type_11 *)((int *)ppsVar13)[3];
            ((int *)ppsVar13)[-2] = 0xa78b6;
            var_22(p,var_5);
            uVar6 = pBVar11->pBt->pageSize;
            ((int *)ppsVar13)[-5] = 1;
            ((int *)ppsVar13)[-6] = 0xa78cc;
            var_5 = var_17(p,uVar6,((int *)ppsVar13)[0xe],((int *)ppsVar13)[-5]);
            ppsVar13 = (type_2 **)((int *)ppsVar13 + -1);
          }
        }
        goto LAB_000a7644;
      }
      ((int *)ppsVar13)[-1] = 0xa755d;
      var_5 = var_34((type_11 *)((int *)ppsVar13)[0xe]);
      if (var_5 != 0) goto LAB_000a7644;
      uVar6 = ((int *)ppsVar13)[5];
      (db->init).var_7 = '\0';
      var_5 = 0;
      db->mDbFlags = uVar6;
      *(int *)&db->flags = ((int *)ppsVar13)[1];
      *(int *)((int)&db->flags + 4) = ((int *)ppsVar13)[2];
      db->nChange = ((int *)ppsVar13)[6];
      db->nTotalChange = ((int *)ppsVar13)[7];
      ((int *)ppsVar13)[-4] = 1;
      db->mTrace = *(type_17 *)((int)ppsVar13 + 0x2b);
      ((int *)ppsVar13)[-5] = 0xa75ae;
      var_17((type_11 *)((int *)ppsVar13)[4],-1,0,((int *)ppsVar13)[-4]);
      db->autoCommit = '\x01';
    }
    var_24 = *(int *)((int)ppsVar13 + 0xc);
    pBVar11 = *(type_11 **)(var_24 + 4);
    *(type_16 *)((int)ppsVar13 + -4) = 0xa769e;
    var_35(pBVar11);
    *(type_16 *)(var_24 + 4) = 0;
    *(type_16 *)(var_24 + 0xc) = 0;
  }
  else {
    (db->init).var_7 = '\0';
    db->mDbFlags = local_88[0];
    *(type_9 *)&db->flags = local_98[0];
    *(type_9 *)((int)&db->flags + 4) = local_98[1];
    db->nChange = local_88[1];
    db->nTotalChange = local_88[2];
    db->mTrace = local_71;
    var_17(local_8c,-1,0,1);
    db->autoCommit = '\x01';
    ppsVar13 = &var_10;
  }
  *(type_16 *)((int)ppsVar13 + -4) = 0xa7625;
  var_36(db);
LAB_000a7232:
  if (*(int *)((int)ppsVar13 + 0x7c) != *(int *)(var_1 + 0x14)) {
                    /* WARNING: Subroutine does not return */
    *(type_16 *)((int)ppsVar13 + -4) = 0xa7760;
    var_37();
  }
  return var_5;
}


(translation_unit (function_definition type: (primitive_type) (ERROR (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (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: (type_identifier) 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: (pointer_declarator declarator: (identifier)))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal)))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal)))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal)))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal)))) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (string_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) 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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (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: (identifier) arguments: (argument_list (identifier) (identifier) (string_literal (string_content)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) 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: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (number_literal) right: (identifier)) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (number_literal) right: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))))) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (char_literal (escape_sequence))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal)))) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) index: (number_literal)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) index: (number_literal)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))))) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (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: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (number_literal))))) right: (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))))) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (subscript_expression argument: (identifier) index: (number_literal)) 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: (identifier))) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))))) (return_statement (identifier)))))

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */

int __regparm3 MASKED(undefined4 param_1,int param_2,int param_3,int param_4)

{
  int *piVar1;
  uint uVar2;
  code *pcVar3;
  longlong lVar4;
  int iVar5;
  undefined4 *puVar6;
  char *pcVar7;
  undefined **ppuVar8;
  char **ppcVar9;
  int iVar10;
  char **ppcVar11;
  char **ppcVar12;
  int in_GS_OFFSET;
  byte bVar13;
  char *apcStackY_b8 [3];
  char *apcStack_a0 [2];
  uint local_98 [2];
  char *local_90 [5];
  undefined4 local_7c;
  undefined1 local_71;
  int local_70;
  undefined4 local_6c;
  char local_65;
  int local_64;
  undefined4 local_60;
  int local_54;
  int local_50;
  char *apcStack_28 [5];
  undefined4 uStack_14;
  
  bVar13 = 0;
  uStack_14 = 0xa71ad;
  ppuVar8 = &__DT_PLTGOT;
  ppcVar9 = apcStack_a0 + 1;
  apcStack_a0[1] = (char *)param_4;
  apcStack_28[2] = *(char **)(in_GS_OFFSET + 0x14);
  if (*(char *)(param_2 + 0x4b) == '\0') {
    iVar5 = 1;
    apcStack_a0[0] = (char *)0xa7262;
    FUN_0002ec00();
    goto LAB_000a7232;
  }
  if (1 < *(int *)(param_2 + 0xa8)) {
    iVar5 = 1;
    apcStack_a0[0] = (char *)0xa7232;
    FUN_0002ec00();
    ppcVar9 = apcStack_a0 + 1;
    goto LAB_000a7232;
  }
  local_90[0] = *(char **)(param_2 + 0x38);
  if (param_4 == 0) {
    apcStack_a0[0] = "";
  }
  else {
    iVar5 = sqlite3_value_type(param_4);
    if (iVar5 != 3) {
      iVar5 = 1;
      apcStack_a0[0] = (char *)0xa7217;
      FUN_0002ec00();
      ppcVar9 = apcStack_a0 + 1;
      goto LAB_000a7232;
    }
    apcStack_a0[0] = (char *)sqlite3_value_text(apcStack_a0[1]);
    *(uint *)(param_2 + 0x38) = *(uint *)(param_2 + 0x38) & 0xfffffffe | 6;
  }
  local_98[0] = *(uint *)(param_2 + 0x1c);
  local_90[2] = *(char **)(param_2 + 0x18);
  local_70 = param_3 * 0x10;
  local_98[1] = *(uint *)(param_2 + 0x20);
  *(uint *)(param_2 + 0x18) = (uint)local_90[2] | 6;
  local_90[3] = *(char **)(param_2 + 0x60);
  local_90[4] = *(char **)(param_2 + 100);
  *(uint *)(param_2 + 0x1c) = local_98[0] & 0xefffafff | 0x201;
  puVar6 = (undefined4 *)(local_70 + *(int *)(param_2 + 0x10));
  local_71 = *(undefined1 *)(param_2 + 0x54);
  *(undefined1 *)(param_2 + 0x54) = 0;
  *(uint *)(param_2 + 0x20) = local_98[1] & 0xfffffffe;
  local_6c = *puVar6;
  local_90[1] = (char *)puVar6[1];
  local_65 = *(char *)(**(int **)((int)local_90[1] + 4) + 0xc);
  local_7c = *(int *)(param_2 + 0x14);
  iVar5 = FUN_000a7160(param_2,param_1,"ATTACH %Q AS vacuum_db");
  ppcVar9 = apcStack_a0 + 1;
  *(char **)(param_2 + 0x38) = local_90[0];
  if (iVar5 == 0) {
    local_90[0] = (char *)(local_7c * 0x10 + *(int *)(param_2 + 0x10));
    local_64 = *(int *)((int)local_90[0] + 4);
    if (apcStack_a0[1] == (char *)0x0) {
      apcStack_a0[0] = (char *)0xa76c1;
      local_60 = FUN_000279c0();
      apcStack_a0[0] = (char *)0xa76de;
      FUN_00027ef0();
      apcStack_a0[0] = (char *)0xa76e9;
      FUN_00027fa0();
      apcStack_a0[0] = (char *)0xa76f2;
      FUN_00027fa0();
      apcStack_a0[0] = (char *)0xa76fe;
      FUN_000280a0();
      apcStack_a0[0] = (char *)0xa770d;
      iVar5 = FUN_000a7010();
      if (iVar5 == 0) goto LAB_000a73fb;
LAB_000a7644:
      pcVar7 = ppcVar9[5];
      *(undefined1 *)(param_2 + 0xa0) = 0;
      *(char **)(param_2 + 0x18) = pcVar7;
      *(char **)(param_2 + 0x1c) = ppcVar9[1];
      *(char **)(param_2 + 0x20) = ppcVar9[2];
      *(char **)(param_2 + 0x60) = ppcVar9[6];
      *(char **)(param_2 + 100) = ppcVar9[7];
      ppcVar9[0xfffffffc] = (char *)0x1;
      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);
      ppcVar9[0xfffffffb] = (char *)0xa768b;
      FUN_00041730();
      *(undefined1 *)(param_2 + 0x4b) = 1;
    }
    else {
      piVar1 = *(int **)(**(int **)(local_64 + 4) + 0x3c);
      local_54 = 0;
      local_50 = 0;
      iVar5 = *piVar1;
      if (iVar5 != 0) {
        iVar5 = (**(code **)(iVar5 + 0x18))(piVar1,&local_54);
        ppcVar9 = apcStack_a0 + 1;
        if ((iVar5 != 0) || ((-1 < local_50 && ((0 < local_50 || (local_54 != 0)))))) {
          iVar5 = 1;
          apcStack_a0[0] = (char *)0xa7644;
          FUN_0002ec00();
          goto LAB_000a7644;
        }
      }
      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) | 8;
      apcStack_a0[0] = (char *)0xa73a5;
      local_60 = FUN_000279c0();
      apcStack_a0[0] = (char *)0xa73c2;
      FUN_00027ef0();
      apcStack_a0[0] = (char *)0xa73cd;
      FUN_00027fa0();
      apcStack_a0[0] = (char *)0xa73d6;
      FUN_00027fa0();
      apcStack_a0[0] = (char *)0xa73e2;
      FUN_000280a0();
      apcStack_a0[0] = (char *)0xa73f1;
      iVar5 = FUN_000a7010();
      ppcVar9 = apcStack_a0 + 1;
      if (iVar5 != 0) goto LAB_000a7644;
LAB_000a73fb:
      apcStack_a0[0] = (char *)0xa7408;
      iVar5 = FUN_00062b70();
      ppcVar9 = apcStack_a0 + 1;
      if (iVar5 != 0) goto LAB_000a7644;
      if (*(char *)(**(int **)((int)local_90[1] + 4) + 5) == '\x05') {
        *(undefined4 *)(param_2 + 0x58) = 0;
      }
      iVar5 = FUN_00041730(0);
      if ((iVar5 != 0) ||
         (((local_65 == '\0' && (iVar5 = FUN_00041730(0), iVar5 != 0)) ||
          (*(char *)(param_2 + 0x4d) != '\0')))) {
        iVar5 = 7;
        ppcVar9 = apcStack_a0 + 1;
        goto LAB_000a7644;
      }
      ppcVar9 = apcStack_a0 + 1;
      if (*(char *)(param_2 + 0x50) < '\0') {
        ppcVar9 = apcStack_a0;
        apcStack_a0[0] = (char *)0xa7754;
        entry();
      }
      ppcVar9[-1] = (char *)0xa7472;
      FUN_00028170();
      ppcVar9[-1] = ppcVar9[0xc];
      *(undefined1 *)(param_2 + 0xa0) = *(undefined1 *)(ppcVar9 + 8);
      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcc7);
      ppcVar9[-3] = (char *)param_1;
      ppcVar9[-4] = (char *)param_2;
      ppcVar9[-5] = (char *)0xa748f;
      iVar5 = FUN_000a7160();
      if (iVar5 != 0) goto LAB_000a7644;
      ppcVar9[-1] = ppcVar9[0xc];
      ppcVar9[-2] = (char *)(ppuVar8 + -0xbcac);
      ppcVar9[-3] = (char *)param_1;
      ppcVar9[-4] = (char *)param_2;
      ppcVar9[-5] = (char *)0xa74ae;
      iVar5 = FUN_000a7160();
      if (iVar5 != 0) goto LAB_000a7644;
      ppcVar9[-1] = ppcVar9[0xc];
      *(undefined1 *)(param_2 + 0xa0) = 0;
      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc9e);
      ppcVar9[-3] = (char *)param_1;
      ppcVar9[-4] = (char *)param_2;
      ppcVar9[-5] = (char *)0xa74d4;
      iVar5 = FUN_000a7160();
      *(uint *)(param_2 + 0x18) = *(uint *)(param_2 + 0x18) & 0xfffffffb;
      if (iVar5 != 0) goto LAB_000a7644;
      ppcVar9[-1] = ppcVar9[0xc];
      ppcVar9[-2] = (char *)(ppuVar8 + -0xbc78);
      ppcVar9[-3] = (char *)param_1;
      ppcVar9[-4] = (char *)param_2;
      ppcVar9[-5] = (char *)0xa74f7;
      iVar5 = FUN_000a7160();
      if (iVar5 != 0) goto LAB_000a7644;
      ppcVar9[8] = (char *)(ppcVar9 + 0x11);
      iVar10 = 0;
      do {
        ppcVar9[-1] = (char *)0xa7523;
        FUN_000341f0();
        ppcVar9[-1] = (char *)0xa753a;
        iVar5 = FUN_000633c0();
        if (iVar5 != 0) goto LAB_000a7644;
        iVar10 = iVar10 + 2;
      } while (iVar10 != 10);
      if (*ppcVar9 == (char *)0x0) {
        if (ppcVar9[4][9] != '\0') {
          ppcVar9[-1] = (char *)0xa7778;
          FUN_00027820();
        }
        if (ppcVar9[0xe][9] != '\0') {
          ppcVar9[-1] = (char *)0xa7787;
          FUN_00027820();
        }
        iVar5 = **(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);
        *ppcVar9 = (char *)*(int **)(**(int **)(ppcVar9[4] + 4) + 0x3c);
        if (iVar5 == 0) {
LAB_000a77ea:
          ppcVar11 = ppcVar9 + 0x12;
          ppcVar12 = ppcVar11;
          for (iVar5 = 0xc; iVar5 != 0; iVar5 = iVar5 + -1) {
            *ppcVar12 = (char *)0x0;
            ppcVar12 = ppcVar12 + (uint)bVar13 * -2 + 1;
          }
          pcVar7 = *(char **)ppcVar9[0xe];
          ppcVar9[0x18] = ppcVar9[0xe];
          ppcVar9[0x16] = (char *)0x1;
          ppcVar9[0x17] = pcVar7;
          pcVar7 = ppcVar9[4];
          ppcVar9[0x13] = pcVar7;
          ppcVar9[-1] = pcVar7;
          ppcVar9[-2] = pcVar7;
          ppcVar9[-3] = (char *)0x7fffffff;
          ppcVar9[-4] = (char *)ppcVar11;
          ppcVar9[-5] = (char *)0xa7820;
          sqlite3_backup_step();
          ppcVar9[-4] = (char *)ppcVar11;
          ppcVar9[-5] = (char *)0xa7828;
          iVar5 = sqlite3_backup_finish();
          if (iVar5 == 0) {
            *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) =
                 *(ushort *)(*(int *)(ppcVar9[4] + 4) + 0x18) & 0xfffd;
          }
          else if (*(char *)(**(int **)(ppcVar9[0x13] + 4) + 0xc) == '\0') {
            ppcVar9[-1] = (char *)0xa78ee;
            FUN_00026f50();
          }
        }
        else {
          pcVar7 = *(char **)(*(int *)(ppcVar9[0xe] + 4) + 0x24);
          uVar2 = *(uint *)(*(int *)(ppcVar9[0xe] + 4) + 0x30);
          ppcVar9[8] = pcVar7;
          ppcVar9[9] = (char *)((int)pcVar7 >> 0x1f);
          lVar4 = (ulonglong)uVar2 * ZEXT48(pcVar7);
          pcVar7 = (char *)((int)((ulonglong)lVar4 >> 0x20) + (int)ppcVar9[9] * uVar2);
          ppcVar9[0x12] = (char *)lVar4;
          ppcVar9[0x13] = pcVar7;
          ppcVar9[-1] = pcVar7;
          ppcVar9[-2] = (char *)(ppcVar9 + 0x12);
          ppcVar9[-3] = (char *)0xb;
          ppcVar9[-4] = *ppcVar9;
          pcVar3 = *(code **)(iVar5 + 0x28);
          ppcVar9[-5] = (char *)0xa77dc;
          iVar5 = (*pcVar3)();
          if ((iVar5 == 0xc) || (iVar5 == 0)) goto LAB_000a77ea;
        }
        pcVar7 = ppcVar9[0xe];
        if (pcVar7[9] != '\0') {
          iVar10 = *(int *)(pcVar7 + 0xc);
          *ppcVar9 = (char *)iVar10;
          iVar10 = iVar10 + -1;
          *(int *)(pcVar7 + 0xc) = iVar10;
          if (iVar10 == 0) {
            ppcVar9[-1] = (char *)0xa7862;
            FUN_000278b0();
          }
        }
        pcVar7 = ppcVar9[4];
        if (pcVar7[9] != '\0') {
          iVar10 = *(int *)(pcVar7 + 0xc);
          *ppcVar9 = (char *)iVar10;
          iVar10 = iVar10 + -1;
          *(int *)(pcVar7 + 0xc) = iVar10;
          if (iVar10 == 0) {
            ppcVar9[-1] = (char *)0xa7883;
            FUN_000278b0();
          }
        }
        if (iVar5 == 0) {
          ppcVar9[-1] = (char *)0xa7896;
          iVar5 = FUN_0006aff0();
          if (iVar5 == 0) {
            ppcVar9[-1] = (char *)0xa78a9;
            entry();
            ppcVar9[-2] = (char *)0xa78b6;
            FUN_00028170();
            ppcVar9[-5] = (char *)0x1;
            ppcVar9[-6] = (char *)0xa78cc;
            iVar5 = FUN_00041730();
            ppcVar9 = ppcVar9 + -1;
          }
        }
        goto LAB_000a7644;
      }
      ppcVar9[-1] = (char *)0xa755d;
      iVar5 = FUN_0006aff0();
      if (iVar5 != 0) goto LAB_000a7644;
      pcVar7 = ppcVar9[5];
      *(undefined1 *)(param_2 + 0xa0) = 0;
      iVar5 = 0;
      *(char **)(param_2 + 0x18) = pcVar7;
      *(char **)(param_2 + 0x1c) = ppcVar9[1];
      *(char **)(param_2 + 0x20) = ppcVar9[2];
      *(char **)(param_2 + 0x60) = ppcVar9[6];
      *(char **)(param_2 + 100) = ppcVar9[7];
      ppcVar9[-4] = (char *)0x1;
      *(undefined1 *)(param_2 + 0x54) = *(undefined1 *)((int)ppcVar9 + 0x2b);
      ppcVar9[-5] = (char *)0xa75ae;
      FUN_00041730();
      *(undefined1 *)(param_2 + 0x4b) = 1;
    }
    iVar10 = *(int *)((int)ppcVar9 + 0xc);
    *(undefined4 *)((int)ppcVar9 + -4) = 0xa769e;
    FUN_0006de60();
    *(undefined4 *)(iVar10 + 4) = 0;
    *(undefined4 *)(iVar10 + 0xc) = 0;
  }
  else {
    *(undefined1 *)(param_2 + 0xa0) = 0;
    *(char **)(param_2 + 0x18) = local_90[2];
    *(uint *)(param_2 + 0x1c) = local_98[0];
    *(uint *)(param_2 + 0x20) = local_98[1];
    *(char **)(param_2 + 0x60) = local_90[3];
    *(char **)(param_2 + 100) = local_90[4];
    *(undefined1 *)(param_2 + 0x54) = local_71;
    FUN_00041730(1);
    *(undefined1 *)(param_2 + 0x4b) = 1;
    ppcVar9 = apcStack_a0 + 1;
  }
  ppcVar9[0xffffffff] = (char *)0xa7625;
  FUN_000462f0();
LAB_000a7232:
  if (ppcVar9[0x1f] != *(char **)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    ppcVar9[0xffffffff] = (char *)0xa7760;
    FUN_000a9ea0();
  }
  return iVar5;
}

