
int walIndexReadHdr(Wal *pWal,int *pChanged)

{
  undefined1 *puVar1;
  uint *puVar2;
  undefined *puVar3;
  undefined *puVar4;
  int iVar5;
  int iVar6;
  int iVar7;
  int iVar8;
  u32 *puVar9;
  void *pvVar10;
  uint uVar11;
  code *pcVar12;
  uint uVar13;
  int iVar14;
  u32 uVar15;
  uint uVar16;
  int iVar17;
  code *pcVar18;
  u32 uVar19;
  u32 uStack_90;
  u32 *page0;
  u32 pgno;
  u32 nTruncate;
  i64 nSize;
  u8 aBuf [32];
  
  puVar4 = PTR___stack_chk_guard_00190e24;
  iVar5 = *(int *)PTR___stack_chk_guard_00190e24;
  iVar6 = walIndexPage(pWal,0,&page0);
  if (iVar6 != 0) {
    if (iVar6 != 0x508) goto LAB_000ab06c;
    pWal->bShmUnreliable = '\x01';
    pWal->exclusiveMode = '\x02';
    *pChanged = 1;
  }
  if ((page0 == (u32 *)0x0) ||
     (iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(pWal,pChanged), iVar7 != 0)) {
    if ((pWal->bShmUnreliable == '\0') && ((pWal->readOnly & 2) != 0)) {
      if (pWal->exclusiveMode == '\0') {
        iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6538))(pWal->pDbFd,0);
        if (iVar6 != 0) goto LAB_000ab2a0;
        if (pWal->exclusiveMode == '\0') {
          (*(code *)(PTR_LAB_00190ba8 + 0x654c))(pWal->pDbFd,0);
        }
        if (pWal->bShmUnreliable != '\0') {
          iVar6 = 0x108;
          goto LAB_000ab27c;
        }
      }
      iVar6 = 0x108;
      goto LAB_000ab06c;
    }
    if ((pWal->exclusiveMode != '\0') ||
       (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(pWal->pDbFd,0,1), iVar6 == 0)) {
      pWal->writeLock = '\x01';
      iVar6 = walIndexPage(pWal,0,&page0);
      if (iVar6 == 0) {
        iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(pWal,pChanged);
        if (iVar6 == 0) {
          pWal->writeLock = '\0';
          if (pWal->exclusiveMode == '\0') {
            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,0,1);
            uVar15 = (pWal->hdr).iVersion;
          }
          else {
            uVar15 = (pWal->hdr).iVersion;
          }
          if (uVar15 == 0x2de218) {
            iVar6 = 0;
            if (pWal->bShmUnreliable != '\0') {
              pWal->exclusiveMode = '\0';
            }
            goto LAB_000ab06c;
          }
          goto LAB_000ab244;
        }
        iVar7 = pWal->ckptLock + 1;
        iVar17 = 3 - iVar7;
        if (pWal->exclusiveMode == '\0') {
          pcVar18 = (code *)(PTR_LAB_00190ba8 + 0x6560);
          iVar6 = (*pcVar18)(pWal->pDbFd,iVar7,iVar17);
          if (iVar6 == 0) {
            if ((pWal->exclusiveMode != '\0') || (iVar6 = (*pcVar18)(pWal->pDbFd,4,4), iVar6 == 0))
            goto LAB_000ab3b8;
            if (pWal->exclusiveMode == '\0') {
              (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,iVar7,iVar17);
            }
          }
        }
        else {
LAB_000ab3b8:
          (*(code *)PTR_memset_00190d58)(&pWal->hdr,0,0x30);
          iVar8 = (*pWal->pWalFd->pMethods->xFileSize)(pWal->pWalFd,&nSize);
          iVar6 = iVar8;
          if (iVar8 == 0) {
            if (nSize._0_4_ < 1) {
              uVar15 = 0;
              if (nSize._0_4_ != 0) goto LAB_000ab598;
              uVar19 = 0;
              if (0x20 < nSize._4_4_) goto LAB_000ab414;
            }
            else {
LAB_000ab414:
              iVar6 = (*pWal->pWalFd->pMethods->xRead)(pWal->pWalFd,aBuf,0x20,0);
              puVar3 = PTR_LAB_00190b40;
              if (iVar6 != 0) goto LAB_000ab53c;
              if ((((aBuf._0_4_ & 0xfffffffe) == 0x377f0682) && ((aBuf._8_4_ - 1 & aBuf._8_4_) == 0)
                  ) && (aBuf._8_4_ - 0x200 < 0xfe01)) {
                (pWal->hdr).bigEndCksum = (u8)(aBuf._0_4_ & 1);
                pWal->szPage = aBuf._8_4_;
                pWal->nCkpt = aBuf._12_4_;
                puVar9 = (pWal->hdr).aSalt;
                uVar16 = (uint)puVar9 & 3;
                puVar2 = (uint *)((int)puVar9 - uVar16);
                *puVar2 = *puVar2 & -1 << (4 - uVar16) * 8 | (uint)aBuf._16_4_ >> uVar16 * 8;
                puVar1 = (undefined1 *)((int)(pWal->hdr).aSalt + 3);
                uVar16 = (uint)puVar1 & 3;
                puVar2 = (uint *)(puVar1 + -uVar16);
                *puVar2 = *puVar2 & 0xffffffffU >> (uVar16 + 1) * 8 |
                          aBuf._16_4_ << (3 - uVar16) * 8;
                (pWal->hdr).aSalt[1] = aBuf._20_4_;
                (*(code *)(puVar3 + 0xf88))(aBuf._0_4_ & 1,aBuf,0x18,0,(pWal->hdr).aFrameCksum);
                if (((pWal->hdr).aFrameCksum[0] == aBuf._24_4_) &&
                   ((pWal->hdr).aFrameCksum[1] == aBuf._28_4_)) {
                  if (aBuf._4_4_ == 0x2de218) {
                    iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();
                    if (iVar6 == 0) {
                      uVar16 = aBuf._8_4_ + 0x18;
                      pvVar10 = (void *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar16 >> 0x1f)
                      ;
                      if (pvVar10 != (void *)0x0) {
                        pcVar18 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);
                        uVar15 = 0;
                        uVar19 = 0;
                        pcVar12 = (code *)(PTR_LAB_00190c2c + -0x5200);
                        uStack_90 = 0;
                        uVar11 = 0x20;
                        iVar6 = 0;
                        while( true ) {
                          uVar13 = uVar16 + uVar11;
                          iVar14 = (uint)(uVar13 < uVar16) + ((int)uVar16 >> 0x1f) + iVar6;
                          if ((nSize._0_4_ < iVar14) ||
                             ((nSize._0_4_ == iVar14 && (nSize._4_4_ < uVar13)))) break;
                          uStack_90 = uStack_90 + 1;
                          iVar6 = (*pWal->pWalFd->pMethods->xRead)
                                            (pWal->pWalFd,pvVar10,uVar16,CONCAT44(iVar6,uVar11));
                          if (iVar6 != 0) {
LAB_000ab620:
                            (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);
                            goto LAB_000ab53c;
                          }
                          iVar6 = (*pcVar18)(pWal,&pgno,&nTruncate,(int)pvVar10 + 0x18,pvVar10);
                          if (iVar6 == 0) break;
                          iVar6 = (*pcVar12)(pWal,uStack_90,pgno);
                          if (iVar6 != 0) goto LAB_000ab620;
                          uVar11 = uVar13;
                          iVar6 = iVar14;
                          if (nTruncate != 0) {
                            uVar19 = (pWal->hdr).aFrameCksum[0];
                            uVar15 = (pWal->hdr).aFrameCksum[1];
                            (pWal->hdr).nPage = nTruncate;
                            (pWal->hdr).mxFrame = uStack_90;
                            (pWal->hdr).szPage = (ushort)aBuf._8_4_ & 0xff00 | SUB42(aBuf._8_4_,2);
                          }
                        }
                        (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);
                        goto LAB_000ab59c;
                      }
                    }
                    iVar6 = 7;
                  }
                  else {
                    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,
                                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,
                                PTR_LAB_00190958 + 0x625c);
                    iVar6 = 0xe;
                  }
                  goto LAB_000ab53c;
                }
              }
LAB_000ab598:
              uVar15 = 0;
              uVar19 = 0;
            }
LAB_000ab59c:
            puVar3 = PTR_LAB_00190ba8;
            (pWal->hdr).aFrameCksum[0] = uVar19;
            (pWal->hdr).aFrameCksum[1] = uVar15;
            (*(code *)(puVar3 + 0x6338))(pWal);
            puVar9 = *pWal->apWiData;
            puVar9[0x18] = 0;
            puVar9[0x20] = (pWal->hdr).mxFrame;
            puVar9[0x19] = 0;
            puVar9[0x1a] = 0xffffffff;
            puVar9[0x1b] = 0xffffffff;
            puVar9[0x1c] = 0xffffffff;
            puVar9[0x1d] = 0xffffffff;
            uVar15 = (pWal->hdr).mxFrame;
            if (uVar15 != 0) {
              puVar9[0x1a] = uVar15;
            }
            iVar6 = iVar8;
            if ((pWal->hdr).nPage != 0) {
              sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,
                          (pWal->hdr).mxFrame,pWal->zWalName);
            }
          }
LAB_000ab53c:
          if (pWal->exclusiveMode == '\0') {
            pcVar18 = (code *)(PTR_LAB_00190ba8 + 0x6640);
            (*pcVar18)(pWal->pDbFd,iVar7,iVar17);
            if (pWal->exclusiveMode == '\0') {
              (*pcVar18)(pWal->pDbFd,4,4);
              *pChanged = 1;
              goto LAB_000ab170;
            }
          }
        }
        *pChanged = 1;
      }
LAB_000ab170:
      pWal->writeLock = '\0';
      if (pWal->exclusiveMode == '\0') {
        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,0,1);
      }
      goto LAB_000ab0f8;
    }
LAB_000ab2a0:
    if (pWal->bShmUnreliable == '\0') goto LAB_000ab06c;
LAB_000ab2ac:
    (*(code *)(PTR_LAB_00190ba8 + 0x6650))(pWal,0);
    pWal->bShmUnreliable = '\0';
    if (iVar6 == 0x20a) {
      iVar6 = -1;
      pWal->exclusiveMode = '\0';
      goto LAB_000ab06c;
    }
  }
  else {
    if ((pWal->hdr).iVersion != 0x2de218) {
LAB_000ab244:
      iVar6 = 0xe;
      sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,
                  PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,
                  PTR_LAB_00190958 + 0x625c);
      if (pWal->bShmUnreliable == '\0') goto LAB_000ab06c;
LAB_000ab27c:
      (*(code *)(PTR_LAB_00190ba8 + 0x6650))(pWal,0);
      pWal->bShmUnreliable = '\0';
      pWal->exclusiveMode = '\0';
      goto LAB_000ab06c;
    }
LAB_000ab0f8:
    if (pWal->bShmUnreliable == '\0') goto LAB_000ab06c;
    if (iVar6 != 0) goto LAB_000ab2ac;
  }
  pWal->exclusiveMode = '\0';
LAB_000ab06c:
  if (iVar5 == *(int *)puVar4) {
    return iVar6;
  }
  iVar6 = (*(code *)PTR___stack_chk_fail_00190df8)();
  return iVar6;
}



int FUN_000aafe4(int param_1,undefined4 *param_2)

{
  uint *puVar1;
  ushort uVar2;
  uint uVar3;
  undefined *puVar4;
  undefined *puVar5;
  int iVar6;
  int iVar7;
  int iVar8;
  uint uVar9;
  code *pcVar10;
  uint uVar11;
  int iVar12;
  uint uVar13;
  code *pcVar14;
  code *pcVar15;
  int *piVar16;
  undefined4 uVar17;
  uint unaff_s6;
  int local_90;
  int local_64;
  undefined4 local_60;
  int local_5c;
  int local_58;
  uint local_54;
  uint local_4c;
  int local_48;
  uint local_44;
  undefined4 local_40;
  uint local_3c;
  undefined4 local_38;
  int local_34;
  int local_30;
  int local_2c;
  
  puVar5 = PTR___stack_chk_guard_00190e24;
  piVar16 = &local_64;
  local_2c = *(int *)PTR___stack_chk_guard_00190e24;
  pcVar14 = (code *)(PTR_LAB_00190c2c + -0x58c0);
  iVar6 = FUN_000aa740(param_1,0,piVar16);
  pcVar15 = pcVar14;
  if (iVar6 != 0) {
    if (iVar6 != 0x508) goto LAB_000ab06c;
    *(undefined1 *)(param_1 + 0x32) = 1;
    *(undefined1 *)(param_1 + 0x2b) = 2;
    *param_2 = 1;
  }
  if ((local_64 == 0) ||
     (iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2), iVar7 != 0)) {
    if ((*(char *)(param_1 + 0x32) != '\0') || ((*(byte *)(param_1 + 0x2e) & 2) == 0)) {
      if ((*(char *)(param_1 + 0x2b) == '\0') &&
         (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1),
         iVar6 != 0)) {
LAB_000ab2a0:
        if (*(char *)(param_1 + 0x32) != '\0') goto LAB_000ab2ac;
        goto LAB_000ab06c;
      }
      *(undefined1 *)(param_1 + 0x2c) = 1;
      iVar7 = FUN_000aa740(param_1,0,piVar16);
      if (iVar7 != 0) goto LAB_000ab170;
      iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2);
      if (iVar6 != 0) {
        pcVar15 = (code *)(*(byte *)(param_1 + 0x2d) + 1);
        piVar16 = (int *)(3 - (int)pcVar15);
        if (*(char *)(param_1 + 0x2b) == '\0') {
          pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560);
          iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);
          pcVar14 = pcVar15;
          if (iVar7 != 0) goto LAB_000ab3b0;
          if ((*(char *)(param_1 + 0x2b) == '\0') &&
             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)) {
            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;
            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);
            goto LAB_000ab3b0;
          }
        }
        (*(code *)PTR_memset_00190d58)(param_1 + 0x34,0,0x30);
        iVar6 = (**(code **)(**(int **)(param_1 + 8) + 0x18))(*(int **)(param_1 + 8),&local_58);
        iVar7 = iVar6;
        if (iVar6 != 0) goto LAB_000ab53c;
        if (local_58 < 1) {
          unaff_s6 = 0;
          if (local_58 != 0) goto LAB_000ab598;
          uVar17 = 0;
          if (local_54 < 0x21) goto LAB_000ab59c;
        }
        uVar17 = 0;
        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),&local_4c,0x20);
        puVar4 = PTR_LAB_00190b40;
        if (iVar7 != 0) goto LAB_000ab53c;
        if ((((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)) &&
           (local_44 - 0x200 < 0xfe01)) {
          *(char *)(param_1 + 0x41) = (char)(local_4c & 1);
          *(uint *)(param_1 + 0x24) = local_44;
          *(undefined4 *)(param_1 + 0x70) = local_40;
          uVar13 = param_1 + 0x54U & 3;
          puVar1 = (uint *)((param_1 + 0x54U) - uVar13);
          *puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8;
          uVar13 = param_1 + 0x57U & 3;
          puVar1 = (uint *)((param_1 + 0x57U) - uVar13);
          *puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8;
          *(undefined4 *)(param_1 + 0x58) = local_38;
          (*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17);
          if ((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)) {
            unaff_s6 = local_44;
            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;
            if (local_48 == 0x2de218) goto LAB_000ab64c;
            iVar7 = 0xe;
            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,
                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,
                        PTR_LAB_00190958 + 0x625c);
            goto LAB_000ab53c;
          }
        }
LAB_000ab598:
        unaff_s6 = 0;
        uVar17 = 0;
        goto LAB_000ab59c;
      }
      *(undefined1 *)(param_1 + 0x2c) = 0;
      if (*(char *)(param_1 + 0x2b) == '\0') {
        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);
        iVar6 = *(int *)(param_1 + 0x34);
      }
      else {
        iVar6 = *(int *)(param_1 + 0x34);
      }
      if (iVar6 == 0x2de218) {
        iVar6 = 0;
        if (*(char *)(param_1 + 0x32) != '\0') {
          *(undefined1 *)(param_1 + 0x2b) = 0;
        }
        goto LAB_000ab06c;
      }
      goto LAB_000ab244;
    }
    if (*(char *)(param_1 + 0x2b) != '\0') {
LAB_000ab318:
      iVar6 = 0x108;
      goto LAB_000ab06c;
    }
    iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6538))(*(undefined4 *)(param_1 + 4),0);
    if (iVar6 != 0) goto LAB_000ab2a0;
    if (*(char *)(param_1 + 0x2b) == '\0') {
      (*(code *)(PTR_LAB_00190ba8 + 0x654c))(*(undefined4 *)(param_1 + 4),0);
    }
    if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab318;
    iVar6 = 0x108;
  }
  else {
    if (*(int *)(param_1 + 0x34) == 0x2de218) goto LAB_000ab0f8;
LAB_000ab244:
    iVar6 = 0xe;
    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,
                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,
                PTR_LAB_00190958 + 0x625c);
    if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab06c;
  }
  (*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0);
  *(undefined1 *)(param_1 + 0x32) = 0;
  *(undefined1 *)(param_1 + 0x2b) = 0;
LAB_000ab06c:
  do {
    if (local_2c == *(int *)puVar5) {
      return iVar6;
    }
    pcVar14 = (code *)PTR___stack_chk_fail_00190df8;
    (*(code *)PTR___stack_chk_fail_00190df8)();
LAB_000ab64c:
    iVar7 = (*pcVar14)();
    if (iVar7 == 0) {
      uVar13 = unaff_s6 + 0x18;
      iVar8 = (*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar13 >> 0x1f);
      if (iVar8 == 0) goto LAB_000ab7ec;
      uVar2 = (ushort)unaff_s6;
      uVar3 = unaff_s6 >> 0x10;
      pcVar14 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);
      unaff_s6 = 0;
      uVar17 = 0;
      pcVar10 = (code *)(PTR_LAB_00190c2c + -0x5200);
      local_90 = 0;
      uVar9 = 0x20;
      iVar7 = 0;
      while( true ) {
        uVar11 = uVar13 + uVar9;
        iVar12 = (uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7;
        if ((local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11)))) break;
        local_90 = local_90 + 1;
        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))
                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9);
        if (iVar7 != 0) {
LAB_000ab620:
          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);
          goto LAB_000ab53c;
        }
        iVar7 = (*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8);
        if (iVar7 == 0) break;
        iVar7 = (*pcVar10)(param_1,local_90,local_60);
        if (iVar7 != 0) goto LAB_000ab620;
        uVar9 = uVar11;
        iVar7 = iVar12;
        if (local_5c != 0) {
          uVar17 = *(undefined4 *)(param_1 + 0x4c);
          unaff_s6 = *(uint *)(param_1 + 0x50);
          *(int *)(param_1 + 0x48) = local_5c;
          *(int *)(param_1 + 0x44) = local_90;
          *(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;
        }
      }
      (*(code *)PTR_sqlite3_free_0019096c)(iVar8);
LAB_000ab59c:
      puVar4 = PTR_LAB_00190ba8;
      *(undefined4 *)(param_1 + 0x4c) = uVar17;
      *(uint *)(param_1 + 0x50) = unaff_s6;
      (*(code *)(puVar4 + 0x6338))(param_1);
      iVar7 = **(int **)(param_1 + 0x20);
      *(undefined4 *)(iVar7 + 0x60) = 0;
      *(undefined4 *)(iVar7 + 0x80) = *(undefined4 *)(param_1 + 0x44);
      *(undefined4 *)(iVar7 + 100) = 0;
      *(undefined4 *)(iVar7 + 0x68) = 0xffffffff;
      *(undefined4 *)(iVar7 + 0x6c) = 0xffffffff;
      *(undefined4 *)(iVar7 + 0x70) = 0xffffffff;
      *(undefined4 *)(iVar7 + 0x74) = 0xffffffff;
      if (*(int *)(param_1 + 0x44) != 0) {
        *(int *)(iVar7 + 0x68) = *(int *)(param_1 + 0x44);
      }
      iVar7 = iVar6;
      if (*(int *)(param_1 + 0x48) != 0) {
        sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,
                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c));
      }
    }
    else {
LAB_000ab7ec:
      iVar7 = 7;
    }
LAB_000ab53c:
    pcVar14 = pcVar15;
    if (*(char *)(param_1 + 0x2b) == '\0') {
      pcVar14 = (code *)(PTR_LAB_00190ba8 + 0x6640);
      (*pcVar14)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);
      if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;
      (*pcVar14)(*(undefined4 *)(param_1 + 4),4,4);
      *param_2 = 1;
    }
    else {
LAB_000ab3b0:
      *param_2 = 1;
    }
LAB_000ab170:
    *(undefined1 *)(param_1 + 0x2c) = 0;
    iVar6 = iVar7;
    if (*(char *)(param_1 + 0x2b) == '\0') {
      (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);
    }
LAB_000ab0f8:
    pcVar15 = pcVar14;
  } while (*(char *)(param_1 + 0x32) == '\0');
  if (iVar6 != 0) {
LAB_000ab2ac:
    (*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0);
    *(undefined1 *)(param_1 + 0x32) = 0;
    if (iVar6 == 0x20a) {
      iVar6 = -1;
      *(undefined1 *)(param_1 + 0x2b) = 0;
      pcVar15 = pcVar14;
      goto LAB_000ab06c;
    }
  }
  *(undefined1 *)(param_1 + 0x2b) = 0;
  pcVar15 = pcVar14;
  goto LAB_000ab06c;
}


lui gp,0xf
addiu gp,gp,-0x26c4
addu gp,gp,t9
addiu sp,sp,-0xb0
sw s0,0x88(sp)
sw s2,0x90(sp)
sw gp,0x18(sp)
sw s8,0xa8(sp)
sw s5,0x9c(sp)
or s5,a0,zero
sw s3,0x94(sp)
addiu s3,sp,0x4c
sw s1,0x8c(sp)
or s1,a1,zero
sw ra,0xac(sp)
or a1,zero,zero
sw s7,0xa4(sp)
or a2,s3,zero
sw s6,0xa0(sp)
sw s4,0x98(sp)
lw s0,-0x7afc(gp)
lw s2,-0x7cf4(gp)
lw v0,0x0(s0)
addiu s2,s2,-0x58c0
or t9,s2,zero
sw v0,0x84(sp)
bal 0x000aa740
_nop
lw gp,0x18(sp)
beq v0,zero,0x000ab0c0
_or s8,v0,zero
li v0,0x508
beq s8,v0,0x000ab0ac
_li v0,0x1
lw a0,0x84(sp)
or v0,s8,zero
lw v1,0x0(s0)
bne a0,v1,0x000ab640
_lw ra,0xac(sp)
lw s8,0xa8(sp)
lw s7,0xa4(sp)
lw s6,0xa0(sp)
lw s5,0x9c(sp)
lw s4,0x98(sp)
lw s3,0x94(sp)
lw s2,0x90(sp)
lw s1,0x8c(sp)
lw s0,0x88(sp)
jr ra
_addiu sp,sp,0xb0
sb v0,0x32(s5)
li v0,0x2
sb v0,0x2b(s5)
li v0,0x1
sw v0,0x0(s1)
lw v0,0x4c(sp)
beq v0,zero,0x000ab114
_lw t9,-0x7d7c(gp)
or a1,s1,zero
addiu t9,t9,-0x7394
jalr t9
_or a0,s5,zero
bne v0,zero,0x000ab114
_lw gp,0x18(sp)
lui v0,0x2d
lw a0,0x34(s5)
ori v0,v0,0xe218
bne a0,v0,0x000ab244
_lw v0,-0x7fc8(gp)
lbu v0,0x32(s5)
beq v0,zero,0x000ab06c
_nop
bne s8,zero,0x000ab2ac
_lw t9,-0x7d78(gp)
b 0x000ab06c
_sb zero,0x2b(s5)
lbu a1,0x32(s5)
lw a0,0x4(s5)
beq a1,zero,0x000ab19c
_lbu v0,0x2b(s5)
bne v0,zero,0x000ab148
_lw t9,-0x7d78(gp)
li a2,0x1
addiu t9,t9,0x6560
jalr t9
_or a1,zero,zero
lw gp,0x18(sp)
bne v0,zero,0x000ab2a0
_or s8,v0,zero
li v0,0x1
or a1,zero,zero
sb v0,0x2c(s5)
or a2,s3,zero
or t9,s2,zero
bal 0x000aa740
_or a0,s5,zero
lw gp,0x18(sp)
beq v0,zero,0x000ab200
_or s8,v0,zero
lbu v0,0x2b(s5)
bne v0,zero,0x000ab0f8
_sb zero,0x2c(s5)
lw t9,-0x7d78(gp)
li a2,0x1
lw a0,0x4(s5)
addiu t9,t9,0x6640
jalr t9
_or a1,zero,zero
b 0x000ab0f8
_lw gp,0x18(sp)
lbu a1,0x2e(s5)
andi a1,a1,0x2
beq a1,zero,0x000ab124
_nop
bne v0,zero,0x000ab318
_lw t9,-0x7d78(gp)
addiu t9,t9,0x6538
jalr t9
_or a1,zero,zero
lw gp,0x18(sp)
bne v0,zero,0x000ab2a0
_or s8,v0,zero
lbu v0,0x2b(s5)
bne v0,zero,0x000ab1ec
_lw t9,-0x7d78(gp)
or a1,zero,zero
addiu t9,t9,0x654c
jalr t9
_lw a0,0x4(s5)
lw gp,0x18(sp)
lbu v0,0x32(s5)
beq v0,zero,0x000ab318
_nop
b 0x000ab27c
_li s8,0x108
lw t9,-0x7d7c(gp)
or a1,s1,zero
addiu t9,t9,-0x7394
jalr t9
_or a0,s5,zero
lw gp,0x18(sp)
bne v0,zero,0x000ab320
_or s8,v0,zero
lbu v0,0x2b(s5)
beq v0,zero,0x000ab2d8
_sb zero,0x2c(s5)
lui v0,0x2d
lw a0,0x34(s5)
ori v0,v0,0xe218
beq a0,v0,0x000ab304
_nop
lw v0,-0x7fc8(gp)
ori a3,zero,0xebe8
lw a2,-0x7fc4(gp)
li a0,0xe
lw a1,-0x7fc4(gp)
li s8,0xe
addiu v0,v0,0x625c
lw t9,-0x7d40(gp)
addiu a2,a2,-0x5db8
addiu a1,a1,-0x6378
bal 0x0008c2d4
_sw v0,0x10(sp)
lbu v0,0x32(s5)
beq v0,zero,0x000ab06c
_lw gp,0x18(sp)
lw t9,-0x7d78(gp)
or a1,zero,zero
addiu t9,t9,0x6650
jalr t9
_or a0,s5,zero
lw gp,0x18(sp)
sb zero,0x32(s5)
b 0x000ab06c
_sb zero,0x2b(s5)
lbu v0,0x32(s5)
beq v0,zero,0x000ab06c
_lw t9,-0x7d78(gp)
or a1,zero,zero
addiu t9,t9,0x6650
jalr t9
_or a0,s5,zero
li v0,0x20a
lw gp,0x18(sp)
bne s8,v0,0x000ab10c
_sb zero,0x32(s5)
li s8,-0x1
b 0x000ab06c
_sb zero,0x2b(s5)
lw t9,-0x7d78(gp)
li a2,0x1
lw a0,0x4(s5)
addiu t9,t9,0x6640
jalr t9
_or a1,zero,zero
lui v0,0x2d
lw a0,0x34(s5)
ori v0,v0,0xe218
bne a0,v0,0x000ab240
_lw gp,0x18(sp)
lbu v0,0x32(s5)
beq v0,zero,0x000ab06c
_nop
b 0x000ab06c
_sb zero,0x2b(s5)
b 0x000ab06c
_li s8,0x108
lbu s2,0x2d(s5)
li s3,0x3
lbu v0,0x2b(s5)
addiu s2,s2,0x1
bne v0,zero,0x000ab3b8
_subu s3,s3,s2
lw s4,-0x7d78(gp)
or a2,s3,zero
lw a0,0x4(s5)
addiu s4,s4,0x6560
or t9,s4,zero
jalr t9
_or a1,s2,zero
lw gp,0x18(sp)
bne v0,zero,0x000ab3ac
_or s8,v0,zero
lbu v0,0x2b(s5)
bne v0,zero,0x000ab3b8
_lw a0,0x4(s5)
li a2,0x4
or t9,s4,zero
jalr t9
_li a1,0x4
lw gp,0x18(sp)
beq v0,zero,0x000ab3b8
_or s8,v0,zero
lbu v0,0x2b(s5)
bne v0,zero,0x000ab3ac
_lw t9,-0x7d78(gp)
or a2,s3,zero
lw a0,0x4(s5)
addiu t9,t9,0x6640
jalr t9
_or a1,s2,zero
lw gp,0x18(sp)
li v0,0x1
b 0x000ab170
_sw v0,0x0(s1)
lw t9,-0x7bc8(gp)
li a2,0x30
or a1,zero,zero
jalr t9
_addiu a0,s5,0x34
lw v0,0x8(s5)
or a0,v0,zero
lw v0,0x0(v0)
lw t9,0x18(v0)
jalr t9
_addiu a1,sp,0x58
lw gp,0x18(sp)
bne v0,zero,0x000ab53c
_or s8,v0,zero
lw v0,0x58(sp)
bgtz v0,0x000ab414
_nop
bne v0,zero,0x000ab598
_or s6,zero,zero
lw v0,0x5c(sp)
sltiu v0,v0,0x21
bne v0,zero,0x000ab59c
_or s4,zero,zero
lw v0,0x8(s5)
or t1,zero,zero
or t0,zero,zero
addiu s4,sp,0x64
or a0,v0,zero
lw v0,0x0(v0)
li a2,0x20
sw t1,0x14(sp)
sw t0,0x10(sp)
lw t9,0x8(v0)
jalr t9
_or a1,s4,zero
bne v0,zero,0x000ab638
_lw gp,0x18(sp)
lw a1,0x64(sp)
lui v0,0x377f
li a0,-0x2
addiu v0,v0,0x682
and a0,a1,a0
bne a0,v0,0x000ab598
_or s6,zero,zero
lw s6,0x6c(sp)
addiu v0,s6,-0x1
and v0,v0,s6
bne v0,zero,0x000ab594
_addiu v0,s6,-0x200
ori a0,zero,0xfe01
sltu v0,v0,a0
beq v0,zero,0x000ab594
_lw t3,0x74(sp)
addiu v0,s5,0x54
lw t4,0x70(sp)
andi a0,a1,0x1
lw t2,0x78(sp)
addiu t1,s5,0x4c
lw t9,-0x7de0(gp)
or a3,zero,zero
sb a0,0x41(s5)
li a2,0x18
sw s6,0x24(s5)
or a1,s4,zero
sw t4,0x70(s5)
addiu t9,t9,0xf88
swl t3,0x54(s5)
swr t3,0x3(v0)
swl t2,0x4(v0)
swr t2,0x7(v0)
jalr t9
_sw t1,0x10(sp)
lw a0,0x4c(s5)
lw v0,0x7c(sp)
bne a0,v0,0x000ab594
_lw gp,0x18(sp)
lw a0,0x50(s5)
lw v0,0x80(sp)
bne a0,v0,0x000ab594
_lui v0,0x2d
lw a0,0x68(sp)
ori v0,v0,0xe218
beq a0,v0,0x000ab64c
_lw t9,-0x7d98(gp)
lw v0,-0x7fc8(gp)
ori a3,zero,0xe816
lw a2,-0x7fc4(gp)
li a0,0xe
lw a1,-0x7fc4(gp)
li s8,0xe
addiu v0,v0,0x625c
lw t9,-0x7d40(gp)
addiu a2,a2,-0x5db8
addiu a1,a1,-0x6378
bal 0x0008c2d4
_sw v0,0x10(sp)
lw gp,0x18(sp)
lbu v0,0x2b(s5)
bne v0,zero,0x000ab3b0
_li v0,0x1
or a1,s2,zero
lw s2,-0x7d78(gp)
lw a0,0x4(s5)
addiu s2,s2,0x6640
or t9,s2,zero
jalr t9
_or a2,s3,zero
lbu v0,0x2b(s5)
lw gp,0x18(sp)
bne v0,zero,0x000ab3ac
_lw a0,0x4(s5)
li a2,0x4
or t9,s2,zero
jalr t9
_li a1,0x4
li v0,0x1
lw gp,0x18(sp)
b 0x000ab170
_sw v0,0x0(s1)
or s6,zero,zero
or s4,zero,zero
lw t9,-0x7d78(gp)
or a0,s5,zero
sw s4,0x4c(s5)
addiu t9,t9,0x6338
jalr t9
_sw s6,0x50(s5)
li a0,-0x1
lw v0,0x20(s5)
lw gp,0x18(sp)
lw v0,0x0(v0)
sw zero,0x60(v0)
lw a1,0x44(s5)
sw a1,0x80(v0)
sw zero,0x64(v0)
sw a0,0x68(v0)
sw a0,0x6c(v0)
sw a0,0x70(v0)
sw a0,0x74(v0)
lw a0,0x44(s5)
beq a0,zero,0x000ab5f4
_nop
sw a0,0x68(v0)
lw v0,0x48(s5)
beq v0,zero,0x000ab53c
_lw a1,-0x7fc4(gp)
li a0,0x11b
lw t9,-0x7d40(gp)
lw a3,0x6c(s5)
lw a2,0x44(s5)
bal 0x0008c2d4
_addiu a1,a1,-0x4e4c
b 0x000ab53c
_lw gp,0x18(sp)
lw t9,-0x7fb4(gp)
or a0,s7,zero
jalr t9
_sw v0,0x20(sp)
lw gp,0x18(sp)
lw v0,0x20(sp)
b 0x000ab53c
_or s8,v0,zero
lw t9,-0x7b28(gp)
jalr t9
_nop
jalr t9
_nop
lw gp,0x18(sp)
bne v0,zero,0x000ab7ec
_sw v0,0x20(sp)
addiu a1,s6,0x18
lw t9,-0x7d78(gp)
sra v0,a1,0x1f
sw a1,0x24(sp)
addiu t9,t9,-0x2b48
sw v0,0x38(sp)
jalr t9
_or a0,v0,zero
lw gp,0x18(sp)
beq v0,zero,0x000ab7ec
_or s7,v0,zero
li v0,-0x100
sra a0,s6,0x10
and v0,s6,v0
or v0,v0,a0
lw a0,-0x7d78(gp)
addiu v1,s7,0x18
andi v0,v0,0xffff
sw v1,0x2c(sp)
addiu v1,a0,-0x4fdc
sw v0,0x30(sp)
or s6,zero,zero
sw v1,0x3c(sp)
or s4,zero,zero
lw a0,-0x7cf4(gp)
or a3,zero,zero
li v0,0x20
addiu t4,sp,0x54
addiu v1,a0,-0x5200
sw v1,0x40(sp)
lw a2,0x24(sp)
lw a0,0x38(sp)
lw a1,0x58(sp)
addu v1,a2,v0
addu a0,a0,a3
sw v1,0x28(sp)
sltu v1,v1,a2
addu v1,v1,a0
slt a0,a1,v1
bne a0,zero,0x000ab7d8
_sw v1,0x34(sp)
beq a1,v1,0x000ab7c8
_lw a0,0x5c(sp)
lw t5,0x8(s5)
lw v1,0x20(sp)
lw a2,0x24(sp)
or a0,t5,zero
sw t4,0x44(sp)
lw t5,0x0(t5)
addiu v1,v1,0x1
sw a3,0x10(sp)
sw v0,0x14(sp)
sw v1,0x20(sp)
lw t9,0x8(t5)
jalr t9
_or a1,s7,zero
bne v0,zero,0x000ab620
_lw gp,0x18(sp)
lw t4,0x44(sp)
addiu a1,sp,0x50
lw a3,0x2c(sp)
or a0,s5,zero
lw t9,0x3c(sp)
or a2,t4,zero
jalr t9
_sw s7,0x10(sp)
lw gp,0x18(sp)
beq v0,zero,0x000ab7d8
_lw t4,0x44(sp)
lw a2,0x50(sp)
or a0,s5,zero
lw a1,0x20(sp)
lw t9,0x40(sp)
jalr t9
_sw t4,0x44(sp)
bne v0,zero,0x000ab620
_lw gp,0x18(sp)
lw v0,0x54(sp)
beq v0,zero,0x000ab7bc
_lw t4,0x44(sp)
lw v1,0x20(sp)
lw s4,0x4c(s5)
lw s6,0x50(s5)
sw v0,0x48(s5)
sw v1,0x44(s5)
lw v0,0x30(sp)
sh v0,0x42(s5)
lw a3,0x34(sp)
b 0x000ab6d8
_lw v0,0x28(sp)
lw v1,0x28(sp)
sltu a0,a0,v1
beq a0,zero,0x000ab70c
_nop
lw t9,-0x7fb4(gp)
jalr t9
_or a0,s7,zero
b 0x000ab59c
_lw gp,0x18(sp)
li v0,0x7
b 0x000ab53c
_or s8,v0,zero
(translation_unit "int FUN_000aafe4(int param_1,undefined4 *param_2)\n\n{\n  uint *puVar1;\n  ushort uVar2;\n  uint uVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  uint uVar9;\n  code *pcVar10;\n  uint uVar11;\n  int iVar12;\n  uint uVar13;\n  code *pcVar14;\n  code *pcVar15;\n  int *piVar16;\n  undefined4 uVar17;\n  uint unaff_s6;\n  int local_90;\n  int local_64;\n  undefined4 local_60;\n  int local_5c;\n  int local_58;\n  uint local_54;\n  uint local_4c;\n  int local_48;\n  uint local_44;\n  undefined4 local_40;\n  uint local_3c;\n  undefined4 local_38;\n  int local_34;\n  int local_30;\n  int local_2c;\n  \n  puVar5 = PTR___stack_chk_guard_00190e24;\n  piVar16 = &local_64;\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  pcVar14 = (code *)(PTR_LAB_00190c2c + -0x58c0);\n  iVar6 = FUN_000aa740(param_1,0,piVar16);\n  pcVar15 = pcVar14;\n  if (iVar6 != 0) {\n    if (iVar6 != 0x508) goto LAB_000ab06c;\n    *(undefined1 *)(param_1 + 0x32) = 1;\n    *(undefined1 *)(param_1 + 0x2b) = 2;\n    *param_2 = 1;\n  }\n  if ((local_64 == 0) ||\n     (iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2), iVar7 != 0)) {\n    if ((*(char *)(param_1 + 0x32) != '\0') || ((*(byte *)(param_1 + 0x2e) & 2) == 0)) {\n      if ((*(char *)(param_1 + 0x2b) == '\0') &&\n         (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1),\n         iVar6 != 0)) {\nLAB_000ab2a0:\n        if (*(char *)(param_1 + 0x32) != '\0') goto LAB_000ab2ac;\n        goto LAB_000ab06c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 1;\n      iVar7 = FUN_000aa740(param_1,0,piVar16);\n      if (iVar7 != 0) goto LAB_000ab170;\n      iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2);\n      if (iVar6 != 0) {\n        pcVar15 = (code *)(*(byte *)(param_1 + 0x2d) + 1);\n        piVar16 = (int *)(3 - (int)pcVar15);\n        if (*(char *)(param_1 + 0x2b) == '\0') {\n          pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n          pcVar14 = pcVar15;\n          if (iVar7 != 0) goto LAB_000ab3b0;\n          if ((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)) {\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }\n        }\n        (*(code *)PTR_memset_00190d58)(param_1 + 0x34,0,0x30);\n        iVar6 = (**(code **)(**(int **)(param_1 + 8) + 0x18))(*(int **)(param_1 + 8),&local_58);\n        iVar7 = iVar6;\n        if (iVar6 != 0) goto LAB_000ab53c;\n        if (local_58 < 1) {\n          unaff_s6 = 0;\n          if (local_58 != 0) goto LAB_000ab598;\n          uVar17 = 0;\n          if (local_54 < 0x21) goto LAB_000ab59c;\n        }\n        uVar17 = 0;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),&local_4c,0x20);\n        puVar4 = PTR_LAB_00190b40;\n        if (iVar7 != 0) goto LAB_000ab53c;\n        if ((((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)) &&\n           (local_44 - 0x200 < 0xfe01)) {\n          *(char *)(param_1 + 0x41) = (char)(local_4c & 1);\n          *(uint *)(param_1 + 0x24) = local_44;\n          *(undefined4 *)(param_1 + 0x70) = local_40;\n          uVar13 = param_1 + 0x54U & 3;\n          puVar1 = (uint *)((param_1 + 0x54U) - uVar13);\n          *puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8;\n          uVar13 = param_1 + 0x57U & 3;\n          puVar1 = (uint *)((param_1 + 0x57U) - uVar13);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8;\n          *(undefined4 *)(param_1 + 0x58) = local_38;\n          (*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17);\n          if ((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)) {\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }\n        }\nLAB_000ab598:\n        unaff_s6 = 0;\n        uVar17 = 0;\n        goto LAB_000ab59c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 0;\n      if (*(char *)(param_1 + 0x2b) == '\0') {\n        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      else {\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      if (iVar6 == 0x2de218) {\n        iVar6 = 0;\n        if (*(char *)(param_1 + 0x32) != '\0') {\n          *(undefined1 *)(param_1 + 0x2b) = 0;\n        }\n        goto LAB_000ab06c;\n      }\n      goto LAB_000ab244;\n    }\n    if (*(char *)(param_1 + 0x2b) != '\0') {\nLAB_000ab318:\n      iVar6 = 0x108;\n      goto LAB_000ab06c;\n    }\n    iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6538))(*(undefined4 *)(param_1 + 4),0);\n    if (iVar6 != 0) goto LAB_000ab2a0;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      (*(code *)(PTR_LAB_00190ba8 + 0x654c))(*(undefined4 *)(param_1 + 4),0);\n    }\n    if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab318;\n    iVar6 = 0x108;\n  }\n  else {\n    if (*(int *)(param_1 + 0x34) == 0x2de218) goto LAB_000ab0f8;\nLAB_000ab244:\n    iVar6 = 0xe;\n    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,\n                PTR_LAB_00190958 + 0x625c);\n    if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab06c;\n  }\n  (*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0);\n  *(undefined1 *)(param_1 + 0x32) = 0;\n  *(undefined1 *)(param_1 + 0x2b) = 0;\nLAB_000ab06c:\n  do {\n    if (local_2c == *(int *)puVar5) {\n      return iVar6;\n    }\n    pcVar14 = (code *)PTR___stack_chk_fail_00190df8;\n    (*(code *)PTR___stack_chk_fail_00190df8)();\nLAB_000ab64c:\n    iVar7 = (*pcVar14)();\n    if (iVar7 == 0) {\n      uVar13 = unaff_s6 + 0x18;\n      iVar8 = (*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar13 >> 0x1f);\n      if (iVar8 == 0) goto LAB_000ab7ec;\n      uVar2 = (ushort)unaff_s6;\n      uVar3 = unaff_s6 >> 0x10;\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n      unaff_s6 = 0;\n      uVar17 = 0;\n      pcVar10 = (code *)(PTR_LAB_00190c2c + -0x5200);\n      local_90 = 0;\n      uVar9 = 0x20;\n      iVar7 = 0;\n      while( true ) {\n        uVar11 = uVar13 + uVar9;\n        iVar12 = (uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7;\n        if ((local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11)))) break;\n        local_90 = local_90 + 1;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9);\n        if (iVar7 != 0) {\nLAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\n          goto LAB_000ab53c;\n        }\n        iVar7 = (*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8);\n        if (iVar7 == 0) break;\n        iVar7 = (*pcVar10)(param_1,local_90,local_60);\n        if (iVar7 != 0) goto LAB_000ab620;\n        uVar9 = uVar11;\n        iVar7 = iVar12;\n        if (local_5c != 0) {\n          uVar17 = *(undefined4 *)(param_1 + 0x4c);\n          unaff_s6 = *(uint *)(param_1 + 0x50);\n          *(int *)(param_1 + 0x48) = local_5c;\n          *(int *)(param_1 + 0x44) = local_90;\n          *(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;\n        }\n      }\n      (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\nLAB_000ab59c:\n      puVar4 = PTR_LAB_00190ba8;\n      *(undefined4 *)(param_1 + 0x4c) = uVar17;\n      *(uint *)(param_1 + 0x50) = unaff_s6;\n      (*(code *)(puVar4 + 0x6338))(param_1);\n      iVar7 = **(int **)(param_1 + 0x20);\n      *(undefined4 *)(iVar7 + 0x60) = 0;\n      *(undefined4 *)(iVar7 + 0x80) = *(undefined4 *)(param_1 + 0x44);\n      *(undefined4 *)(iVar7 + 100) = 0;\n      *(undefined4 *)(iVar7 + 0x68) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x6c) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x70) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x74) = 0xffffffff;\n      if (*(int *)(param_1 + 0x44) != 0) {\n        *(int *)(iVar7 + 0x68) = *(int *)(param_1 + 0x44);\n      }\n      iVar7 = iVar6;\n      if (*(int *)(param_1 + 0x48) != 0) {\n        sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c));\n      }\n    }\n    else {\nLAB_000ab7ec:\n      iVar7 = 7;\n    }\nLAB_000ab53c:\n    pcVar14 = pcVar15;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n      if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),4,4);\n      *param_2 = 1;\n    }\n    else {\nLAB_000ab3b0:\n      *param_2 = 1;\n    }\nLAB_000ab170:\n    *(undefined1 *)(param_1 + 0x2c) = 0;\n    iVar6 = iVar7;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n    }\nLAB_000ab0f8:\n    pcVar15 = pcVar14;\n  } while (*(char *)(param_1 + 0x32) == '\0');\n  if (iVar6 != 0) {\nLAB_000ab2ac:\n    (*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0);\n    *(undefined1 *)(param_1 + 0x32) = 0;\n    if (iVar6 == 0x20a) {\n      iVar6 = -1;\n      *(undefined1 *)(param_1 + 0x2b) = 0;\n      pcVar15 = pcVar14;\n      goto LAB_000ab06c;\n    }\n  }\n  *(undefined1 *)(param_1 + 0x2b) = 0;\n  pcVar15 = pcVar14;\n  goto LAB_000ab06c;\n}\n\n" (function_definition "int FUN_000aafe4(int param_1,undefined4 *param_2)\n\n{\n  uint *puVar1;\n  ushort uVar2;\n  uint uVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  uint uVar9;\n  code *pcVar10;\n  uint uVar11;\n  int iVar12;\n  uint uVar13;\n  code *pcVar14;\n  code *pcVar15;\n  int *piVar16;\n  undefined4 uVar17;\n  uint unaff_s6;\n  int local_90;\n  int local_64;\n  undefined4 local_60;\n  int local_5c;\n  int local_58;\n  uint local_54;\n  uint local_4c;\n  int local_48;\n  uint local_44;\n  undefined4 local_40;\n  uint local_3c;\n  undefined4 local_38;\n  int local_34;\n  int local_30;\n  int local_2c;\n  \n  puVar5 = PTR___stack_chk_guard_00190e24;\n  piVar16 = &local_64;\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  pcVar14 = (code *)(PTR_LAB_00190c2c + -0x58c0);\n  iVar6 = FUN_000aa740(param_1,0,piVar16);\n  pcVar15 = pcVar14;\n  if (iVar6 != 0) {\n    if (iVar6 != 0x508) goto LAB_000ab06c;\n    *(undefined1 *)(param_1 + 0x32) = 1;\n    *(undefined1 *)(param_1 + 0x2b) = 2;\n    *param_2 = 1;\n  }\n  if ((local_64 == 0) ||\n     (iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2), iVar7 != 0)) {\n    if ((*(char *)(param_1 + 0x32) != '\0') || ((*(byte *)(param_1 + 0x2e) & 2) == 0)) {\n      if ((*(char *)(param_1 + 0x2b) == '\0') &&\n         (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1),\n         iVar6 != 0)) {\nLAB_000ab2a0:\n        if (*(char *)(param_1 + 0x32) != '\0') goto LAB_000ab2ac;\n        goto LAB_000ab06c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 1;\n      iVar7 = FUN_000aa740(param_1,0,piVar16);\n      if (iVar7 != 0) goto LAB_000ab170;\n      iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2);\n      if (iVar6 != 0) {\n        pcVar15 = (code *)(*(byte *)(param_1 + 0x2d) + 1);\n        piVar16 = (int *)(3 - (int)pcVar15);\n        if (*(char *)(param_1 + 0x2b) == '\0') {\n          pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n          pcVar14 = pcVar15;\n          if (iVar7 != 0) goto LAB_000ab3b0;\n          if ((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)) {\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }\n        }\n        (*(code *)PTR_memset_00190d58)(param_1 + 0x34,0,0x30);\n        iVar6 = (**(code **)(**(int **)(param_1 + 8) + 0x18))(*(int **)(param_1 + 8),&local_58);\n        iVar7 = iVar6;\n        if (iVar6 != 0) goto LAB_000ab53c;\n        if (local_58 < 1) {\n          unaff_s6 = 0;\n          if (local_58 != 0) goto LAB_000ab598;\n          uVar17 = 0;\n          if (local_54 < 0x21) goto LAB_000ab59c;\n        }\n        uVar17 = 0;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),&local_4c,0x20);\n        puVar4 = PTR_LAB_00190b40;\n        if (iVar7 != 0) goto LAB_000ab53c;\n        if ((((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)) &&\n           (local_44 - 0x200 < 0xfe01)) {\n          *(char *)(param_1 + 0x41) = (char)(local_4c & 1);\n          *(uint *)(param_1 + 0x24) = local_44;\n          *(undefined4 *)(param_1 + 0x70) = local_40;\n          uVar13 = param_1 + 0x54U & 3;\n          puVar1 = (uint *)((param_1 + 0x54U) - uVar13);\n          *puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8;\n          uVar13 = param_1 + 0x57U & 3;\n          puVar1 = (uint *)((param_1 + 0x57U) - uVar13);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8;\n          *(undefined4 *)(param_1 + 0x58) = local_38;\n          (*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17);\n          if ((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)) {\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }\n        }\nLAB_000ab598:\n        unaff_s6 = 0;\n        uVar17 = 0;\n        goto LAB_000ab59c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 0;\n      if (*(char *)(param_1 + 0x2b) == '\0') {\n        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      else {\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      if (iVar6 == 0x2de218) {\n        iVar6 = 0;\n        if (*(char *)(param_1 + 0x32) != '\0') {\n          *(undefined1 *)(param_1 + 0x2b) = 0;\n        }\n        goto LAB_000ab06c;\n      }\n      goto LAB_000ab244;\n    }\n    if (*(char *)(param_1 + 0x2b) != '\0') {\nLAB_000ab318:\n      iVar6 = 0x108;\n      goto LAB_000ab06c;\n    }\n    iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6538))(*(undefined4 *)(param_1 + 4),0);\n    if (iVar6 != 0) goto LAB_000ab2a0;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      (*(code *)(PTR_LAB_00190ba8 + 0x654c))(*(undefined4 *)(param_1 + 4),0);\n    }\n    if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab318;\n    iVar6 = 0x108;\n  }\n  else {\n    if (*(int *)(param_1 + 0x34) == 0x2de218) goto LAB_000ab0f8;\nLAB_000ab244:\n    iVar6 = 0xe;\n    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,\n                PTR_LAB_00190958 + 0x625c);\n    if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab06c;\n  }\n  (*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0);\n  *(undefined1 *)(param_1 + 0x32) = 0;\n  *(undefined1 *)(param_1 + 0x2b) = 0;\nLAB_000ab06c:\n  do {\n    if (local_2c == *(int *)puVar5) {\n      return iVar6;\n    }\n    pcVar14 = (code *)PTR___stack_chk_fail_00190df8;\n    (*(code *)PTR___stack_chk_fail_00190df8)();\nLAB_000ab64c:\n    iVar7 = (*pcVar14)();\n    if (iVar7 == 0) {\n      uVar13 = unaff_s6 + 0x18;\n      iVar8 = (*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar13 >> 0x1f);\n      if (iVar8 == 0) goto LAB_000ab7ec;\n      uVar2 = (ushort)unaff_s6;\n      uVar3 = unaff_s6 >> 0x10;\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n      unaff_s6 = 0;\n      uVar17 = 0;\n      pcVar10 = (code *)(PTR_LAB_00190c2c + -0x5200);\n      local_90 = 0;\n      uVar9 = 0x20;\n      iVar7 = 0;\n      while( true ) {\n        uVar11 = uVar13 + uVar9;\n        iVar12 = (uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7;\n        if ((local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11)))) break;\n        local_90 = local_90 + 1;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9);\n        if (iVar7 != 0) {\nLAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\n          goto LAB_000ab53c;\n        }\n        iVar7 = (*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8);\n        if (iVar7 == 0) break;\n        iVar7 = (*pcVar10)(param_1,local_90,local_60);\n        if (iVar7 != 0) goto LAB_000ab620;\n        uVar9 = uVar11;\n        iVar7 = iVar12;\n        if (local_5c != 0) {\n          uVar17 = *(undefined4 *)(param_1 + 0x4c);\n          unaff_s6 = *(uint *)(param_1 + 0x50);\n          *(int *)(param_1 + 0x48) = local_5c;\n          *(int *)(param_1 + 0x44) = local_90;\n          *(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;\n        }\n      }\n      (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\nLAB_000ab59c:\n      puVar4 = PTR_LAB_00190ba8;\n      *(undefined4 *)(param_1 + 0x4c) = uVar17;\n      *(uint *)(param_1 + 0x50) = unaff_s6;\n      (*(code *)(puVar4 + 0x6338))(param_1);\n      iVar7 = **(int **)(param_1 + 0x20);\n      *(undefined4 *)(iVar7 + 0x60) = 0;\n      *(undefined4 *)(iVar7 + 0x80) = *(undefined4 *)(param_1 + 0x44);\n      *(undefined4 *)(iVar7 + 100) = 0;\n      *(undefined4 *)(iVar7 + 0x68) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x6c) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x70) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x74) = 0xffffffff;\n      if (*(int *)(param_1 + 0x44) != 0) {\n        *(int *)(iVar7 + 0x68) = *(int *)(param_1 + 0x44);\n      }\n      iVar7 = iVar6;\n      if (*(int *)(param_1 + 0x48) != 0) {\n        sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c));\n      }\n    }\n    else {\nLAB_000ab7ec:\n      iVar7 = 7;\n    }\nLAB_000ab53c:\n    pcVar14 = pcVar15;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n      if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),4,4);\n      *param_2 = 1;\n    }\n    else {\nLAB_000ab3b0:\n      *param_2 = 1;\n    }\nLAB_000ab170:\n    *(undefined1 *)(param_1 + 0x2c) = 0;\n    iVar6 = iVar7;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n    }\nLAB_000ab0f8:\n    pcVar15 = pcVar14;\n  } while (*(char *)(param_1 + 0x32) == '\0');\n  if (iVar6 != 0) {\nLAB_000ab2ac:\n    (*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0);\n    *(undefined1 *)(param_1 + 0x32) = 0;\n    if (iVar6 == 0x20a) {\n      iVar6 = -1;\n      *(undefined1 *)(param_1 + 0x2b) = 0;\n      pcVar15 = pcVar14;\n      goto LAB_000ab06c;\n    }\n  }\n  *(undefined1 *)(param_1 + 0x2b) = 0;\n  pcVar15 = pcVar14;\n  goto LAB_000ab06c;\n}" primitive_type (function_declarator "FUN_000aafe4(int param_1,undefined4 *param_2)" identifier (parameter_list "(int param_1,undefined4 *param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  uint *puVar1;\n  ushort uVar2;\n  uint uVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  uint uVar9;\n  code *pcVar10;\n  uint uVar11;\n  int iVar12;\n  uint uVar13;\n  code *pcVar14;\n  code *pcVar15;\n  int *piVar16;\n  undefined4 uVar17;\n  uint unaff_s6;\n  int local_90;\n  int local_64;\n  undefined4 local_60;\n  int local_5c;\n  int local_58;\n  uint local_54;\n  uint local_4c;\n  int local_48;\n  uint local_44;\n  undefined4 local_40;\n  uint local_3c;\n  undefined4 local_38;\n  int local_34;\n  int local_30;\n  int local_2c;\n  \n  puVar5 = PTR___stack_chk_guard_00190e24;\n  piVar16 = &local_64;\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  pcVar14 = (code *)(PTR_LAB_00190c2c + -0x58c0);\n  iVar6 = FUN_000aa740(param_1,0,piVar16);\n  pcVar15 = pcVar14;\n  if (iVar6 != 0) {\n    if (iVar6 != 0x508) goto LAB_000ab06c;\n    *(undefined1 *)(param_1 + 0x32) = 1;\n    *(undefined1 *)(param_1 + 0x2b) = 2;\n    *param_2 = 1;\n  }\n  if ((local_64 == 0) ||\n     (iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2), iVar7 != 0)) {\n    if ((*(char *)(param_1 + 0x32) != '\0') || ((*(byte *)(param_1 + 0x2e) & 2) == 0)) {\n      if ((*(char *)(param_1 + 0x2b) == '\0') &&\n         (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1),\n         iVar6 != 0)) {\nLAB_000ab2a0:\n        if (*(char *)(param_1 + 0x32) != '\0') goto LAB_000ab2ac;\n        goto LAB_000ab06c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 1;\n      iVar7 = FUN_000aa740(param_1,0,piVar16);\n      if (iVar7 != 0) goto LAB_000ab170;\n      iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2);\n      if (iVar6 != 0) {\n        pcVar15 = (code *)(*(byte *)(param_1 + 0x2d) + 1);\n        piVar16 = (int *)(3 - (int)pcVar15);\n        if (*(char *)(param_1 + 0x2b) == '\0') {\n          pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n          pcVar14 = pcVar15;\n          if (iVar7 != 0) goto LAB_000ab3b0;\n          if ((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)) {\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }\n        }\n        (*(code *)PTR_memset_00190d58)(param_1 + 0x34,0,0x30);\n        iVar6 = (**(code **)(**(int **)(param_1 + 8) + 0x18))(*(int **)(param_1 + 8),&local_58);\n        iVar7 = iVar6;\n        if (iVar6 != 0) goto LAB_000ab53c;\n        if (local_58 < 1) {\n          unaff_s6 = 0;\n          if (local_58 != 0) goto LAB_000ab598;\n          uVar17 = 0;\n          if (local_54 < 0x21) goto LAB_000ab59c;\n        }\n        uVar17 = 0;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),&local_4c,0x20);\n        puVar4 = PTR_LAB_00190b40;\n        if (iVar7 != 0) goto LAB_000ab53c;\n        if ((((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)) &&\n           (local_44 - 0x200 < 0xfe01)) {\n          *(char *)(param_1 + 0x41) = (char)(local_4c & 1);\n          *(uint *)(param_1 + 0x24) = local_44;\n          *(undefined4 *)(param_1 + 0x70) = local_40;\n          uVar13 = param_1 + 0x54U & 3;\n          puVar1 = (uint *)((param_1 + 0x54U) - uVar13);\n          *puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8;\n          uVar13 = param_1 + 0x57U & 3;\n          puVar1 = (uint *)((param_1 + 0x57U) - uVar13);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8;\n          *(undefined4 *)(param_1 + 0x58) = local_38;\n          (*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17);\n          if ((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)) {\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }\n        }\nLAB_000ab598:\n        unaff_s6 = 0;\n        uVar17 = 0;\n        goto LAB_000ab59c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 0;\n      if (*(char *)(param_1 + 0x2b) == '\0') {\n        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      else {\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      if (iVar6 == 0x2de218) {\n        iVar6 = 0;\n        if (*(char *)(param_1 + 0x32) != '\0') {\n          *(undefined1 *)(param_1 + 0x2b) = 0;\n        }\n        goto LAB_000ab06c;\n      }\n      goto LAB_000ab244;\n    }\n    if (*(char *)(param_1 + 0x2b) != '\0') {\nLAB_000ab318:\n      iVar6 = 0x108;\n      goto LAB_000ab06c;\n    }\n    iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6538))(*(undefined4 *)(param_1 + 4),0);\n    if (iVar6 != 0) goto LAB_000ab2a0;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      (*(code *)(PTR_LAB_00190ba8 + 0x654c))(*(undefined4 *)(param_1 + 4),0);\n    }\n    if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab318;\n    iVar6 = 0x108;\n  }\n  else {\n    if (*(int *)(param_1 + 0x34) == 0x2de218) goto LAB_000ab0f8;\nLAB_000ab244:\n    iVar6 = 0xe;\n    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,\n                PTR_LAB_00190958 + 0x625c);\n    if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab06c;\n  }\n  (*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0);\n  *(undefined1 *)(param_1 + 0x32) = 0;\n  *(undefined1 *)(param_1 + 0x2b) = 0;\nLAB_000ab06c:\n  do {\n    if (local_2c == *(int *)puVar5) {\n      return iVar6;\n    }\n    pcVar14 = (code *)PTR___stack_chk_fail_00190df8;\n    (*(code *)PTR___stack_chk_fail_00190df8)();\nLAB_000ab64c:\n    iVar7 = (*pcVar14)();\n    if (iVar7 == 0) {\n      uVar13 = unaff_s6 + 0x18;\n      iVar8 = (*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar13 >> 0x1f);\n      if (iVar8 == 0) goto LAB_000ab7ec;\n      uVar2 = (ushort)unaff_s6;\n      uVar3 = unaff_s6 >> 0x10;\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n      unaff_s6 = 0;\n      uVar17 = 0;\n      pcVar10 = (code *)(PTR_LAB_00190c2c + -0x5200);\n      local_90 = 0;\n      uVar9 = 0x20;\n      iVar7 = 0;\n      while( true ) {\n        uVar11 = uVar13 + uVar9;\n        iVar12 = (uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7;\n        if ((local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11)))) break;\n        local_90 = local_90 + 1;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9);\n        if (iVar7 != 0) {\nLAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\n          goto LAB_000ab53c;\n        }\n        iVar7 = (*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8);\n        if (iVar7 == 0) break;\n        iVar7 = (*pcVar10)(param_1,local_90,local_60);\n        if (iVar7 != 0) goto LAB_000ab620;\n        uVar9 = uVar11;\n        iVar7 = iVar12;\n        if (local_5c != 0) {\n          uVar17 = *(undefined4 *)(param_1 + 0x4c);\n          unaff_s6 = *(uint *)(param_1 + 0x50);\n          *(int *)(param_1 + 0x48) = local_5c;\n          *(int *)(param_1 + 0x44) = local_90;\n          *(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;\n        }\n      }\n      (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\nLAB_000ab59c:\n      puVar4 = PTR_LAB_00190ba8;\n      *(undefined4 *)(param_1 + 0x4c) = uVar17;\n      *(uint *)(param_1 + 0x50) = unaff_s6;\n      (*(code *)(puVar4 + 0x6338))(param_1);\n      iVar7 = **(int **)(param_1 + 0x20);\n      *(undefined4 *)(iVar7 + 0x60) = 0;\n      *(undefined4 *)(iVar7 + 0x80) = *(undefined4 *)(param_1 + 0x44);\n      *(undefined4 *)(iVar7 + 100) = 0;\n      *(undefined4 *)(iVar7 + 0x68) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x6c) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x70) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x74) = 0xffffffff;\n      if (*(int *)(param_1 + 0x44) != 0) {\n        *(int *)(iVar7 + 0x68) = *(int *)(param_1 + 0x44);\n      }\n      iVar7 = iVar6;\n      if (*(int *)(param_1 + 0x48) != 0) {\n        sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c));\n      }\n    }\n    else {\nLAB_000ab7ec:\n      iVar7 = 7;\n    }\nLAB_000ab53c:\n    pcVar14 = pcVar15;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n      if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),4,4);\n      *param_2 = 1;\n    }\n    else {\nLAB_000ab3b0:\n      *param_2 = 1;\n    }\nLAB_000ab170:\n    *(undefined1 *)(param_1 + 0x2c) = 0;\n    iVar6 = iVar7;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n    }\nLAB_000ab0f8:\n    pcVar15 = pcVar14;\n  } while (*(char *)(param_1 + 0x32) == '\0');\n  if (iVar6 != 0) {\nLAB_000ab2ac:\n    (*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0);\n    *(undefined1 *)(param_1 + 0x32) = 0;\n    if (iVar6 == 0x20a) {\n      iVar6 = -1;\n      *(undefined1 *)(param_1 + 0x2b) = 0;\n      pcVar15 = pcVar14;\n      goto LAB_000ab06c;\n    }\n  }\n  *(undefined1 *)(param_1 + 0x2b) = 0;\n  pcVar15 = pcVar14;\n  goto LAB_000ab06c;\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "code *pcVar10;" type_identifier (pointer_declarator "*pcVar10" * identifier) ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "code *pcVar14;" type_identifier (pointer_declarator "*pcVar14" * identifier) ;) (declaration "code *pcVar15;" type_identifier (pointer_declarator "*pcVar15" * identifier) ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "undefined4 uVar17;" type_identifier identifier ;) (declaration "uint unaff_s6;" type_identifier identifier ;) (declaration "int local_90;" primitive_type identifier ;) (declaration "int local_64;" primitive_type identifier ;) (declaration "undefined4 local_60;" type_identifier identifier ;) (declaration "int local_5c;" primitive_type identifier ;) (declaration "int local_58;" primitive_type identifier ;) (declaration "uint local_54;" type_identifier identifier ;) (declaration "uint local_4c;" type_identifier identifier ;) (declaration "int local_48;" primitive_type identifier ;) (declaration "uint local_44;" type_identifier identifier ;) (declaration "undefined4 local_40;" type_identifier identifier ;) (declaration "uint local_3c;" type_identifier identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar5 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar5 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "piVar16 = &local_64;" (assignment_expression "piVar16 = &local_64" identifier = (pointer_expression "&local_64" & identifier)) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_00190e24" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_00190e24" * (cast_expression "(int *)PTR___stack_chk_guard_00190e24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pcVar14 = (code *)(PTR_LAB_00190c2c + -0x58c0);" (assignment_expression "pcVar14 = (code *)(PTR_LAB_00190c2c + -0x58c0)" identifier = (cast_expression "(code *)(PTR_LAB_00190c2c + -0x58c0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190c2c + -0x58c0)" ( (binary_expression "PTR_LAB_00190c2c + -0x58c0" identifier + number_literal) )))) ;) (expression_statement "iVar6 = FUN_000aa740(param_1,0,piVar16);" (assignment_expression "iVar6 = FUN_000aa740(param_1,0,piVar16)" identifier = (call_expression "FUN_000aa740(param_1,0,piVar16)" identifier (argument_list "(param_1,0,piVar16)" ( identifier , number_literal , identifier )))) ;) (expression_statement "pcVar15 = pcVar14;" (assignment_expression "pcVar15 = pcVar14" identifier = identifier) ;) (if_statement "if (iVar6 != 0) {\n    if (iVar6 != 0x508) goto LAB_000ab06c;\n    *(undefined1 *)(param_1 + 0x32) = 1;\n    *(undefined1 *)(param_1 + 0x2b) = 2;\n    *param_2 = 1;\n  }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n    if (iVar6 != 0x508) goto LAB_000ab06c;\n    *(undefined1 *)(param_1 + 0x32) = 1;\n    *(undefined1 *)(param_1 + 0x2b) = 2;\n    *param_2 = 1;\n  }" { (if_statement "if (iVar6 != 0x508) goto LAB_000ab06c;" if (parenthesized_expression "(iVar6 != 0x508)" ( (binary_expression "iVar6 != 0x508" identifier != number_literal) )) (goto_statement "goto LAB_000ab06c;" goto statement_identifier ;)) (expression_statement "*(undefined1 *)(param_1 + 0x32) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x32) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x32)" * (cast_expression "(undefined1 *)(param_1 + 0x32)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x32)" ( (binary_expression "param_1 + 0x32" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(param_1 + 0x2b) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 0x2b) = 2" (pointer_expression "*(undefined1 *)(param_1 + 0x2b)" * (cast_expression "(undefined1 *)(param_1 + 0x2b)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2b)" ( (binary_expression "param_1 + 0x2b" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*param_2 = 1;" (assignment_expression "*param_2 = 1" (pointer_expression "*param_2" * identifier) = number_literal) ;) })) (if_statement "if ((local_64 == 0) ||\n     (iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2), iVar7 != 0)) {\n    if ((*(char *)(param_1 + 0x32) != '\0') || ((*(byte *)(param_1 + 0x2e) & 2) == 0)) {\n      if ((*(char *)(param_1 + 0x2b) == '\0') &&\n         (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1),\n         iVar6 != 0)) {\nLAB_000ab2a0:\n        if (*(char *)(param_1 + 0x32) != '\0') goto LAB_000ab2ac;\n        goto LAB_000ab06c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 1;\n      iVar7 = FUN_000aa740(param_1,0,piVar16);\n      if (iVar7 != 0) goto LAB_000ab170;\n      iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2);\n      if (iVar6 != 0) {\n        pcVar15 = (code *)(*(byte *)(param_1 + 0x2d) + 1);\n        piVar16 = (int *)(3 - (int)pcVar15);\n        if (*(char *)(param_1 + 0x2b) == '\0') {\n          pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n          pcVar14 = pcVar15;\n          if (iVar7 != 0) goto LAB_000ab3b0;\n          if ((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)) {\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }\n        }\n        (*(code *)PTR_memset_00190d58)(param_1 + 0x34,0,0x30);\n        iVar6 = (**(code **)(**(int **)(param_1 + 8) + 0x18))(*(int **)(param_1 + 8),&local_58);\n        iVar7 = iVar6;\n        if (iVar6 != 0) goto LAB_000ab53c;\n        if (local_58 < 1) {\n          unaff_s6 = 0;\n          if (local_58 != 0) goto LAB_000ab598;\n          uVar17 = 0;\n          if (local_54 < 0x21) goto LAB_000ab59c;\n        }\n        uVar17 = 0;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),&local_4c,0x20);\n        puVar4 = PTR_LAB_00190b40;\n        if (iVar7 != 0) goto LAB_000ab53c;\n        if ((((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)) &&\n           (local_44 - 0x200 < 0xfe01)) {\n          *(char *)(param_1 + 0x41) = (char)(local_4c & 1);\n          *(uint *)(param_1 + 0x24) = local_44;\n          *(undefined4 *)(param_1 + 0x70) = local_40;\n          uVar13 = param_1 + 0x54U & 3;\n          puVar1 = (uint *)((param_1 + 0x54U) - uVar13);\n          *puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8;\n          uVar13 = param_1 + 0x57U & 3;\n          puVar1 = (uint *)((param_1 + 0x57U) - uVar13);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8;\n          *(undefined4 *)(param_1 + 0x58) = local_38;\n          (*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17);\n          if ((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)) {\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }\n        }\nLAB_000ab598:\n        unaff_s6 = 0;\n        uVar17 = 0;\n        goto LAB_000ab59c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 0;\n      if (*(char *)(param_1 + 0x2b) == '\0') {\n        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      else {\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      if (iVar6 == 0x2de218) {\n        iVar6 = 0;\n        if (*(char *)(param_1 + 0x32) != '\0') {\n          *(undefined1 *)(param_1 + 0x2b) = 0;\n        }\n        goto LAB_000ab06c;\n      }\n      goto LAB_000ab244;\n    }\n    if (*(char *)(param_1 + 0x2b) != '\0') {\nLAB_000ab318:\n      iVar6 = 0x108;\n      goto LAB_000ab06c;\n    }\n    iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6538))(*(undefined4 *)(param_1 + 4),0);\n    if (iVar6 != 0) goto LAB_000ab2a0;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      (*(code *)(PTR_LAB_00190ba8 + 0x654c))(*(undefined4 *)(param_1 + 4),0);\n    }\n    if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab318;\n    iVar6 = 0x108;\n  }\n  else {\n    if (*(int *)(param_1 + 0x34) == 0x2de218) goto LAB_000ab0f8;\nLAB_000ab244:\n    iVar6 = 0xe;\n    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,\n                PTR_LAB_00190958 + 0x625c);\n    if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab06c;\n  }" if (parenthesized_expression "((local_64 == 0) ||\n     (iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2), iVar7 != 0))" ( (binary_expression "(local_64 == 0) ||\n     (iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2), iVar7 != 0)" (parenthesized_expression "(local_64 == 0)" ( (binary_expression "local_64 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2), iVar7 != 0)" ( (comma_expression "iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2), iVar7 != 0" (assignment_expression "iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2)" identifier = (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x7394))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x7394)" * (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x7394)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x7394)" ( (binary_expression "PTR_LAB_00190ba4 + -0x7394" identifier + number_literal) )))) )) (argument_list "(param_1,param_2)" ( identifier , identifier )))) , (binary_expression "iVar7 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    if ((*(char *)(param_1 + 0x32) != '\0') || ((*(byte *)(param_1 + 0x2e) & 2) == 0)) {\n      if ((*(char *)(param_1 + 0x2b) == '\0') &&\n         (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1),\n         iVar6 != 0)) {\nLAB_000ab2a0:\n        if (*(char *)(param_1 + 0x32) != '\0') goto LAB_000ab2ac;\n        goto LAB_000ab06c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 1;\n      iVar7 = FUN_000aa740(param_1,0,piVar16);\n      if (iVar7 != 0) goto LAB_000ab170;\n      iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2);\n      if (iVar6 != 0) {\n        pcVar15 = (code *)(*(byte *)(param_1 + 0x2d) + 1);\n        piVar16 = (int *)(3 - (int)pcVar15);\n        if (*(char *)(param_1 + 0x2b) == '\0') {\n          pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n          pcVar14 = pcVar15;\n          if (iVar7 != 0) goto LAB_000ab3b0;\n          if ((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)) {\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }\n        }\n        (*(code *)PTR_memset_00190d58)(param_1 + 0x34,0,0x30);\n        iVar6 = (**(code **)(**(int **)(param_1 + 8) + 0x18))(*(int **)(param_1 + 8),&local_58);\n        iVar7 = iVar6;\n        if (iVar6 != 0) goto LAB_000ab53c;\n        if (local_58 < 1) {\n          unaff_s6 = 0;\n          if (local_58 != 0) goto LAB_000ab598;\n          uVar17 = 0;\n          if (local_54 < 0x21) goto LAB_000ab59c;\n        }\n        uVar17 = 0;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),&local_4c,0x20);\n        puVar4 = PTR_LAB_00190b40;\n        if (iVar7 != 0) goto LAB_000ab53c;\n        if ((((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)) &&\n           (local_44 - 0x200 < 0xfe01)) {\n          *(char *)(param_1 + 0x41) = (char)(local_4c & 1);\n          *(uint *)(param_1 + 0x24) = local_44;\n          *(undefined4 *)(param_1 + 0x70) = local_40;\n          uVar13 = param_1 + 0x54U & 3;\n          puVar1 = (uint *)((param_1 + 0x54U) - uVar13);\n          *puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8;\n          uVar13 = param_1 + 0x57U & 3;\n          puVar1 = (uint *)((param_1 + 0x57U) - uVar13);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8;\n          *(undefined4 *)(param_1 + 0x58) = local_38;\n          (*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17);\n          if ((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)) {\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }\n        }\nLAB_000ab598:\n        unaff_s6 = 0;\n        uVar17 = 0;\n        goto LAB_000ab59c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 0;\n      if (*(char *)(param_1 + 0x2b) == '\0') {\n        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      else {\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      if (iVar6 == 0x2de218) {\n        iVar6 = 0;\n        if (*(char *)(param_1 + 0x32) != '\0') {\n          *(undefined1 *)(param_1 + 0x2b) = 0;\n        }\n        goto LAB_000ab06c;\n      }\n      goto LAB_000ab244;\n    }\n    if (*(char *)(param_1 + 0x2b) != '\0') {\nLAB_000ab318:\n      iVar6 = 0x108;\n      goto LAB_000ab06c;\n    }\n    iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6538))(*(undefined4 *)(param_1 + 4),0);\n    if (iVar6 != 0) goto LAB_000ab2a0;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      (*(code *)(PTR_LAB_00190ba8 + 0x654c))(*(undefined4 *)(param_1 + 4),0);\n    }\n    if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab318;\n    iVar6 = 0x108;\n  }" { (if_statement "if ((*(char *)(param_1 + 0x32) != '\0') || ((*(byte *)(param_1 + 0x2e) & 2) == 0)) {\n      if ((*(char *)(param_1 + 0x2b) == '\0') &&\n         (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1),\n         iVar6 != 0)) {\nLAB_000ab2a0:\n        if (*(char *)(param_1 + 0x32) != '\0') goto LAB_000ab2ac;\n        goto LAB_000ab06c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 1;\n      iVar7 = FUN_000aa740(param_1,0,piVar16);\n      if (iVar7 != 0) goto LAB_000ab170;\n      iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2);\n      if (iVar6 != 0) {\n        pcVar15 = (code *)(*(byte *)(param_1 + 0x2d) + 1);\n        piVar16 = (int *)(3 - (int)pcVar15);\n        if (*(char *)(param_1 + 0x2b) == '\0') {\n          pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n          pcVar14 = pcVar15;\n          if (iVar7 != 0) goto LAB_000ab3b0;\n          if ((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)) {\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }\n        }\n        (*(code *)PTR_memset_00190d58)(param_1 + 0x34,0,0x30);\n        iVar6 = (**(code **)(**(int **)(param_1 + 8) + 0x18))(*(int **)(param_1 + 8),&local_58);\n        iVar7 = iVar6;\n        if (iVar6 != 0) goto LAB_000ab53c;\n        if (local_58 < 1) {\n          unaff_s6 = 0;\n          if (local_58 != 0) goto LAB_000ab598;\n          uVar17 = 0;\n          if (local_54 < 0x21) goto LAB_000ab59c;\n        }\n        uVar17 = 0;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),&local_4c,0x20);\n        puVar4 = PTR_LAB_00190b40;\n        if (iVar7 != 0) goto LAB_000ab53c;\n        if ((((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)) &&\n           (local_44 - 0x200 < 0xfe01)) {\n          *(char *)(param_1 + 0x41) = (char)(local_4c & 1);\n          *(uint *)(param_1 + 0x24) = local_44;\n          *(undefined4 *)(param_1 + 0x70) = local_40;\n          uVar13 = param_1 + 0x54U & 3;\n          puVar1 = (uint *)((param_1 + 0x54U) - uVar13);\n          *puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8;\n          uVar13 = param_1 + 0x57U & 3;\n          puVar1 = (uint *)((param_1 + 0x57U) - uVar13);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8;\n          *(undefined4 *)(param_1 + 0x58) = local_38;\n          (*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17);\n          if ((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)) {\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }\n        }\nLAB_000ab598:\n        unaff_s6 = 0;\n        uVar17 = 0;\n        goto LAB_000ab59c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 0;\n      if (*(char *)(param_1 + 0x2b) == '\0') {\n        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      else {\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      if (iVar6 == 0x2de218) {\n        iVar6 = 0;\n        if (*(char *)(param_1 + 0x32) != '\0') {\n          *(undefined1 *)(param_1 + 0x2b) = 0;\n        }\n        goto LAB_000ab06c;\n      }\n      goto LAB_000ab244;\n    }" if (parenthesized_expression "((*(char *)(param_1 + 0x32) != '\0') || ((*(byte *)(param_1 + 0x2e) & 2) == 0))" ( (binary_expression "(*(char *)(param_1 + 0x32) != '\0') || ((*(byte *)(param_1 + 0x2e) & 2) == 0)" (parenthesized_expression "(*(char *)(param_1 + 0x32) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x32) != '\0'" (pointer_expression "*(char *)(param_1 + 0x32)" * (cast_expression "(char *)(param_1 + 0x32)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x32)" ( (binary_expression "param_1 + 0x32" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "((*(byte *)(param_1 + 0x2e) & 2) == 0)" ( (binary_expression "(*(byte *)(param_1 + 0x2e) & 2) == 0" (parenthesized_expression "(*(byte *)(param_1 + 0x2e) & 2)" ( (binary_expression "*(byte *)(param_1 + 0x2e) & 2" (pointer_expression "*(byte *)(param_1 + 0x2e)" * (cast_expression "(byte *)(param_1 + 0x2e)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2e)" ( (binary_expression "param_1 + 0x2e" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n      if ((*(char *)(param_1 + 0x2b) == '\0') &&\n         (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1),\n         iVar6 != 0)) {\nLAB_000ab2a0:\n        if (*(char *)(param_1 + 0x32) != '\0') goto LAB_000ab2ac;\n        goto LAB_000ab06c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 1;\n      iVar7 = FUN_000aa740(param_1,0,piVar16);\n      if (iVar7 != 0) goto LAB_000ab170;\n      iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2);\n      if (iVar6 != 0) {\n        pcVar15 = (code *)(*(byte *)(param_1 + 0x2d) + 1);\n        piVar16 = (int *)(3 - (int)pcVar15);\n        if (*(char *)(param_1 + 0x2b) == '\0') {\n          pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n          pcVar14 = pcVar15;\n          if (iVar7 != 0) goto LAB_000ab3b0;\n          if ((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)) {\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }\n        }\n        (*(code *)PTR_memset_00190d58)(param_1 + 0x34,0,0x30);\n        iVar6 = (**(code **)(**(int **)(param_1 + 8) + 0x18))(*(int **)(param_1 + 8),&local_58);\n        iVar7 = iVar6;\n        if (iVar6 != 0) goto LAB_000ab53c;\n        if (local_58 < 1) {\n          unaff_s6 = 0;\n          if (local_58 != 0) goto LAB_000ab598;\n          uVar17 = 0;\n          if (local_54 < 0x21) goto LAB_000ab59c;\n        }\n        uVar17 = 0;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),&local_4c,0x20);\n        puVar4 = PTR_LAB_00190b40;\n        if (iVar7 != 0) goto LAB_000ab53c;\n        if ((((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)) &&\n           (local_44 - 0x200 < 0xfe01)) {\n          *(char *)(param_1 + 0x41) = (char)(local_4c & 1);\n          *(uint *)(param_1 + 0x24) = local_44;\n          *(undefined4 *)(param_1 + 0x70) = local_40;\n          uVar13 = param_1 + 0x54U & 3;\n          puVar1 = (uint *)((param_1 + 0x54U) - uVar13);\n          *puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8;\n          uVar13 = param_1 + 0x57U & 3;\n          puVar1 = (uint *)((param_1 + 0x57U) - uVar13);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8;\n          *(undefined4 *)(param_1 + 0x58) = local_38;\n          (*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17);\n          if ((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)) {\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }\n        }\nLAB_000ab598:\n        unaff_s6 = 0;\n        uVar17 = 0;\n        goto LAB_000ab59c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 0;\n      if (*(char *)(param_1 + 0x2b) == '\0') {\n        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      else {\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      if (iVar6 == 0x2de218) {\n        iVar6 = 0;\n        if (*(char *)(param_1 + 0x32) != '\0') {\n          *(undefined1 *)(param_1 + 0x2b) = 0;\n        }\n        goto LAB_000ab06c;\n      }\n      goto LAB_000ab244;\n    }" { (if_statement "if ((*(char *)(param_1 + 0x2b) == '\0') &&\n         (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1),\n         iVar6 != 0)) {\nLAB_000ab2a0:\n        if (*(char *)(param_1 + 0x32) != '\0') goto LAB_000ab2ac;\n        goto LAB_000ab06c;\n      }" if (parenthesized_expression "((*(char *)(param_1 + 0x2b) == '\0') &&\n         (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1),\n         iVar6 != 0))" ( (binary_expression "(*(char *)(param_1 + 0x2b) == '\0') &&\n         (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1),\n         iVar6 != 0)" (parenthesized_expression "(*(char *)(param_1 + 0x2b) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x2b) == '\0'" (pointer_expression "*(char *)(param_1 + 0x2b)" * (cast_expression "(char *)(param_1 + 0x2b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2b)" ( (binary_expression "param_1 + 0x2b" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1),\n         iVar6 != 0)" ( (comma_expression "iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1),\n         iVar6 != 0" (assignment_expression "iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1)" identifier = (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6560))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x6560)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x6560)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x6560)" ( (binary_expression "PTR_LAB_00190ba8 + 0x6560" identifier + number_literal) )))) )) (argument_list "(*(undefined4 *)(param_1 + 4),0,1)" ( (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) , number_literal , number_literal )))) , (binary_expression "iVar6 != 0" identifier != number_literal)) ))) )) (compound_statement "{\nLAB_000ab2a0:\n        if (*(char *)(param_1 + 0x32) != '\0') goto LAB_000ab2ac;\n        goto LAB_000ab06c;\n      }" { (labeled_statement "LAB_000ab2a0:\n        if (*(char *)(param_1 + 0x32) != '\0') goto LAB_000ab2ac;" statement_identifier : (if_statement "if (*(char *)(param_1 + 0x32) != '\0') goto LAB_000ab2ac;" if (parenthesized_expression "(*(char *)(param_1 + 0x32) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x32) != '\0'" (pointer_expression "*(char *)(param_1 + 0x32)" * (cast_expression "(char *)(param_1 + 0x32)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x32)" ( (binary_expression "param_1 + 0x32" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000ab2ac;" goto statement_identifier ;))) (goto_statement "goto LAB_000ab06c;" goto statement_identifier ;) })) (expression_statement "*(undefined1 *)(param_1 + 0x2c) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x2c) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x2c)" * (cast_expression "(undefined1 *)(param_1 + 0x2c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = FUN_000aa740(param_1,0,piVar16);" (assignment_expression "iVar7 = FUN_000aa740(param_1,0,piVar16)" identifier = (call_expression "FUN_000aa740(param_1,0,piVar16)" identifier (argument_list "(param_1,0,piVar16)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (iVar7 != 0) goto LAB_000ab170;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000ab170;" goto statement_identifier ;)) (expression_statement "iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2);" (assignment_expression "iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2)" identifier = (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x7394))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x7394)" * (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x7394)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x7394)" ( (binary_expression "PTR_LAB_00190ba4 + -0x7394" identifier + number_literal) )))) )) (argument_list "(param_1,param_2)" ( identifier , identifier )))) ;) (if_statement "if (iVar6 != 0) {\n        pcVar15 = (code *)(*(byte *)(param_1 + 0x2d) + 1);\n        piVar16 = (int *)(3 - (int)pcVar15);\n        if (*(char *)(param_1 + 0x2b) == '\0') {\n          pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n          pcVar14 = pcVar15;\n          if (iVar7 != 0) goto LAB_000ab3b0;\n          if ((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)) {\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }\n        }\n        (*(code *)PTR_memset_00190d58)(param_1 + 0x34,0,0x30);\n        iVar6 = (**(code **)(**(int **)(param_1 + 8) + 0x18))(*(int **)(param_1 + 8),&local_58);\n        iVar7 = iVar6;\n        if (iVar6 != 0) goto LAB_000ab53c;\n        if (local_58 < 1) {\n          unaff_s6 = 0;\n          if (local_58 != 0) goto LAB_000ab598;\n          uVar17 = 0;\n          if (local_54 < 0x21) goto LAB_000ab59c;\n        }\n        uVar17 = 0;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),&local_4c,0x20);\n        puVar4 = PTR_LAB_00190b40;\n        if (iVar7 != 0) goto LAB_000ab53c;\n        if ((((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)) &&\n           (local_44 - 0x200 < 0xfe01)) {\n          *(char *)(param_1 + 0x41) = (char)(local_4c & 1);\n          *(uint *)(param_1 + 0x24) = local_44;\n          *(undefined4 *)(param_1 + 0x70) = local_40;\n          uVar13 = param_1 + 0x54U & 3;\n          puVar1 = (uint *)((param_1 + 0x54U) - uVar13);\n          *puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8;\n          uVar13 = param_1 + 0x57U & 3;\n          puVar1 = (uint *)((param_1 + 0x57U) - uVar13);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8;\n          *(undefined4 *)(param_1 + 0x58) = local_38;\n          (*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17);\n          if ((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)) {\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }\n        }\nLAB_000ab598:\n        unaff_s6 = 0;\n        uVar17 = 0;\n        goto LAB_000ab59c;\n      }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n        pcVar15 = (code *)(*(byte *)(param_1 + 0x2d) + 1);\n        piVar16 = (int *)(3 - (int)pcVar15);\n        if (*(char *)(param_1 + 0x2b) == '\0') {\n          pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n          pcVar14 = pcVar15;\n          if (iVar7 != 0) goto LAB_000ab3b0;\n          if ((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)) {\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }\n        }\n        (*(code *)PTR_memset_00190d58)(param_1 + 0x34,0,0x30);\n        iVar6 = (**(code **)(**(int **)(param_1 + 8) + 0x18))(*(int **)(param_1 + 8),&local_58);\n        iVar7 = iVar6;\n        if (iVar6 != 0) goto LAB_000ab53c;\n        if (local_58 < 1) {\n          unaff_s6 = 0;\n          if (local_58 != 0) goto LAB_000ab598;\n          uVar17 = 0;\n          if (local_54 < 0x21) goto LAB_000ab59c;\n        }\n        uVar17 = 0;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),&local_4c,0x20);\n        puVar4 = PTR_LAB_00190b40;\n        if (iVar7 != 0) goto LAB_000ab53c;\n        if ((((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)) &&\n           (local_44 - 0x200 < 0xfe01)) {\n          *(char *)(param_1 + 0x41) = (char)(local_4c & 1);\n          *(uint *)(param_1 + 0x24) = local_44;\n          *(undefined4 *)(param_1 + 0x70) = local_40;\n          uVar13 = param_1 + 0x54U & 3;\n          puVar1 = (uint *)((param_1 + 0x54U) - uVar13);\n          *puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8;\n          uVar13 = param_1 + 0x57U & 3;\n          puVar1 = (uint *)((param_1 + 0x57U) - uVar13);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8;\n          *(undefined4 *)(param_1 + 0x58) = local_38;\n          (*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17);\n          if ((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)) {\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }\n        }\nLAB_000ab598:\n        unaff_s6 = 0;\n        uVar17 = 0;\n        goto LAB_000ab59c;\n      }" { (expression_statement "pcVar15 = (code *)(*(byte *)(param_1 + 0x2d) + 1);" (assignment_expression "pcVar15 = (code *)(*(byte *)(param_1 + 0x2d) + 1)" identifier = (cast_expression "(code *)(*(byte *)(param_1 + 0x2d) + 1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(byte *)(param_1 + 0x2d) + 1)" ( (binary_expression "*(byte *)(param_1 + 0x2d) + 1" (pointer_expression "*(byte *)(param_1 + 0x2d)" * (cast_expression "(byte *)(param_1 + 0x2d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2d)" ( (binary_expression "param_1 + 0x2d" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar16 = (int *)(3 - (int)pcVar15);" (assignment_expression "piVar16 = (int *)(3 - (int)pcVar15)" identifier = (cast_expression "(int *)(3 - (int)pcVar15)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(3 - (int)pcVar15)" ( (binary_expression "3 - (int)pcVar15" number_literal - (cast_expression "(int)pcVar15" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (*(char *)(param_1 + 0x2b) == '\0') {\n          pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n          pcVar14 = pcVar15;\n          if (iVar7 != 0) goto LAB_000ab3b0;\n          if ((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)) {\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }\n        }" if (parenthesized_expression "(*(char *)(param_1 + 0x2b) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x2b) == '\0'" (pointer_expression "*(char *)(param_1 + 0x2b)" * (cast_expression "(char *)(param_1 + 0x2b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2b)" ( (binary_expression "param_1 + 0x2b" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n          pcVar14 = pcVar15;\n          if (iVar7 != 0) goto LAB_000ab3b0;\n          if ((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)) {\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }\n        }" { (expression_statement "pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560);" (assignment_expression "pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x6560)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x6560)" ( (binary_expression "PTR_LAB_00190ba8 + 0x6560" identifier + number_literal) )))) ;) (expression_statement "iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);" (assignment_expression "iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16)" identifier = (call_expression "(*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(*(undefined4 *)(param_1 + 4),pcVar15,piVar16)" ( (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) , identifier , identifier )))) ;) (expression_statement "pcVar14 = pcVar15;" (assignment_expression "pcVar14 = pcVar15" identifier = identifier) ;) (if_statement "if (iVar7 != 0) goto LAB_000ab3b0;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000ab3b0;" goto statement_identifier ;)) (if_statement "if ((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)) {\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }" if (parenthesized_expression "((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0))" ( (binary_expression "(*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)" (parenthesized_expression "(*(char *)(param_1 + 0x2b) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x2b) == '\0'" (pointer_expression "*(char *)(param_1 + 0x2b)" * (cast_expression "(char *)(param_1 + 0x2b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2b)" ( (binary_expression "param_1 + 0x2b" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)" ( (comma_expression "iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0" (assignment_expression "iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4)" identifier = (call_expression "(*pcVar10)(*(undefined4 *)(param_1 + 4),4,4)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(*(undefined4 *)(param_1 + 4),4,4)" ( (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) , number_literal , number_literal )))) , (binary_expression "iVar7 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }" { (if_statement "if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;" if (parenthesized_expression "(*(char *)(param_1 + 0x2b) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x2b) != '\0'" (pointer_expression "*(char *)(param_1 + 0x2b)" * (cast_expression "(char *)(param_1 + 0x2b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2b)" ( (binary_expression "param_1 + 0x2b" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000ab3b0;" goto statement_identifier ;)) (expression_statement "(*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6640))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x6640)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x6640)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x6640)" ( (binary_expression "PTR_LAB_00190ba8 + 0x6640" identifier + number_literal) )))) )) (argument_list "(*(undefined4 *)(param_1 + 4),pcVar15,piVar16)" ( (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) , identifier , identifier ))) ;) (goto_statement "goto LAB_000ab3b0;" goto statement_identifier ;) })) })) (expression_statement "(*(code *)PTR_memset_00190d58)(param_1 + 0x34,0,0x30);" (call_expression "(*(code *)PTR_memset_00190d58)(param_1 + 0x34,0,0x30)" (parenthesized_expression "(*(code *)PTR_memset_00190d58)" ( (pointer_expression "*(code *)PTR_memset_00190d58" * (cast_expression "(code *)PTR_memset_00190d58" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1 + 0x34,0,0x30)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) , number_literal , number_literal ))) ;) (expression_statement "iVar6 = (**(code **)(**(int **)(param_1 + 8) + 0x18))(*(int **)(param_1 + 8),&local_58);" (assignment_expression "iVar6 = (**(code **)(**(int **)(param_1 + 8) + 0x18))(*(int **)(param_1 + 8),&local_58)" identifier = (call_expression "(**(code **)(**(int **)(param_1 + 8) + 0x18))(*(int **)(param_1 + 8),&local_58)" (parenthesized_expression "(**(code **)(**(int **)(param_1 + 8) + 0x18))" ( (pointer_expression "**(code **)(**(int **)(param_1 + 8) + 0x18)" * (pointer_expression "*(code **)(**(int **)(param_1 + 8) + 0x18)" * (cast_expression "(code **)(**(int **)(param_1 + 8) + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(param_1 + 8) + 0x18)" ( (binary_expression "**(int **)(param_1 + 8) + 0x18" (pointer_expression "**(int **)(param_1 + 8)" * (pointer_expression "*(int **)(param_1 + 8)" * (cast_expression "(int **)(param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(param_1 + 8),&local_58)" ( (pointer_expression "*(int **)(param_1 + 8)" * (cast_expression "(int **)(param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) , (pointer_expression "&local_58" & identifier) )))) ;) (expression_statement "iVar7 = iVar6;" (assignment_expression "iVar7 = iVar6" identifier = identifier) ;) (if_statement "if (iVar6 != 0) goto LAB_000ab53c;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000ab53c;" goto statement_identifier ;)) (if_statement "if (local_58 < 1) {\n          unaff_s6 = 0;\n          if (local_58 != 0) goto LAB_000ab598;\n          uVar17 = 0;\n          if (local_54 < 0x21) goto LAB_000ab59c;\n        }" if (parenthesized_expression "(local_58 < 1)" ( (binary_expression "local_58 < 1" identifier < number_literal) )) (compound_statement "{\n          unaff_s6 = 0;\n          if (local_58 != 0) goto LAB_000ab598;\n          uVar17 = 0;\n          if (local_54 < 0x21) goto LAB_000ab59c;\n        }" { (expression_statement "unaff_s6 = 0;" (assignment_expression "unaff_s6 = 0" identifier = number_literal) ;) (if_statement "if (local_58 != 0) goto LAB_000ab598;" if (parenthesized_expression "(local_58 != 0)" ( (binary_expression "local_58 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000ab598;" goto statement_identifier ;)) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (if_statement "if (local_54 < 0x21) goto LAB_000ab59c;" if (parenthesized_expression "(local_54 < 0x21)" ( (binary_expression "local_54 < 0x21" identifier < number_literal) )) (goto_statement "goto LAB_000ab59c;" goto statement_identifier ;)) })) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),&local_4c,0x20);" (assignment_expression "iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),&local_4c,0x20)" identifier = (call_expression "(**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),&local_4c,0x20)" (parenthesized_expression "(**(code **)(**(int **)(param_1 + 8) + 8))" ( (pointer_expression "**(code **)(**(int **)(param_1 + 8) + 8)" * (pointer_expression "*(code **)(**(int **)(param_1 + 8) + 8)" * (cast_expression "(code **)(**(int **)(param_1 + 8) + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(param_1 + 8) + 8)" ( (binary_expression "**(int **)(param_1 + 8) + 8" (pointer_expression "**(int **)(param_1 + 8)" * (pointer_expression "*(int **)(param_1 + 8)" * (cast_expression "(int **)(param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(param_1 + 8),&local_4c,0x20)" ( (pointer_expression "*(int **)(param_1 + 8)" * (cast_expression "(int **)(param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) , (pointer_expression "&local_4c" & identifier) , number_literal )))) ;) (expression_statement "puVar4 = PTR_LAB_00190b40;" (assignment_expression "puVar4 = PTR_LAB_00190b40" identifier = identifier) ;) (if_statement "if (iVar7 != 0) goto LAB_000ab53c;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000ab53c;" goto statement_identifier ;)) (if_statement "if ((((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)) &&\n           (local_44 - 0x200 < 0xfe01)) {\n          *(char *)(param_1 + 0x41) = (char)(local_4c & 1);\n          *(uint *)(param_1 + 0x24) = local_44;\n          *(undefined4 *)(param_1 + 0x70) = local_40;\n          uVar13 = param_1 + 0x54U & 3;\n          puVar1 = (uint *)((param_1 + 0x54U) - uVar13);\n          *puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8;\n          uVar13 = param_1 + 0x57U & 3;\n          puVar1 = (uint *)((param_1 + 0x57U) - uVar13);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8;\n          *(undefined4 *)(param_1 + 0x58) = local_38;\n          (*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17);\n          if ((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)) {\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }\n        }" if (parenthesized_expression "((((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)) &&\n           (local_44 - 0x200 < 0xfe01))" ( (binary_expression "(((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)) &&\n           (local_44 - 0x200 < 0xfe01)" (parenthesized_expression "(((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0))" ( (binary_expression "((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)" (parenthesized_expression "((local_4c & 0xfffffffe) == 0x377f0682)" ( (binary_expression "(local_4c & 0xfffffffe) == 0x377f0682" (parenthesized_expression "(local_4c & 0xfffffffe)" ( (binary_expression "local_4c & 0xfffffffe" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "((local_44 - 1 & local_44) == 0)" ( (binary_expression "(local_44 - 1 & local_44) == 0" (parenthesized_expression "(local_44 - 1 & local_44)" ( (binary_expression "local_44 - 1 & local_44" (binary_expression "local_44 - 1" identifier - number_literal) & identifier) )) == number_literal) ))) )) && (parenthesized_expression "(local_44 - 0x200 < 0xfe01)" ( (binary_expression "local_44 - 0x200 < 0xfe01" (binary_expression "local_44 - 0x200" identifier - number_literal) < number_literal) ))) )) (compound_statement "{\n          *(char *)(param_1 + 0x41) = (char)(local_4c & 1);\n          *(uint *)(param_1 + 0x24) = local_44;\n          *(undefined4 *)(param_1 + 0x70) = local_40;\n          uVar13 = param_1 + 0x54U & 3;\n          puVar1 = (uint *)((param_1 + 0x54U) - uVar13);\n          *puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8;\n          uVar13 = param_1 + 0x57U & 3;\n          puVar1 = (uint *)((param_1 + 0x57U) - uVar13);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8;\n          *(undefined4 *)(param_1 + 0x58) = local_38;\n          (*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17);\n          if ((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)) {\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }\n        }" { (expression_statement "*(char *)(param_1 + 0x41) = (char)(local_4c & 1);" (assignment_expression "*(char *)(param_1 + 0x41) = (char)(local_4c & 1)" (pointer_expression "*(char *)(param_1 + 0x41)" * (cast_expression "(char *)(param_1 + 0x41)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x41)" ( (binary_expression "param_1 + 0x41" identifier + number_literal) )))) = (cast_expression "(char)(local_4c & 1)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(local_4c & 1)" ( (binary_expression "local_4c & 1" identifier & number_literal) )))) ;) (expression_statement "*(uint *)(param_1 + 0x24) = local_44;" (assignment_expression "*(uint *)(param_1 + 0x24) = local_44" (pointer_expression "*(uint *)(param_1 + 0x24)" * (cast_expression "(uint *)(param_1 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(param_1 + 0x70) = local_40;" (assignment_expression "*(undefined4 *)(param_1 + 0x70) = local_40" (pointer_expression "*(undefined4 *)(param_1 + 0x70)" * (cast_expression "(undefined4 *)(param_1 + 0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x70)" ( (binary_expression "param_1 + 0x70" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar13 = param_1 + 0x54U & 3;" (assignment_expression "uVar13 = param_1 + 0x54U & 3" identifier = (binary_expression "param_1 + 0x54U & 3" (binary_expression "param_1 + 0x54U" identifier + number_literal) & number_literal)) ;) (expression_statement "puVar1 = (uint *)((param_1 + 0x54U) - uVar13);" (assignment_expression "puVar1 = (uint *)((param_1 + 0x54U) - uVar13)" identifier = (cast_expression "(uint *)((param_1 + 0x54U) - uVar13)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((param_1 + 0x54U) - uVar13)" ( (binary_expression "(param_1 + 0x54U) - uVar13" (parenthesized_expression "(param_1 + 0x54U)" ( (binary_expression "param_1 + 0x54U" identifier + number_literal) )) - identifier) )))) ;) (expression_statement "*puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8;" (assignment_expression "*puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8" (binary_expression "*puVar1 & -1 << (4 - uVar13) * 8" (pointer_expression "*puVar1" * identifier) & (binary_expression "-1 << (4 - uVar13) * 8" number_literal << (binary_expression "(4 - uVar13) * 8" (parenthesized_expression "(4 - uVar13)" ( (binary_expression "4 - uVar13" number_literal - identifier) )) * number_literal))) | (binary_expression "local_3c >> uVar13 * 8" identifier >> (binary_expression "uVar13 * 8" identifier * number_literal)))) ;) (expression_statement "uVar13 = param_1 + 0x57U & 3;" (assignment_expression "uVar13 = param_1 + 0x57U & 3" identifier = (binary_expression "param_1 + 0x57U & 3" (binary_expression "param_1 + 0x57U" identifier + number_literal) & number_literal)) ;) (expression_statement "puVar1 = (uint *)((param_1 + 0x57U) - uVar13);" (assignment_expression "puVar1 = (uint *)((param_1 + 0x57U) - uVar13)" identifier = (cast_expression "(uint *)((param_1 + 0x57U) - uVar13)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((param_1 + 0x57U) - uVar13)" ( (binary_expression "(param_1 + 0x57U) - uVar13" (parenthesized_expression "(param_1 + 0x57U)" ( (binary_expression "param_1 + 0x57U" identifier + number_literal) )) - identifier) )))) ;) (expression_statement "*puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8;" (assignment_expression "*puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8" (binary_expression "*puVar1 & 0xffffffffU >> (uVar13 + 1) * 8" (pointer_expression "*puVar1" * identifier) & (binary_expression "0xffffffffU >> (uVar13 + 1) * 8" number_literal >> (binary_expression "(uVar13 + 1) * 8" (parenthesized_expression "(uVar13 + 1)" ( (binary_expression "uVar13 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "local_3c << (3 - uVar13) * 8" identifier << (binary_expression "(3 - uVar13) * 8" (parenthesized_expression "(3 - uVar13)" ( (binary_expression "3 - uVar13" number_literal - identifier) )) * number_literal)))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x58) = local_38;" (assignment_expression "*(undefined4 *)(param_1 + 0x58) = local_38" (pointer_expression "*(undefined4 *)(param_1 + 0x58)" * (cast_expression "(undefined4 *)(param_1 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x58)" ( (binary_expression "param_1 + 0x58" identifier + number_literal) )))) = identifier) ;) (expression_statement "(*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17);" (call_expression "(*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17)" (parenthesized_expression "(*(code *)(puVar4 + 0xf88))" ( (pointer_expression "*(code *)(puVar4 + 0xf88)" * (cast_expression "(code *)(puVar4 + 0xf88)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 0xf88)" ( (binary_expression "puVar4 + 0xf88" identifier + number_literal) )))) )) (argument_list "(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17)" ( (binary_expression "local_4c & 1" identifier & number_literal) , (pointer_expression "&local_4c" & identifier) , number_literal , number_literal , (binary_expression "param_1 + 0x4c" identifier + number_literal) , identifier ))) ;) (if_statement "if ((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)) {\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }" if (parenthesized_expression "((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30))" ( (binary_expression "(*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)" (parenthesized_expression "(*(int *)(param_1 + 0x4c) == local_34)" ( (binary_expression "*(int *)(param_1 + 0x4c) == local_34" (pointer_expression "*(int *)(param_1 + 0x4c)" * (cast_expression "(int *)(param_1 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) )))) == identifier) )) && (parenthesized_expression "(*(int *)(param_1 + 0x50) == local_30)" ( (binary_expression "*(int *)(param_1 + 0x50) == local_30" (pointer_expression "*(int *)(param_1 + 0x50)" * (cast_expression "(int *)(param_1 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) == identifier) ))) )) (compound_statement "{\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }" { (expression_statement "unaff_s6 = local_44;" (assignment_expression "unaff_s6 = local_44" identifier = identifier) ;) (expression_statement "pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;" (assignment_expression "pcVar14 = (code *)PTR_sqlite3_initialize_00190b88" identifier = (cast_expression "(code *)PTR_sqlite3_initialize_00190b88" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (local_48 == 0x2de218) goto LAB_000ab64c;" if (parenthesized_expression "(local_48 == 0x2de218)" ( (binary_expression "local_48 == 0x2de218" identifier == number_literal) )) (goto_statement "goto LAB_000ab64c;" goto statement_identifier ;)) (expression_statement "iVar7 = 0xe;" (assignment_expression "iVar7 = 0xe" identifier = number_literal) ;) (expression_statement "sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);" (call_expression "sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c)" identifier (argument_list "(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c)" ( number_literal , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378" identifier + number_literal) , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_00190958 + 0x625c" identifier + number_literal) ))) ;) (goto_statement "goto LAB_000ab53c;" goto statement_identifier ;) })) })) (labeled_statement "LAB_000ab598:\n        unaff_s6 = 0;" statement_identifier : (expression_statement "unaff_s6 = 0;" (assignment_expression "unaff_s6 = 0" identifier = number_literal) ;)) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000ab59c;" goto statement_identifier ;) })) (expression_statement "*(undefined1 *)(param_1 + 0x2c) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x2c) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x2c)" * (cast_expression "(undefined1 *)(param_1 + 0x2c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (*(char *)(param_1 + 0x2b) == '\0') {\n        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      else {\n        iVar6 = *(int *)(param_1 + 0x34);\n      }" if (parenthesized_expression "(*(char *)(param_1 + 0x2b) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x2b) == '\0'" (pointer_expression "*(char *)(param_1 + 0x2b)" * (cast_expression "(char *)(param_1 + 0x2b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2b)" ( (binary_expression "param_1 + 0x2b" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n        iVar6 = *(int *)(param_1 + 0x34);\n      }" { (expression_statement "(*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6640))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x6640)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x6640)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x6640)" ( (binary_expression "PTR_LAB_00190ba8 + 0x6640" identifier + number_literal) )))) )) (argument_list "(*(undefined4 *)(param_1 + 4),0,1)" ( (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) , number_literal , number_literal ))) ;) (expression_statement "iVar6 = *(int *)(param_1 + 0x34);" (assignment_expression "iVar6 = *(int *)(param_1 + 0x34)" identifier = (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        iVar6 = *(int *)(param_1 + 0x34);\n      }" else (compound_statement "{\n        iVar6 = *(int *)(param_1 + 0x34);\n      }" { (expression_statement "iVar6 = *(int *)(param_1 + 0x34);" (assignment_expression "iVar6 = *(int *)(param_1 + 0x34)" identifier = (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) ;) }))) (if_statement "if (iVar6 == 0x2de218) {\n        iVar6 = 0;\n        if (*(char *)(param_1 + 0x32) != '\0') {\n          *(undefined1 *)(param_1 + 0x2b) = 0;\n        }\n        goto LAB_000ab06c;\n      }" if (parenthesized_expression "(iVar6 == 0x2de218)" ( (binary_expression "iVar6 == 0x2de218" identifier == number_literal) )) (compound_statement "{\n        iVar6 = 0;\n        if (*(char *)(param_1 + 0x32) != '\0') {\n          *(undefined1 *)(param_1 + 0x2b) = 0;\n        }\n        goto LAB_000ab06c;\n      }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (if_statement "if (*(char *)(param_1 + 0x32) != '\0') {\n          *(undefined1 *)(param_1 + 0x2b) = 0;\n        }" if (parenthesized_expression "(*(char *)(param_1 + 0x32) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x32) != '\0'" (pointer_expression "*(char *)(param_1 + 0x32)" * (cast_expression "(char *)(param_1 + 0x32)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x32)" ( (binary_expression "param_1 + 0x32" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          *(undefined1 *)(param_1 + 0x2b) = 0;\n        }" { (expression_statement "*(undefined1 *)(param_1 + 0x2b) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x2b) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x2b)" * (cast_expression "(undefined1 *)(param_1 + 0x2b)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2b)" ( (binary_expression "param_1 + 0x2b" identifier + number_literal) )))) = number_literal) ;) })) (goto_statement "goto LAB_000ab06c;" goto statement_identifier ;) })) (goto_statement "goto LAB_000ab244;" goto statement_identifier ;) })) (if_statement "if (*(char *)(param_1 + 0x2b) != '\0') {\nLAB_000ab318:\n      iVar6 = 0x108;\n      goto LAB_000ab06c;\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x2b) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x2b) != '\0'" (pointer_expression "*(char *)(param_1 + 0x2b)" * (cast_expression "(char *)(param_1 + 0x2b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2b)" ( (binary_expression "param_1 + 0x2b" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000ab318:\n      iVar6 = 0x108;\n      goto LAB_000ab06c;\n    }" { (labeled_statement "LAB_000ab318:\n      iVar6 = 0x108;" statement_identifier : (expression_statement "iVar6 = 0x108;" (assignment_expression "iVar6 = 0x108" identifier = number_literal) ;)) (goto_statement "goto LAB_000ab06c;" goto statement_identifier ;) })) (expression_statement "iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6538))(*(undefined4 *)(param_1 + 4),0);" (assignment_expression "iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6538))(*(undefined4 *)(param_1 + 4),0)" identifier = (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6538))(*(undefined4 *)(param_1 + 4),0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6538))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x6538)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x6538)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x6538)" ( (binary_expression "PTR_LAB_00190ba8 + 0x6538" identifier + number_literal) )))) )) (argument_list "(*(undefined4 *)(param_1 + 4),0)" ( (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (iVar6 != 0) goto LAB_000ab2a0;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000ab2a0;" goto statement_identifier ;)) (if_statement "if (*(char *)(param_1 + 0x2b) == '\0') {\n      (*(code *)(PTR_LAB_00190ba8 + 0x654c))(*(undefined4 *)(param_1 + 4),0);\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x2b) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x2b) == '\0'" (pointer_expression "*(char *)(param_1 + 0x2b)" * (cast_expression "(char *)(param_1 + 0x2b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2b)" ( (binary_expression "param_1 + 0x2b" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      (*(code *)(PTR_LAB_00190ba8 + 0x654c))(*(undefined4 *)(param_1 + 4),0);\n    }" { (expression_statement "(*(code *)(PTR_LAB_00190ba8 + 0x654c))(*(undefined4 *)(param_1 + 4),0);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x654c))(*(undefined4 *)(param_1 + 4),0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x654c))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x654c)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x654c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x654c)" ( (binary_expression "PTR_LAB_00190ba8 + 0x654c" identifier + number_literal) )))) )) (argument_list "(*(undefined4 *)(param_1 + 4),0)" ( (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) , number_literal ))) ;) })) (if_statement "if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab318;" if (parenthesized_expression "(*(char *)(param_1 + 0x32) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x32) == '\0'" (pointer_expression "*(char *)(param_1 + 0x32)" * (cast_expression "(char *)(param_1 + 0x32)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x32)" ( (binary_expression "param_1 + 0x32" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000ab318;" goto statement_identifier ;)) (expression_statement "iVar6 = 0x108;" (assignment_expression "iVar6 = 0x108" identifier = number_literal) ;) }) (else_clause "else {\n    if (*(int *)(param_1 + 0x34) == 0x2de218) goto LAB_000ab0f8;\nLAB_000ab244:\n    iVar6 = 0xe;\n    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,\n                PTR_LAB_00190958 + 0x625c);\n    if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab06c;\n  }" else (compound_statement "{\n    if (*(int *)(param_1 + 0x34) == 0x2de218) goto LAB_000ab0f8;\nLAB_000ab244:\n    iVar6 = 0xe;\n    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,\n                PTR_LAB_00190958 + 0x625c);\n    if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab06c;\n  }" { (if_statement "if (*(int *)(param_1 + 0x34) == 0x2de218) goto LAB_000ab0f8;" if (parenthesized_expression "(*(int *)(param_1 + 0x34) == 0x2de218)" ( (binary_expression "*(int *)(param_1 + 0x34) == 0x2de218" (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_000ab0f8;" goto statement_identifier ;)) (labeled_statement "LAB_000ab244:\n    iVar6 = 0xe;" statement_identifier : (expression_statement "iVar6 = 0xe;" (assignment_expression "iVar6 = 0xe" identifier = number_literal) ;)) (expression_statement "sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,\n                PTR_LAB_00190958 + 0x625c);" (call_expression "sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,\n                PTR_LAB_00190958 + 0x625c)" identifier (argument_list "(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,\n                PTR_LAB_00190958 + 0x625c)" ( number_literal , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378" identifier + number_literal) , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_00190958 + 0x625c" identifier + number_literal) ))) ;) (if_statement "if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab06c;" if (parenthesized_expression "(*(char *)(param_1 + 0x32) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x32) == '\0'" (pointer_expression "*(char *)(param_1 + 0x32)" * (cast_expression "(char *)(param_1 + 0x32)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x32)" ( (binary_expression "param_1 + 0x32" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000ab06c;" goto statement_identifier ;)) }))) (expression_statement "(*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6650))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x6650)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x6650)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x6650)" ( (binary_expression "PTR_LAB_00190ba8 + 0x6650" identifier + number_literal) )))) )) (argument_list "(param_1,0)" ( identifier , number_literal ))) ;) (expression_statement "*(undefined1 *)(param_1 + 0x32) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x32) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x32)" * (cast_expression "(undefined1 *)(param_1 + 0x32)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x32)" ( (binary_expression "param_1 + 0x32" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(param_1 + 0x2b) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x2b) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x2b)" * (cast_expression "(undefined1 *)(param_1 + 0x2b)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2b)" ( (binary_expression "param_1 + 0x2b" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "LAB_000ab06c:\n  do {\n    if (local_2c == *(int *)puVar5) {\n      return iVar6;\n    }\n    pcVar14 = (code *)PTR___stack_chk_fail_00190df8;\n    (*(code *)PTR___stack_chk_fail_00190df8)();\nLAB_000ab64c:\n    iVar7 = (*pcVar14)();\n    if (iVar7 == 0) {\n      uVar13 = unaff_s6 + 0x18;\n      iVar8 = (*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar13 >> 0x1f);\n      if (iVar8 == 0) goto LAB_000ab7ec;\n      uVar2 = (ushort)unaff_s6;\n      uVar3 = unaff_s6 >> 0x10;\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n      unaff_s6 = 0;\n      uVar17 = 0;\n      pcVar10 = (code *)(PTR_LAB_00190c2c + -0x5200);\n      local_90 = 0;\n      uVar9 = 0x20;\n      iVar7 = 0;\n      while( true ) {\n        uVar11 = uVar13 + uVar9;\n        iVar12 = (uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7;\n        if ((local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11)))) break;\n        local_90 = local_90 + 1;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9);\n        if (iVar7 != 0) {\nLAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\n          goto LAB_000ab53c;\n        }\n        iVar7 = (*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8);\n        if (iVar7 == 0) break;\n        iVar7 = (*pcVar10)(param_1,local_90,local_60);\n        if (iVar7 != 0) goto LAB_000ab620;\n        uVar9 = uVar11;\n        iVar7 = iVar12;\n        if (local_5c != 0) {\n          uVar17 = *(undefined4 *)(param_1 + 0x4c);\n          unaff_s6 = *(uint *)(param_1 + 0x50);\n          *(int *)(param_1 + 0x48) = local_5c;\n          *(int *)(param_1 + 0x44) = local_90;\n          *(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;\n        }\n      }\n      (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\nLAB_000ab59c:\n      puVar4 = PTR_LAB_00190ba8;\n      *(undefined4 *)(param_1 + 0x4c) = uVar17;\n      *(uint *)(param_1 + 0x50) = unaff_s6;\n      (*(code *)(puVar4 + 0x6338))(param_1);\n      iVar7 = **(int **)(param_1 + 0x20);\n      *(undefined4 *)(iVar7 + 0x60) = 0;\n      *(undefined4 *)(iVar7 + 0x80) = *(undefined4 *)(param_1 + 0x44);\n      *(undefined4 *)(iVar7 + 100) = 0;\n      *(undefined4 *)(iVar7 + 0x68) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x6c) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x70) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x74) = 0xffffffff;\n      if (*(int *)(param_1 + 0x44) != 0) {\n        *(int *)(iVar7 + 0x68) = *(int *)(param_1 + 0x44);\n      }\n      iVar7 = iVar6;\n      if (*(int *)(param_1 + 0x48) != 0) {\n        sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c));\n      }\n    }\n    else {\nLAB_000ab7ec:\n      iVar7 = 7;\n    }\nLAB_000ab53c:\n    pcVar14 = pcVar15;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n      if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),4,4);\n      *param_2 = 1;\n    }\n    else {\nLAB_000ab3b0:\n      *param_2 = 1;\n    }\nLAB_000ab170:\n    *(undefined1 *)(param_1 + 0x2c) = 0;\n    iVar6 = iVar7;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n    }\nLAB_000ab0f8:\n    pcVar15 = pcVar14;\n  } while (*(char *)(param_1 + 0x32) == '\0');" statement_identifier : (do_statement "do {\n    if (local_2c == *(int *)puVar5) {\n      return iVar6;\n    }\n    pcVar14 = (code *)PTR___stack_chk_fail_00190df8;\n    (*(code *)PTR___stack_chk_fail_00190df8)();\nLAB_000ab64c:\n    iVar7 = (*pcVar14)();\n    if (iVar7 == 0) {\n      uVar13 = unaff_s6 + 0x18;\n      iVar8 = (*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar13 >> 0x1f);\n      if (iVar8 == 0) goto LAB_000ab7ec;\n      uVar2 = (ushort)unaff_s6;\n      uVar3 = unaff_s6 >> 0x10;\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n      unaff_s6 = 0;\n      uVar17 = 0;\n      pcVar10 = (code *)(PTR_LAB_00190c2c + -0x5200);\n      local_90 = 0;\n      uVar9 = 0x20;\n      iVar7 = 0;\n      while( true ) {\n        uVar11 = uVar13 + uVar9;\n        iVar12 = (uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7;\n        if ((local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11)))) break;\n        local_90 = local_90 + 1;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9);\n        if (iVar7 != 0) {\nLAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\n          goto LAB_000ab53c;\n        }\n        iVar7 = (*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8);\n        if (iVar7 == 0) break;\n        iVar7 = (*pcVar10)(param_1,local_90,local_60);\n        if (iVar7 != 0) goto LAB_000ab620;\n        uVar9 = uVar11;\n        iVar7 = iVar12;\n        if (local_5c != 0) {\n          uVar17 = *(undefined4 *)(param_1 + 0x4c);\n          unaff_s6 = *(uint *)(param_1 + 0x50);\n          *(int *)(param_1 + 0x48) = local_5c;\n          *(int *)(param_1 + 0x44) = local_90;\n          *(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;\n        }\n      }\n      (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\nLAB_000ab59c:\n      puVar4 = PTR_LAB_00190ba8;\n      *(undefined4 *)(param_1 + 0x4c) = uVar17;\n      *(uint *)(param_1 + 0x50) = unaff_s6;\n      (*(code *)(puVar4 + 0x6338))(param_1);\n      iVar7 = **(int **)(param_1 + 0x20);\n      *(undefined4 *)(iVar7 + 0x60) = 0;\n      *(undefined4 *)(iVar7 + 0x80) = *(undefined4 *)(param_1 + 0x44);\n      *(undefined4 *)(iVar7 + 100) = 0;\n      *(undefined4 *)(iVar7 + 0x68) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x6c) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x70) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x74) = 0xffffffff;\n      if (*(int *)(param_1 + 0x44) != 0) {\n        *(int *)(iVar7 + 0x68) = *(int *)(param_1 + 0x44);\n      }\n      iVar7 = iVar6;\n      if (*(int *)(param_1 + 0x48) != 0) {\n        sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c));\n      }\n    }\n    else {\nLAB_000ab7ec:\n      iVar7 = 7;\n    }\nLAB_000ab53c:\n    pcVar14 = pcVar15;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n      if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),4,4);\n      *param_2 = 1;\n    }\n    else {\nLAB_000ab3b0:\n      *param_2 = 1;\n    }\nLAB_000ab170:\n    *(undefined1 *)(param_1 + 0x2c) = 0;\n    iVar6 = iVar7;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n    }\nLAB_000ab0f8:\n    pcVar15 = pcVar14;\n  } while (*(char *)(param_1 + 0x32) == '\0');" do (compound_statement "{\n    if (local_2c == *(int *)puVar5) {\n      return iVar6;\n    }\n    pcVar14 = (code *)PTR___stack_chk_fail_00190df8;\n    (*(code *)PTR___stack_chk_fail_00190df8)();\nLAB_000ab64c:\n    iVar7 = (*pcVar14)();\n    if (iVar7 == 0) {\n      uVar13 = unaff_s6 + 0x18;\n      iVar8 = (*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar13 >> 0x1f);\n      if (iVar8 == 0) goto LAB_000ab7ec;\n      uVar2 = (ushort)unaff_s6;\n      uVar3 = unaff_s6 >> 0x10;\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n      unaff_s6 = 0;\n      uVar17 = 0;\n      pcVar10 = (code *)(PTR_LAB_00190c2c + -0x5200);\n      local_90 = 0;\n      uVar9 = 0x20;\n      iVar7 = 0;\n      while( true ) {\n        uVar11 = uVar13 + uVar9;\n        iVar12 = (uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7;\n        if ((local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11)))) break;\n        local_90 = local_90 + 1;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9);\n        if (iVar7 != 0) {\nLAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\n          goto LAB_000ab53c;\n        }\n        iVar7 = (*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8);\n        if (iVar7 == 0) break;\n        iVar7 = (*pcVar10)(param_1,local_90,local_60);\n        if (iVar7 != 0) goto LAB_000ab620;\n        uVar9 = uVar11;\n        iVar7 = iVar12;\n        if (local_5c != 0) {\n          uVar17 = *(undefined4 *)(param_1 + 0x4c);\n          unaff_s6 = *(uint *)(param_1 + 0x50);\n          *(int *)(param_1 + 0x48) = local_5c;\n          *(int *)(param_1 + 0x44) = local_90;\n          *(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;\n        }\n      }\n      (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\nLAB_000ab59c:\n      puVar4 = PTR_LAB_00190ba8;\n      *(undefined4 *)(param_1 + 0x4c) = uVar17;\n      *(uint *)(param_1 + 0x50) = unaff_s6;\n      (*(code *)(puVar4 + 0x6338))(param_1);\n      iVar7 = **(int **)(param_1 + 0x20);\n      *(undefined4 *)(iVar7 + 0x60) = 0;\n      *(undefined4 *)(iVar7 + 0x80) = *(undefined4 *)(param_1 + 0x44);\n      *(undefined4 *)(iVar7 + 100) = 0;\n      *(undefined4 *)(iVar7 + 0x68) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x6c) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x70) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x74) = 0xffffffff;\n      if (*(int *)(param_1 + 0x44) != 0) {\n        *(int *)(iVar7 + 0x68) = *(int *)(param_1 + 0x44);\n      }\n      iVar7 = iVar6;\n      if (*(int *)(param_1 + 0x48) != 0) {\n        sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c));\n      }\n    }\n    else {\nLAB_000ab7ec:\n      iVar7 = 7;\n    }\nLAB_000ab53c:\n    pcVar14 = pcVar15;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n      if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),4,4);\n      *param_2 = 1;\n    }\n    else {\nLAB_000ab3b0:\n      *param_2 = 1;\n    }\nLAB_000ab170:\n    *(undefined1 *)(param_1 + 0x2c) = 0;\n    iVar6 = iVar7;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n    }\nLAB_000ab0f8:\n    pcVar15 = pcVar14;\n  }" { (if_statement "if (local_2c == *(int *)puVar5) {\n      return iVar6;\n    }" if (parenthesized_expression "(local_2c == *(int *)puVar5)" ( (binary_expression "local_2c == *(int *)puVar5" identifier == (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n      return iVar6;\n    }" { (return_statement "return iVar6;" return identifier ;) })) (expression_statement "pcVar14 = (code *)PTR___stack_chk_fail_00190df8;" (assignment_expression "pcVar14 = (code *)PTR___stack_chk_fail_00190df8" identifier = (cast_expression "(code *)PTR___stack_chk_fail_00190df8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00190df8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" * (cast_expression "(code *)PTR___stack_chk_fail_00190df8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_000ab64c:\n    iVar7 = (*pcVar14)();" statement_identifier : (expression_statement "iVar7 = (*pcVar14)();" (assignment_expression "iVar7 = (*pcVar14)()" identifier = (call_expression "(*pcVar14)()" (parenthesized_expression "(*pcVar14)" ( (pointer_expression "*pcVar14" * identifier) )) (argument_list "()" ( )))) ;)) (if_statement "if (iVar7 == 0) {\n      uVar13 = unaff_s6 + 0x18;\n      iVar8 = (*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar13 >> 0x1f);\n      if (iVar8 == 0) goto LAB_000ab7ec;\n      uVar2 = (ushort)unaff_s6;\n      uVar3 = unaff_s6 >> 0x10;\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n      unaff_s6 = 0;\n      uVar17 = 0;\n      pcVar10 = (code *)(PTR_LAB_00190c2c + -0x5200);\n      local_90 = 0;\n      uVar9 = 0x20;\n      iVar7 = 0;\n      while( true ) {\n        uVar11 = uVar13 + uVar9;\n        iVar12 = (uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7;\n        if ((local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11)))) break;\n        local_90 = local_90 + 1;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9);\n        if (iVar7 != 0) {\nLAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\n          goto LAB_000ab53c;\n        }\n        iVar7 = (*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8);\n        if (iVar7 == 0) break;\n        iVar7 = (*pcVar10)(param_1,local_90,local_60);\n        if (iVar7 != 0) goto LAB_000ab620;\n        uVar9 = uVar11;\n        iVar7 = iVar12;\n        if (local_5c != 0) {\n          uVar17 = *(undefined4 *)(param_1 + 0x4c);\n          unaff_s6 = *(uint *)(param_1 + 0x50);\n          *(int *)(param_1 + 0x48) = local_5c;\n          *(int *)(param_1 + 0x44) = local_90;\n          *(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;\n        }\n      }\n      (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\nLAB_000ab59c:\n      puVar4 = PTR_LAB_00190ba8;\n      *(undefined4 *)(param_1 + 0x4c) = uVar17;\n      *(uint *)(param_1 + 0x50) = unaff_s6;\n      (*(code *)(puVar4 + 0x6338))(param_1);\n      iVar7 = **(int **)(param_1 + 0x20);\n      *(undefined4 *)(iVar7 + 0x60) = 0;\n      *(undefined4 *)(iVar7 + 0x80) = *(undefined4 *)(param_1 + 0x44);\n      *(undefined4 *)(iVar7 + 100) = 0;\n      *(undefined4 *)(iVar7 + 0x68) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x6c) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x70) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x74) = 0xffffffff;\n      if (*(int *)(param_1 + 0x44) != 0) {\n        *(int *)(iVar7 + 0x68) = *(int *)(param_1 + 0x44);\n      }\n      iVar7 = iVar6;\n      if (*(int *)(param_1 + 0x48) != 0) {\n        sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c));\n      }\n    }\n    else {\nLAB_000ab7ec:\n      iVar7 = 7;\n    }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar13 = unaff_s6 + 0x18;\n      iVar8 = (*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar13 >> 0x1f);\n      if (iVar8 == 0) goto LAB_000ab7ec;\n      uVar2 = (ushort)unaff_s6;\n      uVar3 = unaff_s6 >> 0x10;\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n      unaff_s6 = 0;\n      uVar17 = 0;\n      pcVar10 = (code *)(PTR_LAB_00190c2c + -0x5200);\n      local_90 = 0;\n      uVar9 = 0x20;\n      iVar7 = 0;\n      while( true ) {\n        uVar11 = uVar13 + uVar9;\n        iVar12 = (uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7;\n        if ((local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11)))) break;\n        local_90 = local_90 + 1;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9);\n        if (iVar7 != 0) {\nLAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\n          goto LAB_000ab53c;\n        }\n        iVar7 = (*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8);\n        if (iVar7 == 0) break;\n        iVar7 = (*pcVar10)(param_1,local_90,local_60);\n        if (iVar7 != 0) goto LAB_000ab620;\n        uVar9 = uVar11;\n        iVar7 = iVar12;\n        if (local_5c != 0) {\n          uVar17 = *(undefined4 *)(param_1 + 0x4c);\n          unaff_s6 = *(uint *)(param_1 + 0x50);\n          *(int *)(param_1 + 0x48) = local_5c;\n          *(int *)(param_1 + 0x44) = local_90;\n          *(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;\n        }\n      }\n      (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\nLAB_000ab59c:\n      puVar4 = PTR_LAB_00190ba8;\n      *(undefined4 *)(param_1 + 0x4c) = uVar17;\n      *(uint *)(param_1 + 0x50) = unaff_s6;\n      (*(code *)(puVar4 + 0x6338))(param_1);\n      iVar7 = **(int **)(param_1 + 0x20);\n      *(undefined4 *)(iVar7 + 0x60) = 0;\n      *(undefined4 *)(iVar7 + 0x80) = *(undefined4 *)(param_1 + 0x44);\n      *(undefined4 *)(iVar7 + 100) = 0;\n      *(undefined4 *)(iVar7 + 0x68) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x6c) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x70) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x74) = 0xffffffff;\n      if (*(int *)(param_1 + 0x44) != 0) {\n        *(int *)(iVar7 + 0x68) = *(int *)(param_1 + 0x44);\n      }\n      iVar7 = iVar6;\n      if (*(int *)(param_1 + 0x48) != 0) {\n        sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c));\n      }\n    }" { (expression_statement "uVar13 = unaff_s6 + 0x18;" (assignment_expression "uVar13 = unaff_s6 + 0x18" identifier = (binary_expression "unaff_s6 + 0x18" identifier + number_literal)) ;) (expression_statement "iVar8 = (*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar13 >> 0x1f);" (assignment_expression "iVar8 = (*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar13 >> 0x1f)" identifier = (call_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar13 >> 0x1f)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2b48))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + -0x2b48)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2b48)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2b48)" ( (binary_expression "PTR_LAB_00190ba8 + -0x2b48" identifier + number_literal) )))) )) (argument_list "((int)uVar13 >> 0x1f)" ( (binary_expression "(int)uVar13 >> 0x1f" (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) (if_statement "if (iVar8 == 0) goto LAB_000ab7ec;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000ab7ec;" goto statement_identifier ;)) (expression_statement "uVar2 = (ushort)unaff_s6;" (assignment_expression "uVar2 = (ushort)unaff_s6" identifier = (cast_expression "(ushort)unaff_s6" ( (type_descriptor "ushort" type_identifier) ) identifier)) ;) (expression_statement "uVar3 = unaff_s6 >> 0x10;" (assignment_expression "uVar3 = unaff_s6 >> 0x10" identifier = (binary_expression "unaff_s6 >> 0x10" identifier >> number_literal)) ;) (expression_statement "pcVar14 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);" (assignment_expression "pcVar14 = (code *)(PTR_LAB_00190ba8 + -0x4fdc)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x4fdc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x4fdc)" ( (binary_expression "PTR_LAB_00190ba8 + -0x4fdc" identifier + number_literal) )))) ;) (expression_statement "unaff_s6 = 0;" (assignment_expression "unaff_s6 = 0" identifier = number_literal) ;) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "pcVar10 = (code *)(PTR_LAB_00190c2c + -0x5200);" (assignment_expression "pcVar10 = (code *)(PTR_LAB_00190c2c + -0x5200)" identifier = (cast_expression "(code *)(PTR_LAB_00190c2c + -0x5200)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190c2c + -0x5200)" ( (binary_expression "PTR_LAB_00190c2c + -0x5200" identifier + number_literal) )))) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "uVar9 = 0x20;" (assignment_expression "uVar9 = 0x20" identifier = number_literal) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n        uVar11 = uVar13 + uVar9;\n        iVar12 = (uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7;\n        if ((local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11)))) break;\n        local_90 = local_90 + 1;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9);\n        if (iVar7 != 0) {\nLAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\n          goto LAB_000ab53c;\n        }\n        iVar7 = (*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8);\n        if (iVar7 == 0) break;\n        iVar7 = (*pcVar10)(param_1,local_90,local_60);\n        if (iVar7 != 0) goto LAB_000ab620;\n        uVar9 = uVar11;\n        iVar7 = iVar12;\n        if (local_5c != 0) {\n          uVar17 = *(undefined4 *)(param_1 + 0x4c);\n          unaff_s6 = *(uint *)(param_1 + 0x50);\n          *(int *)(param_1 + 0x48) = local_5c;\n          *(int *)(param_1 + 0x44) = local_90;\n          *(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;\n        }\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        uVar11 = uVar13 + uVar9;\n        iVar12 = (uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7;\n        if ((local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11)))) break;\n        local_90 = local_90 + 1;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9);\n        if (iVar7 != 0) {\nLAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\n          goto LAB_000ab53c;\n        }\n        iVar7 = (*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8);\n        if (iVar7 == 0) break;\n        iVar7 = (*pcVar10)(param_1,local_90,local_60);\n        if (iVar7 != 0) goto LAB_000ab620;\n        uVar9 = uVar11;\n        iVar7 = iVar12;\n        if (local_5c != 0) {\n          uVar17 = *(undefined4 *)(param_1 + 0x4c);\n          unaff_s6 = *(uint *)(param_1 + 0x50);\n          *(int *)(param_1 + 0x48) = local_5c;\n          *(int *)(param_1 + 0x44) = local_90;\n          *(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;\n        }\n      }" { (expression_statement "uVar11 = uVar13 + uVar9;" (assignment_expression "uVar11 = uVar13 + uVar9" identifier = (binary_expression "uVar13 + uVar9" identifier + identifier)) ;) (expression_statement "iVar12 = (uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7;" (assignment_expression "iVar12 = (uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7" identifier = (binary_expression "(uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7" (binary_expression "(uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f)" (call_expression "(uint)(uVar11 < uVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar11 < uVar13)" ( (binary_expression "uVar11 < uVar13" identifier < identifier) ))) + (parenthesized_expression "((int)uVar13 >> 0x1f)" ( (binary_expression "(int)uVar13 >> 0x1f" (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) + identifier)) ;) (if_statement "if ((local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11)))) break;" if (parenthesized_expression "((local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11))))" ( (binary_expression "(local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11)))" (parenthesized_expression "(local_58 < iVar12)" ( (binary_expression "local_58 < iVar12" identifier < identifier) )) || (parenthesized_expression "((local_58 == iVar12 && (local_54 < uVar11)))" ( (parenthesized_expression "(local_58 == iVar12 && (local_54 < uVar11))" ( (binary_expression "local_58 == iVar12 && (local_54 < uVar11)" (binary_expression "local_58 == iVar12" identifier == identifier) && (parenthesized_expression "(local_54 < uVar11)" ( (binary_expression "local_54 < uVar11" identifier < identifier) ))) )) ))) )) (break_statement "break;" break ;)) (expression_statement "local_90 = local_90 + 1;" (assignment_expression "local_90 = local_90 + 1" identifier = (binary_expression "local_90 + 1" identifier + number_literal)) ;) (expression_statement "iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9);" (assignment_expression "iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9)" identifier = (call_expression "(**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9)" (parenthesized_expression "(**(code **)(**(int **)(param_1 + 8) + 8))" ( (pointer_expression "**(code **)(**(int **)(param_1 + 8) + 8)" * (pointer_expression "*(code **)(**(int **)(param_1 + 8) + 8)" * (cast_expression "(code **)(**(int **)(param_1 + 8) + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(param_1 + 8) + 8)" ( (binary_expression "**(int **)(param_1 + 8) + 8" (pointer_expression "**(int **)(param_1 + 8)" * (pointer_expression "*(int **)(param_1 + 8)" * (cast_expression "(int **)(param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9)" ( (pointer_expression "*(int **)(param_1 + 8)" * (cast_expression "(int **)(param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar7 != 0) {\nLAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\n          goto LAB_000ab53c;\n        }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\n          goto LAB_000ab53c;\n        }" { (labeled_statement "LAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);" statement_identifier : (expression_statement "(*(code *)PTR_sqlite3_free_0019096c)(iVar8);" (call_expression "(*(code *)PTR_sqlite3_free_0019096c)(iVar8)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0019096c)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0019096c" * (cast_expression "(code *)PTR_sqlite3_free_0019096c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8)" ( identifier ))) ;)) (goto_statement "goto LAB_000ab53c;" goto statement_identifier ;) })) (expression_statement "iVar7 = (*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8);" (assignment_expression "iVar7 = (*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8)" identifier = (call_expression "(*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8)" (parenthesized_expression "(*pcVar14)" ( (pointer_expression "*pcVar14" * identifier) )) (argument_list "(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8)" ( identifier , (pointer_expression "&local_60" & identifier) , (pointer_expression "&local_5c" & identifier) , (binary_expression "iVar8 + 0x18" identifier + number_literal) , identifier )))) ;) (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar7 = (*pcVar10)(param_1,local_90,local_60);" (assignment_expression "iVar7 = (*pcVar10)(param_1,local_90,local_60)" identifier = (call_expression "(*pcVar10)(param_1,local_90,local_60)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(param_1,local_90,local_60)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar7 != 0) goto LAB_000ab620;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000ab620;" goto statement_identifier ;)) (expression_statement "uVar9 = uVar11;" (assignment_expression "uVar9 = uVar11" identifier = identifier) ;) (expression_statement "iVar7 = iVar12;" (assignment_expression "iVar7 = iVar12" identifier = identifier) ;) (if_statement "if (local_5c != 0) {\n          uVar17 = *(undefined4 *)(param_1 + 0x4c);\n          unaff_s6 = *(uint *)(param_1 + 0x50);\n          *(int *)(param_1 + 0x48) = local_5c;\n          *(int *)(param_1 + 0x44) = local_90;\n          *(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;\n        }" if (parenthesized_expression "(local_5c != 0)" ( (binary_expression "local_5c != 0" identifier != number_literal) )) (compound_statement "{\n          uVar17 = *(undefined4 *)(param_1 + 0x4c);\n          unaff_s6 = *(uint *)(param_1 + 0x50);\n          *(int *)(param_1 + 0x48) = local_5c;\n          *(int *)(param_1 + 0x44) = local_90;\n          *(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;\n        }" { (expression_statement "uVar17 = *(undefined4 *)(param_1 + 0x4c);" (assignment_expression "uVar17 = *(undefined4 *)(param_1 + 0x4c)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x4c)" * (cast_expression "(undefined4 *)(param_1 + 0x4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) ))))) ;) (expression_statement "unaff_s6 = *(uint *)(param_1 + 0x50);" (assignment_expression "unaff_s6 = *(uint *)(param_1 + 0x50)" identifier = (pointer_expression "*(uint *)(param_1 + 0x50)" * (cast_expression "(uint *)(param_1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(param_1 + 0x48) = local_5c;" (assignment_expression "*(int *)(param_1 + 0x48) = local_5c" (pointer_expression "*(int *)(param_1 + 0x48)" * (cast_expression "(int *)(param_1 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x48)" ( (binary_expression "param_1 + 0x48" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(param_1 + 0x44) = local_90;" (assignment_expression "*(int *)(param_1 + 0x44) = local_90" (pointer_expression "*(int *)(param_1 + 0x44)" * (cast_expression "(int *)(param_1 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;" (assignment_expression "*(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3" (pointer_expression "*(ushort *)(param_1 + 0x42)" * (cast_expression "(ushort *)(param_1 + 0x42)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x42)" ( (binary_expression "param_1 + 0x42" identifier + number_literal) )))) = (binary_expression "uVar2 & 0xff00 | (ushort)uVar3" (binary_expression "uVar2 & 0xff00" identifier & number_literal) | (cast_expression "(ushort)uVar3" ( (type_descriptor "ushort" type_identifier) ) identifier))) ;) })) })) (expression_statement "(*(code *)PTR_sqlite3_free_0019096c)(iVar8);" (call_expression "(*(code *)PTR_sqlite3_free_0019096c)(iVar8)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0019096c)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0019096c" * (cast_expression "(code *)PTR_sqlite3_free_0019096c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8)" ( identifier ))) ;) (labeled_statement "LAB_000ab59c:\n      puVar4 = PTR_LAB_00190ba8;" statement_identifier : (expression_statement "puVar4 = PTR_LAB_00190ba8;" (assignment_expression "puVar4 = PTR_LAB_00190ba8" identifier = identifier) ;)) (expression_statement "*(undefined4 *)(param_1 + 0x4c) = uVar17;" (assignment_expression "*(undefined4 *)(param_1 + 0x4c) = uVar17" (pointer_expression "*(undefined4 *)(param_1 + 0x4c)" * (cast_expression "(undefined4 *)(param_1 + 0x4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(param_1 + 0x50) = unaff_s6;" (assignment_expression "*(uint *)(param_1 + 0x50) = unaff_s6" (pointer_expression "*(uint *)(param_1 + 0x50)" * (cast_expression "(uint *)(param_1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) = identifier) ;) (expression_statement "(*(code *)(puVar4 + 0x6338))(param_1);" (call_expression "(*(code *)(puVar4 + 0x6338))(param_1)" (parenthesized_expression "(*(code *)(puVar4 + 0x6338))" ( (pointer_expression "*(code *)(puVar4 + 0x6338)" * (cast_expression "(code *)(puVar4 + 0x6338)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 0x6338)" ( (binary_expression "puVar4 + 0x6338" identifier + number_literal) )))) )) (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "iVar7 = **(int **)(param_1 + 0x20);" (assignment_expression "iVar7 = **(int **)(param_1 + 0x20)" identifier = (pointer_expression "**(int **)(param_1 + 0x20)" * (pointer_expression "*(int **)(param_1 + 0x20)" * (cast_expression "(int **)(param_1 + 0x20)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))))) ;) (expression_statement "*(undefined4 *)(iVar7 + 0x60) = 0;" (assignment_expression "*(undefined4 *)(iVar7 + 0x60) = 0" (pointer_expression "*(undefined4 *)(iVar7 + 0x60)" * (cast_expression "(undefined4 *)(iVar7 + 0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x60)" ( (binary_expression "iVar7 + 0x60" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar7 + 0x80) = *(undefined4 *)(param_1 + 0x44);" (assignment_expression "*(undefined4 *)(iVar7 + 0x80) = *(undefined4 *)(param_1 + 0x44)" (pointer_expression "*(undefined4 *)(iVar7 + 0x80)" * (cast_expression "(undefined4 *)(iVar7 + 0x80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x80)" ( (binary_expression "iVar7 + 0x80" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 0x44)" * (cast_expression "(undefined4 *)(param_1 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar7 + 100) = 0;" (assignment_expression "*(undefined4 *)(iVar7 + 100) = 0" (pointer_expression "*(undefined4 *)(iVar7 + 100)" * (cast_expression "(undefined4 *)(iVar7 + 100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 100)" ( (binary_expression "iVar7 + 100" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar7 + 0x68) = 0xffffffff;" (assignment_expression "*(undefined4 *)(iVar7 + 0x68) = 0xffffffff" (pointer_expression "*(undefined4 *)(iVar7 + 0x68)" * (cast_expression "(undefined4 *)(iVar7 + 0x68)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x68)" ( (binary_expression "iVar7 + 0x68" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar7 + 0x6c) = 0xffffffff;" (assignment_expression "*(undefined4 *)(iVar7 + 0x6c) = 0xffffffff" (pointer_expression "*(undefined4 *)(iVar7 + 0x6c)" * (cast_expression "(undefined4 *)(iVar7 + 0x6c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x6c)" ( (binary_expression "iVar7 + 0x6c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar7 + 0x70) = 0xffffffff;" (assignment_expression "*(undefined4 *)(iVar7 + 0x70) = 0xffffffff" (pointer_expression "*(undefined4 *)(iVar7 + 0x70)" * (cast_expression "(undefined4 *)(iVar7 + 0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x70)" ( (binary_expression "iVar7 + 0x70" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar7 + 0x74) = 0xffffffff;" (assignment_expression "*(undefined4 *)(iVar7 + 0x74) = 0xffffffff" (pointer_expression "*(undefined4 *)(iVar7 + 0x74)" * (cast_expression "(undefined4 *)(iVar7 + 0x74)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x74)" ( (binary_expression "iVar7 + 0x74" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (*(int *)(param_1 + 0x44) != 0) {\n        *(int *)(iVar7 + 0x68) = *(int *)(param_1 + 0x44);\n      }" if (parenthesized_expression "(*(int *)(param_1 + 0x44) != 0)" ( (binary_expression "*(int *)(param_1 + 0x44) != 0" (pointer_expression "*(int *)(param_1 + 0x44)" * (cast_expression "(int *)(param_1 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        *(int *)(iVar7 + 0x68) = *(int *)(param_1 + 0x44);\n      }" { (expression_statement "*(int *)(iVar7 + 0x68) = *(int *)(param_1 + 0x44);" (assignment_expression "*(int *)(iVar7 + 0x68) = *(int *)(param_1 + 0x44)" (pointer_expression "*(int *)(iVar7 + 0x68)" * (cast_expression "(int *)(iVar7 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x68)" ( (binary_expression "iVar7 + 0x68" identifier + number_literal) )))) = (pointer_expression "*(int *)(param_1 + 0x44)" * (cast_expression "(int *)(param_1 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) ))))) ;) })) (expression_statement "iVar7 = iVar6;" (assignment_expression "iVar7 = iVar6" identifier = identifier) ;) (if_statement "if (*(int *)(param_1 + 0x48) != 0) {\n        sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c));\n      }" if (parenthesized_expression "(*(int *)(param_1 + 0x48) != 0)" ( (binary_expression "*(int *)(param_1 + 0x48) != 0" (pointer_expression "*(int *)(param_1 + 0x48)" * (cast_expression "(int *)(param_1 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x48)" ( (binary_expression "param_1 + 0x48" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c));\n      }" { (expression_statement "sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c));" (call_expression "sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c))" identifier (argument_list "(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c))" ( number_literal , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c" identifier + number_literal) , (pointer_expression "*(undefined4 *)(param_1 + 0x44)" * (cast_expression "(undefined4 *)(param_1 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x6c)" * (cast_expression "(undefined4 *)(param_1 + 0x6c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x6c)" ( (binary_expression "param_1 + 0x6c" identifier + number_literal) )))) ))) ;) })) }) (else_clause "else {\nLAB_000ab7ec:\n      iVar7 = 7;\n    }" else (compound_statement "{\nLAB_000ab7ec:\n      iVar7 = 7;\n    }" { (labeled_statement "LAB_000ab7ec:\n      iVar7 = 7;" statement_identifier : (expression_statement "iVar7 = 7;" (assignment_expression "iVar7 = 7" identifier = number_literal) ;)) }))) (labeled_statement "LAB_000ab53c:\n    pcVar14 = pcVar15;" statement_identifier : (expression_statement "pcVar14 = pcVar15;" (assignment_expression "pcVar14 = pcVar15" identifier = identifier) ;)) (if_statement "if (*(char *)(param_1 + 0x2b) == '\0') {\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n      if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),4,4);\n      *param_2 = 1;\n    }\n    else {\nLAB_000ab3b0:\n      *param_2 = 1;\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x2b) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x2b) == '\0'" (pointer_expression "*(char *)(param_1 + 0x2b)" * (cast_expression "(char *)(param_1 + 0x2b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2b)" ( (binary_expression "param_1 + 0x2b" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n      if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),4,4);\n      *param_2 = 1;\n    }" { (expression_statement "pcVar14 = (code *)(PTR_LAB_00190ba8 + 0x6640);" (assignment_expression "pcVar14 = (code *)(PTR_LAB_00190ba8 + 0x6640)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x6640)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x6640)" ( (binary_expression "PTR_LAB_00190ba8 + 0x6640" identifier + number_literal) )))) ;) (expression_statement "(*pcVar14)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);" (call_expression "(*pcVar14)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16)" (parenthesized_expression "(*pcVar14)" ( (pointer_expression "*pcVar14" * identifier) )) (argument_list "(*(undefined4 *)(param_1 + 4),pcVar15,piVar16)" ( (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) , identifier , identifier ))) ;) (if_statement "if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;" if (parenthesized_expression "(*(char *)(param_1 + 0x2b) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x2b) != '\0'" (pointer_expression "*(char *)(param_1 + 0x2b)" * (cast_expression "(char *)(param_1 + 0x2b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2b)" ( (binary_expression "param_1 + 0x2b" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000ab3b0;" goto statement_identifier ;)) (expression_statement "(*pcVar14)(*(undefined4 *)(param_1 + 4),4,4);" (call_expression "(*pcVar14)(*(undefined4 *)(param_1 + 4),4,4)" (parenthesized_expression "(*pcVar14)" ( (pointer_expression "*pcVar14" * identifier) )) (argument_list "(*(undefined4 *)(param_1 + 4),4,4)" ( (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) , number_literal , number_literal ))) ;) (expression_statement "*param_2 = 1;" (assignment_expression "*param_2 = 1" (pointer_expression "*param_2" * identifier) = number_literal) ;) }) (else_clause "else {\nLAB_000ab3b0:\n      *param_2 = 1;\n    }" else (compound_statement "{\nLAB_000ab3b0:\n      *param_2 = 1;\n    }" { (labeled_statement "LAB_000ab3b0:\n      *param_2 = 1;" statement_identifier : (expression_statement "*param_2 = 1;" (assignment_expression "*param_2 = 1" (pointer_expression "*param_2" * identifier) = number_literal) ;)) }))) (labeled_statement "LAB_000ab170:\n    *(undefined1 *)(param_1 + 0x2c) = 0;" statement_identifier : (expression_statement "*(undefined1 *)(param_1 + 0x2c) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x2c) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x2c)" * (cast_expression "(undefined1 *)(param_1 + 0x2c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "iVar6 = iVar7;" (assignment_expression "iVar6 = iVar7" identifier = identifier) ;) (if_statement "if (*(char *)(param_1 + 0x2b) == '\0') {\n      (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x2b) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x2b) == '\0'" (pointer_expression "*(char *)(param_1 + 0x2b)" * (cast_expression "(char *)(param_1 + 0x2b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2b)" ( (binary_expression "param_1 + 0x2b" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n    }" { (expression_statement "(*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6640))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x6640)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x6640)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x6640)" ( (binary_expression "PTR_LAB_00190ba8 + 0x6640" identifier + number_literal) )))) )) (argument_list "(*(undefined4 *)(param_1 + 4),0,1)" ( (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) , number_literal , number_literal ))) ;) })) (labeled_statement "LAB_000ab0f8:\n    pcVar15 = pcVar14;" statement_identifier : (expression_statement "pcVar15 = pcVar14;" (assignment_expression "pcVar15 = pcVar14" identifier = identifier) ;)) }) while (parenthesized_expression "(*(char *)(param_1 + 0x32) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x32) == '\0'" (pointer_expression "*(char *)(param_1 + 0x32)" * (cast_expression "(char *)(param_1 + 0x32)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x32)" ( (binary_expression "param_1 + 0x32" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) ;)) (if_statement "if (iVar6 != 0) {\nLAB_000ab2ac:\n    (*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0);\n    *(undefined1 *)(param_1 + 0x32) = 0;\n    if (iVar6 == 0x20a) {\n      iVar6 = -1;\n      *(undefined1 *)(param_1 + 0x2b) = 0;\n      pcVar15 = pcVar14;\n      goto LAB_000ab06c;\n    }\n  }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_000ab2ac:\n    (*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0);\n    *(undefined1 *)(param_1 + 0x32) = 0;\n    if (iVar6 == 0x20a) {\n      iVar6 = -1;\n      *(undefined1 *)(param_1 + 0x2b) = 0;\n      pcVar15 = pcVar14;\n      goto LAB_000ab06c;\n    }\n  }" { (labeled_statement "LAB_000ab2ac:\n    (*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0);" statement_identifier : (expression_statement "(*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6650))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x6650)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x6650)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x6650)" ( (binary_expression "PTR_LAB_00190ba8 + 0x6650" identifier + number_literal) )))) )) (argument_list "(param_1,0)" ( identifier , number_literal ))) ;)) (expression_statement "*(undefined1 *)(param_1 + 0x32) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x32) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x32)" * (cast_expression "(undefined1 *)(param_1 + 0x32)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x32)" ( (binary_expression "param_1 + 0x32" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (iVar6 == 0x20a) {\n      iVar6 = -1;\n      *(undefined1 *)(param_1 + 0x2b) = 0;\n      pcVar15 = pcVar14;\n      goto LAB_000ab06c;\n    }" if (parenthesized_expression "(iVar6 == 0x20a)" ( (binary_expression "iVar6 == 0x20a" identifier == number_literal) )) (compound_statement "{\n      iVar6 = -1;\n      *(undefined1 *)(param_1 + 0x2b) = 0;\n      pcVar15 = pcVar14;\n      goto LAB_000ab06c;\n    }" { (expression_statement "iVar6 = -1;" (assignment_expression "iVar6 = -1" identifier = number_literal) ;) (expression_statement "*(undefined1 *)(param_1 + 0x2b) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x2b) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x2b)" * (cast_expression "(undefined1 *)(param_1 + 0x2b)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2b)" ( (binary_expression "param_1 + 0x2b" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar15 = pcVar14;" (assignment_expression "pcVar15 = pcVar14" identifier = identifier) ;) (goto_statement "goto LAB_000ab06c;" goto statement_identifier ;) })) })) (expression_statement "*(undefined1 *)(param_1 + 0x2b) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x2b) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x2b)" * (cast_expression "(undefined1 *)(param_1 + 0x2b)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2b)" ( (binary_expression "param_1 + 0x2b" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar15 = pcVar14;" (assignment_expression "pcVar15 = pcVar14" identifier = identifier) ;) (goto_statement "goto LAB_000ab06c;" goto statement_identifier ;) })))
(translation_unit "int walIndexReadHdr(Wal *pWal,int *pChanged)\n\n{\n  undefined1 *puVar1;\n  uint *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  u32 *puVar9;\n  void *pvVar10;\n  uint uVar11;\n  code *pcVar12;\n  uint uVar13;\n  int iVar14;\n  u32 uVar15;\n  uint uVar16;\n  int iVar17;\n  code *pcVar18;\n  u32 uVar19;\n  u32 uStack_90;\n  u32 *page0;\n  u32 pgno;\n  u32 nTruncate;\n  i64 nSize;\n  u8 aBuf [32];\n  \n  puVar4 = PTR___stack_chk_guard_00190e24;\n  iVar5 = *(int *)PTR___stack_chk_guard_00190e24;\n  iVar6 = walIndexPage(pWal,0,&page0);\n  if (iVar6 != 0) {\n    if (iVar6 != 0x508) goto LAB_000ab06c;\n    pWal->bShmUnreliable = '\x01';\n    pWal->exclusiveMode = '\x02';\n    *pChanged = 1;\n  }\n  if ((page0 == (u32 *)0x0) ||\n     (iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(pWal,pChanged), iVar7 != 0)) {\n    if ((pWal->bShmUnreliable == '\0') && ((pWal->readOnly & 2) != 0)) {\n      if (pWal->exclusiveMode == '\0') {\n        iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6538))(pWal->pDbFd,0);\n        if (iVar6 != 0) goto LAB_000ab2a0;\n        if (pWal->exclusiveMode == '\0') {\n          (*(code *)(PTR_LAB_00190ba8 + 0x654c))(pWal->pDbFd,0);\n        }\n        if (pWal->bShmUnreliable != '\0') {\n          iVar6 = 0x108;\n          goto LAB_000ab27c;\n        }\n      }\n      iVar6 = 0x108;\n      goto LAB_000ab06c;\n    }\n    if ((pWal->exclusiveMode != '\0') ||\n       (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(pWal->pDbFd,0,1), iVar6 == 0)) {\n      pWal->writeLock = '\x01';\n      iVar6 = walIndexPage(pWal,0,&page0);\n      if (iVar6 == 0) {\n        iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(pWal,pChanged);\n        if (iVar6 == 0) {\n          pWal->writeLock = '\0';\n          if (pWal->exclusiveMode == '\0') {\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,0,1);\n            uVar15 = (pWal->hdr).iVersion;\n          }\n          else {\n            uVar15 = (pWal->hdr).iVersion;\n          }\n          if (uVar15 == 0x2de218) {\n            iVar6 = 0;\n            if (pWal->bShmUnreliable != '\0') {\n              pWal->exclusiveMode = '\0';\n            }\n            goto LAB_000ab06c;\n          }\n          goto LAB_000ab244;\n        }\n        iVar7 = pWal->ckptLock + 1;\n        iVar17 = 3 - iVar7;\n        if (pWal->exclusiveMode == '\0') {\n          pcVar18 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar6 = (*pcVar18)(pWal->pDbFd,iVar7,iVar17);\n          if (iVar6 == 0) {\n            if ((pWal->exclusiveMode != '\0') || (iVar6 = (*pcVar18)(pWal->pDbFd,4,4), iVar6 == 0))\n            goto LAB_000ab3b8;\n            if (pWal->exclusiveMode == '\0') {\n              (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,iVar7,iVar17);\n            }\n          }\n        }\n        else {\nLAB_000ab3b8:\n          (*(code *)PTR_memset_00190d58)(&pWal->hdr,0,0x30);\n          iVar8 = (*pWal->pWalFd->pMethods->xFileSize)(pWal->pWalFd,&nSize);\n          iVar6 = iVar8;\n          if (iVar8 == 0) {\n            if (nSize._0_4_ < 1) {\n              uVar15 = 0;\n              if (nSize._0_4_ != 0) goto LAB_000ab598;\n              uVar19 = 0;\n              if (0x20 < nSize._4_4_) goto LAB_000ab414;\n            }\n            else {\nLAB_000ab414:\n              iVar6 = (*pWal->pWalFd->pMethods->xRead)(pWal->pWalFd,aBuf,0x20,0);\n              puVar3 = PTR_LAB_00190b40;\n              if (iVar6 != 0) goto LAB_000ab53c;\n              if ((((aBuf._0_4_ & 0xfffffffe) == 0x377f0682) && ((aBuf._8_4_ - 1 & aBuf._8_4_) == 0)\n                  ) && (aBuf._8_4_ - 0x200 < 0xfe01)) {\n                (pWal->hdr).bigEndCksum = (u8)(aBuf._0_4_ & 1);\n                pWal->szPage = aBuf._8_4_;\n                pWal->nCkpt = aBuf._12_4_;\n                puVar9 = (pWal->hdr).aSalt;\n                uVar16 = (uint)puVar9 & 3;\n                puVar2 = (uint *)((int)puVar9 - uVar16);\n                *puVar2 = *puVar2 & -1 << (4 - uVar16) * 8 | (uint)aBuf._16_4_ >> uVar16 * 8;\n                puVar1 = (undefined1 *)((int)(pWal->hdr).aSalt + 3);\n                uVar16 = (uint)puVar1 & 3;\n                puVar2 = (uint *)(puVar1 + -uVar16);\n                *puVar2 = *puVar2 & 0xffffffffU >> (uVar16 + 1) * 8 |\n                          aBuf._16_4_ << (3 - uVar16) * 8;\n                (pWal->hdr).aSalt[1] = aBuf._20_4_;\n                (*(code *)(puVar3 + 0xf88))(aBuf._0_4_ & 1,aBuf,0x18,0,(pWal->hdr).aFrameCksum);\n                if (((pWal->hdr).aFrameCksum[0] == aBuf._24_4_) &&\n                   ((pWal->hdr).aFrameCksum[1] == aBuf._28_4_)) {\n                  if (aBuf._4_4_ == 0x2de218) {\n                    iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n                    if (iVar6 == 0) {\n                      uVar16 = aBuf._8_4_ + 0x18;\n                      pvVar10 = (void *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar16 >> 0x1f)\n                      ;\n                      if (pvVar10 != (void *)0x0) {\n                        pcVar18 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n                        uVar15 = 0;\n                        uVar19 = 0;\n                        pcVar12 = (code *)(PTR_LAB_00190c2c + -0x5200);\n                        uStack_90 = 0;\n                        uVar11 = 0x20;\n                        iVar6 = 0;\n                        while( true ) {\n                          uVar13 = uVar16 + uVar11;\n                          iVar14 = (uint)(uVar13 < uVar16) + ((int)uVar16 >> 0x1f) + iVar6;\n                          if ((nSize._0_4_ < iVar14) ||\n                             ((nSize._0_4_ == iVar14 && (nSize._4_4_ < uVar13)))) break;\n                          uStack_90 = uStack_90 + 1;\n                          iVar6 = (*pWal->pWalFd->pMethods->xRead)\n                                            (pWal->pWalFd,pvVar10,uVar16,CONCAT44(iVar6,uVar11));\n                          if (iVar6 != 0) {\nLAB_000ab620:\n                            (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                            goto LAB_000ab53c;\n                          }\n                          iVar6 = (*pcVar18)(pWal,&pgno,&nTruncate,(int)pvVar10 + 0x18,pvVar10);\n                          if (iVar6 == 0) break;\n                          iVar6 = (*pcVar12)(pWal,uStack_90,pgno);\n                          if (iVar6 != 0) goto LAB_000ab620;\n                          uVar11 = uVar13;\n                          iVar6 = iVar14;\n                          if (nTruncate != 0) {\n                            uVar19 = (pWal->hdr).aFrameCksum[0];\n                            uVar15 = (pWal->hdr).aFrameCksum[1];\n                            (pWal->hdr).nPage = nTruncate;\n                            (pWal->hdr).mxFrame = uStack_90;\n                            (pWal->hdr).szPage = (ushort)aBuf._8_4_ & 0xff00 | SUB42(aBuf._8_4_,2);\n                          }\n                        }\n                        (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                        goto LAB_000ab59c;\n                      }\n                    }\n                    iVar6 = 7;\n                  }\n                  else {\n                    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                                PTR_LAB_00190958 + 0x625c);\n                    iVar6 = 0xe;\n                  }\n                  goto LAB_000ab53c;\n                }\n              }\nLAB_000ab598:\n              uVar15 = 0;\n              uVar19 = 0;\n            }\nLAB_000ab59c:\n            puVar3 = PTR_LAB_00190ba8;\n            (pWal->hdr).aFrameCksum[0] = uVar19;\n            (pWal->hdr).aFrameCksum[1] = uVar15;\n            (*(code *)(puVar3 + 0x6338))(pWal);\n            puVar9 = *pWal->apWiData;\n            puVar9[0x18] = 0;\n            puVar9[0x20] = (pWal->hdr).mxFrame;\n            puVar9[0x19] = 0;\n            puVar9[0x1a] = 0xffffffff;\n            puVar9[0x1b] = 0xffffffff;\n            puVar9[0x1c] = 0xffffffff;\n            puVar9[0x1d] = 0xffffffff;\n            uVar15 = (pWal->hdr).mxFrame;\n            if (uVar15 != 0) {\n              puVar9[0x1a] = uVar15;\n            }\n            iVar6 = iVar8;\n            if ((pWal->hdr).nPage != 0) {\n              sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                          (pWal->hdr).mxFrame,pWal->zWalName);\n            }\n          }\nLAB_000ab53c:\n          if (pWal->exclusiveMode == '\0') {\n            pcVar18 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n            (*pcVar18)(pWal->pDbFd,iVar7,iVar17);\n            if (pWal->exclusiveMode == '\0') {\n              (*pcVar18)(pWal->pDbFd,4,4);\n              *pChanged = 1;\n              goto LAB_000ab170;\n            }\n          }\n        }\n        *pChanged = 1;\n      }\nLAB_000ab170:\n      pWal->writeLock = '\0';\n      if (pWal->exclusiveMode == '\0') {\n        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,0,1);\n      }\n      goto LAB_000ab0f8;\n    }\nLAB_000ab2a0:\n    if (pWal->bShmUnreliable == '\0') goto LAB_000ab06c;\nLAB_000ab2ac:\n    (*(code *)(PTR_LAB_00190ba8 + 0x6650))(pWal,0);\n    pWal->bShmUnreliable = '\0';\n    if (iVar6 == 0x20a) {\n      iVar6 = -1;\n      pWal->exclusiveMode = '\0';\n      goto LAB_000ab06c;\n    }\n  }\n  else {\n    if ((pWal->hdr).iVersion != 0x2de218) {\nLAB_000ab244:\n      iVar6 = 0xe;\n      sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                  PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,\n                  PTR_LAB_00190958 + 0x625c);\n      if (pWal->bShmUnreliable == '\0') goto LAB_000ab06c;\nLAB_000ab27c:\n      (*(code *)(PTR_LAB_00190ba8 + 0x6650))(pWal,0);\n      pWal->bShmUnreliable = '\0';\n      pWal->exclusiveMode = '\0';\n      goto LAB_000ab06c;\n    }\nLAB_000ab0f8:\n    if (pWal->bShmUnreliable == '\0') goto LAB_000ab06c;\n    if (iVar6 != 0) goto LAB_000ab2ac;\n  }\n  pWal->exclusiveMode = '\0';\nLAB_000ab06c:\n  if (iVar5 == *(int *)puVar4) {\n    return iVar6;\n  }\n  iVar6 = (*(code *)PTR___stack_chk_fail_00190df8)();\n  return iVar6;\n}\n\n" (function_definition "int walIndexReadHdr(Wal *pWal,int *pChanged)\n\n{\n  undefined1 *puVar1;\n  uint *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  u32 *puVar9;\n  void *pvVar10;\n  uint uVar11;\n  code *pcVar12;\n  uint uVar13;\n  int iVar14;\n  u32 uVar15;\n  uint uVar16;\n  int iVar17;\n  code *pcVar18;\n  u32 uVar19;\n  u32 uStack_90;\n  u32 *page0;\n  u32 pgno;\n  u32 nTruncate;\n  i64 nSize;\n  u8 aBuf [32];\n  \n  puVar4 = PTR___stack_chk_guard_00190e24;\n  iVar5 = *(int *)PTR___stack_chk_guard_00190e24;\n  iVar6 = walIndexPage(pWal,0,&page0);\n  if (iVar6 != 0) {\n    if (iVar6 != 0x508) goto LAB_000ab06c;\n    pWal->bShmUnreliable = '\x01';\n    pWal->exclusiveMode = '\x02';\n    *pChanged = 1;\n  }\n  if ((page0 == (u32 *)0x0) ||\n     (iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(pWal,pChanged), iVar7 != 0)) {\n    if ((pWal->bShmUnreliable == '\0') && ((pWal->readOnly & 2) != 0)) {\n      if (pWal->exclusiveMode == '\0') {\n        iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6538))(pWal->pDbFd,0);\n        if (iVar6 != 0) goto LAB_000ab2a0;\n        if (pWal->exclusiveMode == '\0') {\n          (*(code *)(PTR_LAB_00190ba8 + 0x654c))(pWal->pDbFd,0);\n        }\n        if (pWal->bShmUnreliable != '\0') {\n          iVar6 = 0x108;\n          goto LAB_000ab27c;\n        }\n      }\n      iVar6 = 0x108;\n      goto LAB_000ab06c;\n    }\n    if ((pWal->exclusiveMode != '\0') ||\n       (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(pWal->pDbFd,0,1), iVar6 == 0)) {\n      pWal->writeLock = '\x01';\n      iVar6 = walIndexPage(pWal,0,&page0);\n      if (iVar6 == 0) {\n        iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(pWal,pChanged);\n        if (iVar6 == 0) {\n          pWal->writeLock = '\0';\n          if (pWal->exclusiveMode == '\0') {\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,0,1);\n            uVar15 = (pWal->hdr).iVersion;\n          }\n          else {\n            uVar15 = (pWal->hdr).iVersion;\n          }\n          if (uVar15 == 0x2de218) {\n            iVar6 = 0;\n            if (pWal->bShmUnreliable != '\0') {\n              pWal->exclusiveMode = '\0';\n            }\n            goto LAB_000ab06c;\n          }\n          goto LAB_000ab244;\n        }\n        iVar7 = pWal->ckptLock + 1;\n        iVar17 = 3 - iVar7;\n        if (pWal->exclusiveMode == '\0') {\n          pcVar18 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar6 = (*pcVar18)(pWal->pDbFd,iVar7,iVar17);\n          if (iVar6 == 0) {\n            if ((pWal->exclusiveMode != '\0') || (iVar6 = (*pcVar18)(pWal->pDbFd,4,4), iVar6 == 0))\n            goto LAB_000ab3b8;\n            if (pWal->exclusiveMode == '\0') {\n              (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,iVar7,iVar17);\n            }\n          }\n        }\n        else {\nLAB_000ab3b8:\n          (*(code *)PTR_memset_00190d58)(&pWal->hdr,0,0x30);\n          iVar8 = (*pWal->pWalFd->pMethods->xFileSize)(pWal->pWalFd,&nSize);\n          iVar6 = iVar8;\n          if (iVar8 == 0) {\n            if (nSize._0_4_ < 1) {\n              uVar15 = 0;\n              if (nSize._0_4_ != 0) goto LAB_000ab598;\n              uVar19 = 0;\n              if (0x20 < nSize._4_4_) goto LAB_000ab414;\n            }\n            else {\nLAB_000ab414:\n              iVar6 = (*pWal->pWalFd->pMethods->xRead)(pWal->pWalFd,aBuf,0x20,0);\n              puVar3 = PTR_LAB_00190b40;\n              if (iVar6 != 0) goto LAB_000ab53c;\n              if ((((aBuf._0_4_ & 0xfffffffe) == 0x377f0682) && ((aBuf._8_4_ - 1 & aBuf._8_4_) == 0)\n                  ) && (aBuf._8_4_ - 0x200 < 0xfe01)) {\n                (pWal->hdr).bigEndCksum = (u8)(aBuf._0_4_ & 1);\n                pWal->szPage = aBuf._8_4_;\n                pWal->nCkpt = aBuf._12_4_;\n                puVar9 = (pWal->hdr).aSalt;\n                uVar16 = (uint)puVar9 & 3;\n                puVar2 = (uint *)((int)puVar9 - uVar16);\n                *puVar2 = *puVar2 & -1 << (4 - uVar16) * 8 | (uint)aBuf._16_4_ >> uVar16 * 8;\n                puVar1 = (undefined1 *)((int)(pWal->hdr).aSalt + 3);\n                uVar16 = (uint)puVar1 & 3;\n                puVar2 = (uint *)(puVar1 + -uVar16);\n                *puVar2 = *puVar2 & 0xffffffffU >> (uVar16 + 1) * 8 |\n                          aBuf._16_4_ << (3 - uVar16) * 8;\n                (pWal->hdr).aSalt[1] = aBuf._20_4_;\n                (*(code *)(puVar3 + 0xf88))(aBuf._0_4_ & 1,aBuf,0x18,0,(pWal->hdr).aFrameCksum);\n                if (((pWal->hdr).aFrameCksum[0] == aBuf._24_4_) &&\n                   ((pWal->hdr).aFrameCksum[1] == aBuf._28_4_)) {\n                  if (aBuf._4_4_ == 0x2de218) {\n                    iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n                    if (iVar6 == 0) {\n                      uVar16 = aBuf._8_4_ + 0x18;\n                      pvVar10 = (void *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar16 >> 0x1f)\n                      ;\n                      if (pvVar10 != (void *)0x0) {\n                        pcVar18 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n                        uVar15 = 0;\n                        uVar19 = 0;\n                        pcVar12 = (code *)(PTR_LAB_00190c2c + -0x5200);\n                        uStack_90 = 0;\n                        uVar11 = 0x20;\n                        iVar6 = 0;\n                        while( true ) {\n                          uVar13 = uVar16 + uVar11;\n                          iVar14 = (uint)(uVar13 < uVar16) + ((int)uVar16 >> 0x1f) + iVar6;\n                          if ((nSize._0_4_ < iVar14) ||\n                             ((nSize._0_4_ == iVar14 && (nSize._4_4_ < uVar13)))) break;\n                          uStack_90 = uStack_90 + 1;\n                          iVar6 = (*pWal->pWalFd->pMethods->xRead)\n                                            (pWal->pWalFd,pvVar10,uVar16,CONCAT44(iVar6,uVar11));\n                          if (iVar6 != 0) {\nLAB_000ab620:\n                            (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                            goto LAB_000ab53c;\n                          }\n                          iVar6 = (*pcVar18)(pWal,&pgno,&nTruncate,(int)pvVar10 + 0x18,pvVar10);\n                          if (iVar6 == 0) break;\n                          iVar6 = (*pcVar12)(pWal,uStack_90,pgno);\n                          if (iVar6 != 0) goto LAB_000ab620;\n                          uVar11 = uVar13;\n                          iVar6 = iVar14;\n                          if (nTruncate != 0) {\n                            uVar19 = (pWal->hdr).aFrameCksum[0];\n                            uVar15 = (pWal->hdr).aFrameCksum[1];\n                            (pWal->hdr).nPage = nTruncate;\n                            (pWal->hdr).mxFrame = uStack_90;\n                            (pWal->hdr).szPage = (ushort)aBuf._8_4_ & 0xff00 | SUB42(aBuf._8_4_,2);\n                          }\n                        }\n                        (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                        goto LAB_000ab59c;\n                      }\n                    }\n                    iVar6 = 7;\n                  }\n                  else {\n                    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                                PTR_LAB_00190958 + 0x625c);\n                    iVar6 = 0xe;\n                  }\n                  goto LAB_000ab53c;\n                }\n              }\nLAB_000ab598:\n              uVar15 = 0;\n              uVar19 = 0;\n            }\nLAB_000ab59c:\n            puVar3 = PTR_LAB_00190ba8;\n            (pWal->hdr).aFrameCksum[0] = uVar19;\n            (pWal->hdr).aFrameCksum[1] = uVar15;\n            (*(code *)(puVar3 + 0x6338))(pWal);\n            puVar9 = *pWal->apWiData;\n            puVar9[0x18] = 0;\n            puVar9[0x20] = (pWal->hdr).mxFrame;\n            puVar9[0x19] = 0;\n            puVar9[0x1a] = 0xffffffff;\n            puVar9[0x1b] = 0xffffffff;\n            puVar9[0x1c] = 0xffffffff;\n            puVar9[0x1d] = 0xffffffff;\n            uVar15 = (pWal->hdr).mxFrame;\n            if (uVar15 != 0) {\n              puVar9[0x1a] = uVar15;\n            }\n            iVar6 = iVar8;\n            if ((pWal->hdr).nPage != 0) {\n              sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                          (pWal->hdr).mxFrame,pWal->zWalName);\n            }\n          }\nLAB_000ab53c:\n          if (pWal->exclusiveMode == '\0') {\n            pcVar18 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n            (*pcVar18)(pWal->pDbFd,iVar7,iVar17);\n            if (pWal->exclusiveMode == '\0') {\n              (*pcVar18)(pWal->pDbFd,4,4);\n              *pChanged = 1;\n              goto LAB_000ab170;\n            }\n          }\n        }\n        *pChanged = 1;\n      }\nLAB_000ab170:\n      pWal->writeLock = '\0';\n      if (pWal->exclusiveMode == '\0') {\n        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,0,1);\n      }\n      goto LAB_000ab0f8;\n    }\nLAB_000ab2a0:\n    if (pWal->bShmUnreliable == '\0') goto LAB_000ab06c;\nLAB_000ab2ac:\n    (*(code *)(PTR_LAB_00190ba8 + 0x6650))(pWal,0);\n    pWal->bShmUnreliable = '\0';\n    if (iVar6 == 0x20a) {\n      iVar6 = -1;\n      pWal->exclusiveMode = '\0';\n      goto LAB_000ab06c;\n    }\n  }\n  else {\n    if ((pWal->hdr).iVersion != 0x2de218) {\nLAB_000ab244:\n      iVar6 = 0xe;\n      sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                  PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,\n                  PTR_LAB_00190958 + 0x625c);\n      if (pWal->bShmUnreliable == '\0') goto LAB_000ab06c;\nLAB_000ab27c:\n      (*(code *)(PTR_LAB_00190ba8 + 0x6650))(pWal,0);\n      pWal->bShmUnreliable = '\0';\n      pWal->exclusiveMode = '\0';\n      goto LAB_000ab06c;\n    }\nLAB_000ab0f8:\n    if (pWal->bShmUnreliable == '\0') goto LAB_000ab06c;\n    if (iVar6 != 0) goto LAB_000ab2ac;\n  }\n  pWal->exclusiveMode = '\0';\nLAB_000ab06c:\n  if (iVar5 == *(int *)puVar4) {\n    return iVar6;\n  }\n  iVar6 = (*(code *)PTR___stack_chk_fail_00190df8)();\n  return iVar6;\n}" primitive_type (function_declarator "walIndexReadHdr(Wal *pWal,int *pChanged)" identifier (parameter_list "(Wal *pWal,int *pChanged)" ( (parameter_declaration "Wal *pWal" type_identifier (pointer_declarator "*pWal" * identifier)) , (parameter_declaration "int *pChanged" primitive_type (pointer_declarator "*pChanged" * identifier)) ))) (compound_statement "{\n  undefined1 *puVar1;\n  uint *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  u32 *puVar9;\n  void *pvVar10;\n  uint uVar11;\n  code *pcVar12;\n  uint uVar13;\n  int iVar14;\n  u32 uVar15;\n  uint uVar16;\n  int iVar17;\n  code *pcVar18;\n  u32 uVar19;\n  u32 uStack_90;\n  u32 *page0;\n  u32 pgno;\n  u32 nTruncate;\n  i64 nSize;\n  u8 aBuf [32];\n  \n  puVar4 = PTR___stack_chk_guard_00190e24;\n  iVar5 = *(int *)PTR___stack_chk_guard_00190e24;\n  iVar6 = walIndexPage(pWal,0,&page0);\n  if (iVar6 != 0) {\n    if (iVar6 != 0x508) goto LAB_000ab06c;\n    pWal->bShmUnreliable = '\x01';\n    pWal->exclusiveMode = '\x02';\n    *pChanged = 1;\n  }\n  if ((page0 == (u32 *)0x0) ||\n     (iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(pWal,pChanged), iVar7 != 0)) {\n    if ((pWal->bShmUnreliable == '\0') && ((pWal->readOnly & 2) != 0)) {\n      if (pWal->exclusiveMode == '\0') {\n        iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6538))(pWal->pDbFd,0);\n        if (iVar6 != 0) goto LAB_000ab2a0;\n        if (pWal->exclusiveMode == '\0') {\n          (*(code *)(PTR_LAB_00190ba8 + 0x654c))(pWal->pDbFd,0);\n        }\n        if (pWal->bShmUnreliable != '\0') {\n          iVar6 = 0x108;\n          goto LAB_000ab27c;\n        }\n      }\n      iVar6 = 0x108;\n      goto LAB_000ab06c;\n    }\n    if ((pWal->exclusiveMode != '\0') ||\n       (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(pWal->pDbFd,0,1), iVar6 == 0)) {\n      pWal->writeLock = '\x01';\n      iVar6 = walIndexPage(pWal,0,&page0);\n      if (iVar6 == 0) {\n        iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(pWal,pChanged);\n        if (iVar6 == 0) {\n          pWal->writeLock = '\0';\n          if (pWal->exclusiveMode == '\0') {\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,0,1);\n            uVar15 = (pWal->hdr).iVersion;\n          }\n          else {\n            uVar15 = (pWal->hdr).iVersion;\n          }\n          if (uVar15 == 0x2de218) {\n            iVar6 = 0;\n            if (pWal->bShmUnreliable != '\0') {\n              pWal->exclusiveMode = '\0';\n            }\n            goto LAB_000ab06c;\n          }\n          goto LAB_000ab244;\n        }\n        iVar7 = pWal->ckptLock + 1;\n        iVar17 = 3 - iVar7;\n        if (pWal->exclusiveMode == '\0') {\n          pcVar18 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar6 = (*pcVar18)(pWal->pDbFd,iVar7,iVar17);\n          if (iVar6 == 0) {\n            if ((pWal->exclusiveMode != '\0') || (iVar6 = (*pcVar18)(pWal->pDbFd,4,4), iVar6 == 0))\n            goto LAB_000ab3b8;\n            if (pWal->exclusiveMode == '\0') {\n              (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,iVar7,iVar17);\n            }\n          }\n        }\n        else {\nLAB_000ab3b8:\n          (*(code *)PTR_memset_00190d58)(&pWal->hdr,0,0x30);\n          iVar8 = (*pWal->pWalFd->pMethods->xFileSize)(pWal->pWalFd,&nSize);\n          iVar6 = iVar8;\n          if (iVar8 == 0) {\n            if (nSize._0_4_ < 1) {\n              uVar15 = 0;\n              if (nSize._0_4_ != 0) goto LAB_000ab598;\n              uVar19 = 0;\n              if (0x20 < nSize._4_4_) goto LAB_000ab414;\n            }\n            else {\nLAB_000ab414:\n              iVar6 = (*pWal->pWalFd->pMethods->xRead)(pWal->pWalFd,aBuf,0x20,0);\n              puVar3 = PTR_LAB_00190b40;\n              if (iVar6 != 0) goto LAB_000ab53c;\n              if ((((aBuf._0_4_ & 0xfffffffe) == 0x377f0682) && ((aBuf._8_4_ - 1 & aBuf._8_4_) == 0)\n                  ) && (aBuf._8_4_ - 0x200 < 0xfe01)) {\n                (pWal->hdr).bigEndCksum = (u8)(aBuf._0_4_ & 1);\n                pWal->szPage = aBuf._8_4_;\n                pWal->nCkpt = aBuf._12_4_;\n                puVar9 = (pWal->hdr).aSalt;\n                uVar16 = (uint)puVar9 & 3;\n                puVar2 = (uint *)((int)puVar9 - uVar16);\n                *puVar2 = *puVar2 & -1 << (4 - uVar16) * 8 | (uint)aBuf._16_4_ >> uVar16 * 8;\n                puVar1 = (undefined1 *)((int)(pWal->hdr).aSalt + 3);\n                uVar16 = (uint)puVar1 & 3;\n                puVar2 = (uint *)(puVar1 + -uVar16);\n                *puVar2 = *puVar2 & 0xffffffffU >> (uVar16 + 1) * 8 |\n                          aBuf._16_4_ << (3 - uVar16) * 8;\n                (pWal->hdr).aSalt[1] = aBuf._20_4_;\n                (*(code *)(puVar3 + 0xf88))(aBuf._0_4_ & 1,aBuf,0x18,0,(pWal->hdr).aFrameCksum);\n                if (((pWal->hdr).aFrameCksum[0] == aBuf._24_4_) &&\n                   ((pWal->hdr).aFrameCksum[1] == aBuf._28_4_)) {\n                  if (aBuf._4_4_ == 0x2de218) {\n                    iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n                    if (iVar6 == 0) {\n                      uVar16 = aBuf._8_4_ + 0x18;\n                      pvVar10 = (void *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar16 >> 0x1f)\n                      ;\n                      if (pvVar10 != (void *)0x0) {\n                        pcVar18 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n                        uVar15 = 0;\n                        uVar19 = 0;\n                        pcVar12 = (code *)(PTR_LAB_00190c2c + -0x5200);\n                        uStack_90 = 0;\n                        uVar11 = 0x20;\n                        iVar6 = 0;\n                        while( true ) {\n                          uVar13 = uVar16 + uVar11;\n                          iVar14 = (uint)(uVar13 < uVar16) + ((int)uVar16 >> 0x1f) + iVar6;\n                          if ((nSize._0_4_ < iVar14) ||\n                             ((nSize._0_4_ == iVar14 && (nSize._4_4_ < uVar13)))) break;\n                          uStack_90 = uStack_90 + 1;\n                          iVar6 = (*pWal->pWalFd->pMethods->xRead)\n                                            (pWal->pWalFd,pvVar10,uVar16,CONCAT44(iVar6,uVar11));\n                          if (iVar6 != 0) {\nLAB_000ab620:\n                            (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                            goto LAB_000ab53c;\n                          }\n                          iVar6 = (*pcVar18)(pWal,&pgno,&nTruncate,(int)pvVar10 + 0x18,pvVar10);\n                          if (iVar6 == 0) break;\n                          iVar6 = (*pcVar12)(pWal,uStack_90,pgno);\n                          if (iVar6 != 0) goto LAB_000ab620;\n                          uVar11 = uVar13;\n                          iVar6 = iVar14;\n                          if (nTruncate != 0) {\n                            uVar19 = (pWal->hdr).aFrameCksum[0];\n                            uVar15 = (pWal->hdr).aFrameCksum[1];\n                            (pWal->hdr).nPage = nTruncate;\n                            (pWal->hdr).mxFrame = uStack_90;\n                            (pWal->hdr).szPage = (ushort)aBuf._8_4_ & 0xff00 | SUB42(aBuf._8_4_,2);\n                          }\n                        }\n                        (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                        goto LAB_000ab59c;\n                      }\n                    }\n                    iVar6 = 7;\n                  }\n                  else {\n                    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                                PTR_LAB_00190958 + 0x625c);\n                    iVar6 = 0xe;\n                  }\n                  goto LAB_000ab53c;\n                }\n              }\nLAB_000ab598:\n              uVar15 = 0;\n              uVar19 = 0;\n            }\nLAB_000ab59c:\n            puVar3 = PTR_LAB_00190ba8;\n            (pWal->hdr).aFrameCksum[0] = uVar19;\n            (pWal->hdr).aFrameCksum[1] = uVar15;\n            (*(code *)(puVar3 + 0x6338))(pWal);\n            puVar9 = *pWal->apWiData;\n            puVar9[0x18] = 0;\n            puVar9[0x20] = (pWal->hdr).mxFrame;\n            puVar9[0x19] = 0;\n            puVar9[0x1a] = 0xffffffff;\n            puVar9[0x1b] = 0xffffffff;\n            puVar9[0x1c] = 0xffffffff;\n            puVar9[0x1d] = 0xffffffff;\n            uVar15 = (pWal->hdr).mxFrame;\n            if (uVar15 != 0) {\n              puVar9[0x1a] = uVar15;\n            }\n            iVar6 = iVar8;\n            if ((pWal->hdr).nPage != 0) {\n              sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                          (pWal->hdr).mxFrame,pWal->zWalName);\n            }\n          }\nLAB_000ab53c:\n          if (pWal->exclusiveMode == '\0') {\n            pcVar18 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n            (*pcVar18)(pWal->pDbFd,iVar7,iVar17);\n            if (pWal->exclusiveMode == '\0') {\n              (*pcVar18)(pWal->pDbFd,4,4);\n              *pChanged = 1;\n              goto LAB_000ab170;\n            }\n          }\n        }\n        *pChanged = 1;\n      }\nLAB_000ab170:\n      pWal->writeLock = '\0';\n      if (pWal->exclusiveMode == '\0') {\n        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,0,1);\n      }\n      goto LAB_000ab0f8;\n    }\nLAB_000ab2a0:\n    if (pWal->bShmUnreliable == '\0') goto LAB_000ab06c;\nLAB_000ab2ac:\n    (*(code *)(PTR_LAB_00190ba8 + 0x6650))(pWal,0);\n    pWal->bShmUnreliable = '\0';\n    if (iVar6 == 0x20a) {\n      iVar6 = -1;\n      pWal->exclusiveMode = '\0';\n      goto LAB_000ab06c;\n    }\n  }\n  else {\n    if ((pWal->hdr).iVersion != 0x2de218) {\nLAB_000ab244:\n      iVar6 = 0xe;\n      sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                  PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,\n                  PTR_LAB_00190958 + 0x625c);\n      if (pWal->bShmUnreliable == '\0') goto LAB_000ab06c;\nLAB_000ab27c:\n      (*(code *)(PTR_LAB_00190ba8 + 0x6650))(pWal,0);\n      pWal->bShmUnreliable = '\0';\n      pWal->exclusiveMode = '\0';\n      goto LAB_000ab06c;\n    }\nLAB_000ab0f8:\n    if (pWal->bShmUnreliable == '\0') goto LAB_000ab06c;\n    if (iVar6 != 0) goto LAB_000ab2ac;\n  }\n  pWal->exclusiveMode = '\0';\nLAB_000ab06c:\n  if (iVar5 == *(int *)puVar4) {\n    return iVar6;\n  }\n  iVar6 = (*(code *)PTR___stack_chk_fail_00190df8)();\n  return iVar6;\n}" { (declaration "undefined1 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "uint *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "u32 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "void *pvVar10;" primitive_type (pointer_declarator "*pvVar10" * identifier) ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "code *pcVar12;" type_identifier (pointer_declarator "*pcVar12" * identifier) ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "u32 uVar15;" type_identifier identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "code *pcVar18;" type_identifier (pointer_declarator "*pcVar18" * identifier) ;) (declaration "u32 uVar19;" type_identifier identifier ;) (declaration "u32 uStack_90;" type_identifier identifier ;) (declaration "u32 *page0;" type_identifier (pointer_declarator "*page0" * identifier) ;) (declaration "u32 pgno;" type_identifier identifier ;) (declaration "u32 nTruncate;" type_identifier identifier ;) (declaration "i64 nSize;" type_identifier identifier ;) (declaration "u8 aBuf [32];" type_identifier (array_declarator "aBuf [32]" identifier [ number_literal ]) ;) (expression_statement "puVar4 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar4 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "iVar5 = *(int *)PTR___stack_chk_guard_00190e24;" (assignment_expression "iVar5 = *(int *)PTR___stack_chk_guard_00190e24" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_00190e24" * (cast_expression "(int *)PTR___stack_chk_guard_00190e24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar6 = walIndexPage(pWal,0,&page0);" (assignment_expression "iVar6 = walIndexPage(pWal,0,&page0)" identifier = (call_expression "walIndexPage(pWal,0,&page0)" identifier (argument_list "(pWal,0,&page0)" ( identifier , number_literal , (pointer_expression "&page0" & identifier) )))) ;) (if_statement "if (iVar6 != 0) {\n    if (iVar6 != 0x508) goto LAB_000ab06c;\n    pWal->bShmUnreliable = '\x01';\n    pWal->exclusiveMode = '\x02';\n    *pChanged = 1;\n  }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n    if (iVar6 != 0x508) goto LAB_000ab06c;\n    pWal->bShmUnreliable = '\x01';\n    pWal->exclusiveMode = '\x02';\n    *pChanged = 1;\n  }" { (if_statement "if (iVar6 != 0x508) goto LAB_000ab06c;" if (parenthesized_expression "(iVar6 != 0x508)" ( (binary_expression "iVar6 != 0x508" identifier != number_literal) )) (goto_statement "goto LAB_000ab06c;" goto statement_identifier ;)) (expression_statement "pWal->bShmUnreliable = '\x01';" (assignment_expression "pWal->bShmUnreliable = '\x01'" (field_expression "pWal->bShmUnreliable" identifier -> field_identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "pWal->exclusiveMode = '\x02';" (assignment_expression "pWal->exclusiveMode = '\x02'" (field_expression "pWal->exclusiveMode" identifier -> field_identifier) = (char_literal "'\x02'" ' escape_sequence ')) ;) (expression_statement "*pChanged = 1;" (assignment_expression "*pChanged = 1" (pointer_expression "*pChanged" * identifier) = number_literal) ;) })) (if_statement "if ((page0 == (u32 *)0x0) ||\n     (iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(pWal,pChanged), iVar7 != 0)) {\n    if ((pWal->bShmUnreliable == '\0') && ((pWal->readOnly & 2) != 0)) {\n      if (pWal->exclusiveMode == '\0') {\n        iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6538))(pWal->pDbFd,0);\n        if (iVar6 != 0) goto LAB_000ab2a0;\n        if (pWal->exclusiveMode == '\0') {\n          (*(code *)(PTR_LAB_00190ba8 + 0x654c))(pWal->pDbFd,0);\n        }\n        if (pWal->bShmUnreliable != '\0') {\n          iVar6 = 0x108;\n          goto LAB_000ab27c;\n        }\n      }\n      iVar6 = 0x108;\n      goto LAB_000ab06c;\n    }\n    if ((pWal->exclusiveMode != '\0') ||\n       (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(pWal->pDbFd,0,1), iVar6 == 0)) {\n      pWal->writeLock = '\x01';\n      iVar6 = walIndexPage(pWal,0,&page0);\n      if (iVar6 == 0) {\n        iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(pWal,pChanged);\n        if (iVar6 == 0) {\n          pWal->writeLock = '\0';\n          if (pWal->exclusiveMode == '\0') {\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,0,1);\n            uVar15 = (pWal->hdr).iVersion;\n          }\n          else {\n            uVar15 = (pWal->hdr).iVersion;\n          }\n          if (uVar15 == 0x2de218) {\n            iVar6 = 0;\n            if (pWal->bShmUnreliable != '\0') {\n              pWal->exclusiveMode = '\0';\n            }\n            goto LAB_000ab06c;\n          }\n          goto LAB_000ab244;\n        }\n        iVar7 = pWal->ckptLock + 1;\n        iVar17 = 3 - iVar7;\n        if (pWal->exclusiveMode == '\0') {\n          pcVar18 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar6 = (*pcVar18)(pWal->pDbFd,iVar7,iVar17);\n          if (iVar6 == 0) {\n            if ((pWal->exclusiveMode != '\0') || (iVar6 = (*pcVar18)(pWal->pDbFd,4,4), iVar6 == 0))\n            goto LAB_000ab3b8;\n            if (pWal->exclusiveMode == '\0') {\n              (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,iVar7,iVar17);\n            }\n          }\n        }\n        else {\nLAB_000ab3b8:\n          (*(code *)PTR_memset_00190d58)(&pWal->hdr,0,0x30);\n          iVar8 = (*pWal->pWalFd->pMethods->xFileSize)(pWal->pWalFd,&nSize);\n          iVar6 = iVar8;\n          if (iVar8 == 0) {\n            if (nSize._0_4_ < 1) {\n              uVar15 = 0;\n              if (nSize._0_4_ != 0) goto LAB_000ab598;\n              uVar19 = 0;\n              if (0x20 < nSize._4_4_) goto LAB_000ab414;\n            }\n            else {\nLAB_000ab414:\n              iVar6 = (*pWal->pWalFd->pMethods->xRead)(pWal->pWalFd,aBuf,0x20,0);\n              puVar3 = PTR_LAB_00190b40;\n              if (iVar6 != 0) goto LAB_000ab53c;\n              if ((((aBuf._0_4_ & 0xfffffffe) == 0x377f0682) && ((aBuf._8_4_ - 1 & aBuf._8_4_) == 0)\n                  ) && (aBuf._8_4_ - 0x200 < 0xfe01)) {\n                (pWal->hdr).bigEndCksum = (u8)(aBuf._0_4_ & 1);\n                pWal->szPage = aBuf._8_4_;\n                pWal->nCkpt = aBuf._12_4_;\n                puVar9 = (pWal->hdr).aSalt;\n                uVar16 = (uint)puVar9 & 3;\n                puVar2 = (uint *)((int)puVar9 - uVar16);\n                *puVar2 = *puVar2 & -1 << (4 - uVar16) * 8 | (uint)aBuf._16_4_ >> uVar16 * 8;\n                puVar1 = (undefined1 *)((int)(pWal->hdr).aSalt + 3);\n                uVar16 = (uint)puVar1 & 3;\n                puVar2 = (uint *)(puVar1 + -uVar16);\n                *puVar2 = *puVar2 & 0xffffffffU >> (uVar16 + 1) * 8 |\n                          aBuf._16_4_ << (3 - uVar16) * 8;\n                (pWal->hdr).aSalt[1] = aBuf._20_4_;\n                (*(code *)(puVar3 + 0xf88))(aBuf._0_4_ & 1,aBuf,0x18,0,(pWal->hdr).aFrameCksum);\n                if (((pWal->hdr).aFrameCksum[0] == aBuf._24_4_) &&\n                   ((pWal->hdr).aFrameCksum[1] == aBuf._28_4_)) {\n                  if (aBuf._4_4_ == 0x2de218) {\n                    iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n                    if (iVar6 == 0) {\n                      uVar16 = aBuf._8_4_ + 0x18;\n                      pvVar10 = (void *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar16 >> 0x1f)\n                      ;\n                      if (pvVar10 != (void *)0x0) {\n                        pcVar18 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n                        uVar15 = 0;\n                        uVar19 = 0;\n                        pcVar12 = (code *)(PTR_LAB_00190c2c + -0x5200);\n                        uStack_90 = 0;\n                        uVar11 = 0x20;\n                        iVar6 = 0;\n                        while( true ) {\n                          uVar13 = uVar16 + uVar11;\n                          iVar14 = (uint)(uVar13 < uVar16) + ((int)uVar16 >> 0x1f) + iVar6;\n                          if ((nSize._0_4_ < iVar14) ||\n                             ((nSize._0_4_ == iVar14 && (nSize._4_4_ < uVar13)))) break;\n                          uStack_90 = uStack_90 + 1;\n                          iVar6 = (*pWal->pWalFd->pMethods->xRead)\n                                            (pWal->pWalFd,pvVar10,uVar16,CONCAT44(iVar6,uVar11));\n                          if (iVar6 != 0) {\nLAB_000ab620:\n                            (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                            goto LAB_000ab53c;\n                          }\n                          iVar6 = (*pcVar18)(pWal,&pgno,&nTruncate,(int)pvVar10 + 0x18,pvVar10);\n                          if (iVar6 == 0) break;\n                          iVar6 = (*pcVar12)(pWal,uStack_90,pgno);\n                          if (iVar6 != 0) goto LAB_000ab620;\n                          uVar11 = uVar13;\n                          iVar6 = iVar14;\n                          if (nTruncate != 0) {\n                            uVar19 = (pWal->hdr).aFrameCksum[0];\n                            uVar15 = (pWal->hdr).aFrameCksum[1];\n                            (pWal->hdr).nPage = nTruncate;\n                            (pWal->hdr).mxFrame = uStack_90;\n                            (pWal->hdr).szPage = (ushort)aBuf._8_4_ & 0xff00 | SUB42(aBuf._8_4_,2);\n                          }\n                        }\n                        (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                        goto LAB_000ab59c;\n                      }\n                    }\n                    iVar6 = 7;\n                  }\n                  else {\n                    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                                PTR_LAB_00190958 + 0x625c);\n                    iVar6 = 0xe;\n                  }\n                  goto LAB_000ab53c;\n                }\n              }\nLAB_000ab598:\n              uVar15 = 0;\n              uVar19 = 0;\n            }\nLAB_000ab59c:\n            puVar3 = PTR_LAB_00190ba8;\n            (pWal->hdr).aFrameCksum[0] = uVar19;\n            (pWal->hdr).aFrameCksum[1] = uVar15;\n            (*(code *)(puVar3 + 0x6338))(pWal);\n            puVar9 = *pWal->apWiData;\n            puVar9[0x18] = 0;\n            puVar9[0x20] = (pWal->hdr).mxFrame;\n            puVar9[0x19] = 0;\n            puVar9[0x1a] = 0xffffffff;\n            puVar9[0x1b] = 0xffffffff;\n            puVar9[0x1c] = 0xffffffff;\n            puVar9[0x1d] = 0xffffffff;\n            uVar15 = (pWal->hdr).mxFrame;\n            if (uVar15 != 0) {\n              puVar9[0x1a] = uVar15;\n            }\n            iVar6 = iVar8;\n            if ((pWal->hdr).nPage != 0) {\n              sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                          (pWal->hdr).mxFrame,pWal->zWalName);\n            }\n          }\nLAB_000ab53c:\n          if (pWal->exclusiveMode == '\0') {\n            pcVar18 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n            (*pcVar18)(pWal->pDbFd,iVar7,iVar17);\n            if (pWal->exclusiveMode == '\0') {\n              (*pcVar18)(pWal->pDbFd,4,4);\n              *pChanged = 1;\n              goto LAB_000ab170;\n            }\n          }\n        }\n        *pChanged = 1;\n      }\nLAB_000ab170:\n      pWal->writeLock = '\0';\n      if (pWal->exclusiveMode == '\0') {\n        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,0,1);\n      }\n      goto LAB_000ab0f8;\n    }\nLAB_000ab2a0:\n    if (pWal->bShmUnreliable == '\0') goto LAB_000ab06c;\nLAB_000ab2ac:\n    (*(code *)(PTR_LAB_00190ba8 + 0x6650))(pWal,0);\n    pWal->bShmUnreliable = '\0';\n    if (iVar6 == 0x20a) {\n      iVar6 = -1;\n      pWal->exclusiveMode = '\0';\n      goto LAB_000ab06c;\n    }\n  }\n  else {\n    if ((pWal->hdr).iVersion != 0x2de218) {\nLAB_000ab244:\n      iVar6 = 0xe;\n      sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                  PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,\n                  PTR_LAB_00190958 + 0x625c);\n      if (pWal->bShmUnreliable == '\0') goto LAB_000ab06c;\nLAB_000ab27c:\n      (*(code *)(PTR_LAB_00190ba8 + 0x6650))(pWal,0);\n      pWal->bShmUnreliable = '\0';\n      pWal->exclusiveMode = '\0';\n      goto LAB_000ab06c;\n    }\nLAB_000ab0f8:\n    if (pWal->bShmUnreliable == '\0') goto LAB_000ab06c;\n    if (iVar6 != 0) goto LAB_000ab2ac;\n  }" if (parenthesized_expression "((page0 == (u32 *)0x0) ||\n     (iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(pWal,pChanged), iVar7 != 0))" ( (binary_expression "(page0 == (u32 *)0x0) ||\n     (iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(pWal,pChanged), iVar7 != 0)" (parenthesized_expression "(page0 == (u32 *)0x0)" ( (binary_expression "page0 == (u32 *)0x0" identifier == (cast_expression "(u32 *)0x0" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(pWal,pChanged), iVar7 != 0)" ( (comma_expression "iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(pWal,pChanged), iVar7 != 0" (assignment_expression "iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(pWal,pChanged)" identifier = (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x7394))(pWal,pChanged)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x7394))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x7394)" * (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x7394)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x7394)" ( (binary_expression "PTR_LAB_00190ba4 + -0x7394" identifier + number_literal) )))) )) (argument_list "(pWal,pChanged)" ( identifier , identifier )))) , (binary_expression "iVar7 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    if ((pWal->bShmUnreliable == '\0') && ((pWal->readOnly & 2) != 0)) {\n      if (pWal->exclusiveMode == '\0') {\n        iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6538))(pWal->pDbFd,0);\n        if (iVar6 != 0) goto LAB_000ab2a0;\n        if (pWal->exclusiveMode == '\0') {\n          (*(code *)(PTR_LAB_00190ba8 + 0x654c))(pWal->pDbFd,0);\n        }\n        if (pWal->bShmUnreliable != '\0') {\n          iVar6 = 0x108;\n          goto LAB_000ab27c;\n        }\n      }\n      iVar6 = 0x108;\n      goto LAB_000ab06c;\n    }\n    if ((pWal->exclusiveMode != '\0') ||\n       (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(pWal->pDbFd,0,1), iVar6 == 0)) {\n      pWal->writeLock = '\x01';\n      iVar6 = walIndexPage(pWal,0,&page0);\n      if (iVar6 == 0) {\n        iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(pWal,pChanged);\n        if (iVar6 == 0) {\n          pWal->writeLock = '\0';\n          if (pWal->exclusiveMode == '\0') {\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,0,1);\n            uVar15 = (pWal->hdr).iVersion;\n          }\n          else {\n            uVar15 = (pWal->hdr).iVersion;\n          }\n          if (uVar15 == 0x2de218) {\n            iVar6 = 0;\n            if (pWal->bShmUnreliable != '\0') {\n              pWal->exclusiveMode = '\0';\n            }\n            goto LAB_000ab06c;\n          }\n          goto LAB_000ab244;\n        }\n        iVar7 = pWal->ckptLock + 1;\n        iVar17 = 3 - iVar7;\n        if (pWal->exclusiveMode == '\0') {\n          pcVar18 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar6 = (*pcVar18)(pWal->pDbFd,iVar7,iVar17);\n          if (iVar6 == 0) {\n            if ((pWal->exclusiveMode != '\0') || (iVar6 = (*pcVar18)(pWal->pDbFd,4,4), iVar6 == 0))\n            goto LAB_000ab3b8;\n            if (pWal->exclusiveMode == '\0') {\n              (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,iVar7,iVar17);\n            }\n          }\n        }\n        else {\nLAB_000ab3b8:\n          (*(code *)PTR_memset_00190d58)(&pWal->hdr,0,0x30);\n          iVar8 = (*pWal->pWalFd->pMethods->xFileSize)(pWal->pWalFd,&nSize);\n          iVar6 = iVar8;\n          if (iVar8 == 0) {\n            if (nSize._0_4_ < 1) {\n              uVar15 = 0;\n              if (nSize._0_4_ != 0) goto LAB_000ab598;\n              uVar19 = 0;\n              if (0x20 < nSize._4_4_) goto LAB_000ab414;\n            }\n            else {\nLAB_000ab414:\n              iVar6 = (*pWal->pWalFd->pMethods->xRead)(pWal->pWalFd,aBuf,0x20,0);\n              puVar3 = PTR_LAB_00190b40;\n              if (iVar6 != 0) goto LAB_000ab53c;\n              if ((((aBuf._0_4_ & 0xfffffffe) == 0x377f0682) && ((aBuf._8_4_ - 1 & aBuf._8_4_) == 0)\n                  ) && (aBuf._8_4_ - 0x200 < 0xfe01)) {\n                (pWal->hdr).bigEndCksum = (u8)(aBuf._0_4_ & 1);\n                pWal->szPage = aBuf._8_4_;\n                pWal->nCkpt = aBuf._12_4_;\n                puVar9 = (pWal->hdr).aSalt;\n                uVar16 = (uint)puVar9 & 3;\n                puVar2 = (uint *)((int)puVar9 - uVar16);\n                *puVar2 = *puVar2 & -1 << (4 - uVar16) * 8 | (uint)aBuf._16_4_ >> uVar16 * 8;\n                puVar1 = (undefined1 *)((int)(pWal->hdr).aSalt + 3);\n                uVar16 = (uint)puVar1 & 3;\n                puVar2 = (uint *)(puVar1 + -uVar16);\n                *puVar2 = *puVar2 & 0xffffffffU >> (uVar16 + 1) * 8 |\n                          aBuf._16_4_ << (3 - uVar16) * 8;\n                (pWal->hdr).aSalt[1] = aBuf._20_4_;\n                (*(code *)(puVar3 + 0xf88))(aBuf._0_4_ & 1,aBuf,0x18,0,(pWal->hdr).aFrameCksum);\n                if (((pWal->hdr).aFrameCksum[0] == aBuf._24_4_) &&\n                   ((pWal->hdr).aFrameCksum[1] == aBuf._28_4_)) {\n                  if (aBuf._4_4_ == 0x2de218) {\n                    iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n                    if (iVar6 == 0) {\n                      uVar16 = aBuf._8_4_ + 0x18;\n                      pvVar10 = (void *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar16 >> 0x1f)\n                      ;\n                      if (pvVar10 != (void *)0x0) {\n                        pcVar18 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n                        uVar15 = 0;\n                        uVar19 = 0;\n                        pcVar12 = (code *)(PTR_LAB_00190c2c + -0x5200);\n                        uStack_90 = 0;\n                        uVar11 = 0x20;\n                        iVar6 = 0;\n                        while( true ) {\n                          uVar13 = uVar16 + uVar11;\n                          iVar14 = (uint)(uVar13 < uVar16) + ((int)uVar16 >> 0x1f) + iVar6;\n                          if ((nSize._0_4_ < iVar14) ||\n                             ((nSize._0_4_ == iVar14 && (nSize._4_4_ < uVar13)))) break;\n                          uStack_90 = uStack_90 + 1;\n                          iVar6 = (*pWal->pWalFd->pMethods->xRead)\n                                            (pWal->pWalFd,pvVar10,uVar16,CONCAT44(iVar6,uVar11));\n                          if (iVar6 != 0) {\nLAB_000ab620:\n                            (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                            goto LAB_000ab53c;\n                          }\n                          iVar6 = (*pcVar18)(pWal,&pgno,&nTruncate,(int)pvVar10 + 0x18,pvVar10);\n                          if (iVar6 == 0) break;\n                          iVar6 = (*pcVar12)(pWal,uStack_90,pgno);\n                          if (iVar6 != 0) goto LAB_000ab620;\n                          uVar11 = uVar13;\n                          iVar6 = iVar14;\n                          if (nTruncate != 0) {\n                            uVar19 = (pWal->hdr).aFrameCksum[0];\n                            uVar15 = (pWal->hdr).aFrameCksum[1];\n                            (pWal->hdr).nPage = nTruncate;\n                            (pWal->hdr).mxFrame = uStack_90;\n                            (pWal->hdr).szPage = (ushort)aBuf._8_4_ & 0xff00 | SUB42(aBuf._8_4_,2);\n                          }\n                        }\n                        (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                        goto LAB_000ab59c;\n                      }\n                    }\n                    iVar6 = 7;\n                  }\n                  else {\n                    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                                PTR_LAB_00190958 + 0x625c);\n                    iVar6 = 0xe;\n                  }\n                  goto LAB_000ab53c;\n                }\n              }\nLAB_000ab598:\n              uVar15 = 0;\n              uVar19 = 0;\n            }\nLAB_000ab59c:\n            puVar3 = PTR_LAB_00190ba8;\n            (pWal->hdr).aFrameCksum[0] = uVar19;\n            (pWal->hdr).aFrameCksum[1] = uVar15;\n            (*(code *)(puVar3 + 0x6338))(pWal);\n            puVar9 = *pWal->apWiData;\n            puVar9[0x18] = 0;\n            puVar9[0x20] = (pWal->hdr).mxFrame;\n            puVar9[0x19] = 0;\n            puVar9[0x1a] = 0xffffffff;\n            puVar9[0x1b] = 0xffffffff;\n            puVar9[0x1c] = 0xffffffff;\n            puVar9[0x1d] = 0xffffffff;\n            uVar15 = (pWal->hdr).mxFrame;\n            if (uVar15 != 0) {\n              puVar9[0x1a] = uVar15;\n            }\n            iVar6 = iVar8;\n            if ((pWal->hdr).nPage != 0) {\n              sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                          (pWal->hdr).mxFrame,pWal->zWalName);\n            }\n          }\nLAB_000ab53c:\n          if (pWal->exclusiveMode == '\0') {\n            pcVar18 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n            (*pcVar18)(pWal->pDbFd,iVar7,iVar17);\n            if (pWal->exclusiveMode == '\0') {\n              (*pcVar18)(pWal->pDbFd,4,4);\n              *pChanged = 1;\n              goto LAB_000ab170;\n            }\n          }\n        }\n        *pChanged = 1;\n      }\nLAB_000ab170:\n      pWal->writeLock = '\0';\n      if (pWal->exclusiveMode == '\0') {\n        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,0,1);\n      }\n      goto LAB_000ab0f8;\n    }\nLAB_000ab2a0:\n    if (pWal->bShmUnreliable == '\0') goto LAB_000ab06c;\nLAB_000ab2ac:\n    (*(code *)(PTR_LAB_00190ba8 + 0x6650))(pWal,0);\n    pWal->bShmUnreliable = '\0';\n    if (iVar6 == 0x20a) {\n      iVar6 = -1;\n      pWal->exclusiveMode = '\0';\n      goto LAB_000ab06c;\n    }\n  }" { (if_statement "if ((pWal->bShmUnreliable == '\0') && ((pWal->readOnly & 2) != 0)) {\n      if (pWal->exclusiveMode == '\0') {\n        iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6538))(pWal->pDbFd,0);\n        if (iVar6 != 0) goto LAB_000ab2a0;\n        if (pWal->exclusiveMode == '\0') {\n          (*(code *)(PTR_LAB_00190ba8 + 0x654c))(pWal->pDbFd,0);\n        }\n        if (pWal->bShmUnreliable != '\0') {\n          iVar6 = 0x108;\n          goto LAB_000ab27c;\n        }\n      }\n      iVar6 = 0x108;\n      goto LAB_000ab06c;\n    }" if (parenthesized_expression "((pWal->bShmUnreliable == '\0') && ((pWal->readOnly & 2) != 0))" ( (binary_expression "(pWal->bShmUnreliable == '\0') && ((pWal->readOnly & 2) != 0)" (parenthesized_expression "(pWal->bShmUnreliable == '\0')" ( (binary_expression "pWal->bShmUnreliable == '\0'" (field_expression "pWal->bShmUnreliable" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "((pWal->readOnly & 2) != 0)" ( (binary_expression "(pWal->readOnly & 2) != 0" (parenthesized_expression "(pWal->readOnly & 2)" ( (binary_expression "pWal->readOnly & 2" (field_expression "pWal->readOnly" identifier -> field_identifier) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n      if (pWal->exclusiveMode == '\0') {\n        iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6538))(pWal->pDbFd,0);\n        if (iVar6 != 0) goto LAB_000ab2a0;\n        if (pWal->exclusiveMode == '\0') {\n          (*(code *)(PTR_LAB_00190ba8 + 0x654c))(pWal->pDbFd,0);\n        }\n        if (pWal->bShmUnreliable != '\0') {\n          iVar6 = 0x108;\n          goto LAB_000ab27c;\n        }\n      }\n      iVar6 = 0x108;\n      goto LAB_000ab06c;\n    }" { (if_statement "if (pWal->exclusiveMode == '\0') {\n        iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6538))(pWal->pDbFd,0);\n        if (iVar6 != 0) goto LAB_000ab2a0;\n        if (pWal->exclusiveMode == '\0') {\n          (*(code *)(PTR_LAB_00190ba8 + 0x654c))(pWal->pDbFd,0);\n        }\n        if (pWal->bShmUnreliable != '\0') {\n          iVar6 = 0x108;\n          goto LAB_000ab27c;\n        }\n      }" if (parenthesized_expression "(pWal->exclusiveMode == '\0')" ( (binary_expression "pWal->exclusiveMode == '\0'" (field_expression "pWal->exclusiveMode" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6538))(pWal->pDbFd,0);\n        if (iVar6 != 0) goto LAB_000ab2a0;\n        if (pWal->exclusiveMode == '\0') {\n          (*(code *)(PTR_LAB_00190ba8 + 0x654c))(pWal->pDbFd,0);\n        }\n        if (pWal->bShmUnreliable != '\0') {\n          iVar6 = 0x108;\n          goto LAB_000ab27c;\n        }\n      }" { (expression_statement "iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6538))(pWal->pDbFd,0);" (assignment_expression "iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6538))(pWal->pDbFd,0)" identifier = (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6538))(pWal->pDbFd,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6538))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x6538)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x6538)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x6538)" ( (binary_expression "PTR_LAB_00190ba8 + 0x6538" identifier + number_literal) )))) )) (argument_list "(pWal->pDbFd,0)" ( (field_expression "pWal->pDbFd" identifier -> field_identifier) , number_literal )))) ;) (if_statement "if (iVar6 != 0) goto LAB_000ab2a0;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000ab2a0;" goto statement_identifier ;)) (if_statement "if (pWal->exclusiveMode == '\0') {\n          (*(code *)(PTR_LAB_00190ba8 + 0x654c))(pWal->pDbFd,0);\n        }" if (parenthesized_expression "(pWal->exclusiveMode == '\0')" ( (binary_expression "pWal->exclusiveMode == '\0'" (field_expression "pWal->exclusiveMode" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          (*(code *)(PTR_LAB_00190ba8 + 0x654c))(pWal->pDbFd,0);\n        }" { (expression_statement "(*(code *)(PTR_LAB_00190ba8 + 0x654c))(pWal->pDbFd,0);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x654c))(pWal->pDbFd,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x654c))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x654c)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x654c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x654c)" ( (binary_expression "PTR_LAB_00190ba8 + 0x654c" identifier + number_literal) )))) )) (argument_list "(pWal->pDbFd,0)" ( (field_expression "pWal->pDbFd" identifier -> field_identifier) , number_literal ))) ;) })) (if_statement "if (pWal->bShmUnreliable != '\0') {\n          iVar6 = 0x108;\n          goto LAB_000ab27c;\n        }" if (parenthesized_expression "(pWal->bShmUnreliable != '\0')" ( (binary_expression "pWal->bShmUnreliable != '\0'" (field_expression "pWal->bShmUnreliable" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          iVar6 = 0x108;\n          goto LAB_000ab27c;\n        }" { (expression_statement "iVar6 = 0x108;" (assignment_expression "iVar6 = 0x108" identifier = number_literal) ;) (goto_statement "goto LAB_000ab27c;" goto statement_identifier ;) })) })) (expression_statement "iVar6 = 0x108;" (assignment_expression "iVar6 = 0x108" identifier = number_literal) ;) (goto_statement "goto LAB_000ab06c;" goto statement_identifier ;) })) (if_statement "if ((pWal->exclusiveMode != '\0') ||\n       (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(pWal->pDbFd,0,1), iVar6 == 0)) {\n      pWal->writeLock = '\x01';\n      iVar6 = walIndexPage(pWal,0,&page0);\n      if (iVar6 == 0) {\n        iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(pWal,pChanged);\n        if (iVar6 == 0) {\n          pWal->writeLock = '\0';\n          if (pWal->exclusiveMode == '\0') {\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,0,1);\n            uVar15 = (pWal->hdr).iVersion;\n          }\n          else {\n            uVar15 = (pWal->hdr).iVersion;\n          }\n          if (uVar15 == 0x2de218) {\n            iVar6 = 0;\n            if (pWal->bShmUnreliable != '\0') {\n              pWal->exclusiveMode = '\0';\n            }\n            goto LAB_000ab06c;\n          }\n          goto LAB_000ab244;\n        }\n        iVar7 = pWal->ckptLock + 1;\n        iVar17 = 3 - iVar7;\n        if (pWal->exclusiveMode == '\0') {\n          pcVar18 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar6 = (*pcVar18)(pWal->pDbFd,iVar7,iVar17);\n          if (iVar6 == 0) {\n            if ((pWal->exclusiveMode != '\0') || (iVar6 = (*pcVar18)(pWal->pDbFd,4,4), iVar6 == 0))\n            goto LAB_000ab3b8;\n            if (pWal->exclusiveMode == '\0') {\n              (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,iVar7,iVar17);\n            }\n          }\n        }\n        else {\nLAB_000ab3b8:\n          (*(code *)PTR_memset_00190d58)(&pWal->hdr,0,0x30);\n          iVar8 = (*pWal->pWalFd->pMethods->xFileSize)(pWal->pWalFd,&nSize);\n          iVar6 = iVar8;\n          if (iVar8 == 0) {\n            if (nSize._0_4_ < 1) {\n              uVar15 = 0;\n              if (nSize._0_4_ != 0) goto LAB_000ab598;\n              uVar19 = 0;\n              if (0x20 < nSize._4_4_) goto LAB_000ab414;\n            }\n            else {\nLAB_000ab414:\n              iVar6 = (*pWal->pWalFd->pMethods->xRead)(pWal->pWalFd,aBuf,0x20,0);\n              puVar3 = PTR_LAB_00190b40;\n              if (iVar6 != 0) goto LAB_000ab53c;\n              if ((((aBuf._0_4_ & 0xfffffffe) == 0x377f0682) && ((aBuf._8_4_ - 1 & aBuf._8_4_) == 0)\n                  ) && (aBuf._8_4_ - 0x200 < 0xfe01)) {\n                (pWal->hdr).bigEndCksum = (u8)(aBuf._0_4_ & 1);\n                pWal->szPage = aBuf._8_4_;\n                pWal->nCkpt = aBuf._12_4_;\n                puVar9 = (pWal->hdr).aSalt;\n                uVar16 = (uint)puVar9 & 3;\n                puVar2 = (uint *)((int)puVar9 - uVar16);\n                *puVar2 = *puVar2 & -1 << (4 - uVar16) * 8 | (uint)aBuf._16_4_ >> uVar16 * 8;\n                puVar1 = (undefined1 *)((int)(pWal->hdr).aSalt + 3);\n                uVar16 = (uint)puVar1 & 3;\n                puVar2 = (uint *)(puVar1 + -uVar16);\n                *puVar2 = *puVar2 & 0xffffffffU >> (uVar16 + 1) * 8 |\n                          aBuf._16_4_ << (3 - uVar16) * 8;\n                (pWal->hdr).aSalt[1] = aBuf._20_4_;\n                (*(code *)(puVar3 + 0xf88))(aBuf._0_4_ & 1,aBuf,0x18,0,(pWal->hdr).aFrameCksum);\n                if (((pWal->hdr).aFrameCksum[0] == aBuf._24_4_) &&\n                   ((pWal->hdr).aFrameCksum[1] == aBuf._28_4_)) {\n                  if (aBuf._4_4_ == 0x2de218) {\n                    iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n                    if (iVar6 == 0) {\n                      uVar16 = aBuf._8_4_ + 0x18;\n                      pvVar10 = (void *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar16 >> 0x1f)\n                      ;\n                      if (pvVar10 != (void *)0x0) {\n                        pcVar18 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n                        uVar15 = 0;\n                        uVar19 = 0;\n                        pcVar12 = (code *)(PTR_LAB_00190c2c + -0x5200);\n                        uStack_90 = 0;\n                        uVar11 = 0x20;\n                        iVar6 = 0;\n                        while( true ) {\n                          uVar13 = uVar16 + uVar11;\n                          iVar14 = (uint)(uVar13 < uVar16) + ((int)uVar16 >> 0x1f) + iVar6;\n                          if ((nSize._0_4_ < iVar14) ||\n                             ((nSize._0_4_ == iVar14 && (nSize._4_4_ < uVar13)))) break;\n                          uStack_90 = uStack_90 + 1;\n                          iVar6 = (*pWal->pWalFd->pMethods->xRead)\n                                            (pWal->pWalFd,pvVar10,uVar16,CONCAT44(iVar6,uVar11));\n                          if (iVar6 != 0) {\nLAB_000ab620:\n                            (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                            goto LAB_000ab53c;\n                          }\n                          iVar6 = (*pcVar18)(pWal,&pgno,&nTruncate,(int)pvVar10 + 0x18,pvVar10);\n                          if (iVar6 == 0) break;\n                          iVar6 = (*pcVar12)(pWal,uStack_90,pgno);\n                          if (iVar6 != 0) goto LAB_000ab620;\n                          uVar11 = uVar13;\n                          iVar6 = iVar14;\n                          if (nTruncate != 0) {\n                            uVar19 = (pWal->hdr).aFrameCksum[0];\n                            uVar15 = (pWal->hdr).aFrameCksum[1];\n                            (pWal->hdr).nPage = nTruncate;\n                            (pWal->hdr).mxFrame = uStack_90;\n                            (pWal->hdr).szPage = (ushort)aBuf._8_4_ & 0xff00 | SUB42(aBuf._8_4_,2);\n                          }\n                        }\n                        (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                        goto LAB_000ab59c;\n                      }\n                    }\n                    iVar6 = 7;\n                  }\n                  else {\n                    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                                PTR_LAB_00190958 + 0x625c);\n                    iVar6 = 0xe;\n                  }\n                  goto LAB_000ab53c;\n                }\n              }\nLAB_000ab598:\n              uVar15 = 0;\n              uVar19 = 0;\n            }\nLAB_000ab59c:\n            puVar3 = PTR_LAB_00190ba8;\n            (pWal->hdr).aFrameCksum[0] = uVar19;\n            (pWal->hdr).aFrameCksum[1] = uVar15;\n            (*(code *)(puVar3 + 0x6338))(pWal);\n            puVar9 = *pWal->apWiData;\n            puVar9[0x18] = 0;\n            puVar9[0x20] = (pWal->hdr).mxFrame;\n            puVar9[0x19] = 0;\n            puVar9[0x1a] = 0xffffffff;\n            puVar9[0x1b] = 0xffffffff;\n            puVar9[0x1c] = 0xffffffff;\n            puVar9[0x1d] = 0xffffffff;\n            uVar15 = (pWal->hdr).mxFrame;\n            if (uVar15 != 0) {\n              puVar9[0x1a] = uVar15;\n            }\n            iVar6 = iVar8;\n            if ((pWal->hdr).nPage != 0) {\n              sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                          (pWal->hdr).mxFrame,pWal->zWalName);\n            }\n          }\nLAB_000ab53c:\n          if (pWal->exclusiveMode == '\0') {\n            pcVar18 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n            (*pcVar18)(pWal->pDbFd,iVar7,iVar17);\n            if (pWal->exclusiveMode == '\0') {\n              (*pcVar18)(pWal->pDbFd,4,4);\n              *pChanged = 1;\n              goto LAB_000ab170;\n            }\n          }\n        }\n        *pChanged = 1;\n      }\nLAB_000ab170:\n      pWal->writeLock = '\0';\n      if (pWal->exclusiveMode == '\0') {\n        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,0,1);\n      }\n      goto LAB_000ab0f8;\n    }" if (parenthesized_expression "((pWal->exclusiveMode != '\0') ||\n       (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(pWal->pDbFd,0,1), iVar6 == 0))" ( (binary_expression "(pWal->exclusiveMode != '\0') ||\n       (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(pWal->pDbFd,0,1), iVar6 == 0)" (parenthesized_expression "(pWal->exclusiveMode != '\0')" ( (binary_expression "pWal->exclusiveMode != '\0'" (field_expression "pWal->exclusiveMode" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(pWal->pDbFd,0,1), iVar6 == 0)" ( (comma_expression "iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(pWal->pDbFd,0,1), iVar6 == 0" (assignment_expression "iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(pWal->pDbFd,0,1)" identifier = (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6560))(pWal->pDbFd,0,1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6560))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x6560)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x6560)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x6560)" ( (binary_expression "PTR_LAB_00190ba8 + 0x6560" identifier + number_literal) )))) )) (argument_list "(pWal->pDbFd,0,1)" ( (field_expression "pWal->pDbFd" identifier -> field_identifier) , number_literal , number_literal )))) , (binary_expression "iVar6 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      pWal->writeLock = '\x01';\n      iVar6 = walIndexPage(pWal,0,&page0);\n      if (iVar6 == 0) {\n        iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(pWal,pChanged);\n        if (iVar6 == 0) {\n          pWal->writeLock = '\0';\n          if (pWal->exclusiveMode == '\0') {\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,0,1);\n            uVar15 = (pWal->hdr).iVersion;\n          }\n          else {\n            uVar15 = (pWal->hdr).iVersion;\n          }\n          if (uVar15 == 0x2de218) {\n            iVar6 = 0;\n            if (pWal->bShmUnreliable != '\0') {\n              pWal->exclusiveMode = '\0';\n            }\n            goto LAB_000ab06c;\n          }\n          goto LAB_000ab244;\n        }\n        iVar7 = pWal->ckptLock + 1;\n        iVar17 = 3 - iVar7;\n        if (pWal->exclusiveMode == '\0') {\n          pcVar18 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar6 = (*pcVar18)(pWal->pDbFd,iVar7,iVar17);\n          if (iVar6 == 0) {\n            if ((pWal->exclusiveMode != '\0') || (iVar6 = (*pcVar18)(pWal->pDbFd,4,4), iVar6 == 0))\n            goto LAB_000ab3b8;\n            if (pWal->exclusiveMode == '\0') {\n              (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,iVar7,iVar17);\n            }\n          }\n        }\n        else {\nLAB_000ab3b8:\n          (*(code *)PTR_memset_00190d58)(&pWal->hdr,0,0x30);\n          iVar8 = (*pWal->pWalFd->pMethods->xFileSize)(pWal->pWalFd,&nSize);\n          iVar6 = iVar8;\n          if (iVar8 == 0) {\n            if (nSize._0_4_ < 1) {\n              uVar15 = 0;\n              if (nSize._0_4_ != 0) goto LAB_000ab598;\n              uVar19 = 0;\n              if (0x20 < nSize._4_4_) goto LAB_000ab414;\n            }\n            else {\nLAB_000ab414:\n              iVar6 = (*pWal->pWalFd->pMethods->xRead)(pWal->pWalFd,aBuf,0x20,0);\n              puVar3 = PTR_LAB_00190b40;\n              if (iVar6 != 0) goto LAB_000ab53c;\n              if ((((aBuf._0_4_ & 0xfffffffe) == 0x377f0682) && ((aBuf._8_4_ - 1 & aBuf._8_4_) == 0)\n                  ) && (aBuf._8_4_ - 0x200 < 0xfe01)) {\n                (pWal->hdr).bigEndCksum = (u8)(aBuf._0_4_ & 1);\n                pWal->szPage = aBuf._8_4_;\n                pWal->nCkpt = aBuf._12_4_;\n                puVar9 = (pWal->hdr).aSalt;\n                uVar16 = (uint)puVar9 & 3;\n                puVar2 = (uint *)((int)puVar9 - uVar16);\n                *puVar2 = *puVar2 & -1 << (4 - uVar16) * 8 | (uint)aBuf._16_4_ >> uVar16 * 8;\n                puVar1 = (undefined1 *)((int)(pWal->hdr).aSalt + 3);\n                uVar16 = (uint)puVar1 & 3;\n                puVar2 = (uint *)(puVar1 + -uVar16);\n                *puVar2 = *puVar2 & 0xffffffffU >> (uVar16 + 1) * 8 |\n                          aBuf._16_4_ << (3 - uVar16) * 8;\n                (pWal->hdr).aSalt[1] = aBuf._20_4_;\n                (*(code *)(puVar3 + 0xf88))(aBuf._0_4_ & 1,aBuf,0x18,0,(pWal->hdr).aFrameCksum);\n                if (((pWal->hdr).aFrameCksum[0] == aBuf._24_4_) &&\n                   ((pWal->hdr).aFrameCksum[1] == aBuf._28_4_)) {\n                  if (aBuf._4_4_ == 0x2de218) {\n                    iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n                    if (iVar6 == 0) {\n                      uVar16 = aBuf._8_4_ + 0x18;\n                      pvVar10 = (void *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar16 >> 0x1f)\n                      ;\n                      if (pvVar10 != (void *)0x0) {\n                        pcVar18 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n                        uVar15 = 0;\n                        uVar19 = 0;\n                        pcVar12 = (code *)(PTR_LAB_00190c2c + -0x5200);\n                        uStack_90 = 0;\n                        uVar11 = 0x20;\n                        iVar6 = 0;\n                        while( true ) {\n                          uVar13 = uVar16 + uVar11;\n                          iVar14 = (uint)(uVar13 < uVar16) + ((int)uVar16 >> 0x1f) + iVar6;\n                          if ((nSize._0_4_ < iVar14) ||\n                             ((nSize._0_4_ == iVar14 && (nSize._4_4_ < uVar13)))) break;\n                          uStack_90 = uStack_90 + 1;\n                          iVar6 = (*pWal->pWalFd->pMethods->xRead)\n                                            (pWal->pWalFd,pvVar10,uVar16,CONCAT44(iVar6,uVar11));\n                          if (iVar6 != 0) {\nLAB_000ab620:\n                            (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                            goto LAB_000ab53c;\n                          }\n                          iVar6 = (*pcVar18)(pWal,&pgno,&nTruncate,(int)pvVar10 + 0x18,pvVar10);\n                          if (iVar6 == 0) break;\n                          iVar6 = (*pcVar12)(pWal,uStack_90,pgno);\n                          if (iVar6 != 0) goto LAB_000ab620;\n                          uVar11 = uVar13;\n                          iVar6 = iVar14;\n                          if (nTruncate != 0) {\n                            uVar19 = (pWal->hdr).aFrameCksum[0];\n                            uVar15 = (pWal->hdr).aFrameCksum[1];\n                            (pWal->hdr).nPage = nTruncate;\n                            (pWal->hdr).mxFrame = uStack_90;\n                            (pWal->hdr).szPage = (ushort)aBuf._8_4_ & 0xff00 | SUB42(aBuf._8_4_,2);\n                          }\n                        }\n                        (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                        goto LAB_000ab59c;\n                      }\n                    }\n                    iVar6 = 7;\n                  }\n                  else {\n                    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                                PTR_LAB_00190958 + 0x625c);\n                    iVar6 = 0xe;\n                  }\n                  goto LAB_000ab53c;\n                }\n              }\nLAB_000ab598:\n              uVar15 = 0;\n              uVar19 = 0;\n            }\nLAB_000ab59c:\n            puVar3 = PTR_LAB_00190ba8;\n            (pWal->hdr).aFrameCksum[0] = uVar19;\n            (pWal->hdr).aFrameCksum[1] = uVar15;\n            (*(code *)(puVar3 + 0x6338))(pWal);\n            puVar9 = *pWal->apWiData;\n            puVar9[0x18] = 0;\n            puVar9[0x20] = (pWal->hdr).mxFrame;\n            puVar9[0x19] = 0;\n            puVar9[0x1a] = 0xffffffff;\n            puVar9[0x1b] = 0xffffffff;\n            puVar9[0x1c] = 0xffffffff;\n            puVar9[0x1d] = 0xffffffff;\n            uVar15 = (pWal->hdr).mxFrame;\n            if (uVar15 != 0) {\n              puVar9[0x1a] = uVar15;\n            }\n            iVar6 = iVar8;\n            if ((pWal->hdr).nPage != 0) {\n              sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                          (pWal->hdr).mxFrame,pWal->zWalName);\n            }\n          }\nLAB_000ab53c:\n          if (pWal->exclusiveMode == '\0') {\n            pcVar18 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n            (*pcVar18)(pWal->pDbFd,iVar7,iVar17);\n            if (pWal->exclusiveMode == '\0') {\n              (*pcVar18)(pWal->pDbFd,4,4);\n              *pChanged = 1;\n              goto LAB_000ab170;\n            }\n          }\n        }\n        *pChanged = 1;\n      }\nLAB_000ab170:\n      pWal->writeLock = '\0';\n      if (pWal->exclusiveMode == '\0') {\n        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,0,1);\n      }\n      goto LAB_000ab0f8;\n    }" { (expression_statement "pWal->writeLock = '\x01';" (assignment_expression "pWal->writeLock = '\x01'" (field_expression "pWal->writeLock" identifier -> field_identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "iVar6 = walIndexPage(pWal,0,&page0);" (assignment_expression "iVar6 = walIndexPage(pWal,0,&page0)" identifier = (call_expression "walIndexPage(pWal,0,&page0)" identifier (argument_list "(pWal,0,&page0)" ( identifier , number_literal , (pointer_expression "&page0" & identifier) )))) ;) (if_statement "if (iVar6 == 0) {\n        iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(pWal,pChanged);\n        if (iVar6 == 0) {\n          pWal->writeLock = '\0';\n          if (pWal->exclusiveMode == '\0') {\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,0,1);\n            uVar15 = (pWal->hdr).iVersion;\n          }\n          else {\n            uVar15 = (pWal->hdr).iVersion;\n          }\n          if (uVar15 == 0x2de218) {\n            iVar6 = 0;\n            if (pWal->bShmUnreliable != '\0') {\n              pWal->exclusiveMode = '\0';\n            }\n            goto LAB_000ab06c;\n          }\n          goto LAB_000ab244;\n        }\n        iVar7 = pWal->ckptLock + 1;\n        iVar17 = 3 - iVar7;\n        if (pWal->exclusiveMode == '\0') {\n          pcVar18 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar6 = (*pcVar18)(pWal->pDbFd,iVar7,iVar17);\n          if (iVar6 == 0) {\n            if ((pWal->exclusiveMode != '\0') || (iVar6 = (*pcVar18)(pWal->pDbFd,4,4), iVar6 == 0))\n            goto LAB_000ab3b8;\n            if (pWal->exclusiveMode == '\0') {\n              (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,iVar7,iVar17);\n            }\n          }\n        }\n        else {\nLAB_000ab3b8:\n          (*(code *)PTR_memset_00190d58)(&pWal->hdr,0,0x30);\n          iVar8 = (*pWal->pWalFd->pMethods->xFileSize)(pWal->pWalFd,&nSize);\n          iVar6 = iVar8;\n          if (iVar8 == 0) {\n            if (nSize._0_4_ < 1) {\n              uVar15 = 0;\n              if (nSize._0_4_ != 0) goto LAB_000ab598;\n              uVar19 = 0;\n              if (0x20 < nSize._4_4_) goto LAB_000ab414;\n            }\n            else {\nLAB_000ab414:\n              iVar6 = (*pWal->pWalFd->pMethods->xRead)(pWal->pWalFd,aBuf,0x20,0);\n              puVar3 = PTR_LAB_00190b40;\n              if (iVar6 != 0) goto LAB_000ab53c;\n              if ((((aBuf._0_4_ & 0xfffffffe) == 0x377f0682) && ((aBuf._8_4_ - 1 & aBuf._8_4_) == 0)\n                  ) && (aBuf._8_4_ - 0x200 < 0xfe01)) {\n                (pWal->hdr).bigEndCksum = (u8)(aBuf._0_4_ & 1);\n                pWal->szPage = aBuf._8_4_;\n                pWal->nCkpt = aBuf._12_4_;\n                puVar9 = (pWal->hdr).aSalt;\n                uVar16 = (uint)puVar9 & 3;\n                puVar2 = (uint *)((int)puVar9 - uVar16);\n                *puVar2 = *puVar2 & -1 << (4 - uVar16) * 8 | (uint)aBuf._16_4_ >> uVar16 * 8;\n                puVar1 = (undefined1 *)((int)(pWal->hdr).aSalt + 3);\n                uVar16 = (uint)puVar1 & 3;\n                puVar2 = (uint *)(puVar1 + -uVar16);\n                *puVar2 = *puVar2 & 0xffffffffU >> (uVar16 + 1) * 8 |\n                          aBuf._16_4_ << (3 - uVar16) * 8;\n                (pWal->hdr).aSalt[1] = aBuf._20_4_;\n                (*(code *)(puVar3 + 0xf88))(aBuf._0_4_ & 1,aBuf,0x18,0,(pWal->hdr).aFrameCksum);\n                if (((pWal->hdr).aFrameCksum[0] == aBuf._24_4_) &&\n                   ((pWal->hdr).aFrameCksum[1] == aBuf._28_4_)) {\n                  if (aBuf._4_4_ == 0x2de218) {\n                    iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n                    if (iVar6 == 0) {\n                      uVar16 = aBuf._8_4_ + 0x18;\n                      pvVar10 = (void *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar16 >> 0x1f)\n                      ;\n                      if (pvVar10 != (void *)0x0) {\n                        pcVar18 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n                        uVar15 = 0;\n                        uVar19 = 0;\n                        pcVar12 = (code *)(PTR_LAB_00190c2c + -0x5200);\n                        uStack_90 = 0;\n                        uVar11 = 0x20;\n                        iVar6 = 0;\n                        while( true ) {\n                          uVar13 = uVar16 + uVar11;\n                          iVar14 = (uint)(uVar13 < uVar16) + ((int)uVar16 >> 0x1f) + iVar6;\n                          if ((nSize._0_4_ < iVar14) ||\n                             ((nSize._0_4_ == iVar14 && (nSize._4_4_ < uVar13)))) break;\n                          uStack_90 = uStack_90 + 1;\n                          iVar6 = (*pWal->pWalFd->pMethods->xRead)\n                                            (pWal->pWalFd,pvVar10,uVar16,CONCAT44(iVar6,uVar11));\n                          if (iVar6 != 0) {\nLAB_000ab620:\n                            (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                            goto LAB_000ab53c;\n                          }\n                          iVar6 = (*pcVar18)(pWal,&pgno,&nTruncate,(int)pvVar10 + 0x18,pvVar10);\n                          if (iVar6 == 0) break;\n                          iVar6 = (*pcVar12)(pWal,uStack_90,pgno);\n                          if (iVar6 != 0) goto LAB_000ab620;\n                          uVar11 = uVar13;\n                          iVar6 = iVar14;\n                          if (nTruncate != 0) {\n                            uVar19 = (pWal->hdr).aFrameCksum[0];\n                            uVar15 = (pWal->hdr).aFrameCksum[1];\n                            (pWal->hdr).nPage = nTruncate;\n                            (pWal->hdr).mxFrame = uStack_90;\n                            (pWal->hdr).szPage = (ushort)aBuf._8_4_ & 0xff00 | SUB42(aBuf._8_4_,2);\n                          }\n                        }\n                        (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                        goto LAB_000ab59c;\n                      }\n                    }\n                    iVar6 = 7;\n                  }\n                  else {\n                    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                                PTR_LAB_00190958 + 0x625c);\n                    iVar6 = 0xe;\n                  }\n                  goto LAB_000ab53c;\n                }\n              }\nLAB_000ab598:\n              uVar15 = 0;\n              uVar19 = 0;\n            }\nLAB_000ab59c:\n            puVar3 = PTR_LAB_00190ba8;\n            (pWal->hdr).aFrameCksum[0] = uVar19;\n            (pWal->hdr).aFrameCksum[1] = uVar15;\n            (*(code *)(puVar3 + 0x6338))(pWal);\n            puVar9 = *pWal->apWiData;\n            puVar9[0x18] = 0;\n            puVar9[0x20] = (pWal->hdr).mxFrame;\n            puVar9[0x19] = 0;\n            puVar9[0x1a] = 0xffffffff;\n            puVar9[0x1b] = 0xffffffff;\n            puVar9[0x1c] = 0xffffffff;\n            puVar9[0x1d] = 0xffffffff;\n            uVar15 = (pWal->hdr).mxFrame;\n            if (uVar15 != 0) {\n              puVar9[0x1a] = uVar15;\n            }\n            iVar6 = iVar8;\n            if ((pWal->hdr).nPage != 0) {\n              sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                          (pWal->hdr).mxFrame,pWal->zWalName);\n            }\n          }\nLAB_000ab53c:\n          if (pWal->exclusiveMode == '\0') {\n            pcVar18 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n            (*pcVar18)(pWal->pDbFd,iVar7,iVar17);\n            if (pWal->exclusiveMode == '\0') {\n              (*pcVar18)(pWal->pDbFd,4,4);\n              *pChanged = 1;\n              goto LAB_000ab170;\n            }\n          }\n        }\n        *pChanged = 1;\n      }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(pWal,pChanged);\n        if (iVar6 == 0) {\n          pWal->writeLock = '\0';\n          if (pWal->exclusiveMode == '\0') {\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,0,1);\n            uVar15 = (pWal->hdr).iVersion;\n          }\n          else {\n            uVar15 = (pWal->hdr).iVersion;\n          }\n          if (uVar15 == 0x2de218) {\n            iVar6 = 0;\n            if (pWal->bShmUnreliable != '\0') {\n              pWal->exclusiveMode = '\0';\n            }\n            goto LAB_000ab06c;\n          }\n          goto LAB_000ab244;\n        }\n        iVar7 = pWal->ckptLock + 1;\n        iVar17 = 3 - iVar7;\n        if (pWal->exclusiveMode == '\0') {\n          pcVar18 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar6 = (*pcVar18)(pWal->pDbFd,iVar7,iVar17);\n          if (iVar6 == 0) {\n            if ((pWal->exclusiveMode != '\0') || (iVar6 = (*pcVar18)(pWal->pDbFd,4,4), iVar6 == 0))\n            goto LAB_000ab3b8;\n            if (pWal->exclusiveMode == '\0') {\n              (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,iVar7,iVar17);\n            }\n          }\n        }\n        else {\nLAB_000ab3b8:\n          (*(code *)PTR_memset_00190d58)(&pWal->hdr,0,0x30);\n          iVar8 = (*pWal->pWalFd->pMethods->xFileSize)(pWal->pWalFd,&nSize);\n          iVar6 = iVar8;\n          if (iVar8 == 0) {\n            if (nSize._0_4_ < 1) {\n              uVar15 = 0;\n              if (nSize._0_4_ != 0) goto LAB_000ab598;\n              uVar19 = 0;\n              if (0x20 < nSize._4_4_) goto LAB_000ab414;\n            }\n            else {\nLAB_000ab414:\n              iVar6 = (*pWal->pWalFd->pMethods->xRead)(pWal->pWalFd,aBuf,0x20,0);\n              puVar3 = PTR_LAB_00190b40;\n              if (iVar6 != 0) goto LAB_000ab53c;\n              if ((((aBuf._0_4_ & 0xfffffffe) == 0x377f0682) && ((aBuf._8_4_ - 1 & aBuf._8_4_) == 0)\n                  ) && (aBuf._8_4_ - 0x200 < 0xfe01)) {\n                (pWal->hdr).bigEndCksum = (u8)(aBuf._0_4_ & 1);\n                pWal->szPage = aBuf._8_4_;\n                pWal->nCkpt = aBuf._12_4_;\n                puVar9 = (pWal->hdr).aSalt;\n                uVar16 = (uint)puVar9 & 3;\n                puVar2 = (uint *)((int)puVar9 - uVar16);\n                *puVar2 = *puVar2 & -1 << (4 - uVar16) * 8 | (uint)aBuf._16_4_ >> uVar16 * 8;\n                puVar1 = (undefined1 *)((int)(pWal->hdr).aSalt + 3);\n                uVar16 = (uint)puVar1 & 3;\n                puVar2 = (uint *)(puVar1 + -uVar16);\n                *puVar2 = *puVar2 & 0xffffffffU >> (uVar16 + 1) * 8 |\n                          aBuf._16_4_ << (3 - uVar16) * 8;\n                (pWal->hdr).aSalt[1] = aBuf._20_4_;\n                (*(code *)(puVar3 + 0xf88))(aBuf._0_4_ & 1,aBuf,0x18,0,(pWal->hdr).aFrameCksum);\n                if (((pWal->hdr).aFrameCksum[0] == aBuf._24_4_) &&\n                   ((pWal->hdr).aFrameCksum[1] == aBuf._28_4_)) {\n                  if (aBuf._4_4_ == 0x2de218) {\n                    iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n                    if (iVar6 == 0) {\n                      uVar16 = aBuf._8_4_ + 0x18;\n                      pvVar10 = (void *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar16 >> 0x1f)\n                      ;\n                      if (pvVar10 != (void *)0x0) {\n                        pcVar18 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n                        uVar15 = 0;\n                        uVar19 = 0;\n                        pcVar12 = (code *)(PTR_LAB_00190c2c + -0x5200);\n                        uStack_90 = 0;\n                        uVar11 = 0x20;\n                        iVar6 = 0;\n                        while( true ) {\n                          uVar13 = uVar16 + uVar11;\n                          iVar14 = (uint)(uVar13 < uVar16) + ((int)uVar16 >> 0x1f) + iVar6;\n                          if ((nSize._0_4_ < iVar14) ||\n                             ((nSize._0_4_ == iVar14 && (nSize._4_4_ < uVar13)))) break;\n                          uStack_90 = uStack_90 + 1;\n                          iVar6 = (*pWal->pWalFd->pMethods->xRead)\n                                            (pWal->pWalFd,pvVar10,uVar16,CONCAT44(iVar6,uVar11));\n                          if (iVar6 != 0) {\nLAB_000ab620:\n                            (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                            goto LAB_000ab53c;\n                          }\n                          iVar6 = (*pcVar18)(pWal,&pgno,&nTruncate,(int)pvVar10 + 0x18,pvVar10);\n                          if (iVar6 == 0) break;\n                          iVar6 = (*pcVar12)(pWal,uStack_90,pgno);\n                          if (iVar6 != 0) goto LAB_000ab620;\n                          uVar11 = uVar13;\n                          iVar6 = iVar14;\n                          if (nTruncate != 0) {\n                            uVar19 = (pWal->hdr).aFrameCksum[0];\n                            uVar15 = (pWal->hdr).aFrameCksum[1];\n                            (pWal->hdr).nPage = nTruncate;\n                            (pWal->hdr).mxFrame = uStack_90;\n                            (pWal->hdr).szPage = (ushort)aBuf._8_4_ & 0xff00 | SUB42(aBuf._8_4_,2);\n                          }\n                        }\n                        (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                        goto LAB_000ab59c;\n                      }\n                    }\n                    iVar6 = 7;\n                  }\n                  else {\n                    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                                PTR_LAB_00190958 + 0x625c);\n                    iVar6 = 0xe;\n                  }\n                  goto LAB_000ab53c;\n                }\n              }\nLAB_000ab598:\n              uVar15 = 0;\n              uVar19 = 0;\n            }\nLAB_000ab59c:\n            puVar3 = PTR_LAB_00190ba8;\n            (pWal->hdr).aFrameCksum[0] = uVar19;\n            (pWal->hdr).aFrameCksum[1] = uVar15;\n            (*(code *)(puVar3 + 0x6338))(pWal);\n            puVar9 = *pWal->apWiData;\n            puVar9[0x18] = 0;\n            puVar9[0x20] = (pWal->hdr).mxFrame;\n            puVar9[0x19] = 0;\n            puVar9[0x1a] = 0xffffffff;\n            puVar9[0x1b] = 0xffffffff;\n            puVar9[0x1c] = 0xffffffff;\n            puVar9[0x1d] = 0xffffffff;\n            uVar15 = (pWal->hdr).mxFrame;\n            if (uVar15 != 0) {\n              puVar9[0x1a] = uVar15;\n            }\n            iVar6 = iVar8;\n            if ((pWal->hdr).nPage != 0) {\n              sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                          (pWal->hdr).mxFrame,pWal->zWalName);\n            }\n          }\nLAB_000ab53c:\n          if (pWal->exclusiveMode == '\0') {\n            pcVar18 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n            (*pcVar18)(pWal->pDbFd,iVar7,iVar17);\n            if (pWal->exclusiveMode == '\0') {\n              (*pcVar18)(pWal->pDbFd,4,4);\n              *pChanged = 1;\n              goto LAB_000ab170;\n            }\n          }\n        }\n        *pChanged = 1;\n      }" { (expression_statement "iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(pWal,pChanged);" (assignment_expression "iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(pWal,pChanged)" identifier = (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x7394))(pWal,pChanged)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x7394))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x7394)" * (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x7394)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x7394)" ( (binary_expression "PTR_LAB_00190ba4 + -0x7394" identifier + number_literal) )))) )) (argument_list "(pWal,pChanged)" ( identifier , identifier )))) ;) (if_statement "if (iVar6 == 0) {\n          pWal->writeLock = '\0';\n          if (pWal->exclusiveMode == '\0') {\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,0,1);\n            uVar15 = (pWal->hdr).iVersion;\n          }\n          else {\n            uVar15 = (pWal->hdr).iVersion;\n          }\n          if (uVar15 == 0x2de218) {\n            iVar6 = 0;\n            if (pWal->bShmUnreliable != '\0') {\n              pWal->exclusiveMode = '\0';\n            }\n            goto LAB_000ab06c;\n          }\n          goto LAB_000ab244;\n        }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n          pWal->writeLock = '\0';\n          if (pWal->exclusiveMode == '\0') {\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,0,1);\n            uVar15 = (pWal->hdr).iVersion;\n          }\n          else {\n            uVar15 = (pWal->hdr).iVersion;\n          }\n          if (uVar15 == 0x2de218) {\n            iVar6 = 0;\n            if (pWal->bShmUnreliable != '\0') {\n              pWal->exclusiveMode = '\0';\n            }\n            goto LAB_000ab06c;\n          }\n          goto LAB_000ab244;\n        }" { (expression_statement "pWal->writeLock = '\0';" (assignment_expression "pWal->writeLock = '\0'" (field_expression "pWal->writeLock" identifier -> field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (pWal->exclusiveMode == '\0') {\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,0,1);\n            uVar15 = (pWal->hdr).iVersion;\n          }\n          else {\n            uVar15 = (pWal->hdr).iVersion;\n          }" if (parenthesized_expression "(pWal->exclusiveMode == '\0')" ( (binary_expression "pWal->exclusiveMode == '\0'" (field_expression "pWal->exclusiveMode" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,0,1);\n            uVar15 = (pWal->hdr).iVersion;\n          }" { (expression_statement "(*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,0,1);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,0,1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6640))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x6640)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x6640)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x6640)" ( (binary_expression "PTR_LAB_00190ba8 + 0x6640" identifier + number_literal) )))) )) (argument_list "(pWal->pDbFd,0,1)" ( (field_expression "pWal->pDbFd" identifier -> field_identifier) , number_literal , number_literal ))) ;) (expression_statement "uVar15 = (pWal->hdr).iVersion;" (assignment_expression "uVar15 = (pWal->hdr).iVersion" identifier = (field_expression "(pWal->hdr).iVersion" (parenthesized_expression "(pWal->hdr)" ( (field_expression "pWal->hdr" identifier -> field_identifier) )) . field_identifier)) ;) }) (else_clause "else {\n            uVar15 = (pWal->hdr).iVersion;\n          }" else (compound_statement "{\n            uVar15 = (pWal->hdr).iVersion;\n          }" { (expression_statement "uVar15 = (pWal->hdr).iVersion;" (assignment_expression "uVar15 = (pWal->hdr).iVersion" identifier = (field_expression "(pWal->hdr).iVersion" (parenthesized_expression "(pWal->hdr)" ( (field_expression "pWal->hdr" identifier -> field_identifier) )) . field_identifier)) ;) }))) (if_statement "if (uVar15 == 0x2de218) {\n            iVar6 = 0;\n            if (pWal->bShmUnreliable != '\0') {\n              pWal->exclusiveMode = '\0';\n            }\n            goto LAB_000ab06c;\n          }" if (parenthesized_expression "(uVar15 == 0x2de218)" ( (binary_expression "uVar15 == 0x2de218" identifier == number_literal) )) (compound_statement "{\n            iVar6 = 0;\n            if (pWal->bShmUnreliable != '\0') {\n              pWal->exclusiveMode = '\0';\n            }\n            goto LAB_000ab06c;\n          }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (if_statement "if (pWal->bShmUnreliable != '\0') {\n              pWal->exclusiveMode = '\0';\n            }" if (parenthesized_expression "(pWal->bShmUnreliable != '\0')" ( (binary_expression "pWal->bShmUnreliable != '\0'" (field_expression "pWal->bShmUnreliable" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              pWal->exclusiveMode = '\0';\n            }" { (expression_statement "pWal->exclusiveMode = '\0';" (assignment_expression "pWal->exclusiveMode = '\0'" (field_expression "pWal->exclusiveMode" identifier -> field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) })) (goto_statement "goto LAB_000ab06c;" goto statement_identifier ;) })) (goto_statement "goto LAB_000ab244;" goto statement_identifier ;) })) (expression_statement "iVar7 = pWal->ckptLock + 1;" (assignment_expression "iVar7 = pWal->ckptLock + 1" identifier = (binary_expression "pWal->ckptLock + 1" (field_expression "pWal->ckptLock" identifier -> field_identifier) + number_literal)) ;) (expression_statement "iVar17 = 3 - iVar7;" (assignment_expression "iVar17 = 3 - iVar7" identifier = (binary_expression "3 - iVar7" number_literal - identifier)) ;) (if_statement "if (pWal->exclusiveMode == '\0') {\n          pcVar18 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar6 = (*pcVar18)(pWal->pDbFd,iVar7,iVar17);\n          if (iVar6 == 0) {\n            if ((pWal->exclusiveMode != '\0') || (iVar6 = (*pcVar18)(pWal->pDbFd,4,4), iVar6 == 0))\n            goto LAB_000ab3b8;\n            if (pWal->exclusiveMode == '\0') {\n              (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,iVar7,iVar17);\n            }\n          }\n        }\n        else {\nLAB_000ab3b8:\n          (*(code *)PTR_memset_00190d58)(&pWal->hdr,0,0x30);\n          iVar8 = (*pWal->pWalFd->pMethods->xFileSize)(pWal->pWalFd,&nSize);\n          iVar6 = iVar8;\n          if (iVar8 == 0) {\n            if (nSize._0_4_ < 1) {\n              uVar15 = 0;\n              if (nSize._0_4_ != 0) goto LAB_000ab598;\n              uVar19 = 0;\n              if (0x20 < nSize._4_4_) goto LAB_000ab414;\n            }\n            else {\nLAB_000ab414:\n              iVar6 = (*pWal->pWalFd->pMethods->xRead)(pWal->pWalFd,aBuf,0x20,0);\n              puVar3 = PTR_LAB_00190b40;\n              if (iVar6 != 0) goto LAB_000ab53c;\n              if ((((aBuf._0_4_ & 0xfffffffe) == 0x377f0682) && ((aBuf._8_4_ - 1 & aBuf._8_4_) == 0)\n                  ) && (aBuf._8_4_ - 0x200 < 0xfe01)) {\n                (pWal->hdr).bigEndCksum = (u8)(aBuf._0_4_ & 1);\n                pWal->szPage = aBuf._8_4_;\n                pWal->nCkpt = aBuf._12_4_;\n                puVar9 = (pWal->hdr).aSalt;\n                uVar16 = (uint)puVar9 & 3;\n                puVar2 = (uint *)((int)puVar9 - uVar16);\n                *puVar2 = *puVar2 & -1 << (4 - uVar16) * 8 | (uint)aBuf._16_4_ >> uVar16 * 8;\n                puVar1 = (undefined1 *)((int)(pWal->hdr).aSalt + 3);\n                uVar16 = (uint)puVar1 & 3;\n                puVar2 = (uint *)(puVar1 + -uVar16);\n                *puVar2 = *puVar2 & 0xffffffffU >> (uVar16 + 1) * 8 |\n                          aBuf._16_4_ << (3 - uVar16) * 8;\n                (pWal->hdr).aSalt[1] = aBuf._20_4_;\n                (*(code *)(puVar3 + 0xf88))(aBuf._0_4_ & 1,aBuf,0x18,0,(pWal->hdr).aFrameCksum);\n                if (((pWal->hdr).aFrameCksum[0] == aBuf._24_4_) &&\n                   ((pWal->hdr).aFrameCksum[1] == aBuf._28_4_)) {\n                  if (aBuf._4_4_ == 0x2de218) {\n                    iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n                    if (iVar6 == 0) {\n                      uVar16 = aBuf._8_4_ + 0x18;\n                      pvVar10 = (void *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar16 >> 0x1f)\n                      ;\n                      if (pvVar10 != (void *)0x0) {\n                        pcVar18 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n                        uVar15 = 0;\n                        uVar19 = 0;\n                        pcVar12 = (code *)(PTR_LAB_00190c2c + -0x5200);\n                        uStack_90 = 0;\n                        uVar11 = 0x20;\n                        iVar6 = 0;\n                        while( true ) {\n                          uVar13 = uVar16 + uVar11;\n                          iVar14 = (uint)(uVar13 < uVar16) + ((int)uVar16 >> 0x1f) + iVar6;\n                          if ((nSize._0_4_ < iVar14) ||\n                             ((nSize._0_4_ == iVar14 && (nSize._4_4_ < uVar13)))) break;\n                          uStack_90 = uStack_90 + 1;\n                          iVar6 = (*pWal->pWalFd->pMethods->xRead)\n                                            (pWal->pWalFd,pvVar10,uVar16,CONCAT44(iVar6,uVar11));\n                          if (iVar6 != 0) {\nLAB_000ab620:\n                            (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                            goto LAB_000ab53c;\n                          }\n                          iVar6 = (*pcVar18)(pWal,&pgno,&nTruncate,(int)pvVar10 + 0x18,pvVar10);\n                          if (iVar6 == 0) break;\n                          iVar6 = (*pcVar12)(pWal,uStack_90,pgno);\n                          if (iVar6 != 0) goto LAB_000ab620;\n                          uVar11 = uVar13;\n                          iVar6 = iVar14;\n                          if (nTruncate != 0) {\n                            uVar19 = (pWal->hdr).aFrameCksum[0];\n                            uVar15 = (pWal->hdr).aFrameCksum[1];\n                            (pWal->hdr).nPage = nTruncate;\n                            (pWal->hdr).mxFrame = uStack_90;\n                            (pWal->hdr).szPage = (ushort)aBuf._8_4_ & 0xff00 | SUB42(aBuf._8_4_,2);\n                          }\n                        }\n                        (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                        goto LAB_000ab59c;\n                      }\n                    }\n                    iVar6 = 7;\n                  }\n                  else {\n                    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                                PTR_LAB_00190958 + 0x625c);\n                    iVar6 = 0xe;\n                  }\n                  goto LAB_000ab53c;\n                }\n              }\nLAB_000ab598:\n              uVar15 = 0;\n              uVar19 = 0;\n            }\nLAB_000ab59c:\n            puVar3 = PTR_LAB_00190ba8;\n            (pWal->hdr).aFrameCksum[0] = uVar19;\n            (pWal->hdr).aFrameCksum[1] = uVar15;\n            (*(code *)(puVar3 + 0x6338))(pWal);\n            puVar9 = *pWal->apWiData;\n            puVar9[0x18] = 0;\n            puVar9[0x20] = (pWal->hdr).mxFrame;\n            puVar9[0x19] = 0;\n            puVar9[0x1a] = 0xffffffff;\n            puVar9[0x1b] = 0xffffffff;\n            puVar9[0x1c] = 0xffffffff;\n            puVar9[0x1d] = 0xffffffff;\n            uVar15 = (pWal->hdr).mxFrame;\n            if (uVar15 != 0) {\n              puVar9[0x1a] = uVar15;\n            }\n            iVar6 = iVar8;\n            if ((pWal->hdr).nPage != 0) {\n              sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                          (pWal->hdr).mxFrame,pWal->zWalName);\n            }\n          }\nLAB_000ab53c:\n          if (pWal->exclusiveMode == '\0') {\n            pcVar18 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n            (*pcVar18)(pWal->pDbFd,iVar7,iVar17);\n            if (pWal->exclusiveMode == '\0') {\n              (*pcVar18)(pWal->pDbFd,4,4);\n              *pChanged = 1;\n              goto LAB_000ab170;\n            }\n          }\n        }" if (parenthesized_expression "(pWal->exclusiveMode == '\0')" ( (binary_expression "pWal->exclusiveMode == '\0'" (field_expression "pWal->exclusiveMode" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          pcVar18 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar6 = (*pcVar18)(pWal->pDbFd,iVar7,iVar17);\n          if (iVar6 == 0) {\n            if ((pWal->exclusiveMode != '\0') || (iVar6 = (*pcVar18)(pWal->pDbFd,4,4), iVar6 == 0))\n            goto LAB_000ab3b8;\n            if (pWal->exclusiveMode == '\0') {\n              (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,iVar7,iVar17);\n            }\n          }\n        }" { (expression_statement "pcVar18 = (code *)(PTR_LAB_00190ba8 + 0x6560);" (assignment_expression "pcVar18 = (code *)(PTR_LAB_00190ba8 + 0x6560)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x6560)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x6560)" ( (binary_expression "PTR_LAB_00190ba8 + 0x6560" identifier + number_literal) )))) ;) (expression_statement "iVar6 = (*pcVar18)(pWal->pDbFd,iVar7,iVar17);" (assignment_expression "iVar6 = (*pcVar18)(pWal->pDbFd,iVar7,iVar17)" identifier = (call_expression "(*pcVar18)(pWal->pDbFd,iVar7,iVar17)" (parenthesized_expression "(*pcVar18)" ( (pointer_expression "*pcVar18" * identifier) )) (argument_list "(pWal->pDbFd,iVar7,iVar17)" ( (field_expression "pWal->pDbFd" identifier -> field_identifier) , identifier , identifier )))) ;) (if_statement "if (iVar6 == 0) {\n            if ((pWal->exclusiveMode != '\0') || (iVar6 = (*pcVar18)(pWal->pDbFd,4,4), iVar6 == 0))\n            goto LAB_000ab3b8;\n            if (pWal->exclusiveMode == '\0') {\n              (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,iVar7,iVar17);\n            }\n          }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n            if ((pWal->exclusiveMode != '\0') || (iVar6 = (*pcVar18)(pWal->pDbFd,4,4), iVar6 == 0))\n            goto LAB_000ab3b8;\n            if (pWal->exclusiveMode == '\0') {\n              (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,iVar7,iVar17);\n            }\n          }" { (if_statement "if ((pWal->exclusiveMode != '\0') || (iVar6 = (*pcVar18)(pWal->pDbFd,4,4), iVar6 == 0))\n            goto LAB_000ab3b8;" if (parenthesized_expression "((pWal->exclusiveMode != '\0') || (iVar6 = (*pcVar18)(pWal->pDbFd,4,4), iVar6 == 0))" ( (binary_expression "(pWal->exclusiveMode != '\0') || (iVar6 = (*pcVar18)(pWal->pDbFd,4,4), iVar6 == 0)" (parenthesized_expression "(pWal->exclusiveMode != '\0')" ( (binary_expression "pWal->exclusiveMode != '\0'" (field_expression "pWal->exclusiveMode" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(iVar6 = (*pcVar18)(pWal->pDbFd,4,4), iVar6 == 0)" ( (comma_expression "iVar6 = (*pcVar18)(pWal->pDbFd,4,4), iVar6 == 0" (assignment_expression "iVar6 = (*pcVar18)(pWal->pDbFd,4,4)" identifier = (call_expression "(*pcVar18)(pWal->pDbFd,4,4)" (parenthesized_expression "(*pcVar18)" ( (pointer_expression "*pcVar18" * identifier) )) (argument_list "(pWal->pDbFd,4,4)" ( (field_expression "pWal->pDbFd" identifier -> field_identifier) , number_literal , number_literal )))) , (binary_expression "iVar6 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_000ab3b8;" goto statement_identifier ;)) (if_statement "if (pWal->exclusiveMode == '\0') {\n              (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,iVar7,iVar17);\n            }" if (parenthesized_expression "(pWal->exclusiveMode == '\0')" ( (binary_expression "pWal->exclusiveMode == '\0'" (field_expression "pWal->exclusiveMode" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,iVar7,iVar17);\n            }" { (expression_statement "(*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,iVar7,iVar17);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,iVar7,iVar17)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6640))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x6640)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x6640)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x6640)" ( (binary_expression "PTR_LAB_00190ba8 + 0x6640" identifier + number_literal) )))) )) (argument_list "(pWal->pDbFd,iVar7,iVar17)" ( (field_expression "pWal->pDbFd" identifier -> field_identifier) , identifier , identifier ))) ;) })) })) }) (else_clause "else {\nLAB_000ab3b8:\n          (*(code *)PTR_memset_00190d58)(&pWal->hdr,0,0x30);\n          iVar8 = (*pWal->pWalFd->pMethods->xFileSize)(pWal->pWalFd,&nSize);\n          iVar6 = iVar8;\n          if (iVar8 == 0) {\n            if (nSize._0_4_ < 1) {\n              uVar15 = 0;\n              if (nSize._0_4_ != 0) goto LAB_000ab598;\n              uVar19 = 0;\n              if (0x20 < nSize._4_4_) goto LAB_000ab414;\n            }\n            else {\nLAB_000ab414:\n              iVar6 = (*pWal->pWalFd->pMethods->xRead)(pWal->pWalFd,aBuf,0x20,0);\n              puVar3 = PTR_LAB_00190b40;\n              if (iVar6 != 0) goto LAB_000ab53c;\n              if ((((aBuf._0_4_ & 0xfffffffe) == 0x377f0682) && ((aBuf._8_4_ - 1 & aBuf._8_4_) == 0)\n                  ) && (aBuf._8_4_ - 0x200 < 0xfe01)) {\n                (pWal->hdr).bigEndCksum = (u8)(aBuf._0_4_ & 1);\n                pWal->szPage = aBuf._8_4_;\n                pWal->nCkpt = aBuf._12_4_;\n                puVar9 = (pWal->hdr).aSalt;\n                uVar16 = (uint)puVar9 & 3;\n                puVar2 = (uint *)((int)puVar9 - uVar16);\n                *puVar2 = *puVar2 & -1 << (4 - uVar16) * 8 | (uint)aBuf._16_4_ >> uVar16 * 8;\n                puVar1 = (undefined1 *)((int)(pWal->hdr).aSalt + 3);\n                uVar16 = (uint)puVar1 & 3;\n                puVar2 = (uint *)(puVar1 + -uVar16);\n                *puVar2 = *puVar2 & 0xffffffffU >> (uVar16 + 1) * 8 |\n                          aBuf._16_4_ << (3 - uVar16) * 8;\n                (pWal->hdr).aSalt[1] = aBuf._20_4_;\n                (*(code *)(puVar3 + 0xf88))(aBuf._0_4_ & 1,aBuf,0x18,0,(pWal->hdr).aFrameCksum);\n                if (((pWal->hdr).aFrameCksum[0] == aBuf._24_4_) &&\n                   ((pWal->hdr).aFrameCksum[1] == aBuf._28_4_)) {\n                  if (aBuf._4_4_ == 0x2de218) {\n                    iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n                    if (iVar6 == 0) {\n                      uVar16 = aBuf._8_4_ + 0x18;\n                      pvVar10 = (void *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar16 >> 0x1f)\n                      ;\n                      if (pvVar10 != (void *)0x0) {\n                        pcVar18 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n                        uVar15 = 0;\n                        uVar19 = 0;\n                        pcVar12 = (code *)(PTR_LAB_00190c2c + -0x5200);\n                        uStack_90 = 0;\n                        uVar11 = 0x20;\n                        iVar6 = 0;\n                        while( true ) {\n                          uVar13 = uVar16 + uVar11;\n                          iVar14 = (uint)(uVar13 < uVar16) + ((int)uVar16 >> 0x1f) + iVar6;\n                          if ((nSize._0_4_ < iVar14) ||\n                             ((nSize._0_4_ == iVar14 && (nSize._4_4_ < uVar13)))) break;\n                          uStack_90 = uStack_90 + 1;\n                          iVar6 = (*pWal->pWalFd->pMethods->xRead)\n                                            (pWal->pWalFd,pvVar10,uVar16,CONCAT44(iVar6,uVar11));\n                          if (iVar6 != 0) {\nLAB_000ab620:\n                            (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                            goto LAB_000ab53c;\n                          }\n                          iVar6 = (*pcVar18)(pWal,&pgno,&nTruncate,(int)pvVar10 + 0x18,pvVar10);\n                          if (iVar6 == 0) break;\n                          iVar6 = (*pcVar12)(pWal,uStack_90,pgno);\n                          if (iVar6 != 0) goto LAB_000ab620;\n                          uVar11 = uVar13;\n                          iVar6 = iVar14;\n                          if (nTruncate != 0) {\n                            uVar19 = (pWal->hdr).aFrameCksum[0];\n                            uVar15 = (pWal->hdr).aFrameCksum[1];\n                            (pWal->hdr).nPage = nTruncate;\n                            (pWal->hdr).mxFrame = uStack_90;\n                            (pWal->hdr).szPage = (ushort)aBuf._8_4_ & 0xff00 | SUB42(aBuf._8_4_,2);\n                          }\n                        }\n                        (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                        goto LAB_000ab59c;\n                      }\n                    }\n                    iVar6 = 7;\n                  }\n                  else {\n                    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                                PTR_LAB_00190958 + 0x625c);\n                    iVar6 = 0xe;\n                  }\n                  goto LAB_000ab53c;\n                }\n              }\nLAB_000ab598:\n              uVar15 = 0;\n              uVar19 = 0;\n            }\nLAB_000ab59c:\n            puVar3 = PTR_LAB_00190ba8;\n            (pWal->hdr).aFrameCksum[0] = uVar19;\n            (pWal->hdr).aFrameCksum[1] = uVar15;\n            (*(code *)(puVar3 + 0x6338))(pWal);\n            puVar9 = *pWal->apWiData;\n            puVar9[0x18] = 0;\n            puVar9[0x20] = (pWal->hdr).mxFrame;\n            puVar9[0x19] = 0;\n            puVar9[0x1a] = 0xffffffff;\n            puVar9[0x1b] = 0xffffffff;\n            puVar9[0x1c] = 0xffffffff;\n            puVar9[0x1d] = 0xffffffff;\n            uVar15 = (pWal->hdr).mxFrame;\n            if (uVar15 != 0) {\n              puVar9[0x1a] = uVar15;\n            }\n            iVar6 = iVar8;\n            if ((pWal->hdr).nPage != 0) {\n              sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                          (pWal->hdr).mxFrame,pWal->zWalName);\n            }\n          }\nLAB_000ab53c:\n          if (pWal->exclusiveMode == '\0') {\n            pcVar18 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n            (*pcVar18)(pWal->pDbFd,iVar7,iVar17);\n            if (pWal->exclusiveMode == '\0') {\n              (*pcVar18)(pWal->pDbFd,4,4);\n              *pChanged = 1;\n              goto LAB_000ab170;\n            }\n          }\n        }" else (compound_statement "{\nLAB_000ab3b8:\n          (*(code *)PTR_memset_00190d58)(&pWal->hdr,0,0x30);\n          iVar8 = (*pWal->pWalFd->pMethods->xFileSize)(pWal->pWalFd,&nSize);\n          iVar6 = iVar8;\n          if (iVar8 == 0) {\n            if (nSize._0_4_ < 1) {\n              uVar15 = 0;\n              if (nSize._0_4_ != 0) goto LAB_000ab598;\n              uVar19 = 0;\n              if (0x20 < nSize._4_4_) goto LAB_000ab414;\n            }\n            else {\nLAB_000ab414:\n              iVar6 = (*pWal->pWalFd->pMethods->xRead)(pWal->pWalFd,aBuf,0x20,0);\n              puVar3 = PTR_LAB_00190b40;\n              if (iVar6 != 0) goto LAB_000ab53c;\n              if ((((aBuf._0_4_ & 0xfffffffe) == 0x377f0682) && ((aBuf._8_4_ - 1 & aBuf._8_4_) == 0)\n                  ) && (aBuf._8_4_ - 0x200 < 0xfe01)) {\n                (pWal->hdr).bigEndCksum = (u8)(aBuf._0_4_ & 1);\n                pWal->szPage = aBuf._8_4_;\n                pWal->nCkpt = aBuf._12_4_;\n                puVar9 = (pWal->hdr).aSalt;\n                uVar16 = (uint)puVar9 & 3;\n                puVar2 = (uint *)((int)puVar9 - uVar16);\n                *puVar2 = *puVar2 & -1 << (4 - uVar16) * 8 | (uint)aBuf._16_4_ >> uVar16 * 8;\n                puVar1 = (undefined1 *)((int)(pWal->hdr).aSalt + 3);\n                uVar16 = (uint)puVar1 & 3;\n                puVar2 = (uint *)(puVar1 + -uVar16);\n                *puVar2 = *puVar2 & 0xffffffffU >> (uVar16 + 1) * 8 |\n                          aBuf._16_4_ << (3 - uVar16) * 8;\n                (pWal->hdr).aSalt[1] = aBuf._20_4_;\n                (*(code *)(puVar3 + 0xf88))(aBuf._0_4_ & 1,aBuf,0x18,0,(pWal->hdr).aFrameCksum);\n                if (((pWal->hdr).aFrameCksum[0] == aBuf._24_4_) &&\n                   ((pWal->hdr).aFrameCksum[1] == aBuf._28_4_)) {\n                  if (aBuf._4_4_ == 0x2de218) {\n                    iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n                    if (iVar6 == 0) {\n                      uVar16 = aBuf._8_4_ + 0x18;\n                      pvVar10 = (void *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar16 >> 0x1f)\n                      ;\n                      if (pvVar10 != (void *)0x0) {\n                        pcVar18 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n                        uVar15 = 0;\n                        uVar19 = 0;\n                        pcVar12 = (code *)(PTR_LAB_00190c2c + -0x5200);\n                        uStack_90 = 0;\n                        uVar11 = 0x20;\n                        iVar6 = 0;\n                        while( true ) {\n                          uVar13 = uVar16 + uVar11;\n                          iVar14 = (uint)(uVar13 < uVar16) + ((int)uVar16 >> 0x1f) + iVar6;\n                          if ((nSize._0_4_ < iVar14) ||\n                             ((nSize._0_4_ == iVar14 && (nSize._4_4_ < uVar13)))) break;\n                          uStack_90 = uStack_90 + 1;\n                          iVar6 = (*pWal->pWalFd->pMethods->xRead)\n                                            (pWal->pWalFd,pvVar10,uVar16,CONCAT44(iVar6,uVar11));\n                          if (iVar6 != 0) {\nLAB_000ab620:\n                            (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                            goto LAB_000ab53c;\n                          }\n                          iVar6 = (*pcVar18)(pWal,&pgno,&nTruncate,(int)pvVar10 + 0x18,pvVar10);\n                          if (iVar6 == 0) break;\n                          iVar6 = (*pcVar12)(pWal,uStack_90,pgno);\n                          if (iVar6 != 0) goto LAB_000ab620;\n                          uVar11 = uVar13;\n                          iVar6 = iVar14;\n                          if (nTruncate != 0) {\n                            uVar19 = (pWal->hdr).aFrameCksum[0];\n                            uVar15 = (pWal->hdr).aFrameCksum[1];\n                            (pWal->hdr).nPage = nTruncate;\n                            (pWal->hdr).mxFrame = uStack_90;\n                            (pWal->hdr).szPage = (ushort)aBuf._8_4_ & 0xff00 | SUB42(aBuf._8_4_,2);\n                          }\n                        }\n                        (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                        goto LAB_000ab59c;\n                      }\n                    }\n                    iVar6 = 7;\n                  }\n                  else {\n                    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                                PTR_LAB_00190958 + 0x625c);\n                    iVar6 = 0xe;\n                  }\n                  goto LAB_000ab53c;\n                }\n              }\nLAB_000ab598:\n              uVar15 = 0;\n              uVar19 = 0;\n            }\nLAB_000ab59c:\n            puVar3 = PTR_LAB_00190ba8;\n            (pWal->hdr).aFrameCksum[0] = uVar19;\n            (pWal->hdr).aFrameCksum[1] = uVar15;\n            (*(code *)(puVar3 + 0x6338))(pWal);\n            puVar9 = *pWal->apWiData;\n            puVar9[0x18] = 0;\n            puVar9[0x20] = (pWal->hdr).mxFrame;\n            puVar9[0x19] = 0;\n            puVar9[0x1a] = 0xffffffff;\n            puVar9[0x1b] = 0xffffffff;\n            puVar9[0x1c] = 0xffffffff;\n            puVar9[0x1d] = 0xffffffff;\n            uVar15 = (pWal->hdr).mxFrame;\n            if (uVar15 != 0) {\n              puVar9[0x1a] = uVar15;\n            }\n            iVar6 = iVar8;\n            if ((pWal->hdr).nPage != 0) {\n              sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                          (pWal->hdr).mxFrame,pWal->zWalName);\n            }\n          }\nLAB_000ab53c:\n          if (pWal->exclusiveMode == '\0') {\n            pcVar18 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n            (*pcVar18)(pWal->pDbFd,iVar7,iVar17);\n            if (pWal->exclusiveMode == '\0') {\n              (*pcVar18)(pWal->pDbFd,4,4);\n              *pChanged = 1;\n              goto LAB_000ab170;\n            }\n          }\n        }" { (labeled_statement "LAB_000ab3b8:\n          (*(code *)PTR_memset_00190d58)(&pWal->hdr,0,0x30);" statement_identifier : (expression_statement "(*(code *)PTR_memset_00190d58)(&pWal->hdr,0,0x30);" (call_expression "(*(code *)PTR_memset_00190d58)(&pWal->hdr,0,0x30)" (parenthesized_expression "(*(code *)PTR_memset_00190d58)" ( (pointer_expression "*(code *)PTR_memset_00190d58" * (cast_expression "(code *)PTR_memset_00190d58" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&pWal->hdr,0,0x30)" ( (pointer_expression "&pWal->hdr" & (field_expression "pWal->hdr" identifier -> field_identifier)) , number_literal , number_literal ))) ;)) (expression_statement "iVar8 = (*pWal->pWalFd->pMethods->xFileSize)(pWal->pWalFd,&nSize);" (assignment_expression "iVar8 = (*pWal->pWalFd->pMethods->xFileSize)(pWal->pWalFd,&nSize)" identifier = (call_expression "(*pWal->pWalFd->pMethods->xFileSize)(pWal->pWalFd,&nSize)" (parenthesized_expression "(*pWal->pWalFd->pMethods->xFileSize)" ( (pointer_expression "*pWal->pWalFd->pMethods->xFileSize" * (field_expression "pWal->pWalFd->pMethods->xFileSize" (field_expression "pWal->pWalFd->pMethods" (field_expression "pWal->pWalFd" identifier -> field_identifier) -> field_identifier) -> field_identifier)) )) (argument_list "(pWal->pWalFd,&nSize)" ( (field_expression "pWal->pWalFd" identifier -> field_identifier) , (pointer_expression "&nSize" & identifier) )))) ;) (expression_statement "iVar6 = iVar8;" (assignment_expression "iVar6 = iVar8" identifier = identifier) ;) (if_statement "if (iVar8 == 0) {\n            if (nSize._0_4_ < 1) {\n              uVar15 = 0;\n              if (nSize._0_4_ != 0) goto LAB_000ab598;\n              uVar19 = 0;\n              if (0x20 < nSize._4_4_) goto LAB_000ab414;\n            }\n            else {\nLAB_000ab414:\n              iVar6 = (*pWal->pWalFd->pMethods->xRead)(pWal->pWalFd,aBuf,0x20,0);\n              puVar3 = PTR_LAB_00190b40;\n              if (iVar6 != 0) goto LAB_000ab53c;\n              if ((((aBuf._0_4_ & 0xfffffffe) == 0x377f0682) && ((aBuf._8_4_ - 1 & aBuf._8_4_) == 0)\n                  ) && (aBuf._8_4_ - 0x200 < 0xfe01)) {\n                (pWal->hdr).bigEndCksum = (u8)(aBuf._0_4_ & 1);\n                pWal->szPage = aBuf._8_4_;\n                pWal->nCkpt = aBuf._12_4_;\n                puVar9 = (pWal->hdr).aSalt;\n                uVar16 = (uint)puVar9 & 3;\n                puVar2 = (uint *)((int)puVar9 - uVar16);\n                *puVar2 = *puVar2 & -1 << (4 - uVar16) * 8 | (uint)aBuf._16_4_ >> uVar16 * 8;\n                puVar1 = (undefined1 *)((int)(pWal->hdr).aSalt + 3);\n                uVar16 = (uint)puVar1 & 3;\n                puVar2 = (uint *)(puVar1 + -uVar16);\n                *puVar2 = *puVar2 & 0xffffffffU >> (uVar16 + 1) * 8 |\n                          aBuf._16_4_ << (3 - uVar16) * 8;\n                (pWal->hdr).aSalt[1] = aBuf._20_4_;\n                (*(code *)(puVar3 + 0xf88))(aBuf._0_4_ & 1,aBuf,0x18,0,(pWal->hdr).aFrameCksum);\n                if (((pWal->hdr).aFrameCksum[0] == aBuf._24_4_) &&\n                   ((pWal->hdr).aFrameCksum[1] == aBuf._28_4_)) {\n                  if (aBuf._4_4_ == 0x2de218) {\n                    iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n                    if (iVar6 == 0) {\n                      uVar16 = aBuf._8_4_ + 0x18;\n                      pvVar10 = (void *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar16 >> 0x1f)\n                      ;\n                      if (pvVar10 != (void *)0x0) {\n                        pcVar18 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n                        uVar15 = 0;\n                        uVar19 = 0;\n                        pcVar12 = (code *)(PTR_LAB_00190c2c + -0x5200);\n                        uStack_90 = 0;\n                        uVar11 = 0x20;\n                        iVar6 = 0;\n                        while( true ) {\n                          uVar13 = uVar16 + uVar11;\n                          iVar14 = (uint)(uVar13 < uVar16) + ((int)uVar16 >> 0x1f) + iVar6;\n                          if ((nSize._0_4_ < iVar14) ||\n                             ((nSize._0_4_ == iVar14 && (nSize._4_4_ < uVar13)))) break;\n                          uStack_90 = uStack_90 + 1;\n                          iVar6 = (*pWal->pWalFd->pMethods->xRead)\n                                            (pWal->pWalFd,pvVar10,uVar16,CONCAT44(iVar6,uVar11));\n                          if (iVar6 != 0) {\nLAB_000ab620:\n                            (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                            goto LAB_000ab53c;\n                          }\n                          iVar6 = (*pcVar18)(pWal,&pgno,&nTruncate,(int)pvVar10 + 0x18,pvVar10);\n                          if (iVar6 == 0) break;\n                          iVar6 = (*pcVar12)(pWal,uStack_90,pgno);\n                          if (iVar6 != 0) goto LAB_000ab620;\n                          uVar11 = uVar13;\n                          iVar6 = iVar14;\n                          if (nTruncate != 0) {\n                            uVar19 = (pWal->hdr).aFrameCksum[0];\n                            uVar15 = (pWal->hdr).aFrameCksum[1];\n                            (pWal->hdr).nPage = nTruncate;\n                            (pWal->hdr).mxFrame = uStack_90;\n                            (pWal->hdr).szPage = (ushort)aBuf._8_4_ & 0xff00 | SUB42(aBuf._8_4_,2);\n                          }\n                        }\n                        (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                        goto LAB_000ab59c;\n                      }\n                    }\n                    iVar6 = 7;\n                  }\n                  else {\n                    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                                PTR_LAB_00190958 + 0x625c);\n                    iVar6 = 0xe;\n                  }\n                  goto LAB_000ab53c;\n                }\n              }\nLAB_000ab598:\n              uVar15 = 0;\n              uVar19 = 0;\n            }\nLAB_000ab59c:\n            puVar3 = PTR_LAB_00190ba8;\n            (pWal->hdr).aFrameCksum[0] = uVar19;\n            (pWal->hdr).aFrameCksum[1] = uVar15;\n            (*(code *)(puVar3 + 0x6338))(pWal);\n            puVar9 = *pWal->apWiData;\n            puVar9[0x18] = 0;\n            puVar9[0x20] = (pWal->hdr).mxFrame;\n            puVar9[0x19] = 0;\n            puVar9[0x1a] = 0xffffffff;\n            puVar9[0x1b] = 0xffffffff;\n            puVar9[0x1c] = 0xffffffff;\n            puVar9[0x1d] = 0xffffffff;\n            uVar15 = (pWal->hdr).mxFrame;\n            if (uVar15 != 0) {\n              puVar9[0x1a] = uVar15;\n            }\n            iVar6 = iVar8;\n            if ((pWal->hdr).nPage != 0) {\n              sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                          (pWal->hdr).mxFrame,pWal->zWalName);\n            }\n          }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n            if (nSize._0_4_ < 1) {\n              uVar15 = 0;\n              if (nSize._0_4_ != 0) goto LAB_000ab598;\n              uVar19 = 0;\n              if (0x20 < nSize._4_4_) goto LAB_000ab414;\n            }\n            else {\nLAB_000ab414:\n              iVar6 = (*pWal->pWalFd->pMethods->xRead)(pWal->pWalFd,aBuf,0x20,0);\n              puVar3 = PTR_LAB_00190b40;\n              if (iVar6 != 0) goto LAB_000ab53c;\n              if ((((aBuf._0_4_ & 0xfffffffe) == 0x377f0682) && ((aBuf._8_4_ - 1 & aBuf._8_4_) == 0)\n                  ) && (aBuf._8_4_ - 0x200 < 0xfe01)) {\n                (pWal->hdr).bigEndCksum = (u8)(aBuf._0_4_ & 1);\n                pWal->szPage = aBuf._8_4_;\n                pWal->nCkpt = aBuf._12_4_;\n                puVar9 = (pWal->hdr).aSalt;\n                uVar16 = (uint)puVar9 & 3;\n                puVar2 = (uint *)((int)puVar9 - uVar16);\n                *puVar2 = *puVar2 & -1 << (4 - uVar16) * 8 | (uint)aBuf._16_4_ >> uVar16 * 8;\n                puVar1 = (undefined1 *)((int)(pWal->hdr).aSalt + 3);\n                uVar16 = (uint)puVar1 & 3;\n                puVar2 = (uint *)(puVar1 + -uVar16);\n                *puVar2 = *puVar2 & 0xffffffffU >> (uVar16 + 1) * 8 |\n                          aBuf._16_4_ << (3 - uVar16) * 8;\n                (pWal->hdr).aSalt[1] = aBuf._20_4_;\n                (*(code *)(puVar3 + 0xf88))(aBuf._0_4_ & 1,aBuf,0x18,0,(pWal->hdr).aFrameCksum);\n                if (((pWal->hdr).aFrameCksum[0] == aBuf._24_4_) &&\n                   ((pWal->hdr).aFrameCksum[1] == aBuf._28_4_)) {\n                  if (aBuf._4_4_ == 0x2de218) {\n                    iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n                    if (iVar6 == 0) {\n                      uVar16 = aBuf._8_4_ + 0x18;\n                      pvVar10 = (void *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar16 >> 0x1f)\n                      ;\n                      if (pvVar10 != (void *)0x0) {\n                        pcVar18 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n                        uVar15 = 0;\n                        uVar19 = 0;\n                        pcVar12 = (code *)(PTR_LAB_00190c2c + -0x5200);\n                        uStack_90 = 0;\n                        uVar11 = 0x20;\n                        iVar6 = 0;\n                        while( true ) {\n                          uVar13 = uVar16 + uVar11;\n                          iVar14 = (uint)(uVar13 < uVar16) + ((int)uVar16 >> 0x1f) + iVar6;\n                          if ((nSize._0_4_ < iVar14) ||\n                             ((nSize._0_4_ == iVar14 && (nSize._4_4_ < uVar13)))) break;\n                          uStack_90 = uStack_90 + 1;\n                          iVar6 = (*pWal->pWalFd->pMethods->xRead)\n                                            (pWal->pWalFd,pvVar10,uVar16,CONCAT44(iVar6,uVar11));\n                          if (iVar6 != 0) {\nLAB_000ab620:\n                            (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                            goto LAB_000ab53c;\n                          }\n                          iVar6 = (*pcVar18)(pWal,&pgno,&nTruncate,(int)pvVar10 + 0x18,pvVar10);\n                          if (iVar6 == 0) break;\n                          iVar6 = (*pcVar12)(pWal,uStack_90,pgno);\n                          if (iVar6 != 0) goto LAB_000ab620;\n                          uVar11 = uVar13;\n                          iVar6 = iVar14;\n                          if (nTruncate != 0) {\n                            uVar19 = (pWal->hdr).aFrameCksum[0];\n                            uVar15 = (pWal->hdr).aFrameCksum[1];\n                            (pWal->hdr).nPage = nTruncate;\n                            (pWal->hdr).mxFrame = uStack_90;\n                            (pWal->hdr).szPage = (ushort)aBuf._8_4_ & 0xff00 | SUB42(aBuf._8_4_,2);\n                          }\n                        }\n                        (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                        goto LAB_000ab59c;\n                      }\n                    }\n                    iVar6 = 7;\n                  }\n                  else {\n                    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                                PTR_LAB_00190958 + 0x625c);\n                    iVar6 = 0xe;\n                  }\n                  goto LAB_000ab53c;\n                }\n              }\nLAB_000ab598:\n              uVar15 = 0;\n              uVar19 = 0;\n            }\nLAB_000ab59c:\n            puVar3 = PTR_LAB_00190ba8;\n            (pWal->hdr).aFrameCksum[0] = uVar19;\n            (pWal->hdr).aFrameCksum[1] = uVar15;\n            (*(code *)(puVar3 + 0x6338))(pWal);\n            puVar9 = *pWal->apWiData;\n            puVar9[0x18] = 0;\n            puVar9[0x20] = (pWal->hdr).mxFrame;\n            puVar9[0x19] = 0;\n            puVar9[0x1a] = 0xffffffff;\n            puVar9[0x1b] = 0xffffffff;\n            puVar9[0x1c] = 0xffffffff;\n            puVar9[0x1d] = 0xffffffff;\n            uVar15 = (pWal->hdr).mxFrame;\n            if (uVar15 != 0) {\n              puVar9[0x1a] = uVar15;\n            }\n            iVar6 = iVar8;\n            if ((pWal->hdr).nPage != 0) {\n              sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                          (pWal->hdr).mxFrame,pWal->zWalName);\n            }\n          }" { (if_statement "if (nSize._0_4_ < 1) {\n              uVar15 = 0;\n              if (nSize._0_4_ != 0) goto LAB_000ab598;\n              uVar19 = 0;\n              if (0x20 < nSize._4_4_) goto LAB_000ab414;\n            }\n            else {\nLAB_000ab414:\n              iVar6 = (*pWal->pWalFd->pMethods->xRead)(pWal->pWalFd,aBuf,0x20,0);\n              puVar3 = PTR_LAB_00190b40;\n              if (iVar6 != 0) goto LAB_000ab53c;\n              if ((((aBuf._0_4_ & 0xfffffffe) == 0x377f0682) && ((aBuf._8_4_ - 1 & aBuf._8_4_) == 0)\n                  ) && (aBuf._8_4_ - 0x200 < 0xfe01)) {\n                (pWal->hdr).bigEndCksum = (u8)(aBuf._0_4_ & 1);\n                pWal->szPage = aBuf._8_4_;\n                pWal->nCkpt = aBuf._12_4_;\n                puVar9 = (pWal->hdr).aSalt;\n                uVar16 = (uint)puVar9 & 3;\n                puVar2 = (uint *)((int)puVar9 - uVar16);\n                *puVar2 = *puVar2 & -1 << (4 - uVar16) * 8 | (uint)aBuf._16_4_ >> uVar16 * 8;\n                puVar1 = (undefined1 *)((int)(pWal->hdr).aSalt + 3);\n                uVar16 = (uint)puVar1 & 3;\n                puVar2 = (uint *)(puVar1 + -uVar16);\n                *puVar2 = *puVar2 & 0xffffffffU >> (uVar16 + 1) * 8 |\n                          aBuf._16_4_ << (3 - uVar16) * 8;\n                (pWal->hdr).aSalt[1] = aBuf._20_4_;\n                (*(code *)(puVar3 + 0xf88))(aBuf._0_4_ & 1,aBuf,0x18,0,(pWal->hdr).aFrameCksum);\n                if (((pWal->hdr).aFrameCksum[0] == aBuf._24_4_) &&\n                   ((pWal->hdr).aFrameCksum[1] == aBuf._28_4_)) {\n                  if (aBuf._4_4_ == 0x2de218) {\n                    iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n                    if (iVar6 == 0) {\n                      uVar16 = aBuf._8_4_ + 0x18;\n                      pvVar10 = (void *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar16 >> 0x1f)\n                      ;\n                      if (pvVar10 != (void *)0x0) {\n                        pcVar18 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n                        uVar15 = 0;\n                        uVar19 = 0;\n                        pcVar12 = (code *)(PTR_LAB_00190c2c + -0x5200);\n                        uStack_90 = 0;\n                        uVar11 = 0x20;\n                        iVar6 = 0;\n                        while( true ) {\n                          uVar13 = uVar16 + uVar11;\n                          iVar14 = (uint)(uVar13 < uVar16) + ((int)uVar16 >> 0x1f) + iVar6;\n                          if ((nSize._0_4_ < iVar14) ||\n                             ((nSize._0_4_ == iVar14 && (nSize._4_4_ < uVar13)))) break;\n                          uStack_90 = uStack_90 + 1;\n                          iVar6 = (*pWal->pWalFd->pMethods->xRead)\n                                            (pWal->pWalFd,pvVar10,uVar16,CONCAT44(iVar6,uVar11));\n                          if (iVar6 != 0) {\nLAB_000ab620:\n                            (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                            goto LAB_000ab53c;\n                          }\n                          iVar6 = (*pcVar18)(pWal,&pgno,&nTruncate,(int)pvVar10 + 0x18,pvVar10);\n                          if (iVar6 == 0) break;\n                          iVar6 = (*pcVar12)(pWal,uStack_90,pgno);\n                          if (iVar6 != 0) goto LAB_000ab620;\n                          uVar11 = uVar13;\n                          iVar6 = iVar14;\n                          if (nTruncate != 0) {\n                            uVar19 = (pWal->hdr).aFrameCksum[0];\n                            uVar15 = (pWal->hdr).aFrameCksum[1];\n                            (pWal->hdr).nPage = nTruncate;\n                            (pWal->hdr).mxFrame = uStack_90;\n                            (pWal->hdr).szPage = (ushort)aBuf._8_4_ & 0xff00 | SUB42(aBuf._8_4_,2);\n                          }\n                        }\n                        (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                        goto LAB_000ab59c;\n                      }\n                    }\n                    iVar6 = 7;\n                  }\n                  else {\n                    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                                PTR_LAB_00190958 + 0x625c);\n                    iVar6 = 0xe;\n                  }\n                  goto LAB_000ab53c;\n                }\n              }\nLAB_000ab598:\n              uVar15 = 0;\n              uVar19 = 0;\n            }" if (parenthesized_expression "(nSize._0_4_ < 1)" ( (binary_expression "nSize._0_4_ < 1" (field_expression "nSize._0_4_" identifier . field_identifier) < number_literal) )) (compound_statement "{\n              uVar15 = 0;\n              if (nSize._0_4_ != 0) goto LAB_000ab598;\n              uVar19 = 0;\n              if (0x20 < nSize._4_4_) goto LAB_000ab414;\n            }" { (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (if_statement "if (nSize._0_4_ != 0) goto LAB_000ab598;" if (parenthesized_expression "(nSize._0_4_ != 0)" ( (binary_expression "nSize._0_4_ != 0" (field_expression "nSize._0_4_" identifier . field_identifier) != number_literal) )) (goto_statement "goto LAB_000ab598;" goto statement_identifier ;)) (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) (if_statement "if (0x20 < nSize._4_4_) goto LAB_000ab414;" if (parenthesized_expression "(0x20 < nSize._4_4_)" ( (binary_expression "0x20 < nSize._4_4_" number_literal < (field_expression "nSize._4_4_" identifier . field_identifier)) )) (goto_statement "goto LAB_000ab414;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_000ab414:\n              iVar6 = (*pWal->pWalFd->pMethods->xRead)(pWal->pWalFd,aBuf,0x20,0);\n              puVar3 = PTR_LAB_00190b40;\n              if (iVar6 != 0) goto LAB_000ab53c;\n              if ((((aBuf._0_4_ & 0xfffffffe) == 0x377f0682) && ((aBuf._8_4_ - 1 & aBuf._8_4_) == 0)\n                  ) && (aBuf._8_4_ - 0x200 < 0xfe01)) {\n                (pWal->hdr).bigEndCksum = (u8)(aBuf._0_4_ & 1);\n                pWal->szPage = aBuf._8_4_;\n                pWal->nCkpt = aBuf._12_4_;\n                puVar9 = (pWal->hdr).aSalt;\n                uVar16 = (uint)puVar9 & 3;\n                puVar2 = (uint *)((int)puVar9 - uVar16);\n                *puVar2 = *puVar2 & -1 << (4 - uVar16) * 8 | (uint)aBuf._16_4_ >> uVar16 * 8;\n                puVar1 = (undefined1 *)((int)(pWal->hdr).aSalt + 3);\n                uVar16 = (uint)puVar1 & 3;\n                puVar2 = (uint *)(puVar1 + -uVar16);\n                *puVar2 = *puVar2 & 0xffffffffU >> (uVar16 + 1) * 8 |\n                          aBuf._16_4_ << (3 - uVar16) * 8;\n                (pWal->hdr).aSalt[1] = aBuf._20_4_;\n                (*(code *)(puVar3 + 0xf88))(aBuf._0_4_ & 1,aBuf,0x18,0,(pWal->hdr).aFrameCksum);\n                if (((pWal->hdr).aFrameCksum[0] == aBuf._24_4_) &&\n                   ((pWal->hdr).aFrameCksum[1] == aBuf._28_4_)) {\n                  if (aBuf._4_4_ == 0x2de218) {\n                    iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n                    if (iVar6 == 0) {\n                      uVar16 = aBuf._8_4_ + 0x18;\n                      pvVar10 = (void *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar16 >> 0x1f)\n                      ;\n                      if (pvVar10 != (void *)0x0) {\n                        pcVar18 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n                        uVar15 = 0;\n                        uVar19 = 0;\n                        pcVar12 = (code *)(PTR_LAB_00190c2c + -0x5200);\n                        uStack_90 = 0;\n                        uVar11 = 0x20;\n                        iVar6 = 0;\n                        while( true ) {\n                          uVar13 = uVar16 + uVar11;\n                          iVar14 = (uint)(uVar13 < uVar16) + ((int)uVar16 >> 0x1f) + iVar6;\n                          if ((nSize._0_4_ < iVar14) ||\n                             ((nSize._0_4_ == iVar14 && (nSize._4_4_ < uVar13)))) break;\n                          uStack_90 = uStack_90 + 1;\n                          iVar6 = (*pWal->pWalFd->pMethods->xRead)\n                                            (pWal->pWalFd,pvVar10,uVar16,CONCAT44(iVar6,uVar11));\n                          if (iVar6 != 0) {\nLAB_000ab620:\n                            (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                            goto LAB_000ab53c;\n                          }\n                          iVar6 = (*pcVar18)(pWal,&pgno,&nTruncate,(int)pvVar10 + 0x18,pvVar10);\n                          if (iVar6 == 0) break;\n                          iVar6 = (*pcVar12)(pWal,uStack_90,pgno);\n                          if (iVar6 != 0) goto LAB_000ab620;\n                          uVar11 = uVar13;\n                          iVar6 = iVar14;\n                          if (nTruncate != 0) {\n                            uVar19 = (pWal->hdr).aFrameCksum[0];\n                            uVar15 = (pWal->hdr).aFrameCksum[1];\n                            (pWal->hdr).nPage = nTruncate;\n                            (pWal->hdr).mxFrame = uStack_90;\n                            (pWal->hdr).szPage = (ushort)aBuf._8_4_ & 0xff00 | SUB42(aBuf._8_4_,2);\n                          }\n                        }\n                        (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                        goto LAB_000ab59c;\n                      }\n                    }\n                    iVar6 = 7;\n                  }\n                  else {\n                    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                                PTR_LAB_00190958 + 0x625c);\n                    iVar6 = 0xe;\n                  }\n                  goto LAB_000ab53c;\n                }\n              }\nLAB_000ab598:\n              uVar15 = 0;\n              uVar19 = 0;\n            }" else (compound_statement "{\nLAB_000ab414:\n              iVar6 = (*pWal->pWalFd->pMethods->xRead)(pWal->pWalFd,aBuf,0x20,0);\n              puVar3 = PTR_LAB_00190b40;\n              if (iVar6 != 0) goto LAB_000ab53c;\n              if ((((aBuf._0_4_ & 0xfffffffe) == 0x377f0682) && ((aBuf._8_4_ - 1 & aBuf._8_4_) == 0)\n                  ) && (aBuf._8_4_ - 0x200 < 0xfe01)) {\n                (pWal->hdr).bigEndCksum = (u8)(aBuf._0_4_ & 1);\n                pWal->szPage = aBuf._8_4_;\n                pWal->nCkpt = aBuf._12_4_;\n                puVar9 = (pWal->hdr).aSalt;\n                uVar16 = (uint)puVar9 & 3;\n                puVar2 = (uint *)((int)puVar9 - uVar16);\n                *puVar2 = *puVar2 & -1 << (4 - uVar16) * 8 | (uint)aBuf._16_4_ >> uVar16 * 8;\n                puVar1 = (undefined1 *)((int)(pWal->hdr).aSalt + 3);\n                uVar16 = (uint)puVar1 & 3;\n                puVar2 = (uint *)(puVar1 + -uVar16);\n                *puVar2 = *puVar2 & 0xffffffffU >> (uVar16 + 1) * 8 |\n                          aBuf._16_4_ << (3 - uVar16) * 8;\n                (pWal->hdr).aSalt[1] = aBuf._20_4_;\n                (*(code *)(puVar3 + 0xf88))(aBuf._0_4_ & 1,aBuf,0x18,0,(pWal->hdr).aFrameCksum);\n                if (((pWal->hdr).aFrameCksum[0] == aBuf._24_4_) &&\n                   ((pWal->hdr).aFrameCksum[1] == aBuf._28_4_)) {\n                  if (aBuf._4_4_ == 0x2de218) {\n                    iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n                    if (iVar6 == 0) {\n                      uVar16 = aBuf._8_4_ + 0x18;\n                      pvVar10 = (void *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar16 >> 0x1f)\n                      ;\n                      if (pvVar10 != (void *)0x0) {\n                        pcVar18 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n                        uVar15 = 0;\n                        uVar19 = 0;\n                        pcVar12 = (code *)(PTR_LAB_00190c2c + -0x5200);\n                        uStack_90 = 0;\n                        uVar11 = 0x20;\n                        iVar6 = 0;\n                        while( true ) {\n                          uVar13 = uVar16 + uVar11;\n                          iVar14 = (uint)(uVar13 < uVar16) + ((int)uVar16 >> 0x1f) + iVar6;\n                          if ((nSize._0_4_ < iVar14) ||\n                             ((nSize._0_4_ == iVar14 && (nSize._4_4_ < uVar13)))) break;\n                          uStack_90 = uStack_90 + 1;\n                          iVar6 = (*pWal->pWalFd->pMethods->xRead)\n                                            (pWal->pWalFd,pvVar10,uVar16,CONCAT44(iVar6,uVar11));\n                          if (iVar6 != 0) {\nLAB_000ab620:\n                            (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                            goto LAB_000ab53c;\n                          }\n                          iVar6 = (*pcVar18)(pWal,&pgno,&nTruncate,(int)pvVar10 + 0x18,pvVar10);\n                          if (iVar6 == 0) break;\n                          iVar6 = (*pcVar12)(pWal,uStack_90,pgno);\n                          if (iVar6 != 0) goto LAB_000ab620;\n                          uVar11 = uVar13;\n                          iVar6 = iVar14;\n                          if (nTruncate != 0) {\n                            uVar19 = (pWal->hdr).aFrameCksum[0];\n                            uVar15 = (pWal->hdr).aFrameCksum[1];\n                            (pWal->hdr).nPage = nTruncate;\n                            (pWal->hdr).mxFrame = uStack_90;\n                            (pWal->hdr).szPage = (ushort)aBuf._8_4_ & 0xff00 | SUB42(aBuf._8_4_,2);\n                          }\n                        }\n                        (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                        goto LAB_000ab59c;\n                      }\n                    }\n                    iVar6 = 7;\n                  }\n                  else {\n                    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                                PTR_LAB_00190958 + 0x625c);\n                    iVar6 = 0xe;\n                  }\n                  goto LAB_000ab53c;\n                }\n              }\nLAB_000ab598:\n              uVar15 = 0;\n              uVar19 = 0;\n            }" { (labeled_statement "LAB_000ab414:\n              iVar6 = (*pWal->pWalFd->pMethods->xRead)(pWal->pWalFd,aBuf,0x20,0);" statement_identifier : (expression_statement "iVar6 = (*pWal->pWalFd->pMethods->xRead)(pWal->pWalFd,aBuf,0x20,0);" (assignment_expression "iVar6 = (*pWal->pWalFd->pMethods->xRead)(pWal->pWalFd,aBuf,0x20,0)" identifier = (call_expression "(*pWal->pWalFd->pMethods->xRead)(pWal->pWalFd,aBuf,0x20,0)" (parenthesized_expression "(*pWal->pWalFd->pMethods->xRead)" ( (pointer_expression "*pWal->pWalFd->pMethods->xRead" * (field_expression "pWal->pWalFd->pMethods->xRead" (field_expression "pWal->pWalFd->pMethods" (field_expression "pWal->pWalFd" identifier -> field_identifier) -> field_identifier) -> field_identifier)) )) (argument_list "(pWal->pWalFd,aBuf,0x20,0)" ( (field_expression "pWal->pWalFd" identifier -> field_identifier) , identifier , number_literal , number_literal )))) ;)) (expression_statement "puVar3 = PTR_LAB_00190b40;" (assignment_expression "puVar3 = PTR_LAB_00190b40" identifier = identifier) ;) (if_statement "if (iVar6 != 0) goto LAB_000ab53c;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000ab53c;" goto statement_identifier ;)) (if_statement "if ((((aBuf._0_4_ & 0xfffffffe) == 0x377f0682) && ((aBuf._8_4_ - 1 & aBuf._8_4_) == 0)\n                  ) && (aBuf._8_4_ - 0x200 < 0xfe01)) {\n                (pWal->hdr).bigEndCksum = (u8)(aBuf._0_4_ & 1);\n                pWal->szPage = aBuf._8_4_;\n                pWal->nCkpt = aBuf._12_4_;\n                puVar9 = (pWal->hdr).aSalt;\n                uVar16 = (uint)puVar9 & 3;\n                puVar2 = (uint *)((int)puVar9 - uVar16);\n                *puVar2 = *puVar2 & -1 << (4 - uVar16) * 8 | (uint)aBuf._16_4_ >> uVar16 * 8;\n                puVar1 = (undefined1 *)((int)(pWal->hdr).aSalt + 3);\n                uVar16 = (uint)puVar1 & 3;\n                puVar2 = (uint *)(puVar1 + -uVar16);\n                *puVar2 = *puVar2 & 0xffffffffU >> (uVar16 + 1) * 8 |\n                          aBuf._16_4_ << (3 - uVar16) * 8;\n                (pWal->hdr).aSalt[1] = aBuf._20_4_;\n                (*(code *)(puVar3 + 0xf88))(aBuf._0_4_ & 1,aBuf,0x18,0,(pWal->hdr).aFrameCksum);\n                if (((pWal->hdr).aFrameCksum[0] == aBuf._24_4_) &&\n                   ((pWal->hdr).aFrameCksum[1] == aBuf._28_4_)) {\n                  if (aBuf._4_4_ == 0x2de218) {\n                    iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n                    if (iVar6 == 0) {\n                      uVar16 = aBuf._8_4_ + 0x18;\n                      pvVar10 = (void *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar16 >> 0x1f)\n                      ;\n                      if (pvVar10 != (void *)0x0) {\n                        pcVar18 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n                        uVar15 = 0;\n                        uVar19 = 0;\n                        pcVar12 = (code *)(PTR_LAB_00190c2c + -0x5200);\n                        uStack_90 = 0;\n                        uVar11 = 0x20;\n                        iVar6 = 0;\n                        while( true ) {\n                          uVar13 = uVar16 + uVar11;\n                          iVar14 = (uint)(uVar13 < uVar16) + ((int)uVar16 >> 0x1f) + iVar6;\n                          if ((nSize._0_4_ < iVar14) ||\n                             ((nSize._0_4_ == iVar14 && (nSize._4_4_ < uVar13)))) break;\n                          uStack_90 = uStack_90 + 1;\n                          iVar6 = (*pWal->pWalFd->pMethods->xRead)\n                                            (pWal->pWalFd,pvVar10,uVar16,CONCAT44(iVar6,uVar11));\n                          if (iVar6 != 0) {\nLAB_000ab620:\n                            (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                            goto LAB_000ab53c;\n                          }\n                          iVar6 = (*pcVar18)(pWal,&pgno,&nTruncate,(int)pvVar10 + 0x18,pvVar10);\n                          if (iVar6 == 0) break;\n                          iVar6 = (*pcVar12)(pWal,uStack_90,pgno);\n                          if (iVar6 != 0) goto LAB_000ab620;\n                          uVar11 = uVar13;\n                          iVar6 = iVar14;\n                          if (nTruncate != 0) {\n                            uVar19 = (pWal->hdr).aFrameCksum[0];\n                            uVar15 = (pWal->hdr).aFrameCksum[1];\n                            (pWal->hdr).nPage = nTruncate;\n                            (pWal->hdr).mxFrame = uStack_90;\n                            (pWal->hdr).szPage = (ushort)aBuf._8_4_ & 0xff00 | SUB42(aBuf._8_4_,2);\n                          }\n                        }\n                        (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                        goto LAB_000ab59c;\n                      }\n                    }\n                    iVar6 = 7;\n                  }\n                  else {\n                    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                                PTR_LAB_00190958 + 0x625c);\n                    iVar6 = 0xe;\n                  }\n                  goto LAB_000ab53c;\n                }\n              }" if (parenthesized_expression "((((aBuf._0_4_ & 0xfffffffe) == 0x377f0682) && ((aBuf._8_4_ - 1 & aBuf._8_4_) == 0)\n                  ) && (aBuf._8_4_ - 0x200 < 0xfe01))" ( (binary_expression "(((aBuf._0_4_ & 0xfffffffe) == 0x377f0682) && ((aBuf._8_4_ - 1 & aBuf._8_4_) == 0)\n                  ) && (aBuf._8_4_ - 0x200 < 0xfe01)" (parenthesized_expression "(((aBuf._0_4_ & 0xfffffffe) == 0x377f0682) && ((aBuf._8_4_ - 1 & aBuf._8_4_) == 0)\n                  )" ( (binary_expression "((aBuf._0_4_ & 0xfffffffe) == 0x377f0682) && ((aBuf._8_4_ - 1 & aBuf._8_4_) == 0)" (parenthesized_expression "((aBuf._0_4_ & 0xfffffffe) == 0x377f0682)" ( (binary_expression "(aBuf._0_4_ & 0xfffffffe) == 0x377f0682" (parenthesized_expression "(aBuf._0_4_ & 0xfffffffe)" ( (binary_expression "aBuf._0_4_ & 0xfffffffe" (field_expression "aBuf._0_4_" identifier . field_identifier) & number_literal) )) == number_literal) )) && (parenthesized_expression "((aBuf._8_4_ - 1 & aBuf._8_4_) == 0)" ( (binary_expression "(aBuf._8_4_ - 1 & aBuf._8_4_) == 0" (parenthesized_expression "(aBuf._8_4_ - 1 & aBuf._8_4_)" ( (binary_expression "aBuf._8_4_ - 1 & aBuf._8_4_" (binary_expression "aBuf._8_4_ - 1" (field_expression "aBuf._8_4_" identifier . field_identifier) - number_literal) & (field_expression "aBuf._8_4_" identifier . field_identifier)) )) == number_literal) ))) )) && (parenthesized_expression "(aBuf._8_4_ - 0x200 < 0xfe01)" ( (binary_expression "aBuf._8_4_ - 0x200 < 0xfe01" (binary_expression "aBuf._8_4_ - 0x200" (field_expression "aBuf._8_4_" identifier . field_identifier) - number_literal) < number_literal) ))) )) (compound_statement "{\n                (pWal->hdr).bigEndCksum = (u8)(aBuf._0_4_ & 1);\n                pWal->szPage = aBuf._8_4_;\n                pWal->nCkpt = aBuf._12_4_;\n                puVar9 = (pWal->hdr).aSalt;\n                uVar16 = (uint)puVar9 & 3;\n                puVar2 = (uint *)((int)puVar9 - uVar16);\n                *puVar2 = *puVar2 & -1 << (4 - uVar16) * 8 | (uint)aBuf._16_4_ >> uVar16 * 8;\n                puVar1 = (undefined1 *)((int)(pWal->hdr).aSalt + 3);\n                uVar16 = (uint)puVar1 & 3;\n                puVar2 = (uint *)(puVar1 + -uVar16);\n                *puVar2 = *puVar2 & 0xffffffffU >> (uVar16 + 1) * 8 |\n                          aBuf._16_4_ << (3 - uVar16) * 8;\n                (pWal->hdr).aSalt[1] = aBuf._20_4_;\n                (*(code *)(puVar3 + 0xf88))(aBuf._0_4_ & 1,aBuf,0x18,0,(pWal->hdr).aFrameCksum);\n                if (((pWal->hdr).aFrameCksum[0] == aBuf._24_4_) &&\n                   ((pWal->hdr).aFrameCksum[1] == aBuf._28_4_)) {\n                  if (aBuf._4_4_ == 0x2de218) {\n                    iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n                    if (iVar6 == 0) {\n                      uVar16 = aBuf._8_4_ + 0x18;\n                      pvVar10 = (void *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar16 >> 0x1f)\n                      ;\n                      if (pvVar10 != (void *)0x0) {\n                        pcVar18 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n                        uVar15 = 0;\n                        uVar19 = 0;\n                        pcVar12 = (code *)(PTR_LAB_00190c2c + -0x5200);\n                        uStack_90 = 0;\n                        uVar11 = 0x20;\n                        iVar6 = 0;\n                        while( true ) {\n                          uVar13 = uVar16 + uVar11;\n                          iVar14 = (uint)(uVar13 < uVar16) + ((int)uVar16 >> 0x1f) + iVar6;\n                          if ((nSize._0_4_ < iVar14) ||\n                             ((nSize._0_4_ == iVar14 && (nSize._4_4_ < uVar13)))) break;\n                          uStack_90 = uStack_90 + 1;\n                          iVar6 = (*pWal->pWalFd->pMethods->xRead)\n                                            (pWal->pWalFd,pvVar10,uVar16,CONCAT44(iVar6,uVar11));\n                          if (iVar6 != 0) {\nLAB_000ab620:\n                            (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                            goto LAB_000ab53c;\n                          }\n                          iVar6 = (*pcVar18)(pWal,&pgno,&nTruncate,(int)pvVar10 + 0x18,pvVar10);\n                          if (iVar6 == 0) break;\n                          iVar6 = (*pcVar12)(pWal,uStack_90,pgno);\n                          if (iVar6 != 0) goto LAB_000ab620;\n                          uVar11 = uVar13;\n                          iVar6 = iVar14;\n                          if (nTruncate != 0) {\n                            uVar19 = (pWal->hdr).aFrameCksum[0];\n                            uVar15 = (pWal->hdr).aFrameCksum[1];\n                            (pWal->hdr).nPage = nTruncate;\n                            (pWal->hdr).mxFrame = uStack_90;\n                            (pWal->hdr).szPage = (ushort)aBuf._8_4_ & 0xff00 | SUB42(aBuf._8_4_,2);\n                          }\n                        }\n                        (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                        goto LAB_000ab59c;\n                      }\n                    }\n                    iVar6 = 7;\n                  }\n                  else {\n                    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                                PTR_LAB_00190958 + 0x625c);\n                    iVar6 = 0xe;\n                  }\n                  goto LAB_000ab53c;\n                }\n              }" { (expression_statement "(pWal->hdr).bigEndCksum = (u8)(aBuf._0_4_ & 1);" (assignment_expression "(pWal->hdr).bigEndCksum = (u8)(aBuf._0_4_ & 1)" (field_expression "(pWal->hdr).bigEndCksum" (parenthesized_expression "(pWal->hdr)" ( (field_expression "pWal->hdr" identifier -> field_identifier) )) . field_identifier) = (call_expression "(u8)(aBuf._0_4_ & 1)" (parenthesized_expression "(u8)" ( identifier )) (argument_list "(aBuf._0_4_ & 1)" ( (binary_expression "aBuf._0_4_ & 1" (field_expression "aBuf._0_4_" identifier . field_identifier) & number_literal) )))) ;) (expression_statement "pWal->szPage = aBuf._8_4_;" (assignment_expression "pWal->szPage = aBuf._8_4_" (field_expression "pWal->szPage" identifier -> field_identifier) = (field_expression "aBuf._8_4_" identifier . field_identifier)) ;) (expression_statement "pWal->nCkpt = aBuf._12_4_;" (assignment_expression "pWal->nCkpt = aBuf._12_4_" (field_expression "pWal->nCkpt" identifier -> field_identifier) = (field_expression "aBuf._12_4_" identifier . field_identifier)) ;) (expression_statement "puVar9 = (pWal->hdr).aSalt;" (assignment_expression "puVar9 = (pWal->hdr).aSalt" identifier = (field_expression "(pWal->hdr).aSalt" (parenthesized_expression "(pWal->hdr)" ( (field_expression "pWal->hdr" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "uVar16 = (uint)puVar9 & 3;" (assignment_expression "uVar16 = (uint)puVar9 & 3" identifier = (binary_expression "(uint)puVar9 & 3" (cast_expression "(uint)puVar9" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "puVar2 = (uint *)((int)puVar9 - uVar16);" (assignment_expression "puVar2 = (uint *)((int)puVar9 - uVar16)" identifier = (cast_expression "(uint *)((int)puVar9 - uVar16)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 - uVar16)" ( (binary_expression "(int)puVar9 - uVar16" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (expression_statement "*puVar2 = *puVar2 & -1 << (4 - uVar16) * 8 | (uint)aBuf._16_4_ >> uVar16 * 8;" (assignment_expression "*puVar2 = *puVar2 & -1 << (4 - uVar16) * 8 | (uint)aBuf._16_4_ >> uVar16 * 8" (pointer_expression "*puVar2" * identifier) = (binary_expression "*puVar2 & -1 << (4 - uVar16) * 8 | (uint)aBuf._16_4_ >> uVar16 * 8" (binary_expression "*puVar2 & -1 << (4 - uVar16) * 8" (pointer_expression "*puVar2" * identifier) & (binary_expression "-1 << (4 - uVar16) * 8" number_literal << (binary_expression "(4 - uVar16) * 8" (parenthesized_expression "(4 - uVar16)" ( (binary_expression "4 - uVar16" number_literal - identifier) )) * number_literal))) | (binary_expression "(uint)aBuf._16_4_ >> uVar16 * 8" (cast_expression "(uint)aBuf._16_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "aBuf._16_4_" identifier . field_identifier)) >> (binary_expression "uVar16 * 8" identifier * number_literal)))) ;) (expression_statement "puVar1 = (undefined1 *)((int)(pWal->hdr).aSalt + 3);" (assignment_expression "puVar1 = (undefined1 *)((int)(pWal->hdr).aSalt + 3)" identifier = (cast_expression "(undefined1 *)((int)(pWal->hdr).aSalt + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(pWal->hdr).aSalt + 3)" ( (binary_expression "(int)(pWal->hdr).aSalt + 3" (cast_expression "(int)(pWal->hdr).aSalt" ( (type_descriptor "int" primitive_type) ) (field_expression "(pWal->hdr).aSalt" (parenthesized_expression "(pWal->hdr)" ( (field_expression "pWal->hdr" identifier -> field_identifier) )) . field_identifier)) + number_literal) )))) ;) (expression_statement "uVar16 = (uint)puVar1 & 3;" (assignment_expression "uVar16 = (uint)puVar1 & 3" identifier = (binary_expression "(uint)puVar1 & 3" (cast_expression "(uint)puVar1" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "puVar2 = (uint *)(puVar1 + -uVar16);" (assignment_expression "puVar2 = (uint *)(puVar1 + -uVar16)" identifier = (cast_expression "(uint *)(puVar1 + -uVar16)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -uVar16)" ( (binary_expression "puVar1 + -uVar16" identifier + (unary_expression "-uVar16" - identifier)) )))) ;) (expression_statement "*puVar2 = *puVar2 & 0xffffffffU >> (uVar16 + 1) * 8 |\n                          aBuf._16_4_ << (3 - uVar16) * 8;" (assignment_expression "*puVar2 = *puVar2 & 0xffffffffU >> (uVar16 + 1) * 8 |\n                          aBuf._16_4_ << (3 - uVar16) * 8" (pointer_expression "*puVar2" * identifier) = (binary_expression "*puVar2 & 0xffffffffU >> (uVar16 + 1) * 8 |\n                          aBuf._16_4_ << (3 - uVar16) * 8" (binary_expression "*puVar2 & 0xffffffffU >> (uVar16 + 1) * 8" (pointer_expression "*puVar2" * identifier) & (binary_expression "0xffffffffU >> (uVar16 + 1) * 8" number_literal >> (binary_expression "(uVar16 + 1) * 8" (parenthesized_expression "(uVar16 + 1)" ( (binary_expression "uVar16 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "aBuf._16_4_ << (3 - uVar16) * 8" (field_expression "aBuf._16_4_" identifier . field_identifier) << (binary_expression "(3 - uVar16) * 8" (parenthesized_expression "(3 - uVar16)" ( (binary_expression "3 - uVar16" number_literal - identifier) )) * number_literal)))) ;) (expression_statement "(pWal->hdr).aSalt[1] = aBuf._20_4_;" (assignment_expression "(pWal->hdr).aSalt[1] = aBuf._20_4_" (subscript_expression "(pWal->hdr).aSalt[1]" (field_expression "(pWal->hdr).aSalt" (parenthesized_expression "(pWal->hdr)" ( (field_expression "pWal->hdr" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) = (field_expression "aBuf._20_4_" identifier . field_identifier)) ;) (expression_statement "(*(code *)(puVar3 + 0xf88))(aBuf._0_4_ & 1,aBuf,0x18,0,(pWal->hdr).aFrameCksum);" (call_expression "(*(code *)(puVar3 + 0xf88))(aBuf._0_4_ & 1,aBuf,0x18,0,(pWal->hdr).aFrameCksum)" (parenthesized_expression "(*(code *)(puVar3 + 0xf88))" ( (pointer_expression "*(code *)(puVar3 + 0xf88)" * (cast_expression "(code *)(puVar3 + 0xf88)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0xf88)" ( (binary_expression "puVar3 + 0xf88" identifier + number_literal) )))) )) (argument_list "(aBuf._0_4_ & 1,aBuf,0x18,0,(pWal->hdr).aFrameCksum)" ( (binary_expression "aBuf._0_4_ & 1" (field_expression "aBuf._0_4_" identifier . field_identifier) & number_literal) , identifier , number_literal , number_literal , (field_expression "(pWal->hdr).aFrameCksum" (parenthesized_expression "(pWal->hdr)" ( (field_expression "pWal->hdr" identifier -> field_identifier) )) . field_identifier) ))) ;) (if_statement "if (((pWal->hdr).aFrameCksum[0] == aBuf._24_4_) &&\n                   ((pWal->hdr).aFrameCksum[1] == aBuf._28_4_)) {\n                  if (aBuf._4_4_ == 0x2de218) {\n                    iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n                    if (iVar6 == 0) {\n                      uVar16 = aBuf._8_4_ + 0x18;\n                      pvVar10 = (void *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar16 >> 0x1f)\n                      ;\n                      if (pvVar10 != (void *)0x0) {\n                        pcVar18 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n                        uVar15 = 0;\n                        uVar19 = 0;\n                        pcVar12 = (code *)(PTR_LAB_00190c2c + -0x5200);\n                        uStack_90 = 0;\n                        uVar11 = 0x20;\n                        iVar6 = 0;\n                        while( true ) {\n                          uVar13 = uVar16 + uVar11;\n                          iVar14 = (uint)(uVar13 < uVar16) + ((int)uVar16 >> 0x1f) + iVar6;\n                          if ((nSize._0_4_ < iVar14) ||\n                             ((nSize._0_4_ == iVar14 && (nSize._4_4_ < uVar13)))) break;\n                          uStack_90 = uStack_90 + 1;\n                          iVar6 = (*pWal->pWalFd->pMethods->xRead)\n                                            (pWal->pWalFd,pvVar10,uVar16,CONCAT44(iVar6,uVar11));\n                          if (iVar6 != 0) {\nLAB_000ab620:\n                            (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                            goto LAB_000ab53c;\n                          }\n                          iVar6 = (*pcVar18)(pWal,&pgno,&nTruncate,(int)pvVar10 + 0x18,pvVar10);\n                          if (iVar6 == 0) break;\n                          iVar6 = (*pcVar12)(pWal,uStack_90,pgno);\n                          if (iVar6 != 0) goto LAB_000ab620;\n                          uVar11 = uVar13;\n                          iVar6 = iVar14;\n                          if (nTruncate != 0) {\n                            uVar19 = (pWal->hdr).aFrameCksum[0];\n                            uVar15 = (pWal->hdr).aFrameCksum[1];\n                            (pWal->hdr).nPage = nTruncate;\n                            (pWal->hdr).mxFrame = uStack_90;\n                            (pWal->hdr).szPage = (ushort)aBuf._8_4_ & 0xff00 | SUB42(aBuf._8_4_,2);\n                          }\n                        }\n                        (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                        goto LAB_000ab59c;\n                      }\n                    }\n                    iVar6 = 7;\n                  }\n                  else {\n                    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                                PTR_LAB_00190958 + 0x625c);\n                    iVar6 = 0xe;\n                  }\n                  goto LAB_000ab53c;\n                }" if (parenthesized_expression "(((pWal->hdr).aFrameCksum[0] == aBuf._24_4_) &&\n                   ((pWal->hdr).aFrameCksum[1] == aBuf._28_4_))" ( (binary_expression "((pWal->hdr).aFrameCksum[0] == aBuf._24_4_) &&\n                   ((pWal->hdr).aFrameCksum[1] == aBuf._28_4_)" (parenthesized_expression "((pWal->hdr).aFrameCksum[0] == aBuf._24_4_)" ( (binary_expression "(pWal->hdr).aFrameCksum[0] == aBuf._24_4_" (subscript_expression "(pWal->hdr).aFrameCksum[0]" (field_expression "(pWal->hdr).aFrameCksum" (parenthesized_expression "(pWal->hdr)" ( (field_expression "pWal->hdr" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) == (field_expression "aBuf._24_4_" identifier . field_identifier)) )) && (parenthesized_expression "((pWal->hdr).aFrameCksum[1] == aBuf._28_4_)" ( (binary_expression "(pWal->hdr).aFrameCksum[1] == aBuf._28_4_" (subscript_expression "(pWal->hdr).aFrameCksum[1]" (field_expression "(pWal->hdr).aFrameCksum" (parenthesized_expression "(pWal->hdr)" ( (field_expression "pWal->hdr" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) == (field_expression "aBuf._28_4_" identifier . field_identifier)) ))) )) (compound_statement "{\n                  if (aBuf._4_4_ == 0x2de218) {\n                    iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n                    if (iVar6 == 0) {\n                      uVar16 = aBuf._8_4_ + 0x18;\n                      pvVar10 = (void *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar16 >> 0x1f)\n                      ;\n                      if (pvVar10 != (void *)0x0) {\n                        pcVar18 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n                        uVar15 = 0;\n                        uVar19 = 0;\n                        pcVar12 = (code *)(PTR_LAB_00190c2c + -0x5200);\n                        uStack_90 = 0;\n                        uVar11 = 0x20;\n                        iVar6 = 0;\n                        while( true ) {\n                          uVar13 = uVar16 + uVar11;\n                          iVar14 = (uint)(uVar13 < uVar16) + ((int)uVar16 >> 0x1f) + iVar6;\n                          if ((nSize._0_4_ < iVar14) ||\n                             ((nSize._0_4_ == iVar14 && (nSize._4_4_ < uVar13)))) break;\n                          uStack_90 = uStack_90 + 1;\n                          iVar6 = (*pWal->pWalFd->pMethods->xRead)\n                                            (pWal->pWalFd,pvVar10,uVar16,CONCAT44(iVar6,uVar11));\n                          if (iVar6 != 0) {\nLAB_000ab620:\n                            (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                            goto LAB_000ab53c;\n                          }\n                          iVar6 = (*pcVar18)(pWal,&pgno,&nTruncate,(int)pvVar10 + 0x18,pvVar10);\n                          if (iVar6 == 0) break;\n                          iVar6 = (*pcVar12)(pWal,uStack_90,pgno);\n                          if (iVar6 != 0) goto LAB_000ab620;\n                          uVar11 = uVar13;\n                          iVar6 = iVar14;\n                          if (nTruncate != 0) {\n                            uVar19 = (pWal->hdr).aFrameCksum[0];\n                            uVar15 = (pWal->hdr).aFrameCksum[1];\n                            (pWal->hdr).nPage = nTruncate;\n                            (pWal->hdr).mxFrame = uStack_90;\n                            (pWal->hdr).szPage = (ushort)aBuf._8_4_ & 0xff00 | SUB42(aBuf._8_4_,2);\n                          }\n                        }\n                        (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                        goto LAB_000ab59c;\n                      }\n                    }\n                    iVar6 = 7;\n                  }\n                  else {\n                    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                                PTR_LAB_00190958 + 0x625c);\n                    iVar6 = 0xe;\n                  }\n                  goto LAB_000ab53c;\n                }" { (if_statement "if (aBuf._4_4_ == 0x2de218) {\n                    iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n                    if (iVar6 == 0) {\n                      uVar16 = aBuf._8_4_ + 0x18;\n                      pvVar10 = (void *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar16 >> 0x1f)\n                      ;\n                      if (pvVar10 != (void *)0x0) {\n                        pcVar18 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n                        uVar15 = 0;\n                        uVar19 = 0;\n                        pcVar12 = (code *)(PTR_LAB_00190c2c + -0x5200);\n                        uStack_90 = 0;\n                        uVar11 = 0x20;\n                        iVar6 = 0;\n                        while( true ) {\n                          uVar13 = uVar16 + uVar11;\n                          iVar14 = (uint)(uVar13 < uVar16) + ((int)uVar16 >> 0x1f) + iVar6;\n                          if ((nSize._0_4_ < iVar14) ||\n                             ((nSize._0_4_ == iVar14 && (nSize._4_4_ < uVar13)))) break;\n                          uStack_90 = uStack_90 + 1;\n                          iVar6 = (*pWal->pWalFd->pMethods->xRead)\n                                            (pWal->pWalFd,pvVar10,uVar16,CONCAT44(iVar6,uVar11));\n                          if (iVar6 != 0) {\nLAB_000ab620:\n                            (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                            goto LAB_000ab53c;\n                          }\n                          iVar6 = (*pcVar18)(pWal,&pgno,&nTruncate,(int)pvVar10 + 0x18,pvVar10);\n                          if (iVar6 == 0) break;\n                          iVar6 = (*pcVar12)(pWal,uStack_90,pgno);\n                          if (iVar6 != 0) goto LAB_000ab620;\n                          uVar11 = uVar13;\n                          iVar6 = iVar14;\n                          if (nTruncate != 0) {\n                            uVar19 = (pWal->hdr).aFrameCksum[0];\n                            uVar15 = (pWal->hdr).aFrameCksum[1];\n                            (pWal->hdr).nPage = nTruncate;\n                            (pWal->hdr).mxFrame = uStack_90;\n                            (pWal->hdr).szPage = (ushort)aBuf._8_4_ & 0xff00 | SUB42(aBuf._8_4_,2);\n                          }\n                        }\n                        (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                        goto LAB_000ab59c;\n                      }\n                    }\n                    iVar6 = 7;\n                  }\n                  else {\n                    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                                PTR_LAB_00190958 + 0x625c);\n                    iVar6 = 0xe;\n                  }" if (parenthesized_expression "(aBuf._4_4_ == 0x2de218)" ( (binary_expression "aBuf._4_4_ == 0x2de218" (field_expression "aBuf._4_4_" identifier . field_identifier) == number_literal) )) (compound_statement "{\n                    iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n                    if (iVar6 == 0) {\n                      uVar16 = aBuf._8_4_ + 0x18;\n                      pvVar10 = (void *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar16 >> 0x1f)\n                      ;\n                      if (pvVar10 != (void *)0x0) {\n                        pcVar18 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n                        uVar15 = 0;\n                        uVar19 = 0;\n                        pcVar12 = (code *)(PTR_LAB_00190c2c + -0x5200);\n                        uStack_90 = 0;\n                        uVar11 = 0x20;\n                        iVar6 = 0;\n                        while( true ) {\n                          uVar13 = uVar16 + uVar11;\n                          iVar14 = (uint)(uVar13 < uVar16) + ((int)uVar16 >> 0x1f) + iVar6;\n                          if ((nSize._0_4_ < iVar14) ||\n                             ((nSize._0_4_ == iVar14 && (nSize._4_4_ < uVar13)))) break;\n                          uStack_90 = uStack_90 + 1;\n                          iVar6 = (*pWal->pWalFd->pMethods->xRead)\n                                            (pWal->pWalFd,pvVar10,uVar16,CONCAT44(iVar6,uVar11));\n                          if (iVar6 != 0) {\nLAB_000ab620:\n                            (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                            goto LAB_000ab53c;\n                          }\n                          iVar6 = (*pcVar18)(pWal,&pgno,&nTruncate,(int)pvVar10 + 0x18,pvVar10);\n                          if (iVar6 == 0) break;\n                          iVar6 = (*pcVar12)(pWal,uStack_90,pgno);\n                          if (iVar6 != 0) goto LAB_000ab620;\n                          uVar11 = uVar13;\n                          iVar6 = iVar14;\n                          if (nTruncate != 0) {\n                            uVar19 = (pWal->hdr).aFrameCksum[0];\n                            uVar15 = (pWal->hdr).aFrameCksum[1];\n                            (pWal->hdr).nPage = nTruncate;\n                            (pWal->hdr).mxFrame = uStack_90;\n                            (pWal->hdr).szPage = (ushort)aBuf._8_4_ & 0xff00 | SUB42(aBuf._8_4_,2);\n                          }\n                        }\n                        (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                        goto LAB_000ab59c;\n                      }\n                    }\n                    iVar6 = 7;\n                  }" { (expression_statement "iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();" (assignment_expression "iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)()" identifier = (call_expression "(*(code *)PTR_sqlite3_initialize_00190b88)()" (parenthesized_expression "(*(code *)PTR_sqlite3_initialize_00190b88)" ( (pointer_expression "*(code *)PTR_sqlite3_initialize_00190b88" * (cast_expression "(code *)PTR_sqlite3_initialize_00190b88" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar6 == 0) {\n                      uVar16 = aBuf._8_4_ + 0x18;\n                      pvVar10 = (void *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar16 >> 0x1f)\n                      ;\n                      if (pvVar10 != (void *)0x0) {\n                        pcVar18 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n                        uVar15 = 0;\n                        uVar19 = 0;\n                        pcVar12 = (code *)(PTR_LAB_00190c2c + -0x5200);\n                        uStack_90 = 0;\n                        uVar11 = 0x20;\n                        iVar6 = 0;\n                        while( true ) {\n                          uVar13 = uVar16 + uVar11;\n                          iVar14 = (uint)(uVar13 < uVar16) + ((int)uVar16 >> 0x1f) + iVar6;\n                          if ((nSize._0_4_ < iVar14) ||\n                             ((nSize._0_4_ == iVar14 && (nSize._4_4_ < uVar13)))) break;\n                          uStack_90 = uStack_90 + 1;\n                          iVar6 = (*pWal->pWalFd->pMethods->xRead)\n                                            (pWal->pWalFd,pvVar10,uVar16,CONCAT44(iVar6,uVar11));\n                          if (iVar6 != 0) {\nLAB_000ab620:\n                            (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                            goto LAB_000ab53c;\n                          }\n                          iVar6 = (*pcVar18)(pWal,&pgno,&nTruncate,(int)pvVar10 + 0x18,pvVar10);\n                          if (iVar6 == 0) break;\n                          iVar6 = (*pcVar12)(pWal,uStack_90,pgno);\n                          if (iVar6 != 0) goto LAB_000ab620;\n                          uVar11 = uVar13;\n                          iVar6 = iVar14;\n                          if (nTruncate != 0) {\n                            uVar19 = (pWal->hdr).aFrameCksum[0];\n                            uVar15 = (pWal->hdr).aFrameCksum[1];\n                            (pWal->hdr).nPage = nTruncate;\n                            (pWal->hdr).mxFrame = uStack_90;\n                            (pWal->hdr).szPage = (ushort)aBuf._8_4_ & 0xff00 | SUB42(aBuf._8_4_,2);\n                          }\n                        }\n                        (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                        goto LAB_000ab59c;\n                      }\n                    }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n                      uVar16 = aBuf._8_4_ + 0x18;\n                      pvVar10 = (void *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar16 >> 0x1f)\n                      ;\n                      if (pvVar10 != (void *)0x0) {\n                        pcVar18 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n                        uVar15 = 0;\n                        uVar19 = 0;\n                        pcVar12 = (code *)(PTR_LAB_00190c2c + -0x5200);\n                        uStack_90 = 0;\n                        uVar11 = 0x20;\n                        iVar6 = 0;\n                        while( true ) {\n                          uVar13 = uVar16 + uVar11;\n                          iVar14 = (uint)(uVar13 < uVar16) + ((int)uVar16 >> 0x1f) + iVar6;\n                          if ((nSize._0_4_ < iVar14) ||\n                             ((nSize._0_4_ == iVar14 && (nSize._4_4_ < uVar13)))) break;\n                          uStack_90 = uStack_90 + 1;\n                          iVar6 = (*pWal->pWalFd->pMethods->xRead)\n                                            (pWal->pWalFd,pvVar10,uVar16,CONCAT44(iVar6,uVar11));\n                          if (iVar6 != 0) {\nLAB_000ab620:\n                            (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                            goto LAB_000ab53c;\n                          }\n                          iVar6 = (*pcVar18)(pWal,&pgno,&nTruncate,(int)pvVar10 + 0x18,pvVar10);\n                          if (iVar6 == 0) break;\n                          iVar6 = (*pcVar12)(pWal,uStack_90,pgno);\n                          if (iVar6 != 0) goto LAB_000ab620;\n                          uVar11 = uVar13;\n                          iVar6 = iVar14;\n                          if (nTruncate != 0) {\n                            uVar19 = (pWal->hdr).aFrameCksum[0];\n                            uVar15 = (pWal->hdr).aFrameCksum[1];\n                            (pWal->hdr).nPage = nTruncate;\n                            (pWal->hdr).mxFrame = uStack_90;\n                            (pWal->hdr).szPage = (ushort)aBuf._8_4_ & 0xff00 | SUB42(aBuf._8_4_,2);\n                          }\n                        }\n                        (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                        goto LAB_000ab59c;\n                      }\n                    }" { (expression_statement "uVar16 = aBuf._8_4_ + 0x18;" (assignment_expression "uVar16 = aBuf._8_4_ + 0x18" identifier = (binary_expression "aBuf._8_4_ + 0x18" (field_expression "aBuf._8_4_" identifier . field_identifier) + number_literal)) ;) (expression_statement "pvVar10 = (void *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar16 >> 0x1f)\n                      ;" (assignment_expression "pvVar10 = (void *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar16 >> 0x1f)" identifier = (cast_expression "(void *)(*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar16 >> 0x1f)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar16 >> 0x1f)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2b48))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + -0x2b48)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2b48)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2b48)" ( (binary_expression "PTR_LAB_00190ba8 + -0x2b48" identifier + number_literal) )))) )) (argument_list "((int)uVar16 >> 0x1f)" ( (binary_expression "(int)uVar16 >> 0x1f" (cast_expression "(int)uVar16" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))))) ;) (if_statement "if (pvVar10 != (void *)0x0) {\n                        pcVar18 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n                        uVar15 = 0;\n                        uVar19 = 0;\n                        pcVar12 = (code *)(PTR_LAB_00190c2c + -0x5200);\n                        uStack_90 = 0;\n                        uVar11 = 0x20;\n                        iVar6 = 0;\n                        while( true ) {\n                          uVar13 = uVar16 + uVar11;\n                          iVar14 = (uint)(uVar13 < uVar16) + ((int)uVar16 >> 0x1f) + iVar6;\n                          if ((nSize._0_4_ < iVar14) ||\n                             ((nSize._0_4_ == iVar14 && (nSize._4_4_ < uVar13)))) break;\n                          uStack_90 = uStack_90 + 1;\n                          iVar6 = (*pWal->pWalFd->pMethods->xRead)\n                                            (pWal->pWalFd,pvVar10,uVar16,CONCAT44(iVar6,uVar11));\n                          if (iVar6 != 0) {\nLAB_000ab620:\n                            (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                            goto LAB_000ab53c;\n                          }\n                          iVar6 = (*pcVar18)(pWal,&pgno,&nTruncate,(int)pvVar10 + 0x18,pvVar10);\n                          if (iVar6 == 0) break;\n                          iVar6 = (*pcVar12)(pWal,uStack_90,pgno);\n                          if (iVar6 != 0) goto LAB_000ab620;\n                          uVar11 = uVar13;\n                          iVar6 = iVar14;\n                          if (nTruncate != 0) {\n                            uVar19 = (pWal->hdr).aFrameCksum[0];\n                            uVar15 = (pWal->hdr).aFrameCksum[1];\n                            (pWal->hdr).nPage = nTruncate;\n                            (pWal->hdr).mxFrame = uStack_90;\n                            (pWal->hdr).szPage = (ushort)aBuf._8_4_ & 0xff00 | SUB42(aBuf._8_4_,2);\n                          }\n                        }\n                        (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                        goto LAB_000ab59c;\n                      }" if (parenthesized_expression "(pvVar10 != (void *)0x0)" ( (binary_expression "pvVar10 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                        pcVar18 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n                        uVar15 = 0;\n                        uVar19 = 0;\n                        pcVar12 = (code *)(PTR_LAB_00190c2c + -0x5200);\n                        uStack_90 = 0;\n                        uVar11 = 0x20;\n                        iVar6 = 0;\n                        while( true ) {\n                          uVar13 = uVar16 + uVar11;\n                          iVar14 = (uint)(uVar13 < uVar16) + ((int)uVar16 >> 0x1f) + iVar6;\n                          if ((nSize._0_4_ < iVar14) ||\n                             ((nSize._0_4_ == iVar14 && (nSize._4_4_ < uVar13)))) break;\n                          uStack_90 = uStack_90 + 1;\n                          iVar6 = (*pWal->pWalFd->pMethods->xRead)\n                                            (pWal->pWalFd,pvVar10,uVar16,CONCAT44(iVar6,uVar11));\n                          if (iVar6 != 0) {\nLAB_000ab620:\n                            (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                            goto LAB_000ab53c;\n                          }\n                          iVar6 = (*pcVar18)(pWal,&pgno,&nTruncate,(int)pvVar10 + 0x18,pvVar10);\n                          if (iVar6 == 0) break;\n                          iVar6 = (*pcVar12)(pWal,uStack_90,pgno);\n                          if (iVar6 != 0) goto LAB_000ab620;\n                          uVar11 = uVar13;\n                          iVar6 = iVar14;\n                          if (nTruncate != 0) {\n                            uVar19 = (pWal->hdr).aFrameCksum[0];\n                            uVar15 = (pWal->hdr).aFrameCksum[1];\n                            (pWal->hdr).nPage = nTruncate;\n                            (pWal->hdr).mxFrame = uStack_90;\n                            (pWal->hdr).szPage = (ushort)aBuf._8_4_ & 0xff00 | SUB42(aBuf._8_4_,2);\n                          }\n                        }\n                        (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                        goto LAB_000ab59c;\n                      }" { (expression_statement "pcVar18 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);" (assignment_expression "pcVar18 = (code *)(PTR_LAB_00190ba8 + -0x4fdc)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x4fdc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x4fdc)" ( (binary_expression "PTR_LAB_00190ba8 + -0x4fdc" identifier + number_literal) )))) ;) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) (expression_statement "pcVar12 = (code *)(PTR_LAB_00190c2c + -0x5200);" (assignment_expression "pcVar12 = (code *)(PTR_LAB_00190c2c + -0x5200)" identifier = (cast_expression "(code *)(PTR_LAB_00190c2c + -0x5200)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190c2c + -0x5200)" ( (binary_expression "PTR_LAB_00190c2c + -0x5200" identifier + number_literal) )))) ;) (expression_statement "uStack_90 = 0;" (assignment_expression "uStack_90 = 0" identifier = number_literal) ;) (expression_statement "uVar11 = 0x20;" (assignment_expression "uVar11 = 0x20" identifier = number_literal) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n                          uVar13 = uVar16 + uVar11;\n                          iVar14 = (uint)(uVar13 < uVar16) + ((int)uVar16 >> 0x1f) + iVar6;\n                          if ((nSize._0_4_ < iVar14) ||\n                             ((nSize._0_4_ == iVar14 && (nSize._4_4_ < uVar13)))) break;\n                          uStack_90 = uStack_90 + 1;\n                          iVar6 = (*pWal->pWalFd->pMethods->xRead)\n                                            (pWal->pWalFd,pvVar10,uVar16,CONCAT44(iVar6,uVar11));\n                          if (iVar6 != 0) {\nLAB_000ab620:\n                            (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                            goto LAB_000ab53c;\n                          }\n                          iVar6 = (*pcVar18)(pWal,&pgno,&nTruncate,(int)pvVar10 + 0x18,pvVar10);\n                          if (iVar6 == 0) break;\n                          iVar6 = (*pcVar12)(pWal,uStack_90,pgno);\n                          if (iVar6 != 0) goto LAB_000ab620;\n                          uVar11 = uVar13;\n                          iVar6 = iVar14;\n                          if (nTruncate != 0) {\n                            uVar19 = (pWal->hdr).aFrameCksum[0];\n                            uVar15 = (pWal->hdr).aFrameCksum[1];\n                            (pWal->hdr).nPage = nTruncate;\n                            (pWal->hdr).mxFrame = uStack_90;\n                            (pWal->hdr).szPage = (ushort)aBuf._8_4_ & 0xff00 | SUB42(aBuf._8_4_,2);\n                          }\n                        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                          uVar13 = uVar16 + uVar11;\n                          iVar14 = (uint)(uVar13 < uVar16) + ((int)uVar16 >> 0x1f) + iVar6;\n                          if ((nSize._0_4_ < iVar14) ||\n                             ((nSize._0_4_ == iVar14 && (nSize._4_4_ < uVar13)))) break;\n                          uStack_90 = uStack_90 + 1;\n                          iVar6 = (*pWal->pWalFd->pMethods->xRead)\n                                            (pWal->pWalFd,pvVar10,uVar16,CONCAT44(iVar6,uVar11));\n                          if (iVar6 != 0) {\nLAB_000ab620:\n                            (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                            goto LAB_000ab53c;\n                          }\n                          iVar6 = (*pcVar18)(pWal,&pgno,&nTruncate,(int)pvVar10 + 0x18,pvVar10);\n                          if (iVar6 == 0) break;\n                          iVar6 = (*pcVar12)(pWal,uStack_90,pgno);\n                          if (iVar6 != 0) goto LAB_000ab620;\n                          uVar11 = uVar13;\n                          iVar6 = iVar14;\n                          if (nTruncate != 0) {\n                            uVar19 = (pWal->hdr).aFrameCksum[0];\n                            uVar15 = (pWal->hdr).aFrameCksum[1];\n                            (pWal->hdr).nPage = nTruncate;\n                            (pWal->hdr).mxFrame = uStack_90;\n                            (pWal->hdr).szPage = (ushort)aBuf._8_4_ & 0xff00 | SUB42(aBuf._8_4_,2);\n                          }\n                        }" { (expression_statement "uVar13 = uVar16 + uVar11;" (assignment_expression "uVar13 = uVar16 + uVar11" identifier = (binary_expression "uVar16 + uVar11" identifier + identifier)) ;) (expression_statement "iVar14 = (uint)(uVar13 < uVar16) + ((int)uVar16 >> 0x1f) + iVar6;" (assignment_expression "iVar14 = (uint)(uVar13 < uVar16) + ((int)uVar16 >> 0x1f) + iVar6" identifier = (binary_expression "(uint)(uVar13 < uVar16) + ((int)uVar16 >> 0x1f) + iVar6" (binary_expression "(uint)(uVar13 < uVar16) + ((int)uVar16 >> 0x1f)" (call_expression "(uint)(uVar13 < uVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar13 < uVar16)" ( (binary_expression "uVar13 < uVar16" identifier < identifier) ))) + (parenthesized_expression "((int)uVar16 >> 0x1f)" ( (binary_expression "(int)uVar16 >> 0x1f" (cast_expression "(int)uVar16" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) + identifier)) ;) (if_statement "if ((nSize._0_4_ < iVar14) ||\n                             ((nSize._0_4_ == iVar14 && (nSize._4_4_ < uVar13)))) break;" if (parenthesized_expression "((nSize._0_4_ < iVar14) ||\n                             ((nSize._0_4_ == iVar14 && (nSize._4_4_ < uVar13))))" ( (binary_expression "(nSize._0_4_ < iVar14) ||\n                             ((nSize._0_4_ == iVar14 && (nSize._4_4_ < uVar13)))" (parenthesized_expression "(nSize._0_4_ < iVar14)" ( (binary_expression "nSize._0_4_ < iVar14" (field_expression "nSize._0_4_" identifier . field_identifier) < identifier) )) || (parenthesized_expression "((nSize._0_4_ == iVar14 && (nSize._4_4_ < uVar13)))" ( (parenthesized_expression "(nSize._0_4_ == iVar14 && (nSize._4_4_ < uVar13))" ( (binary_expression "nSize._0_4_ == iVar14 && (nSize._4_4_ < uVar13)" (binary_expression "nSize._0_4_ == iVar14" (field_expression "nSize._0_4_" identifier . field_identifier) == identifier) && (parenthesized_expression "(nSize._4_4_ < uVar13)" ( (binary_expression "nSize._4_4_ < uVar13" (field_expression "nSize._4_4_" identifier . field_identifier) < identifier) ))) )) ))) )) (break_statement "break;" break ;)) (expression_statement "uStack_90 = uStack_90 + 1;" (assignment_expression "uStack_90 = uStack_90 + 1" identifier = (binary_expression "uStack_90 + 1" identifier + number_literal)) ;) (expression_statement "iVar6 = (*pWal->pWalFd->pMethods->xRead)\n                                            (pWal->pWalFd,pvVar10,uVar16,CONCAT44(iVar6,uVar11));" (assignment_expression "iVar6 = (*pWal->pWalFd->pMethods->xRead)\n                                            (pWal->pWalFd,pvVar10,uVar16,CONCAT44(iVar6,uVar11))" identifier = (call_expression "(*pWal->pWalFd->pMethods->xRead)\n                                            (pWal->pWalFd,pvVar10,uVar16,CONCAT44(iVar6,uVar11))" (parenthesized_expression "(*pWal->pWalFd->pMethods->xRead)" ( (pointer_expression "*pWal->pWalFd->pMethods->xRead" * (field_expression "pWal->pWalFd->pMethods->xRead" (field_expression "pWal->pWalFd->pMethods" (field_expression "pWal->pWalFd" identifier -> field_identifier) -> field_identifier) -> field_identifier)) )) (argument_list "(pWal->pWalFd,pvVar10,uVar16,CONCAT44(iVar6,uVar11))" ( (field_expression "pWal->pWalFd" identifier -> field_identifier) , identifier , identifier , (call_expression "CONCAT44(iVar6,uVar11)" identifier (argument_list "(iVar6,uVar11)" ( identifier , identifier ))) )))) ;) (if_statement "if (iVar6 != 0) {\nLAB_000ab620:\n                            (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                            goto LAB_000ab53c;\n                          }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_000ab620:\n                            (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);\n                            goto LAB_000ab53c;\n                          }" { (labeled_statement "LAB_000ab620:\n                            (*(code *)PTR_sqlite3_free_0019096c)(pvVar10);" statement_identifier : (expression_statement "(*(code *)PTR_sqlite3_free_0019096c)(pvVar10);" (call_expression "(*(code *)PTR_sqlite3_free_0019096c)(pvVar10)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0019096c)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0019096c" * (cast_expression "(code *)PTR_sqlite3_free_0019096c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pvVar10)" ( identifier ))) ;)) (goto_statement "goto LAB_000ab53c;" goto statement_identifier ;) })) (expression_statement "iVar6 = (*pcVar18)(pWal,&pgno,&nTruncate,(int)pvVar10 + 0x18,pvVar10);" (assignment_expression "iVar6 = (*pcVar18)(pWal,&pgno,&nTruncate,(int)pvVar10 + 0x18,pvVar10)" identifier = (call_expression "(*pcVar18)(pWal,&pgno,&nTruncate,(int)pvVar10 + 0x18,pvVar10)" (parenthesized_expression "(*pcVar18)" ( (pointer_expression "*pcVar18" * identifier) )) (argument_list "(pWal,&pgno,&nTruncate,(int)pvVar10 + 0x18,pvVar10)" ( identifier , (pointer_expression "&pgno" & identifier) , (pointer_expression "&nTruncate" & identifier) , (binary_expression "(int)pvVar10 + 0x18" (cast_expression "(int)pvVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , identifier )))) ;) (if_statement "if (iVar6 == 0) break;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar6 = (*pcVar12)(pWal,uStack_90,pgno);" (assignment_expression "iVar6 = (*pcVar12)(pWal,uStack_90,pgno)" identifier = (call_expression "(*pcVar12)(pWal,uStack_90,pgno)" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "(pWal,uStack_90,pgno)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar6 != 0) goto LAB_000ab620;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000ab620;" goto statement_identifier ;)) (expression_statement "uVar11 = uVar13;" (assignment_expression "uVar11 = uVar13" identifier = identifier) ;) (expression_statement "iVar6 = iVar14;" (assignment_expression "iVar6 = iVar14" identifier = identifier) ;) (if_statement "if (nTruncate != 0) {\n                            uVar19 = (pWal->hdr).aFrameCksum[0];\n                            uVar15 = (pWal->hdr).aFrameCksum[1];\n                            (pWal->hdr).nPage = nTruncate;\n                            (pWal->hdr).mxFrame = uStack_90;\n                            (pWal->hdr).szPage = (ushort)aBuf._8_4_ & 0xff00 | SUB42(aBuf._8_4_,2);\n                          }" if (parenthesized_expression "(nTruncate != 0)" ( (binary_expression "nTruncate != 0" identifier != number_literal) )) (compound_statement "{\n                            uVar19 = (pWal->hdr).aFrameCksum[0];\n                            uVar15 = (pWal->hdr).aFrameCksum[1];\n                            (pWal->hdr).nPage = nTruncate;\n                            (pWal->hdr).mxFrame = uStack_90;\n                            (pWal->hdr).szPage = (ushort)aBuf._8_4_ & 0xff00 | SUB42(aBuf._8_4_,2);\n                          }" { (expression_statement "uVar19 = (pWal->hdr).aFrameCksum[0];" (assignment_expression "uVar19 = (pWal->hdr).aFrameCksum[0]" identifier = (subscript_expression "(pWal->hdr).aFrameCksum[0]" (field_expression "(pWal->hdr).aFrameCksum" (parenthesized_expression "(pWal->hdr)" ( (field_expression "pWal->hdr" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (expression_statement "uVar15 = (pWal->hdr).aFrameCksum[1];" (assignment_expression "uVar15 = (pWal->hdr).aFrameCksum[1]" identifier = (subscript_expression "(pWal->hdr).aFrameCksum[1]" (field_expression "(pWal->hdr).aFrameCksum" (parenthesized_expression "(pWal->hdr)" ( (field_expression "pWal->hdr" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (expression_statement "(pWal->hdr).nPage = nTruncate;" (assignment_expression "(pWal->hdr).nPage = nTruncate" (field_expression "(pWal->hdr).nPage" (parenthesized_expression "(pWal->hdr)" ( (field_expression "pWal->hdr" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "(pWal->hdr).mxFrame = uStack_90;" (assignment_expression "(pWal->hdr).mxFrame = uStack_90" (field_expression "(pWal->hdr).mxFrame" (parenthesized_expression "(pWal->hdr)" ( (field_expression "pWal->hdr" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "(pWal->hdr).szPage = (ushort)aBuf._8_4_ & 0xff00 | SUB42(aBuf._8_4_,2);" (assignment_expression "(pWal->hdr).szPage = (ushort)aBuf._8_4_ & 0xff00 | SUB42(aBuf._8_4_,2)" (field_expression "(pWal->hdr).szPage" (parenthesized_expression "(pWal->hdr)" ( (field_expression "pWal->hdr" identifier -> field_identifier) )) . field_identifier) = (binary_expression "(ushort)aBuf._8_4_ & 0xff00 | SUB42(aBuf._8_4_,2)" (binary_expression "(ushort)aBuf._8_4_ & 0xff00" (cast_expression "(ushort)aBuf._8_4_" ( (type_descriptor "ushort" type_identifier) ) (field_expression "aBuf._8_4_" identifier . field_identifier)) & number_literal) | (call_expression "SUB42(aBuf._8_4_,2)" identifier (argument_list "(aBuf._8_4_,2)" ( (field_expression "aBuf._8_4_" identifier . field_identifier) , number_literal ))))) ;) })) })) (expression_statement "(*(code *)PTR_sqlite3_free_0019096c)(pvVar10);" (call_expression "(*(code *)PTR_sqlite3_free_0019096c)(pvVar10)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0019096c)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0019096c" * (cast_expression "(code *)PTR_sqlite3_free_0019096c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pvVar10)" ( identifier ))) ;) (goto_statement "goto LAB_000ab59c;" goto statement_identifier ;) })) })) (expression_statement "iVar6 = 7;" (assignment_expression "iVar6 = 7" identifier = number_literal) ;) }) (else_clause "else {\n                    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                                PTR_LAB_00190958 + 0x625c);\n                    iVar6 = 0xe;\n                  }" else (compound_statement "{\n                    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                                PTR_LAB_00190958 + 0x625c);\n                    iVar6 = 0xe;\n                  }" { (expression_statement "sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                                PTR_LAB_00190958 + 0x625c);" (call_expression "sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                                PTR_LAB_00190958 + 0x625c)" identifier (argument_list "(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                                PTR_LAB_00190958 + 0x625c)" ( number_literal , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378" identifier + number_literal) , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_00190958 + 0x625c" identifier + number_literal) ))) ;) (expression_statement "iVar6 = 0xe;" (assignment_expression "iVar6 = 0xe" identifier = number_literal) ;) }))) (goto_statement "goto LAB_000ab53c;" goto statement_identifier ;) })) })) (labeled_statement "LAB_000ab598:\n              uVar15 = 0;" statement_identifier : (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;)) (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) }))) (labeled_statement "LAB_000ab59c:\n            puVar3 = PTR_LAB_00190ba8;" statement_identifier : (expression_statement "puVar3 = PTR_LAB_00190ba8;" (assignment_expression "puVar3 = PTR_LAB_00190ba8" identifier = identifier) ;)) (expression_statement "(pWal->hdr).aFrameCksum[0] = uVar19;" (assignment_expression "(pWal->hdr).aFrameCksum[0] = uVar19" (subscript_expression "(pWal->hdr).aFrameCksum[0]" (field_expression "(pWal->hdr).aFrameCksum" (parenthesized_expression "(pWal->hdr)" ( (field_expression "pWal->hdr" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "(pWal->hdr).aFrameCksum[1] = uVar15;" (assignment_expression "(pWal->hdr).aFrameCksum[1] = uVar15" (subscript_expression "(pWal->hdr).aFrameCksum[1]" (field_expression "(pWal->hdr).aFrameCksum" (parenthesized_expression "(pWal->hdr)" ( (field_expression "pWal->hdr" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "(*(code *)(puVar3 + 0x6338))(pWal);" (call_expression "(*(code *)(puVar3 + 0x6338))(pWal)" (parenthesized_expression "(*(code *)(puVar3 + 0x6338))" ( (pointer_expression "*(code *)(puVar3 + 0x6338)" * (cast_expression "(code *)(puVar3 + 0x6338)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x6338)" ( (binary_expression "puVar3 + 0x6338" identifier + number_literal) )))) )) (argument_list "(pWal)" ( identifier ))) ;) (expression_statement "puVar9 = *pWal->apWiData;" (assignment_expression "puVar9 = *pWal->apWiData" identifier = (pointer_expression "*pWal->apWiData" * (field_expression "pWal->apWiData" identifier -> field_identifier))) ;) (expression_statement "puVar9[0x18] = 0;" (assignment_expression "puVar9[0x18] = 0" (subscript_expression "puVar9[0x18]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar9[0x20] = (pWal->hdr).mxFrame;" (assignment_expression "puVar9[0x20] = (pWal->hdr).mxFrame" (subscript_expression "puVar9[0x20]" identifier [ number_literal ]) = (field_expression "(pWal->hdr).mxFrame" (parenthesized_expression "(pWal->hdr)" ( (field_expression "pWal->hdr" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "puVar9[0x19] = 0;" (assignment_expression "puVar9[0x19] = 0" (subscript_expression "puVar9[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar9[0x1a] = 0xffffffff;" (assignment_expression "puVar9[0x1a] = 0xffffffff" (subscript_expression "puVar9[0x1a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar9[0x1b] = 0xffffffff;" (assignment_expression "puVar9[0x1b] = 0xffffffff" (subscript_expression "puVar9[0x1b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar9[0x1c] = 0xffffffff;" (assignment_expression "puVar9[0x1c] = 0xffffffff" (subscript_expression "puVar9[0x1c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar9[0x1d] = 0xffffffff;" (assignment_expression "puVar9[0x1d] = 0xffffffff" (subscript_expression "puVar9[0x1d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar15 = (pWal->hdr).mxFrame;" (assignment_expression "uVar15 = (pWal->hdr).mxFrame" identifier = (field_expression "(pWal->hdr).mxFrame" (parenthesized_expression "(pWal->hdr)" ( (field_expression "pWal->hdr" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (uVar15 != 0) {\n              puVar9[0x1a] = uVar15;\n            }" if (parenthesized_expression "(uVar15 != 0)" ( (binary_expression "uVar15 != 0" identifier != number_literal) )) (compound_statement "{\n              puVar9[0x1a] = uVar15;\n            }" { (expression_statement "puVar9[0x1a] = uVar15;" (assignment_expression "puVar9[0x1a] = uVar15" (subscript_expression "puVar9[0x1a]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "iVar6 = iVar8;" (assignment_expression "iVar6 = iVar8" identifier = identifier) ;) (if_statement "if ((pWal->hdr).nPage != 0) {\n              sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                          (pWal->hdr).mxFrame,pWal->zWalName);\n            }" if (parenthesized_expression "((pWal->hdr).nPage != 0)" ( (binary_expression "(pWal->hdr).nPage != 0" (field_expression "(pWal->hdr).nPage" (parenthesized_expression "(pWal->hdr)" ( (field_expression "pWal->hdr" identifier -> field_identifier) )) . field_identifier) != number_literal) )) (compound_statement "{\n              sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                          (pWal->hdr).mxFrame,pWal->zWalName);\n            }" { (expression_statement "sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                          (pWal->hdr).mxFrame,pWal->zWalName);" (call_expression "sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                          (pWal->hdr).mxFrame,pWal->zWalName)" identifier (argument_list "(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                          (pWal->hdr).mxFrame,pWal->zWalName)" ( number_literal , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c" identifier + number_literal) , (field_expression "(pWal->hdr).mxFrame" (parenthesized_expression "(pWal->hdr)" ( (field_expression "pWal->hdr" identifier -> field_identifier) )) . field_identifier) , (field_expression "pWal->zWalName" identifier -> field_identifier) ))) ;) })) })) (labeled_statement "LAB_000ab53c:\n          if (pWal->exclusiveMode == '\0') {\n            pcVar18 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n            (*pcVar18)(pWal->pDbFd,iVar7,iVar17);\n            if (pWal->exclusiveMode == '\0') {\n              (*pcVar18)(pWal->pDbFd,4,4);\n              *pChanged = 1;\n              goto LAB_000ab170;\n            }\n          }" statement_identifier : (if_statement "if (pWal->exclusiveMode == '\0') {\n            pcVar18 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n            (*pcVar18)(pWal->pDbFd,iVar7,iVar17);\n            if (pWal->exclusiveMode == '\0') {\n              (*pcVar18)(pWal->pDbFd,4,4);\n              *pChanged = 1;\n              goto LAB_000ab170;\n            }\n          }" if (parenthesized_expression "(pWal->exclusiveMode == '\0')" ( (binary_expression "pWal->exclusiveMode == '\0'" (field_expression "pWal->exclusiveMode" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            pcVar18 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n            (*pcVar18)(pWal->pDbFd,iVar7,iVar17);\n            if (pWal->exclusiveMode == '\0') {\n              (*pcVar18)(pWal->pDbFd,4,4);\n              *pChanged = 1;\n              goto LAB_000ab170;\n            }\n          }" { (expression_statement "pcVar18 = (code *)(PTR_LAB_00190ba8 + 0x6640);" (assignment_expression "pcVar18 = (code *)(PTR_LAB_00190ba8 + 0x6640)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x6640)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x6640)" ( (binary_expression "PTR_LAB_00190ba8 + 0x6640" identifier + number_literal) )))) ;) (expression_statement "(*pcVar18)(pWal->pDbFd,iVar7,iVar17);" (call_expression "(*pcVar18)(pWal->pDbFd,iVar7,iVar17)" (parenthesized_expression "(*pcVar18)" ( (pointer_expression "*pcVar18" * identifier) )) (argument_list "(pWal->pDbFd,iVar7,iVar17)" ( (field_expression "pWal->pDbFd" identifier -> field_identifier) , identifier , identifier ))) ;) (if_statement "if (pWal->exclusiveMode == '\0') {\n              (*pcVar18)(pWal->pDbFd,4,4);\n              *pChanged = 1;\n              goto LAB_000ab170;\n            }" if (parenthesized_expression "(pWal->exclusiveMode == '\0')" ( (binary_expression "pWal->exclusiveMode == '\0'" (field_expression "pWal->exclusiveMode" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              (*pcVar18)(pWal->pDbFd,4,4);\n              *pChanged = 1;\n              goto LAB_000ab170;\n            }" { (expression_statement "(*pcVar18)(pWal->pDbFd,4,4);" (call_expression "(*pcVar18)(pWal->pDbFd,4,4)" (parenthesized_expression "(*pcVar18)" ( (pointer_expression "*pcVar18" * identifier) )) (argument_list "(pWal->pDbFd,4,4)" ( (field_expression "pWal->pDbFd" identifier -> field_identifier) , number_literal , number_literal ))) ;) (expression_statement "*pChanged = 1;" (assignment_expression "*pChanged = 1" (pointer_expression "*pChanged" * identifier) = number_literal) ;) (goto_statement "goto LAB_000ab170;" goto statement_identifier ;) })) }))) }))) (expression_statement "*pChanged = 1;" (assignment_expression "*pChanged = 1" (pointer_expression "*pChanged" * identifier) = number_literal) ;) })) (labeled_statement "LAB_000ab170:\n      pWal->writeLock = '\0';" statement_identifier : (expression_statement "pWal->writeLock = '\0';" (assignment_expression "pWal->writeLock = '\0'" (field_expression "pWal->writeLock" identifier -> field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;)) (if_statement "if (pWal->exclusiveMode == '\0') {\n        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,0,1);\n      }" if (parenthesized_expression "(pWal->exclusiveMode == '\0')" ( (binary_expression "pWal->exclusiveMode == '\0'" (field_expression "pWal->exclusiveMode" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,0,1);\n      }" { (expression_statement "(*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,0,1);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6640))(pWal->pDbFd,0,1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6640))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x6640)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x6640)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x6640)" ( (binary_expression "PTR_LAB_00190ba8 + 0x6640" identifier + number_literal) )))) )) (argument_list "(pWal->pDbFd,0,1)" ( (field_expression "pWal->pDbFd" identifier -> field_identifier) , number_literal , number_literal ))) ;) })) (goto_statement "goto LAB_000ab0f8;" goto statement_identifier ;) })) (labeled_statement "LAB_000ab2a0:\n    if (pWal->bShmUnreliable == '\0') goto LAB_000ab06c;" statement_identifier : (if_statement "if (pWal->bShmUnreliable == '\0') goto LAB_000ab06c;" if (parenthesized_expression "(pWal->bShmUnreliable == '\0')" ( (binary_expression "pWal->bShmUnreliable == '\0'" (field_expression "pWal->bShmUnreliable" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000ab06c;" goto statement_identifier ;))) (labeled_statement "LAB_000ab2ac:\n    (*(code *)(PTR_LAB_00190ba8 + 0x6650))(pWal,0);" statement_identifier : (expression_statement "(*(code *)(PTR_LAB_00190ba8 + 0x6650))(pWal,0);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6650))(pWal,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6650))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x6650)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x6650)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x6650)" ( (binary_expression "PTR_LAB_00190ba8 + 0x6650" identifier + number_literal) )))) )) (argument_list "(pWal,0)" ( identifier , number_literal ))) ;)) (expression_statement "pWal->bShmUnreliable = '\0';" (assignment_expression "pWal->bShmUnreliable = '\0'" (field_expression "pWal->bShmUnreliable" identifier -> field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (iVar6 == 0x20a) {\n      iVar6 = -1;\n      pWal->exclusiveMode = '\0';\n      goto LAB_000ab06c;\n    }" if (parenthesized_expression "(iVar6 == 0x20a)" ( (binary_expression "iVar6 == 0x20a" identifier == number_literal) )) (compound_statement "{\n      iVar6 = -1;\n      pWal->exclusiveMode = '\0';\n      goto LAB_000ab06c;\n    }" { (expression_statement "iVar6 = -1;" (assignment_expression "iVar6 = -1" identifier = number_literal) ;) (expression_statement "pWal->exclusiveMode = '\0';" (assignment_expression "pWal->exclusiveMode = '\0'" (field_expression "pWal->exclusiveMode" identifier -> field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (goto_statement "goto LAB_000ab06c;" goto statement_identifier ;) })) }) (else_clause "else {\n    if ((pWal->hdr).iVersion != 0x2de218) {\nLAB_000ab244:\n      iVar6 = 0xe;\n      sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                  PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,\n                  PTR_LAB_00190958 + 0x625c);\n      if (pWal->bShmUnreliable == '\0') goto LAB_000ab06c;\nLAB_000ab27c:\n      (*(code *)(PTR_LAB_00190ba8 + 0x6650))(pWal,0);\n      pWal->bShmUnreliable = '\0';\n      pWal->exclusiveMode = '\0';\n      goto LAB_000ab06c;\n    }\nLAB_000ab0f8:\n    if (pWal->bShmUnreliable == '\0') goto LAB_000ab06c;\n    if (iVar6 != 0) goto LAB_000ab2ac;\n  }" else (compound_statement "{\n    if ((pWal->hdr).iVersion != 0x2de218) {\nLAB_000ab244:\n      iVar6 = 0xe;\n      sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                  PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,\n                  PTR_LAB_00190958 + 0x625c);\n      if (pWal->bShmUnreliable == '\0') goto LAB_000ab06c;\nLAB_000ab27c:\n      (*(code *)(PTR_LAB_00190ba8 + 0x6650))(pWal,0);\n      pWal->bShmUnreliable = '\0';\n      pWal->exclusiveMode = '\0';\n      goto LAB_000ab06c;\n    }\nLAB_000ab0f8:\n    if (pWal->bShmUnreliable == '\0') goto LAB_000ab06c;\n    if (iVar6 != 0) goto LAB_000ab2ac;\n  }" { (if_statement "if ((pWal->hdr).iVersion != 0x2de218) {\nLAB_000ab244:\n      iVar6 = 0xe;\n      sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                  PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,\n                  PTR_LAB_00190958 + 0x625c);\n      if (pWal->bShmUnreliable == '\0') goto LAB_000ab06c;\nLAB_000ab27c:\n      (*(code *)(PTR_LAB_00190ba8 + 0x6650))(pWal,0);\n      pWal->bShmUnreliable = '\0';\n      pWal->exclusiveMode = '\0';\n      goto LAB_000ab06c;\n    }" if (parenthesized_expression "((pWal->hdr).iVersion != 0x2de218)" ( (binary_expression "(pWal->hdr).iVersion != 0x2de218" (field_expression "(pWal->hdr).iVersion" (parenthesized_expression "(pWal->hdr)" ( (field_expression "pWal->hdr" identifier -> field_identifier) )) . field_identifier) != number_literal) )) (compound_statement "{\nLAB_000ab244:\n      iVar6 = 0xe;\n      sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                  PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,\n                  PTR_LAB_00190958 + 0x625c);\n      if (pWal->bShmUnreliable == '\0') goto LAB_000ab06c;\nLAB_000ab27c:\n      (*(code *)(PTR_LAB_00190ba8 + 0x6650))(pWal,0);\n      pWal->bShmUnreliable = '\0';\n      pWal->exclusiveMode = '\0';\n      goto LAB_000ab06c;\n    }" { (labeled_statement "LAB_000ab244:\n      iVar6 = 0xe;" statement_identifier : (expression_statement "iVar6 = 0xe;" (assignment_expression "iVar6 = 0xe" identifier = number_literal) ;)) (expression_statement "sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                  PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,\n                  PTR_LAB_00190958 + 0x625c);" (call_expression "sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                  PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,\n                  PTR_LAB_00190958 + 0x625c)" identifier (argument_list "(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                  PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,\n                  PTR_LAB_00190958 + 0x625c)" ( number_literal , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378" identifier + number_literal) , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_00190958 + 0x625c" identifier + number_literal) ))) ;) (if_statement "if (pWal->bShmUnreliable == '\0') goto LAB_000ab06c;" if (parenthesized_expression "(pWal->bShmUnreliable == '\0')" ( (binary_expression "pWal->bShmUnreliable == '\0'" (field_expression "pWal->bShmUnreliable" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000ab06c;" goto statement_identifier ;)) (labeled_statement "LAB_000ab27c:\n      (*(code *)(PTR_LAB_00190ba8 + 0x6650))(pWal,0);" statement_identifier : (expression_statement "(*(code *)(PTR_LAB_00190ba8 + 0x6650))(pWal,0);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6650))(pWal,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6650))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x6650)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x6650)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x6650)" ( (binary_expression "PTR_LAB_00190ba8 + 0x6650" identifier + number_literal) )))) )) (argument_list "(pWal,0)" ( identifier , number_literal ))) ;)) (expression_statement "pWal->bShmUnreliable = '\0';" (assignment_expression "pWal->bShmUnreliable = '\0'" (field_expression "pWal->bShmUnreliable" identifier -> field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pWal->exclusiveMode = '\0';" (assignment_expression "pWal->exclusiveMode = '\0'" (field_expression "pWal->exclusiveMode" identifier -> field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (goto_statement "goto LAB_000ab06c;" goto statement_identifier ;) })) (labeled_statement "LAB_000ab0f8:\n    if (pWal->bShmUnreliable == '\0') goto LAB_000ab06c;" statement_identifier : (if_statement "if (pWal->bShmUnreliable == '\0') goto LAB_000ab06c;" if (parenthesized_expression "(pWal->bShmUnreliable == '\0')" ( (binary_expression "pWal->bShmUnreliable == '\0'" (field_expression "pWal->bShmUnreliable" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000ab06c;" goto statement_identifier ;))) (if_statement "if (iVar6 != 0) goto LAB_000ab2ac;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000ab2ac;" goto statement_identifier ;)) }))) (expression_statement "pWal->exclusiveMode = '\0';" (assignment_expression "pWal->exclusiveMode = '\0'" (field_expression "pWal->exclusiveMode" identifier -> field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (labeled_statement "LAB_000ab06c:\n  if (iVar5 == *(int *)puVar4) {\n    return iVar6;\n  }" statement_identifier : (if_statement "if (iVar5 == *(int *)puVar4) {\n    return iVar6;\n  }" if (parenthesized_expression "(iVar5 == *(int *)puVar4)" ( (binary_expression "iVar5 == *(int *)puVar4" identifier == (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return iVar6;\n  }" { (return_statement "return iVar6;" return identifier ;) }))) (expression_statement "iVar6 = (*(code *)PTR___stack_chk_fail_00190df8)();" (assignment_expression "iVar6 = (*(code *)PTR___stack_chk_fail_00190df8)()" identifier = (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" * (cast_expression "(code *)PTR___stack_chk_fail_00190df8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (return_statement "return iVar6;" return identifier ;) })))
(translation_unit "int FUN_000aafe4(int param_1,undefined4 *param_2)\n\n{\n  uint *puVar1;\n  ushort uVar2;\n  uint uVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  uint uVar9;\n  code *pcVar10;\n  uint uVar11;\n  int iVar12;\n  uint uVar13;\n  code *pcVar14;\n  code *pcVar15;\n  int *piVar16;\n  undefined4 uVar17;\n  uint unaff_s6;\n  int local_90;\n  int local_64;\n  undefined4 local_60;\n  int local_5c;\n  int local_58;\n  uint local_54;\n  uint local_4c;\n  int local_48;\n  uint local_44;\n  undefined4 local_40;\n  uint local_3c;\n  undefined4 local_38;\n  int local_34;\n  int local_30;\n  int local_2c;\n  \n  puVar5 = PTR___stack_chk_guard_00190e24;\n  piVar16 = &local_64;\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  pcVar14 = (code *)(PTR_LAB_00190c2c + -0x58c0);\n  iVar6 = FUN_000aa740(param_1,0,piVar16);\n  pcVar15 = pcVar14;\n  if (iVar6 != 0) {\n    if (iVar6 != 0x508) goto LAB_000ab06c;\n    *(undefined1 *)(param_1 + 0x32) = 1;\n    *(undefined1 *)(param_1 + 0x2b) = 2;\n    *param_2 = 1;\n  }\n  if ((local_64 == 0) ||\n     (iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2), iVar7 != 0)) {\n    if ((*(char *)(param_1 + 0x32) != '\0') || ((*(byte *)(param_1 + 0x2e) & 2) == 0)) {\n      if ((*(char *)(param_1 + 0x2b) == '\0') &&\n         (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1),\n         iVar6 != 0)) {\nLAB_000ab2a0:\n        if (*(char *)(param_1 + 0x32) != '\0') goto LAB_000ab2ac;\n        goto LAB_000ab06c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 1;\n      iVar7 = FUN_000aa740(param_1,0,piVar16);\n      if (iVar7 != 0) goto LAB_000ab170;\n      iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2);\n      if (iVar6 != 0) {\n        pcVar15 = (code *)(*(byte *)(param_1 + 0x2d) + 1);\n        piVar16 = (int *)(3 - (int)pcVar15);\n        if (*(char *)(param_1 + 0x2b) == '\0') {\n          pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n          pcVar14 = pcVar15;\n          if (iVar7 != 0) goto LAB_000ab3b0;\n          if ((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)) {\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }\n        }\n        (*(code *)PTR_memset_00190d58)(param_1 + 0x34,0,0x30);\n        iVar6 = (**(code **)(**(int **)(param_1 + 8) + 0x18))(*(int **)(param_1 + 8),&local_58);\n        iVar7 = iVar6;\n        if (iVar6 != 0) goto LAB_000ab53c;\n        if (local_58 < 1) {\n          unaff_s6 = 0;\n          if (local_58 != 0) goto LAB_000ab598;\n          uVar17 = 0;\n          if (local_54 < 0x21) goto LAB_000ab59c;\n        }\n        uVar17 = 0;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),&local_4c,0x20);\n        puVar4 = PTR_LAB_00190b40;\n        if (iVar7 != 0) goto LAB_000ab53c;\n        if ((((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)) &&\n           (local_44 - 0x200 < 0xfe01)) {\n          *(char *)(param_1 + 0x41) = (char)(local_4c & 1);\n          *(uint *)(param_1 + 0x24) = local_44;\n          *(undefined4 *)(param_1 + 0x70) = local_40;\n          uVar13 = param_1 + 0x54U & 3;\n          puVar1 = (uint *)((param_1 + 0x54U) - uVar13);\n          *puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8;\n          uVar13 = param_1 + 0x57U & 3;\n          puVar1 = (uint *)((param_1 + 0x57U) - uVar13);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8;\n          *(undefined4 *)(param_1 + 0x58) = local_38;\n          (*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17);\n          if ((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)) {\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }\n        }\nLAB_000ab598:\n        unaff_s6 = 0;\n        uVar17 = 0;\n        goto LAB_000ab59c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 0;\n      if (*(char *)(param_1 + 0x2b) == '\0') {\n        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      else {\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      if (iVar6 == 0x2de218) {\n        iVar6 = 0;\n        if (*(char *)(param_1 + 0x32) != '\0') {\n          *(undefined1 *)(param_1 + 0x2b) = 0;\n        }\n        goto LAB_000ab06c;\n      }\n      goto LAB_000ab244;\n    }\n    if (*(char *)(param_1 + 0x2b) != '\0') {\nLAB_000ab318:\n      iVar6 = 0x108;\n      goto LAB_000ab06c;\n    }\n    iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6538))(*(undefined4 *)(param_1 + 4),0);\n    if (iVar6 != 0) goto LAB_000ab2a0;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      (*(code *)(PTR_LAB_00190ba8 + 0x654c))(*(undefined4 *)(param_1 + 4),0);\n    }\n    if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab318;\n    iVar6 = 0x108;\n  }\n  else {\n    if (*(int *)(param_1 + 0x34) == 0x2de218) goto LAB_000ab0f8;\nLAB_000ab244:\n    iVar6 = 0xe;\n    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,\n                PTR_LAB_00190958 + 0x625c);\n    if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab06c;\n  }\n  (*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0);\n  *(undefined1 *)(param_1 + 0x32) = 0;\n  *(undefined1 *)(param_1 + 0x2b) = 0;\nLAB_000ab06c:\n  do {\n    if (local_2c == *(int *)puVar5) {\n      return iVar6;\n    }\n    pcVar14 = (code *)PTR___stack_chk_fail_00190df8;\n    (*(code *)PTR___stack_chk_fail_00190df8)();\nLAB_000ab64c:\n    iVar7 = (*pcVar14)();\n    if (iVar7 == 0) {\n      uVar13 = unaff_s6 + 0x18;\n      iVar8 = (*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar13 >> 0x1f);\n      if (iVar8 == 0) goto LAB_000ab7ec;\n      uVar2 = (ushort)unaff_s6;\n      uVar3 = unaff_s6 >> 0x10;\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n      unaff_s6 = 0;\n      uVar17 = 0;\n      pcVar10 = (code *)(PTR_LAB_00190c2c + -0x5200);\n      local_90 = 0;\n      uVar9 = 0x20;\n      iVar7 = 0;\n      while( true ) {\n        uVar11 = uVar13 + uVar9;\n        iVar12 = (uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7;\n        if ((local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11)))) break;\n        local_90 = local_90 + 1;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9);\n        if (iVar7 != 0) {\nLAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\n          goto LAB_000ab53c;\n        }\n        iVar7 = (*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8);\n        if (iVar7 == 0) break;\n        iVar7 = (*pcVar10)(param_1,local_90,local_60);\n        if (iVar7 != 0) goto LAB_000ab620;\n        uVar9 = uVar11;\n        iVar7 = iVar12;\n        if (local_5c != 0) {\n          uVar17 = *(undefined4 *)(param_1 + 0x4c);\n          unaff_s6 = *(uint *)(param_1 + 0x50);\n          *(int *)(param_1 + 0x48) = local_5c;\n          *(int *)(param_1 + 0x44) = local_90;\n          *(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;\n        }\n      }\n      (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\nLAB_000ab59c:\n      puVar4 = PTR_LAB_00190ba8;\n      *(undefined4 *)(param_1 + 0x4c) = uVar17;\n      *(uint *)(param_1 + 0x50) = unaff_s6;\n      (*(code *)(puVar4 + 0x6338))(param_1);\n      iVar7 = **(int **)(param_1 + 0x20);\n      *(undefined4 *)(iVar7 + 0x60) = 0;\n      *(undefined4 *)(iVar7 + 0x80) = *(undefined4 *)(param_1 + 0x44);\n      *(undefined4 *)(iVar7 + 100) = 0;\n      *(undefined4 *)(iVar7 + 0x68) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x6c) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x70) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x74) = 0xffffffff;\n      if (*(int *)(param_1 + 0x44) != 0) {\n        *(int *)(iVar7 + 0x68) = *(int *)(param_1 + 0x44);\n      }\n      iVar7 = iVar6;\n      if (*(int *)(param_1 + 0x48) != 0) {\n        sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c));\n      }\n    }\n    else {\nLAB_000ab7ec:\n      iVar7 = 7;\n    }\nLAB_000ab53c:\n    pcVar14 = pcVar15;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n      if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),4,4);\n      *param_2 = 1;\n    }\n    else {\nLAB_000ab3b0:\n      *param_2 = 1;\n    }\nLAB_000ab170:\n    *(undefined1 *)(param_1 + 0x2c) = 0;\n    iVar6 = iVar7;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n    }\nLAB_000ab0f8:\n    pcVar15 = pcVar14;\n  } while (*(char *)(param_1 + 0x32) == '\0');\n  if (iVar6 != 0) {\nLAB_000ab2ac:\n    (*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0);\n    *(undefined1 *)(param_1 + 0x32) = 0;\n    if (iVar6 == 0x20a) {\n      iVar6 = -1;\n      *(undefined1 *)(param_1 + 0x2b) = 0;\n      pcVar15 = pcVar14;\n      goto LAB_000ab06c;\n    }\n  }\n  *(undefined1 *)(param_1 + 0x2b) = 0;\n  pcVar15 = pcVar14;\n  goto LAB_000ab06c;\n}\n\n" (function_definition "int FUN_000aafe4(int param_1,undefined4 *param_2)\n\n{\n  uint *puVar1;\n  ushort uVar2;\n  uint uVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  uint uVar9;\n  code *pcVar10;\n  uint uVar11;\n  int iVar12;\n  uint uVar13;\n  code *pcVar14;\n  code *pcVar15;\n  int *piVar16;\n  undefined4 uVar17;\n  uint unaff_s6;\n  int local_90;\n  int local_64;\n  undefined4 local_60;\n  int local_5c;\n  int local_58;\n  uint local_54;\n  uint local_4c;\n  int local_48;\n  uint local_44;\n  undefined4 local_40;\n  uint local_3c;\n  undefined4 local_38;\n  int local_34;\n  int local_30;\n  int local_2c;\n  \n  puVar5 = PTR___stack_chk_guard_00190e24;\n  piVar16 = &local_64;\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  pcVar14 = (code *)(PTR_LAB_00190c2c + -0x58c0);\n  iVar6 = FUN_000aa740(param_1,0,piVar16);\n  pcVar15 = pcVar14;\n  if (iVar6 != 0) {\n    if (iVar6 != 0x508) goto LAB_000ab06c;\n    *(undefined1 *)(param_1 + 0x32) = 1;\n    *(undefined1 *)(param_1 + 0x2b) = 2;\n    *param_2 = 1;\n  }\n  if ((local_64 == 0) ||\n     (iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2), iVar7 != 0)) {\n    if ((*(char *)(param_1 + 0x32) != '\0') || ((*(byte *)(param_1 + 0x2e) & 2) == 0)) {\n      if ((*(char *)(param_1 + 0x2b) == '\0') &&\n         (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1),\n         iVar6 != 0)) {\nLAB_000ab2a0:\n        if (*(char *)(param_1 + 0x32) != '\0') goto LAB_000ab2ac;\n        goto LAB_000ab06c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 1;\n      iVar7 = FUN_000aa740(param_1,0,piVar16);\n      if (iVar7 != 0) goto LAB_000ab170;\n      iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2);\n      if (iVar6 != 0) {\n        pcVar15 = (code *)(*(byte *)(param_1 + 0x2d) + 1);\n        piVar16 = (int *)(3 - (int)pcVar15);\n        if (*(char *)(param_1 + 0x2b) == '\0') {\n          pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n          pcVar14 = pcVar15;\n          if (iVar7 != 0) goto LAB_000ab3b0;\n          if ((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)) {\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }\n        }\n        (*(code *)PTR_memset_00190d58)(param_1 + 0x34,0,0x30);\n        iVar6 = (**(code **)(**(int **)(param_1 + 8) + 0x18))(*(int **)(param_1 + 8),&local_58);\n        iVar7 = iVar6;\n        if (iVar6 != 0) goto LAB_000ab53c;\n        if (local_58 < 1) {\n          unaff_s6 = 0;\n          if (local_58 != 0) goto LAB_000ab598;\n          uVar17 = 0;\n          if (local_54 < 0x21) goto LAB_000ab59c;\n        }\n        uVar17 = 0;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),&local_4c,0x20);\n        puVar4 = PTR_LAB_00190b40;\n        if (iVar7 != 0) goto LAB_000ab53c;\n        if ((((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)) &&\n           (local_44 - 0x200 < 0xfe01)) {\n          *(char *)(param_1 + 0x41) = (char)(local_4c & 1);\n          *(uint *)(param_1 + 0x24) = local_44;\n          *(undefined4 *)(param_1 + 0x70) = local_40;\n          uVar13 = param_1 + 0x54U & 3;\n          puVar1 = (uint *)((param_1 + 0x54U) - uVar13);\n          *puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8;\n          uVar13 = param_1 + 0x57U & 3;\n          puVar1 = (uint *)((param_1 + 0x57U) - uVar13);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8;\n          *(undefined4 *)(param_1 + 0x58) = local_38;\n          (*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17);\n          if ((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)) {\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }\n        }\nLAB_000ab598:\n        unaff_s6 = 0;\n        uVar17 = 0;\n        goto LAB_000ab59c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 0;\n      if (*(char *)(param_1 + 0x2b) == '\0') {\n        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      else {\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      if (iVar6 == 0x2de218) {\n        iVar6 = 0;\n        if (*(char *)(param_1 + 0x32) != '\0') {\n          *(undefined1 *)(param_1 + 0x2b) = 0;\n        }\n        goto LAB_000ab06c;\n      }\n      goto LAB_000ab244;\n    }\n    if (*(char *)(param_1 + 0x2b) != '\0') {\nLAB_000ab318:\n      iVar6 = 0x108;\n      goto LAB_000ab06c;\n    }\n    iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6538))(*(undefined4 *)(param_1 + 4),0);\n    if (iVar6 != 0) goto LAB_000ab2a0;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      (*(code *)(PTR_LAB_00190ba8 + 0x654c))(*(undefined4 *)(param_1 + 4),0);\n    }\n    if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab318;\n    iVar6 = 0x108;\n  }\n  else {\n    if (*(int *)(param_1 + 0x34) == 0x2de218) goto LAB_000ab0f8;\nLAB_000ab244:\n    iVar6 = 0xe;\n    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,\n                PTR_LAB_00190958 + 0x625c);\n    if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab06c;\n  }\n  (*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0);\n  *(undefined1 *)(param_1 + 0x32) = 0;\n  *(undefined1 *)(param_1 + 0x2b) = 0;\nLAB_000ab06c:\n  do {\n    if (local_2c == *(int *)puVar5) {\n      return iVar6;\n    }\n    pcVar14 = (code *)PTR___stack_chk_fail_00190df8;\n    (*(code *)PTR___stack_chk_fail_00190df8)();\nLAB_000ab64c:\n    iVar7 = (*pcVar14)();\n    if (iVar7 == 0) {\n      uVar13 = unaff_s6 + 0x18;\n      iVar8 = (*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar13 >> 0x1f);\n      if (iVar8 == 0) goto LAB_000ab7ec;\n      uVar2 = (ushort)unaff_s6;\n      uVar3 = unaff_s6 >> 0x10;\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n      unaff_s6 = 0;\n      uVar17 = 0;\n      pcVar10 = (code *)(PTR_LAB_00190c2c + -0x5200);\n      local_90 = 0;\n      uVar9 = 0x20;\n      iVar7 = 0;\n      while( true ) {\n        uVar11 = uVar13 + uVar9;\n        iVar12 = (uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7;\n        if ((local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11)))) break;\n        local_90 = local_90 + 1;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9);\n        if (iVar7 != 0) {\nLAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\n          goto LAB_000ab53c;\n        }\n        iVar7 = (*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8);\n        if (iVar7 == 0) break;\n        iVar7 = (*pcVar10)(param_1,local_90,local_60);\n        if (iVar7 != 0) goto LAB_000ab620;\n        uVar9 = uVar11;\n        iVar7 = iVar12;\n        if (local_5c != 0) {\n          uVar17 = *(undefined4 *)(param_1 + 0x4c);\n          unaff_s6 = *(uint *)(param_1 + 0x50);\n          *(int *)(param_1 + 0x48) = local_5c;\n          *(int *)(param_1 + 0x44) = local_90;\n          *(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;\n        }\n      }\n      (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\nLAB_000ab59c:\n      puVar4 = PTR_LAB_00190ba8;\n      *(undefined4 *)(param_1 + 0x4c) = uVar17;\n      *(uint *)(param_1 + 0x50) = unaff_s6;\n      (*(code *)(puVar4 + 0x6338))(param_1);\n      iVar7 = **(int **)(param_1 + 0x20);\n      *(undefined4 *)(iVar7 + 0x60) = 0;\n      *(undefined4 *)(iVar7 + 0x80) = *(undefined4 *)(param_1 + 0x44);\n      *(undefined4 *)(iVar7 + 100) = 0;\n      *(undefined4 *)(iVar7 + 0x68) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x6c) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x70) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x74) = 0xffffffff;\n      if (*(int *)(param_1 + 0x44) != 0) {\n        *(int *)(iVar7 + 0x68) = *(int *)(param_1 + 0x44);\n      }\n      iVar7 = iVar6;\n      if (*(int *)(param_1 + 0x48) != 0) {\n        sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c));\n      }\n    }\n    else {\nLAB_000ab7ec:\n      iVar7 = 7;\n    }\nLAB_000ab53c:\n    pcVar14 = pcVar15;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n      if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),4,4);\n      *param_2 = 1;\n    }\n    else {\nLAB_000ab3b0:\n      *param_2 = 1;\n    }\nLAB_000ab170:\n    *(undefined1 *)(param_1 + 0x2c) = 0;\n    iVar6 = iVar7;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n    }\nLAB_000ab0f8:\n    pcVar15 = pcVar14;\n  } while (*(char *)(param_1 + 0x32) == '\0');\n  if (iVar6 != 0) {\nLAB_000ab2ac:\n    (*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0);\n    *(undefined1 *)(param_1 + 0x32) = 0;\n    if (iVar6 == 0x20a) {\n      iVar6 = -1;\n      *(undefined1 *)(param_1 + 0x2b) = 0;\n      pcVar15 = pcVar14;\n      goto LAB_000ab06c;\n    }\n  }\n  *(undefined1 *)(param_1 + 0x2b) = 0;\n  pcVar15 = pcVar14;\n  goto LAB_000ab06c;\n}" primitive_type (function_declarator "FUN_000aafe4(int param_1,undefined4 *param_2)" identifier (parameter_list "(int param_1,undefined4 *param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  uint *puVar1;\n  ushort uVar2;\n  uint uVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  uint uVar9;\n  code *pcVar10;\n  uint uVar11;\n  int iVar12;\n  uint uVar13;\n  code *pcVar14;\n  code *pcVar15;\n  int *piVar16;\n  undefined4 uVar17;\n  uint unaff_s6;\n  int local_90;\n  int local_64;\n  undefined4 local_60;\n  int local_5c;\n  int local_58;\n  uint local_54;\n  uint local_4c;\n  int local_48;\n  uint local_44;\n  undefined4 local_40;\n  uint local_3c;\n  undefined4 local_38;\n  int local_34;\n  int local_30;\n  int local_2c;\n  \n  puVar5 = PTR___stack_chk_guard_00190e24;\n  piVar16 = &local_64;\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  pcVar14 = (code *)(PTR_LAB_00190c2c + -0x58c0);\n  iVar6 = FUN_000aa740(param_1,0,piVar16);\n  pcVar15 = pcVar14;\n  if (iVar6 != 0) {\n    if (iVar6 != 0x508) goto LAB_000ab06c;\n    *(undefined1 *)(param_1 + 0x32) = 1;\n    *(undefined1 *)(param_1 + 0x2b) = 2;\n    *param_2 = 1;\n  }\n  if ((local_64 == 0) ||\n     (iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2), iVar7 != 0)) {\n    if ((*(char *)(param_1 + 0x32) != '\0') || ((*(byte *)(param_1 + 0x2e) & 2) == 0)) {\n      if ((*(char *)(param_1 + 0x2b) == '\0') &&\n         (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1),\n         iVar6 != 0)) {\nLAB_000ab2a0:\n        if (*(char *)(param_1 + 0x32) != '\0') goto LAB_000ab2ac;\n        goto LAB_000ab06c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 1;\n      iVar7 = FUN_000aa740(param_1,0,piVar16);\n      if (iVar7 != 0) goto LAB_000ab170;\n      iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2);\n      if (iVar6 != 0) {\n        pcVar15 = (code *)(*(byte *)(param_1 + 0x2d) + 1);\n        piVar16 = (int *)(3 - (int)pcVar15);\n        if (*(char *)(param_1 + 0x2b) == '\0') {\n          pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n          pcVar14 = pcVar15;\n          if (iVar7 != 0) goto LAB_000ab3b0;\n          if ((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)) {\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }\n        }\n        (*(code *)PTR_memset_00190d58)(param_1 + 0x34,0,0x30);\n        iVar6 = (**(code **)(**(int **)(param_1 + 8) + 0x18))(*(int **)(param_1 + 8),&local_58);\n        iVar7 = iVar6;\n        if (iVar6 != 0) goto LAB_000ab53c;\n        if (local_58 < 1) {\n          unaff_s6 = 0;\n          if (local_58 != 0) goto LAB_000ab598;\n          uVar17 = 0;\n          if (local_54 < 0x21) goto LAB_000ab59c;\n        }\n        uVar17 = 0;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),&local_4c,0x20);\n        puVar4 = PTR_LAB_00190b40;\n        if (iVar7 != 0) goto LAB_000ab53c;\n        if ((((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)) &&\n           (local_44 - 0x200 < 0xfe01)) {\n          *(char *)(param_1 + 0x41) = (char)(local_4c & 1);\n          *(uint *)(param_1 + 0x24) = local_44;\n          *(undefined4 *)(param_1 + 0x70) = local_40;\n          uVar13 = param_1 + 0x54U & 3;\n          puVar1 = (uint *)((param_1 + 0x54U) - uVar13);\n          *puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8;\n          uVar13 = param_1 + 0x57U & 3;\n          puVar1 = (uint *)((param_1 + 0x57U) - uVar13);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8;\n          *(undefined4 *)(param_1 + 0x58) = local_38;\n          (*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17);\n          if ((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)) {\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }\n        }\nLAB_000ab598:\n        unaff_s6 = 0;\n        uVar17 = 0;\n        goto LAB_000ab59c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 0;\n      if (*(char *)(param_1 + 0x2b) == '\0') {\n        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      else {\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      if (iVar6 == 0x2de218) {\n        iVar6 = 0;\n        if (*(char *)(param_1 + 0x32) != '\0') {\n          *(undefined1 *)(param_1 + 0x2b) = 0;\n        }\n        goto LAB_000ab06c;\n      }\n      goto LAB_000ab244;\n    }\n    if (*(char *)(param_1 + 0x2b) != '\0') {\nLAB_000ab318:\n      iVar6 = 0x108;\n      goto LAB_000ab06c;\n    }\n    iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6538))(*(undefined4 *)(param_1 + 4),0);\n    if (iVar6 != 0) goto LAB_000ab2a0;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      (*(code *)(PTR_LAB_00190ba8 + 0x654c))(*(undefined4 *)(param_1 + 4),0);\n    }\n    if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab318;\n    iVar6 = 0x108;\n  }\n  else {\n    if (*(int *)(param_1 + 0x34) == 0x2de218) goto LAB_000ab0f8;\nLAB_000ab244:\n    iVar6 = 0xe;\n    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,\n                PTR_LAB_00190958 + 0x625c);\n    if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab06c;\n  }\n  (*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0);\n  *(undefined1 *)(param_1 + 0x32) = 0;\n  *(undefined1 *)(param_1 + 0x2b) = 0;\nLAB_000ab06c:\n  do {\n    if (local_2c == *(int *)puVar5) {\n      return iVar6;\n    }\n    pcVar14 = (code *)PTR___stack_chk_fail_00190df8;\n    (*(code *)PTR___stack_chk_fail_00190df8)();\nLAB_000ab64c:\n    iVar7 = (*pcVar14)();\n    if (iVar7 == 0) {\n      uVar13 = unaff_s6 + 0x18;\n      iVar8 = (*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar13 >> 0x1f);\n      if (iVar8 == 0) goto LAB_000ab7ec;\n      uVar2 = (ushort)unaff_s6;\n      uVar3 = unaff_s6 >> 0x10;\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n      unaff_s6 = 0;\n      uVar17 = 0;\n      pcVar10 = (code *)(PTR_LAB_00190c2c + -0x5200);\n      local_90 = 0;\n      uVar9 = 0x20;\n      iVar7 = 0;\n      while( true ) {\n        uVar11 = uVar13 + uVar9;\n        iVar12 = (uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7;\n        if ((local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11)))) break;\n        local_90 = local_90 + 1;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9);\n        if (iVar7 != 0) {\nLAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\n          goto LAB_000ab53c;\n        }\n        iVar7 = (*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8);\n        if (iVar7 == 0) break;\n        iVar7 = (*pcVar10)(param_1,local_90,local_60);\n        if (iVar7 != 0) goto LAB_000ab620;\n        uVar9 = uVar11;\n        iVar7 = iVar12;\n        if (local_5c != 0) {\n          uVar17 = *(undefined4 *)(param_1 + 0x4c);\n          unaff_s6 = *(uint *)(param_1 + 0x50);\n          *(int *)(param_1 + 0x48) = local_5c;\n          *(int *)(param_1 + 0x44) = local_90;\n          *(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;\n        }\n      }\n      (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\nLAB_000ab59c:\n      puVar4 = PTR_LAB_00190ba8;\n      *(undefined4 *)(param_1 + 0x4c) = uVar17;\n      *(uint *)(param_1 + 0x50) = unaff_s6;\n      (*(code *)(puVar4 + 0x6338))(param_1);\n      iVar7 = **(int **)(param_1 + 0x20);\n      *(undefined4 *)(iVar7 + 0x60) = 0;\n      *(undefined4 *)(iVar7 + 0x80) = *(undefined4 *)(param_1 + 0x44);\n      *(undefined4 *)(iVar7 + 100) = 0;\n      *(undefined4 *)(iVar7 + 0x68) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x6c) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x70) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x74) = 0xffffffff;\n      if (*(int *)(param_1 + 0x44) != 0) {\n        *(int *)(iVar7 + 0x68) = *(int *)(param_1 + 0x44);\n      }\n      iVar7 = iVar6;\n      if (*(int *)(param_1 + 0x48) != 0) {\n        sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c));\n      }\n    }\n    else {\nLAB_000ab7ec:\n      iVar7 = 7;\n    }\nLAB_000ab53c:\n    pcVar14 = pcVar15;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n      if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),4,4);\n      *param_2 = 1;\n    }\n    else {\nLAB_000ab3b0:\n      *param_2 = 1;\n    }\nLAB_000ab170:\n    *(undefined1 *)(param_1 + 0x2c) = 0;\n    iVar6 = iVar7;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n    }\nLAB_000ab0f8:\n    pcVar15 = pcVar14;\n  } while (*(char *)(param_1 + 0x32) == '\0');\n  if (iVar6 != 0) {\nLAB_000ab2ac:\n    (*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0);\n    *(undefined1 *)(param_1 + 0x32) = 0;\n    if (iVar6 == 0x20a) {\n      iVar6 = -1;\n      *(undefined1 *)(param_1 + 0x2b) = 0;\n      pcVar15 = pcVar14;\n      goto LAB_000ab06c;\n    }\n  }\n  *(undefined1 *)(param_1 + 0x2b) = 0;\n  pcVar15 = pcVar14;\n  goto LAB_000ab06c;\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "code *pcVar10;" type_identifier (pointer_declarator "*pcVar10" * identifier) ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "code *pcVar14;" type_identifier (pointer_declarator "*pcVar14" * identifier) ;) (declaration "code *pcVar15;" type_identifier (pointer_declarator "*pcVar15" * identifier) ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "undefined4 uVar17;" type_identifier identifier ;) (declaration "uint unaff_s6;" type_identifier identifier ;) (declaration "int local_90;" primitive_type identifier ;) (declaration "int local_64;" primitive_type identifier ;) (declaration "undefined4 local_60;" type_identifier identifier ;) (declaration "int local_5c;" primitive_type identifier ;) (declaration "int local_58;" primitive_type identifier ;) (declaration "uint local_54;" type_identifier identifier ;) (declaration "uint local_4c;" type_identifier identifier ;) (declaration "int local_48;" primitive_type identifier ;) (declaration "uint local_44;" type_identifier identifier ;) (declaration "undefined4 local_40;" type_identifier identifier ;) (declaration "uint local_3c;" type_identifier identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar5 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar5 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "piVar16 = &local_64;" (assignment_expression "piVar16 = &local_64" identifier = (pointer_expression "&local_64" & identifier)) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_00190e24" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_00190e24" * (cast_expression "(int *)PTR___stack_chk_guard_00190e24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pcVar14 = (code *)(PTR_LAB_00190c2c + -0x58c0);" (assignment_expression "pcVar14 = (code *)(PTR_LAB_00190c2c + -0x58c0)" identifier = (cast_expression "(code *)(PTR_LAB_00190c2c + -0x58c0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190c2c + -0x58c0)" ( (binary_expression "PTR_LAB_00190c2c + -0x58c0" identifier + number_literal) )))) ;) (expression_statement "iVar6 = FUN_000aa740(param_1,0,piVar16);" (assignment_expression "iVar6 = FUN_000aa740(param_1,0,piVar16)" identifier = (call_expression "FUN_000aa740(param_1,0,piVar16)" identifier (argument_list "(param_1,0,piVar16)" ( identifier , number_literal , identifier )))) ;) (expression_statement "pcVar15 = pcVar14;" (assignment_expression "pcVar15 = pcVar14" identifier = identifier) ;) (if_statement "if (iVar6 != 0) {\n    if (iVar6 != 0x508) goto LAB_000ab06c;\n    *(undefined1 *)(param_1 + 0x32) = 1;\n    *(undefined1 *)(param_1 + 0x2b) = 2;\n    *param_2 = 1;\n  }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n    if (iVar6 != 0x508) goto LAB_000ab06c;\n    *(undefined1 *)(param_1 + 0x32) = 1;\n    *(undefined1 *)(param_1 + 0x2b) = 2;\n    *param_2 = 1;\n  }" { (if_statement "if (iVar6 != 0x508) goto LAB_000ab06c;" if (parenthesized_expression "(iVar6 != 0x508)" ( (binary_expression "iVar6 != 0x508" identifier != number_literal) )) (goto_statement "goto LAB_000ab06c;" goto statement_identifier ;)) (expression_statement "*(undefined1 *)(param_1 + 0x32) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x32) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x32)" * (cast_expression "(undefined1 *)(param_1 + 0x32)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x32)" ( (binary_expression "param_1 + 0x32" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(param_1 + 0x2b) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 0x2b) = 2" (pointer_expression "*(undefined1 *)(param_1 + 0x2b)" * (cast_expression "(undefined1 *)(param_1 + 0x2b)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2b)" ( (binary_expression "param_1 + 0x2b" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*param_2 = 1;" (assignment_expression "*param_2 = 1" (pointer_expression "*param_2" * identifier) = number_literal) ;) })) (if_statement "if ((local_64 == 0) ||\n     (iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2), iVar7 != 0)) {\n    if ((*(char *)(param_1 + 0x32) != '\0') || ((*(byte *)(param_1 + 0x2e) & 2) == 0)) {\n      if ((*(char *)(param_1 + 0x2b) == '\0') &&\n         (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1),\n         iVar6 != 0)) {\nLAB_000ab2a0:\n        if (*(char *)(param_1 + 0x32) != '\0') goto LAB_000ab2ac;\n        goto LAB_000ab06c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 1;\n      iVar7 = FUN_000aa740(param_1,0,piVar16);\n      if (iVar7 != 0) goto LAB_000ab170;\n      iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2);\n      if (iVar6 != 0) {\n        pcVar15 = (code *)(*(byte *)(param_1 + 0x2d) + 1);\n        piVar16 = (int *)(3 - (int)pcVar15);\n        if (*(char *)(param_1 + 0x2b) == '\0') {\n          pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n          pcVar14 = pcVar15;\n          if (iVar7 != 0) goto LAB_000ab3b0;\n          if ((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)) {\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }\n        }\n        (*(code *)PTR_memset_00190d58)(param_1 + 0x34,0,0x30);\n        iVar6 = (**(code **)(**(int **)(param_1 + 8) + 0x18))(*(int **)(param_1 + 8),&local_58);\n        iVar7 = iVar6;\n        if (iVar6 != 0) goto LAB_000ab53c;\n        if (local_58 < 1) {\n          unaff_s6 = 0;\n          if (local_58 != 0) goto LAB_000ab598;\n          uVar17 = 0;\n          if (local_54 < 0x21) goto LAB_000ab59c;\n        }\n        uVar17 = 0;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),&local_4c,0x20);\n        puVar4 = PTR_LAB_00190b40;\n        if (iVar7 != 0) goto LAB_000ab53c;\n        if ((((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)) &&\n           (local_44 - 0x200 < 0xfe01)) {\n          *(char *)(param_1 + 0x41) = (char)(local_4c & 1);\n          *(uint *)(param_1 + 0x24) = local_44;\n          *(undefined4 *)(param_1 + 0x70) = local_40;\n          uVar13 = param_1 + 0x54U & 3;\n          puVar1 = (uint *)((param_1 + 0x54U) - uVar13);\n          *puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8;\n          uVar13 = param_1 + 0x57U & 3;\n          puVar1 = (uint *)((param_1 + 0x57U) - uVar13);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8;\n          *(undefined4 *)(param_1 + 0x58) = local_38;\n          (*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17);\n          if ((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)) {\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }\n        }\nLAB_000ab598:\n        unaff_s6 = 0;\n        uVar17 = 0;\n        goto LAB_000ab59c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 0;\n      if (*(char *)(param_1 + 0x2b) == '\0') {\n        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      else {\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      if (iVar6 == 0x2de218) {\n        iVar6 = 0;\n        if (*(char *)(param_1 + 0x32) != '\0') {\n          *(undefined1 *)(param_1 + 0x2b) = 0;\n        }\n        goto LAB_000ab06c;\n      }\n      goto LAB_000ab244;\n    }\n    if (*(char *)(param_1 + 0x2b) != '\0') {\nLAB_000ab318:\n      iVar6 = 0x108;\n      goto LAB_000ab06c;\n    }\n    iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6538))(*(undefined4 *)(param_1 + 4),0);\n    if (iVar6 != 0) goto LAB_000ab2a0;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      (*(code *)(PTR_LAB_00190ba8 + 0x654c))(*(undefined4 *)(param_1 + 4),0);\n    }\n    if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab318;\n    iVar6 = 0x108;\n  }\n  else {\n    if (*(int *)(param_1 + 0x34) == 0x2de218) goto LAB_000ab0f8;\nLAB_000ab244:\n    iVar6 = 0xe;\n    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,\n                PTR_LAB_00190958 + 0x625c);\n    if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab06c;\n  }" if (parenthesized_expression "((local_64 == 0) ||\n     (iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2), iVar7 != 0))" ( (binary_expression "(local_64 == 0) ||\n     (iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2), iVar7 != 0)" (parenthesized_expression "(local_64 == 0)" ( (binary_expression "local_64 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2), iVar7 != 0)" ( (comma_expression "iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2), iVar7 != 0" (assignment_expression "iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2)" identifier = (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x7394))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x7394)" * (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x7394)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x7394)" ( (binary_expression "PTR_LAB_00190ba4 + -0x7394" identifier + number_literal) )))) )) (argument_list "(param_1,param_2)" ( identifier , identifier )))) , (binary_expression "iVar7 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    if ((*(char *)(param_1 + 0x32) != '\0') || ((*(byte *)(param_1 + 0x2e) & 2) == 0)) {\n      if ((*(char *)(param_1 + 0x2b) == '\0') &&\n         (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1),\n         iVar6 != 0)) {\nLAB_000ab2a0:\n        if (*(char *)(param_1 + 0x32) != '\0') goto LAB_000ab2ac;\n        goto LAB_000ab06c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 1;\n      iVar7 = FUN_000aa740(param_1,0,piVar16);\n      if (iVar7 != 0) goto LAB_000ab170;\n      iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2);\n      if (iVar6 != 0) {\n        pcVar15 = (code *)(*(byte *)(param_1 + 0x2d) + 1);\n        piVar16 = (int *)(3 - (int)pcVar15);\n        if (*(char *)(param_1 + 0x2b) == '\0') {\n          pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n          pcVar14 = pcVar15;\n          if (iVar7 != 0) goto LAB_000ab3b0;\n          if ((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)) {\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }\n        }\n        (*(code *)PTR_memset_00190d58)(param_1 + 0x34,0,0x30);\n        iVar6 = (**(code **)(**(int **)(param_1 + 8) + 0x18))(*(int **)(param_1 + 8),&local_58);\n        iVar7 = iVar6;\n        if (iVar6 != 0) goto LAB_000ab53c;\n        if (local_58 < 1) {\n          unaff_s6 = 0;\n          if (local_58 != 0) goto LAB_000ab598;\n          uVar17 = 0;\n          if (local_54 < 0x21) goto LAB_000ab59c;\n        }\n        uVar17 = 0;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),&local_4c,0x20);\n        puVar4 = PTR_LAB_00190b40;\n        if (iVar7 != 0) goto LAB_000ab53c;\n        if ((((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)) &&\n           (local_44 - 0x200 < 0xfe01)) {\n          *(char *)(param_1 + 0x41) = (char)(local_4c & 1);\n          *(uint *)(param_1 + 0x24) = local_44;\n          *(undefined4 *)(param_1 + 0x70) = local_40;\n          uVar13 = param_1 + 0x54U & 3;\n          puVar1 = (uint *)((param_1 + 0x54U) - uVar13);\n          *puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8;\n          uVar13 = param_1 + 0x57U & 3;\n          puVar1 = (uint *)((param_1 + 0x57U) - uVar13);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8;\n          *(undefined4 *)(param_1 + 0x58) = local_38;\n          (*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17);\n          if ((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)) {\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }\n        }\nLAB_000ab598:\n        unaff_s6 = 0;\n        uVar17 = 0;\n        goto LAB_000ab59c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 0;\n      if (*(char *)(param_1 + 0x2b) == '\0') {\n        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      else {\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      if (iVar6 == 0x2de218) {\n        iVar6 = 0;\n        if (*(char *)(param_1 + 0x32) != '\0') {\n          *(undefined1 *)(param_1 + 0x2b) = 0;\n        }\n        goto LAB_000ab06c;\n      }\n      goto LAB_000ab244;\n    }\n    if (*(char *)(param_1 + 0x2b) != '\0') {\nLAB_000ab318:\n      iVar6 = 0x108;\n      goto LAB_000ab06c;\n    }\n    iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6538))(*(undefined4 *)(param_1 + 4),0);\n    if (iVar6 != 0) goto LAB_000ab2a0;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      (*(code *)(PTR_LAB_00190ba8 + 0x654c))(*(undefined4 *)(param_1 + 4),0);\n    }\n    if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab318;\n    iVar6 = 0x108;\n  }" { (if_statement "if ((*(char *)(param_1 + 0x32) != '\0') || ((*(byte *)(param_1 + 0x2e) & 2) == 0)) {\n      if ((*(char *)(param_1 + 0x2b) == '\0') &&\n         (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1),\n         iVar6 != 0)) {\nLAB_000ab2a0:\n        if (*(char *)(param_1 + 0x32) != '\0') goto LAB_000ab2ac;\n        goto LAB_000ab06c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 1;\n      iVar7 = FUN_000aa740(param_1,0,piVar16);\n      if (iVar7 != 0) goto LAB_000ab170;\n      iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2);\n      if (iVar6 != 0) {\n        pcVar15 = (code *)(*(byte *)(param_1 + 0x2d) + 1);\n        piVar16 = (int *)(3 - (int)pcVar15);\n        if (*(char *)(param_1 + 0x2b) == '\0') {\n          pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n          pcVar14 = pcVar15;\n          if (iVar7 != 0) goto LAB_000ab3b0;\n          if ((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)) {\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }\n        }\n        (*(code *)PTR_memset_00190d58)(param_1 + 0x34,0,0x30);\n        iVar6 = (**(code **)(**(int **)(param_1 + 8) + 0x18))(*(int **)(param_1 + 8),&local_58);\n        iVar7 = iVar6;\n        if (iVar6 != 0) goto LAB_000ab53c;\n        if (local_58 < 1) {\n          unaff_s6 = 0;\n          if (local_58 != 0) goto LAB_000ab598;\n          uVar17 = 0;\n          if (local_54 < 0x21) goto LAB_000ab59c;\n        }\n        uVar17 = 0;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),&local_4c,0x20);\n        puVar4 = PTR_LAB_00190b40;\n        if (iVar7 != 0) goto LAB_000ab53c;\n        if ((((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)) &&\n           (local_44 - 0x200 < 0xfe01)) {\n          *(char *)(param_1 + 0x41) = (char)(local_4c & 1);\n          *(uint *)(param_1 + 0x24) = local_44;\n          *(undefined4 *)(param_1 + 0x70) = local_40;\n          uVar13 = param_1 + 0x54U & 3;\n          puVar1 = (uint *)((param_1 + 0x54U) - uVar13);\n          *puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8;\n          uVar13 = param_1 + 0x57U & 3;\n          puVar1 = (uint *)((param_1 + 0x57U) - uVar13);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8;\n          *(undefined4 *)(param_1 + 0x58) = local_38;\n          (*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17);\n          if ((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)) {\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }\n        }\nLAB_000ab598:\n        unaff_s6 = 0;\n        uVar17 = 0;\n        goto LAB_000ab59c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 0;\n      if (*(char *)(param_1 + 0x2b) == '\0') {\n        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      else {\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      if (iVar6 == 0x2de218) {\n        iVar6 = 0;\n        if (*(char *)(param_1 + 0x32) != '\0') {\n          *(undefined1 *)(param_1 + 0x2b) = 0;\n        }\n        goto LAB_000ab06c;\n      }\n      goto LAB_000ab244;\n    }" if (parenthesized_expression "((*(char *)(param_1 + 0x32) != '\0') || ((*(byte *)(param_1 + 0x2e) & 2) == 0))" ( (binary_expression "(*(char *)(param_1 + 0x32) != '\0') || ((*(byte *)(param_1 + 0x2e) & 2) == 0)" (parenthesized_expression "(*(char *)(param_1 + 0x32) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x32) != '\0'" (pointer_expression "*(char *)(param_1 + 0x32)" * (cast_expression "(char *)(param_1 + 0x32)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x32)" ( (binary_expression "param_1 + 0x32" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "((*(byte *)(param_1 + 0x2e) & 2) == 0)" ( (binary_expression "(*(byte *)(param_1 + 0x2e) & 2) == 0" (parenthesized_expression "(*(byte *)(param_1 + 0x2e) & 2)" ( (binary_expression "*(byte *)(param_1 + 0x2e) & 2" (pointer_expression "*(byte *)(param_1 + 0x2e)" * (cast_expression "(byte *)(param_1 + 0x2e)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2e)" ( (binary_expression "param_1 + 0x2e" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n      if ((*(char *)(param_1 + 0x2b) == '\0') &&\n         (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1),\n         iVar6 != 0)) {\nLAB_000ab2a0:\n        if (*(char *)(param_1 + 0x32) != '\0') goto LAB_000ab2ac;\n        goto LAB_000ab06c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 1;\n      iVar7 = FUN_000aa740(param_1,0,piVar16);\n      if (iVar7 != 0) goto LAB_000ab170;\n      iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2);\n      if (iVar6 != 0) {\n        pcVar15 = (code *)(*(byte *)(param_1 + 0x2d) + 1);\n        piVar16 = (int *)(3 - (int)pcVar15);\n        if (*(char *)(param_1 + 0x2b) == '\0') {\n          pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n          pcVar14 = pcVar15;\n          if (iVar7 != 0) goto LAB_000ab3b0;\n          if ((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)) {\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }\n        }\n        (*(code *)PTR_memset_00190d58)(param_1 + 0x34,0,0x30);\n        iVar6 = (**(code **)(**(int **)(param_1 + 8) + 0x18))(*(int **)(param_1 + 8),&local_58);\n        iVar7 = iVar6;\n        if (iVar6 != 0) goto LAB_000ab53c;\n        if (local_58 < 1) {\n          unaff_s6 = 0;\n          if (local_58 != 0) goto LAB_000ab598;\n          uVar17 = 0;\n          if (local_54 < 0x21) goto LAB_000ab59c;\n        }\n        uVar17 = 0;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),&local_4c,0x20);\n        puVar4 = PTR_LAB_00190b40;\n        if (iVar7 != 0) goto LAB_000ab53c;\n        if ((((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)) &&\n           (local_44 - 0x200 < 0xfe01)) {\n          *(char *)(param_1 + 0x41) = (char)(local_4c & 1);\n          *(uint *)(param_1 + 0x24) = local_44;\n          *(undefined4 *)(param_1 + 0x70) = local_40;\n          uVar13 = param_1 + 0x54U & 3;\n          puVar1 = (uint *)((param_1 + 0x54U) - uVar13);\n          *puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8;\n          uVar13 = param_1 + 0x57U & 3;\n          puVar1 = (uint *)((param_1 + 0x57U) - uVar13);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8;\n          *(undefined4 *)(param_1 + 0x58) = local_38;\n          (*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17);\n          if ((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)) {\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }\n        }\nLAB_000ab598:\n        unaff_s6 = 0;\n        uVar17 = 0;\n        goto LAB_000ab59c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 0;\n      if (*(char *)(param_1 + 0x2b) == '\0') {\n        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      else {\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      if (iVar6 == 0x2de218) {\n        iVar6 = 0;\n        if (*(char *)(param_1 + 0x32) != '\0') {\n          *(undefined1 *)(param_1 + 0x2b) = 0;\n        }\n        goto LAB_000ab06c;\n      }\n      goto LAB_000ab244;\n    }" { (if_statement "if ((*(char *)(param_1 + 0x2b) == '\0') &&\n         (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1),\n         iVar6 != 0)) {\nLAB_000ab2a0:\n        if (*(char *)(param_1 + 0x32) != '\0') goto LAB_000ab2ac;\n        goto LAB_000ab06c;\n      }" if (parenthesized_expression "((*(char *)(param_1 + 0x2b) == '\0') &&\n         (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1),\n         iVar6 != 0))" ( (binary_expression "(*(char *)(param_1 + 0x2b) == '\0') &&\n         (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1),\n         iVar6 != 0)" (parenthesized_expression "(*(char *)(param_1 + 0x2b) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x2b) == '\0'" (pointer_expression "*(char *)(param_1 + 0x2b)" * (cast_expression "(char *)(param_1 + 0x2b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2b)" ( (binary_expression "param_1 + 0x2b" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1),\n         iVar6 != 0)" ( (comma_expression "iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1),\n         iVar6 != 0" (assignment_expression "iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1)" identifier = (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6560))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x6560)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x6560)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x6560)" ( (binary_expression "PTR_LAB_00190ba8 + 0x6560" identifier + number_literal) )))) )) (argument_list "(*(undefined4 *)(param_1 + 4),0,1)" ( (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) , number_literal , number_literal )))) , (binary_expression "iVar6 != 0" identifier != number_literal)) ))) )) (compound_statement "{\nLAB_000ab2a0:\n        if (*(char *)(param_1 + 0x32) != '\0') goto LAB_000ab2ac;\n        goto LAB_000ab06c;\n      }" { (labeled_statement "LAB_000ab2a0:\n        if (*(char *)(param_1 + 0x32) != '\0') goto LAB_000ab2ac;" statement_identifier : (if_statement "if (*(char *)(param_1 + 0x32) != '\0') goto LAB_000ab2ac;" if (parenthesized_expression "(*(char *)(param_1 + 0x32) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x32) != '\0'" (pointer_expression "*(char *)(param_1 + 0x32)" * (cast_expression "(char *)(param_1 + 0x32)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x32)" ( (binary_expression "param_1 + 0x32" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000ab2ac;" goto statement_identifier ;))) (goto_statement "goto LAB_000ab06c;" goto statement_identifier ;) })) (expression_statement "*(undefined1 *)(param_1 + 0x2c) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x2c) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x2c)" * (cast_expression "(undefined1 *)(param_1 + 0x2c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = FUN_000aa740(param_1,0,piVar16);" (assignment_expression "iVar7 = FUN_000aa740(param_1,0,piVar16)" identifier = (call_expression "FUN_000aa740(param_1,0,piVar16)" identifier (argument_list "(param_1,0,piVar16)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (iVar7 != 0) goto LAB_000ab170;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000ab170;" goto statement_identifier ;)) (expression_statement "iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2);" (assignment_expression "iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2)" identifier = (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x7394))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x7394)" * (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x7394)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x7394)" ( (binary_expression "PTR_LAB_00190ba4 + -0x7394" identifier + number_literal) )))) )) (argument_list "(param_1,param_2)" ( identifier , identifier )))) ;) (if_statement "if (iVar6 != 0) {\n        pcVar15 = (code *)(*(byte *)(param_1 + 0x2d) + 1);\n        piVar16 = (int *)(3 - (int)pcVar15);\n        if (*(char *)(param_1 + 0x2b) == '\0') {\n          pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n          pcVar14 = pcVar15;\n          if (iVar7 != 0) goto LAB_000ab3b0;\n          if ((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)) {\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }\n        }\n        (*(code *)PTR_memset_00190d58)(param_1 + 0x34,0,0x30);\n        iVar6 = (**(code **)(**(int **)(param_1 + 8) + 0x18))(*(int **)(param_1 + 8),&local_58);\n        iVar7 = iVar6;\n        if (iVar6 != 0) goto LAB_000ab53c;\n        if (local_58 < 1) {\n          unaff_s6 = 0;\n          if (local_58 != 0) goto LAB_000ab598;\n          uVar17 = 0;\n          if (local_54 < 0x21) goto LAB_000ab59c;\n        }\n        uVar17 = 0;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),&local_4c,0x20);\n        puVar4 = PTR_LAB_00190b40;\n        if (iVar7 != 0) goto LAB_000ab53c;\n        if ((((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)) &&\n           (local_44 - 0x200 < 0xfe01)) {\n          *(char *)(param_1 + 0x41) = (char)(local_4c & 1);\n          *(uint *)(param_1 + 0x24) = local_44;\n          *(undefined4 *)(param_1 + 0x70) = local_40;\n          uVar13 = param_1 + 0x54U & 3;\n          puVar1 = (uint *)((param_1 + 0x54U) - uVar13);\n          *puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8;\n          uVar13 = param_1 + 0x57U & 3;\n          puVar1 = (uint *)((param_1 + 0x57U) - uVar13);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8;\n          *(undefined4 *)(param_1 + 0x58) = local_38;\n          (*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17);\n          if ((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)) {\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }\n        }\nLAB_000ab598:\n        unaff_s6 = 0;\n        uVar17 = 0;\n        goto LAB_000ab59c;\n      }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n        pcVar15 = (code *)(*(byte *)(param_1 + 0x2d) + 1);\n        piVar16 = (int *)(3 - (int)pcVar15);\n        if (*(char *)(param_1 + 0x2b) == '\0') {\n          pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n          pcVar14 = pcVar15;\n          if (iVar7 != 0) goto LAB_000ab3b0;\n          if ((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)) {\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }\n        }\n        (*(code *)PTR_memset_00190d58)(param_1 + 0x34,0,0x30);\n        iVar6 = (**(code **)(**(int **)(param_1 + 8) + 0x18))(*(int **)(param_1 + 8),&local_58);\n        iVar7 = iVar6;\n        if (iVar6 != 0) goto LAB_000ab53c;\n        if (local_58 < 1) {\n          unaff_s6 = 0;\n          if (local_58 != 0) goto LAB_000ab598;\n          uVar17 = 0;\n          if (local_54 < 0x21) goto LAB_000ab59c;\n        }\n        uVar17 = 0;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),&local_4c,0x20);\n        puVar4 = PTR_LAB_00190b40;\n        if (iVar7 != 0) goto LAB_000ab53c;\n        if ((((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)) &&\n           (local_44 - 0x200 < 0xfe01)) {\n          *(char *)(param_1 + 0x41) = (char)(local_4c & 1);\n          *(uint *)(param_1 + 0x24) = local_44;\n          *(undefined4 *)(param_1 + 0x70) = local_40;\n          uVar13 = param_1 + 0x54U & 3;\n          puVar1 = (uint *)((param_1 + 0x54U) - uVar13);\n          *puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8;\n          uVar13 = param_1 + 0x57U & 3;\n          puVar1 = (uint *)((param_1 + 0x57U) - uVar13);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8;\n          *(undefined4 *)(param_1 + 0x58) = local_38;\n          (*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17);\n          if ((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)) {\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }\n        }\nLAB_000ab598:\n        unaff_s6 = 0;\n        uVar17 = 0;\n        goto LAB_000ab59c;\n      }" { (expression_statement "pcVar15 = (code *)(*(byte *)(param_1 + 0x2d) + 1);" (assignment_expression "pcVar15 = (code *)(*(byte *)(param_1 + 0x2d) + 1)" identifier = (cast_expression "(code *)(*(byte *)(param_1 + 0x2d) + 1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(byte *)(param_1 + 0x2d) + 1)" ( (binary_expression "*(byte *)(param_1 + 0x2d) + 1" (pointer_expression "*(byte *)(param_1 + 0x2d)" * (cast_expression "(byte *)(param_1 + 0x2d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2d)" ( (binary_expression "param_1 + 0x2d" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar16 = (int *)(3 - (int)pcVar15);" (assignment_expression "piVar16 = (int *)(3 - (int)pcVar15)" identifier = (cast_expression "(int *)(3 - (int)pcVar15)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(3 - (int)pcVar15)" ( (binary_expression "3 - (int)pcVar15" number_literal - (cast_expression "(int)pcVar15" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (*(char *)(param_1 + 0x2b) == '\0') {\n          pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n          pcVar14 = pcVar15;\n          if (iVar7 != 0) goto LAB_000ab3b0;\n          if ((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)) {\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }\n        }" if (parenthesized_expression "(*(char *)(param_1 + 0x2b) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x2b) == '\0'" (pointer_expression "*(char *)(param_1 + 0x2b)" * (cast_expression "(char *)(param_1 + 0x2b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2b)" ( (binary_expression "param_1 + 0x2b" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n          pcVar14 = pcVar15;\n          if (iVar7 != 0) goto LAB_000ab3b0;\n          if ((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)) {\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }\n        }" { (expression_statement "pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560);" (assignment_expression "pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x6560)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x6560)" ( (binary_expression "PTR_LAB_00190ba8 + 0x6560" identifier + number_literal) )))) ;) (expression_statement "iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);" (assignment_expression "iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16)" identifier = (call_expression "(*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(*(undefined4 *)(param_1 + 4),pcVar15,piVar16)" ( (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) , identifier , identifier )))) ;) (expression_statement "pcVar14 = pcVar15;" (assignment_expression "pcVar14 = pcVar15" identifier = identifier) ;) (if_statement "if (iVar7 != 0) goto LAB_000ab3b0;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000ab3b0;" goto statement_identifier ;)) (if_statement "if ((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)) {\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }" if (parenthesized_expression "((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0))" ( (binary_expression "(*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)" (parenthesized_expression "(*(char *)(param_1 + 0x2b) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x2b) == '\0'" (pointer_expression "*(char *)(param_1 + 0x2b)" * (cast_expression "(char *)(param_1 + 0x2b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2b)" ( (binary_expression "param_1 + 0x2b" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)" ( (comma_expression "iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0" (assignment_expression "iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4)" identifier = (call_expression "(*pcVar10)(*(undefined4 *)(param_1 + 4),4,4)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(*(undefined4 *)(param_1 + 4),4,4)" ( (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) , number_literal , number_literal )))) , (binary_expression "iVar7 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }" { (if_statement "if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;" if (parenthesized_expression "(*(char *)(param_1 + 0x2b) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x2b) != '\0'" (pointer_expression "*(char *)(param_1 + 0x2b)" * (cast_expression "(char *)(param_1 + 0x2b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2b)" ( (binary_expression "param_1 + 0x2b" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000ab3b0;" goto statement_identifier ;)) (expression_statement "(*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6640))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x6640)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x6640)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x6640)" ( (binary_expression "PTR_LAB_00190ba8 + 0x6640" identifier + number_literal) )))) )) (argument_list "(*(undefined4 *)(param_1 + 4),pcVar15,piVar16)" ( (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) , identifier , identifier ))) ;) (goto_statement "goto LAB_000ab3b0;" goto statement_identifier ;) })) })) (expression_statement "(*(code *)PTR_memset_00190d58)(param_1 + 0x34,0,0x30);" (call_expression "(*(code *)PTR_memset_00190d58)(param_1 + 0x34,0,0x30)" (parenthesized_expression "(*(code *)PTR_memset_00190d58)" ( (pointer_expression "*(code *)PTR_memset_00190d58" * (cast_expression "(code *)PTR_memset_00190d58" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1 + 0x34,0,0x30)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) , number_literal , number_literal ))) ;) (expression_statement "iVar6 = (**(code **)(**(int **)(param_1 + 8) + 0x18))(*(int **)(param_1 + 8),&local_58);" (assignment_expression "iVar6 = (**(code **)(**(int **)(param_1 + 8) + 0x18))(*(int **)(param_1 + 8),&local_58)" identifier = (call_expression "(**(code **)(**(int **)(param_1 + 8) + 0x18))(*(int **)(param_1 + 8),&local_58)" (parenthesized_expression "(**(code **)(**(int **)(param_1 + 8) + 0x18))" ( (pointer_expression "**(code **)(**(int **)(param_1 + 8) + 0x18)" * (pointer_expression "*(code **)(**(int **)(param_1 + 8) + 0x18)" * (cast_expression "(code **)(**(int **)(param_1 + 8) + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(param_1 + 8) + 0x18)" ( (binary_expression "**(int **)(param_1 + 8) + 0x18" (pointer_expression "**(int **)(param_1 + 8)" * (pointer_expression "*(int **)(param_1 + 8)" * (cast_expression "(int **)(param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(param_1 + 8),&local_58)" ( (pointer_expression "*(int **)(param_1 + 8)" * (cast_expression "(int **)(param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) , (pointer_expression "&local_58" & identifier) )))) ;) (expression_statement "iVar7 = iVar6;" (assignment_expression "iVar7 = iVar6" identifier = identifier) ;) (if_statement "if (iVar6 != 0) goto LAB_000ab53c;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000ab53c;" goto statement_identifier ;)) (if_statement "if (local_58 < 1) {\n          unaff_s6 = 0;\n          if (local_58 != 0) goto LAB_000ab598;\n          uVar17 = 0;\n          if (local_54 < 0x21) goto LAB_000ab59c;\n        }" if (parenthesized_expression "(local_58 < 1)" ( (binary_expression "local_58 < 1" identifier < number_literal) )) (compound_statement "{\n          unaff_s6 = 0;\n          if (local_58 != 0) goto LAB_000ab598;\n          uVar17 = 0;\n          if (local_54 < 0x21) goto LAB_000ab59c;\n        }" { (expression_statement "unaff_s6 = 0;" (assignment_expression "unaff_s6 = 0" identifier = number_literal) ;) (if_statement "if (local_58 != 0) goto LAB_000ab598;" if (parenthesized_expression "(local_58 != 0)" ( (binary_expression "local_58 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000ab598;" goto statement_identifier ;)) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (if_statement "if (local_54 < 0x21) goto LAB_000ab59c;" if (parenthesized_expression "(local_54 < 0x21)" ( (binary_expression "local_54 < 0x21" identifier < number_literal) )) (goto_statement "goto LAB_000ab59c;" goto statement_identifier ;)) })) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),&local_4c,0x20);" (assignment_expression "iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),&local_4c,0x20)" identifier = (call_expression "(**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),&local_4c,0x20)" (parenthesized_expression "(**(code **)(**(int **)(param_1 + 8) + 8))" ( (pointer_expression "**(code **)(**(int **)(param_1 + 8) + 8)" * (pointer_expression "*(code **)(**(int **)(param_1 + 8) + 8)" * (cast_expression "(code **)(**(int **)(param_1 + 8) + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(param_1 + 8) + 8)" ( (binary_expression "**(int **)(param_1 + 8) + 8" (pointer_expression "**(int **)(param_1 + 8)" * (pointer_expression "*(int **)(param_1 + 8)" * (cast_expression "(int **)(param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(param_1 + 8),&local_4c,0x20)" ( (pointer_expression "*(int **)(param_1 + 8)" * (cast_expression "(int **)(param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) , (pointer_expression "&local_4c" & identifier) , number_literal )))) ;) (expression_statement "puVar4 = PTR_LAB_00190b40;" (assignment_expression "puVar4 = PTR_LAB_00190b40" identifier = identifier) ;) (if_statement "if (iVar7 != 0) goto LAB_000ab53c;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000ab53c;" goto statement_identifier ;)) (if_statement "if ((((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)) &&\n           (local_44 - 0x200 < 0xfe01)) {\n          *(char *)(param_1 + 0x41) = (char)(local_4c & 1);\n          *(uint *)(param_1 + 0x24) = local_44;\n          *(undefined4 *)(param_1 + 0x70) = local_40;\n          uVar13 = param_1 + 0x54U & 3;\n          puVar1 = (uint *)((param_1 + 0x54U) - uVar13);\n          *puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8;\n          uVar13 = param_1 + 0x57U & 3;\n          puVar1 = (uint *)((param_1 + 0x57U) - uVar13);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8;\n          *(undefined4 *)(param_1 + 0x58) = local_38;\n          (*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17);\n          if ((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)) {\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }\n        }" if (parenthesized_expression "((((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)) &&\n           (local_44 - 0x200 < 0xfe01))" ( (binary_expression "(((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)) &&\n           (local_44 - 0x200 < 0xfe01)" (parenthesized_expression "(((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0))" ( (binary_expression "((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)" (parenthesized_expression "((local_4c & 0xfffffffe) == 0x377f0682)" ( (binary_expression "(local_4c & 0xfffffffe) == 0x377f0682" (parenthesized_expression "(local_4c & 0xfffffffe)" ( (binary_expression "local_4c & 0xfffffffe" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "((local_44 - 1 & local_44) == 0)" ( (binary_expression "(local_44 - 1 & local_44) == 0" (parenthesized_expression "(local_44 - 1 & local_44)" ( (binary_expression "local_44 - 1 & local_44" (binary_expression "local_44 - 1" identifier - number_literal) & identifier) )) == number_literal) ))) )) && (parenthesized_expression "(local_44 - 0x200 < 0xfe01)" ( (binary_expression "local_44 - 0x200 < 0xfe01" (binary_expression "local_44 - 0x200" identifier - number_literal) < number_literal) ))) )) (compound_statement "{\n          *(char *)(param_1 + 0x41) = (char)(local_4c & 1);\n          *(uint *)(param_1 + 0x24) = local_44;\n          *(undefined4 *)(param_1 + 0x70) = local_40;\n          uVar13 = param_1 + 0x54U & 3;\n          puVar1 = (uint *)((param_1 + 0x54U) - uVar13);\n          *puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8;\n          uVar13 = param_1 + 0x57U & 3;\n          puVar1 = (uint *)((param_1 + 0x57U) - uVar13);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8;\n          *(undefined4 *)(param_1 + 0x58) = local_38;\n          (*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17);\n          if ((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)) {\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }\n        }" { (expression_statement "*(char *)(param_1 + 0x41) = (char)(local_4c & 1);" (assignment_expression "*(char *)(param_1 + 0x41) = (char)(local_4c & 1)" (pointer_expression "*(char *)(param_1 + 0x41)" * (cast_expression "(char *)(param_1 + 0x41)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x41)" ( (binary_expression "param_1 + 0x41" identifier + number_literal) )))) = (cast_expression "(char)(local_4c & 1)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(local_4c & 1)" ( (binary_expression "local_4c & 1" identifier & number_literal) )))) ;) (expression_statement "*(uint *)(param_1 + 0x24) = local_44;" (assignment_expression "*(uint *)(param_1 + 0x24) = local_44" (pointer_expression "*(uint *)(param_1 + 0x24)" * (cast_expression "(uint *)(param_1 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(param_1 + 0x70) = local_40;" (assignment_expression "*(undefined4 *)(param_1 + 0x70) = local_40" (pointer_expression "*(undefined4 *)(param_1 + 0x70)" * (cast_expression "(undefined4 *)(param_1 + 0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x70)" ( (binary_expression "param_1 + 0x70" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar13 = param_1 + 0x54U & 3;" (assignment_expression "uVar13 = param_1 + 0x54U & 3" identifier = (binary_expression "param_1 + 0x54U & 3" (binary_expression "param_1 + 0x54U" identifier + number_literal) & number_literal)) ;) (expression_statement "puVar1 = (uint *)((param_1 + 0x54U) - uVar13);" (assignment_expression "puVar1 = (uint *)((param_1 + 0x54U) - uVar13)" identifier = (cast_expression "(uint *)((param_1 + 0x54U) - uVar13)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((param_1 + 0x54U) - uVar13)" ( (binary_expression "(param_1 + 0x54U) - uVar13" (parenthesized_expression "(param_1 + 0x54U)" ( (binary_expression "param_1 + 0x54U" identifier + number_literal) )) - identifier) )))) ;) (expression_statement "*puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8;" (assignment_expression "*puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8" (binary_expression "*puVar1 & -1 << (4 - uVar13) * 8" (pointer_expression "*puVar1" * identifier) & (binary_expression "-1 << (4 - uVar13) * 8" number_literal << (binary_expression "(4 - uVar13) * 8" (parenthesized_expression "(4 - uVar13)" ( (binary_expression "4 - uVar13" number_literal - identifier) )) * number_literal))) | (binary_expression "local_3c >> uVar13 * 8" identifier >> (binary_expression "uVar13 * 8" identifier * number_literal)))) ;) (expression_statement "uVar13 = param_1 + 0x57U & 3;" (assignment_expression "uVar13 = param_1 + 0x57U & 3" identifier = (binary_expression "param_1 + 0x57U & 3" (binary_expression "param_1 + 0x57U" identifier + number_literal) & number_literal)) ;) (expression_statement "puVar1 = (uint *)((param_1 + 0x57U) - uVar13);" (assignment_expression "puVar1 = (uint *)((param_1 + 0x57U) - uVar13)" identifier = (cast_expression "(uint *)((param_1 + 0x57U) - uVar13)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((param_1 + 0x57U) - uVar13)" ( (binary_expression "(param_1 + 0x57U) - uVar13" (parenthesized_expression "(param_1 + 0x57U)" ( (binary_expression "param_1 + 0x57U" identifier + number_literal) )) - identifier) )))) ;) (expression_statement "*puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8;" (assignment_expression "*puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8" (binary_expression "*puVar1 & 0xffffffffU >> (uVar13 + 1) * 8" (pointer_expression "*puVar1" * identifier) & (binary_expression "0xffffffffU >> (uVar13 + 1) * 8" number_literal >> (binary_expression "(uVar13 + 1) * 8" (parenthesized_expression "(uVar13 + 1)" ( (binary_expression "uVar13 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "local_3c << (3 - uVar13) * 8" identifier << (binary_expression "(3 - uVar13) * 8" (parenthesized_expression "(3 - uVar13)" ( (binary_expression "3 - uVar13" number_literal - identifier) )) * number_literal)))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x58) = local_38;" (assignment_expression "*(undefined4 *)(param_1 + 0x58) = local_38" (pointer_expression "*(undefined4 *)(param_1 + 0x58)" * (cast_expression "(undefined4 *)(param_1 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x58)" ( (binary_expression "param_1 + 0x58" identifier + number_literal) )))) = identifier) ;) (expression_statement "(*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17);" (call_expression "(*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17)" (parenthesized_expression "(*(code *)(puVar4 + 0xf88))" ( (pointer_expression "*(code *)(puVar4 + 0xf88)" * (cast_expression "(code *)(puVar4 + 0xf88)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 0xf88)" ( (binary_expression "puVar4 + 0xf88" identifier + number_literal) )))) )) (argument_list "(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17)" ( (binary_expression "local_4c & 1" identifier & number_literal) , (pointer_expression "&local_4c" & identifier) , number_literal , number_literal , (binary_expression "param_1 + 0x4c" identifier + number_literal) , identifier ))) ;) (if_statement "if ((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)) {\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }" if (parenthesized_expression "((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30))" ( (binary_expression "(*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)" (parenthesized_expression "(*(int *)(param_1 + 0x4c) == local_34)" ( (binary_expression "*(int *)(param_1 + 0x4c) == local_34" (pointer_expression "*(int *)(param_1 + 0x4c)" * (cast_expression "(int *)(param_1 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) )))) == identifier) )) && (parenthesized_expression "(*(int *)(param_1 + 0x50) == local_30)" ( (binary_expression "*(int *)(param_1 + 0x50) == local_30" (pointer_expression "*(int *)(param_1 + 0x50)" * (cast_expression "(int *)(param_1 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) == identifier) ))) )) (compound_statement "{\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }" { (expression_statement "unaff_s6 = local_44;" (assignment_expression "unaff_s6 = local_44" identifier = identifier) ;) (expression_statement "pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;" (assignment_expression "pcVar14 = (code *)PTR_sqlite3_initialize_00190b88" identifier = (cast_expression "(code *)PTR_sqlite3_initialize_00190b88" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (local_48 == 0x2de218) goto LAB_000ab64c;" if (parenthesized_expression "(local_48 == 0x2de218)" ( (binary_expression "local_48 == 0x2de218" identifier == number_literal) )) (goto_statement "goto LAB_000ab64c;" goto statement_identifier ;)) (expression_statement "iVar7 = 0xe;" (assignment_expression "iVar7 = 0xe" identifier = number_literal) ;) (expression_statement "sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);" (call_expression "sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c)" identifier (argument_list "(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c)" ( number_literal , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378" identifier + number_literal) , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_00190958 + 0x625c" identifier + number_literal) ))) ;) (goto_statement "goto LAB_000ab53c;" goto statement_identifier ;) })) })) (labeled_statement "LAB_000ab598:\n        unaff_s6 = 0;" statement_identifier : (expression_statement "unaff_s6 = 0;" (assignment_expression "unaff_s6 = 0" identifier = number_literal) ;)) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000ab59c;" goto statement_identifier ;) })) (expression_statement "*(undefined1 *)(param_1 + 0x2c) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x2c) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x2c)" * (cast_expression "(undefined1 *)(param_1 + 0x2c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (*(char *)(param_1 + 0x2b) == '\0') {\n        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      else {\n        iVar6 = *(int *)(param_1 + 0x34);\n      }" if (parenthesized_expression "(*(char *)(param_1 + 0x2b) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x2b) == '\0'" (pointer_expression "*(char *)(param_1 + 0x2b)" * (cast_expression "(char *)(param_1 + 0x2b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2b)" ( (binary_expression "param_1 + 0x2b" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n        iVar6 = *(int *)(param_1 + 0x34);\n      }" { (expression_statement "(*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6640))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x6640)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x6640)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x6640)" ( (binary_expression "PTR_LAB_00190ba8 + 0x6640" identifier + number_literal) )))) )) (argument_list "(*(undefined4 *)(param_1 + 4),0,1)" ( (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) , number_literal , number_literal ))) ;) (expression_statement "iVar6 = *(int *)(param_1 + 0x34);" (assignment_expression "iVar6 = *(int *)(param_1 + 0x34)" identifier = (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        iVar6 = *(int *)(param_1 + 0x34);\n      }" else (compound_statement "{\n        iVar6 = *(int *)(param_1 + 0x34);\n      }" { (expression_statement "iVar6 = *(int *)(param_1 + 0x34);" (assignment_expression "iVar6 = *(int *)(param_1 + 0x34)" identifier = (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) ;) }))) (if_statement "if (iVar6 == 0x2de218) {\n        iVar6 = 0;\n        if (*(char *)(param_1 + 0x32) != '\0') {\n          *(undefined1 *)(param_1 + 0x2b) = 0;\n        }\n        goto LAB_000ab06c;\n      }" if (parenthesized_expression "(iVar6 == 0x2de218)" ( (binary_expression "iVar6 == 0x2de218" identifier == number_literal) )) (compound_statement "{\n        iVar6 = 0;\n        if (*(char *)(param_1 + 0x32) != '\0') {\n          *(undefined1 *)(param_1 + 0x2b) = 0;\n        }\n        goto LAB_000ab06c;\n      }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (if_statement "if (*(char *)(param_1 + 0x32) != '\0') {\n          *(undefined1 *)(param_1 + 0x2b) = 0;\n        }" if (parenthesized_expression "(*(char *)(param_1 + 0x32) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x32) != '\0'" (pointer_expression "*(char *)(param_1 + 0x32)" * (cast_expression "(char *)(param_1 + 0x32)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x32)" ( (binary_expression "param_1 + 0x32" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          *(undefined1 *)(param_1 + 0x2b) = 0;\n        }" { (expression_statement "*(undefined1 *)(param_1 + 0x2b) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x2b) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x2b)" * (cast_expression "(undefined1 *)(param_1 + 0x2b)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2b)" ( (binary_expression "param_1 + 0x2b" identifier + number_literal) )))) = number_literal) ;) })) (goto_statement "goto LAB_000ab06c;" goto statement_identifier ;) })) (goto_statement "goto LAB_000ab244;" goto statement_identifier ;) })) (if_statement "if (*(char *)(param_1 + 0x2b) != '\0') {\nLAB_000ab318:\n      iVar6 = 0x108;\n      goto LAB_000ab06c;\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x2b) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x2b) != '\0'" (pointer_expression "*(char *)(param_1 + 0x2b)" * (cast_expression "(char *)(param_1 + 0x2b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2b)" ( (binary_expression "param_1 + 0x2b" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000ab318:\n      iVar6 = 0x108;\n      goto LAB_000ab06c;\n    }" { (labeled_statement "LAB_000ab318:\n      iVar6 = 0x108;" statement_identifier : (expression_statement "iVar6 = 0x108;" (assignment_expression "iVar6 = 0x108" identifier = number_literal) ;)) (goto_statement "goto LAB_000ab06c;" goto statement_identifier ;) })) (expression_statement "iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6538))(*(undefined4 *)(param_1 + 4),0);" (assignment_expression "iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6538))(*(undefined4 *)(param_1 + 4),0)" identifier = (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6538))(*(undefined4 *)(param_1 + 4),0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6538))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x6538)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x6538)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x6538)" ( (binary_expression "PTR_LAB_00190ba8 + 0x6538" identifier + number_literal) )))) )) (argument_list "(*(undefined4 *)(param_1 + 4),0)" ( (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (iVar6 != 0) goto LAB_000ab2a0;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000ab2a0;" goto statement_identifier ;)) (if_statement "if (*(char *)(param_1 + 0x2b) == '\0') {\n      (*(code *)(PTR_LAB_00190ba8 + 0x654c))(*(undefined4 *)(param_1 + 4),0);\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x2b) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x2b) == '\0'" (pointer_expression "*(char *)(param_1 + 0x2b)" * (cast_expression "(char *)(param_1 + 0x2b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2b)" ( (binary_expression "param_1 + 0x2b" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      (*(code *)(PTR_LAB_00190ba8 + 0x654c))(*(undefined4 *)(param_1 + 4),0);\n    }" { (expression_statement "(*(code *)(PTR_LAB_00190ba8 + 0x654c))(*(undefined4 *)(param_1 + 4),0);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x654c))(*(undefined4 *)(param_1 + 4),0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x654c))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x654c)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x654c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x654c)" ( (binary_expression "PTR_LAB_00190ba8 + 0x654c" identifier + number_literal) )))) )) (argument_list "(*(undefined4 *)(param_1 + 4),0)" ( (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) , number_literal ))) ;) })) (if_statement "if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab318;" if (parenthesized_expression "(*(char *)(param_1 + 0x32) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x32) == '\0'" (pointer_expression "*(char *)(param_1 + 0x32)" * (cast_expression "(char *)(param_1 + 0x32)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x32)" ( (binary_expression "param_1 + 0x32" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000ab318;" goto statement_identifier ;)) (expression_statement "iVar6 = 0x108;" (assignment_expression "iVar6 = 0x108" identifier = number_literal) ;) }) (else_clause "else {\n    if (*(int *)(param_1 + 0x34) == 0x2de218) goto LAB_000ab0f8;\nLAB_000ab244:\n    iVar6 = 0xe;\n    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,\n                PTR_LAB_00190958 + 0x625c);\n    if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab06c;\n  }" else (compound_statement "{\n    if (*(int *)(param_1 + 0x34) == 0x2de218) goto LAB_000ab0f8;\nLAB_000ab244:\n    iVar6 = 0xe;\n    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,\n                PTR_LAB_00190958 + 0x625c);\n    if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab06c;\n  }" { (if_statement "if (*(int *)(param_1 + 0x34) == 0x2de218) goto LAB_000ab0f8;" if (parenthesized_expression "(*(int *)(param_1 + 0x34) == 0x2de218)" ( (binary_expression "*(int *)(param_1 + 0x34) == 0x2de218" (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_000ab0f8;" goto statement_identifier ;)) (labeled_statement "LAB_000ab244:\n    iVar6 = 0xe;" statement_identifier : (expression_statement "iVar6 = 0xe;" (assignment_expression "iVar6 = 0xe" identifier = number_literal) ;)) (expression_statement "sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,\n                PTR_LAB_00190958 + 0x625c);" (call_expression "sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,\n                PTR_LAB_00190958 + 0x625c)" identifier (argument_list "(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,\n                PTR_LAB_00190958 + 0x625c)" ( number_literal , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378" identifier + number_literal) , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_00190958 + 0x625c" identifier + number_literal) ))) ;) (if_statement "if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab06c;" if (parenthesized_expression "(*(char *)(param_1 + 0x32) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x32) == '\0'" (pointer_expression "*(char *)(param_1 + 0x32)" * (cast_expression "(char *)(param_1 + 0x32)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x32)" ( (binary_expression "param_1 + 0x32" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000ab06c;" goto statement_identifier ;)) }))) (expression_statement "(*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6650))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x6650)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x6650)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x6650)" ( (binary_expression "PTR_LAB_00190ba8 + 0x6650" identifier + number_literal) )))) )) (argument_list "(param_1,0)" ( identifier , number_literal ))) ;) (expression_statement "*(undefined1 *)(param_1 + 0x32) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x32) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x32)" * (cast_expression "(undefined1 *)(param_1 + 0x32)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x32)" ( (binary_expression "param_1 + 0x32" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(param_1 + 0x2b) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x2b) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x2b)" * (cast_expression "(undefined1 *)(param_1 + 0x2b)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2b)" ( (binary_expression "param_1 + 0x2b" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "LAB_000ab06c:\n  do {\n    if (local_2c == *(int *)puVar5) {\n      return iVar6;\n    }\n    pcVar14 = (code *)PTR___stack_chk_fail_00190df8;\n    (*(code *)PTR___stack_chk_fail_00190df8)();\nLAB_000ab64c:\n    iVar7 = (*pcVar14)();\n    if (iVar7 == 0) {\n      uVar13 = unaff_s6 + 0x18;\n      iVar8 = (*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar13 >> 0x1f);\n      if (iVar8 == 0) goto LAB_000ab7ec;\n      uVar2 = (ushort)unaff_s6;\n      uVar3 = unaff_s6 >> 0x10;\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n      unaff_s6 = 0;\n      uVar17 = 0;\n      pcVar10 = (code *)(PTR_LAB_00190c2c + -0x5200);\n      local_90 = 0;\n      uVar9 = 0x20;\n      iVar7 = 0;\n      while( true ) {\n        uVar11 = uVar13 + uVar9;\n        iVar12 = (uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7;\n        if ((local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11)))) break;\n        local_90 = local_90 + 1;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9);\n        if (iVar7 != 0) {\nLAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\n          goto LAB_000ab53c;\n        }\n        iVar7 = (*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8);\n        if (iVar7 == 0) break;\n        iVar7 = (*pcVar10)(param_1,local_90,local_60);\n        if (iVar7 != 0) goto LAB_000ab620;\n        uVar9 = uVar11;\n        iVar7 = iVar12;\n        if (local_5c != 0) {\n          uVar17 = *(undefined4 *)(param_1 + 0x4c);\n          unaff_s6 = *(uint *)(param_1 + 0x50);\n          *(int *)(param_1 + 0x48) = local_5c;\n          *(int *)(param_1 + 0x44) = local_90;\n          *(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;\n        }\n      }\n      (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\nLAB_000ab59c:\n      puVar4 = PTR_LAB_00190ba8;\n      *(undefined4 *)(param_1 + 0x4c) = uVar17;\n      *(uint *)(param_1 + 0x50) = unaff_s6;\n      (*(code *)(puVar4 + 0x6338))(param_1);\n      iVar7 = **(int **)(param_1 + 0x20);\n      *(undefined4 *)(iVar7 + 0x60) = 0;\n      *(undefined4 *)(iVar7 + 0x80) = *(undefined4 *)(param_1 + 0x44);\n      *(undefined4 *)(iVar7 + 100) = 0;\n      *(undefined4 *)(iVar7 + 0x68) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x6c) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x70) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x74) = 0xffffffff;\n      if (*(int *)(param_1 + 0x44) != 0) {\n        *(int *)(iVar7 + 0x68) = *(int *)(param_1 + 0x44);\n      }\n      iVar7 = iVar6;\n      if (*(int *)(param_1 + 0x48) != 0) {\n        sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c));\n      }\n    }\n    else {\nLAB_000ab7ec:\n      iVar7 = 7;\n    }\nLAB_000ab53c:\n    pcVar14 = pcVar15;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n      if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),4,4);\n      *param_2 = 1;\n    }\n    else {\nLAB_000ab3b0:\n      *param_2 = 1;\n    }\nLAB_000ab170:\n    *(undefined1 *)(param_1 + 0x2c) = 0;\n    iVar6 = iVar7;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n    }\nLAB_000ab0f8:\n    pcVar15 = pcVar14;\n  } while (*(char *)(param_1 + 0x32) == '\0');" statement_identifier : (do_statement "do {\n    if (local_2c == *(int *)puVar5) {\n      return iVar6;\n    }\n    pcVar14 = (code *)PTR___stack_chk_fail_00190df8;\n    (*(code *)PTR___stack_chk_fail_00190df8)();\nLAB_000ab64c:\n    iVar7 = (*pcVar14)();\n    if (iVar7 == 0) {\n      uVar13 = unaff_s6 + 0x18;\n      iVar8 = (*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar13 >> 0x1f);\n      if (iVar8 == 0) goto LAB_000ab7ec;\n      uVar2 = (ushort)unaff_s6;\n      uVar3 = unaff_s6 >> 0x10;\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n      unaff_s6 = 0;\n      uVar17 = 0;\n      pcVar10 = (code *)(PTR_LAB_00190c2c + -0x5200);\n      local_90 = 0;\n      uVar9 = 0x20;\n      iVar7 = 0;\n      while( true ) {\n        uVar11 = uVar13 + uVar9;\n        iVar12 = (uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7;\n        if ((local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11)))) break;\n        local_90 = local_90 + 1;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9);\n        if (iVar7 != 0) {\nLAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\n          goto LAB_000ab53c;\n        }\n        iVar7 = (*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8);\n        if (iVar7 == 0) break;\n        iVar7 = (*pcVar10)(param_1,local_90,local_60);\n        if (iVar7 != 0) goto LAB_000ab620;\n        uVar9 = uVar11;\n        iVar7 = iVar12;\n        if (local_5c != 0) {\n          uVar17 = *(undefined4 *)(param_1 + 0x4c);\n          unaff_s6 = *(uint *)(param_1 + 0x50);\n          *(int *)(param_1 + 0x48) = local_5c;\n          *(int *)(param_1 + 0x44) = local_90;\n          *(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;\n        }\n      }\n      (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\nLAB_000ab59c:\n      puVar4 = PTR_LAB_00190ba8;\n      *(undefined4 *)(param_1 + 0x4c) = uVar17;\n      *(uint *)(param_1 + 0x50) = unaff_s6;\n      (*(code *)(puVar4 + 0x6338))(param_1);\n      iVar7 = **(int **)(param_1 + 0x20);\n      *(undefined4 *)(iVar7 + 0x60) = 0;\n      *(undefined4 *)(iVar7 + 0x80) = *(undefined4 *)(param_1 + 0x44);\n      *(undefined4 *)(iVar7 + 100) = 0;\n      *(undefined4 *)(iVar7 + 0x68) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x6c) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x70) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x74) = 0xffffffff;\n      if (*(int *)(param_1 + 0x44) != 0) {\n        *(int *)(iVar7 + 0x68) = *(int *)(param_1 + 0x44);\n      }\n      iVar7 = iVar6;\n      if (*(int *)(param_1 + 0x48) != 0) {\n        sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c));\n      }\n    }\n    else {\nLAB_000ab7ec:\n      iVar7 = 7;\n    }\nLAB_000ab53c:\n    pcVar14 = pcVar15;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n      if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),4,4);\n      *param_2 = 1;\n    }\n    else {\nLAB_000ab3b0:\n      *param_2 = 1;\n    }\nLAB_000ab170:\n    *(undefined1 *)(param_1 + 0x2c) = 0;\n    iVar6 = iVar7;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n    }\nLAB_000ab0f8:\n    pcVar15 = pcVar14;\n  } while (*(char *)(param_1 + 0x32) == '\0');" do (compound_statement "{\n    if (local_2c == *(int *)puVar5) {\n      return iVar6;\n    }\n    pcVar14 = (code *)PTR___stack_chk_fail_00190df8;\n    (*(code *)PTR___stack_chk_fail_00190df8)();\nLAB_000ab64c:\n    iVar7 = (*pcVar14)();\n    if (iVar7 == 0) {\n      uVar13 = unaff_s6 + 0x18;\n      iVar8 = (*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar13 >> 0x1f);\n      if (iVar8 == 0) goto LAB_000ab7ec;\n      uVar2 = (ushort)unaff_s6;\n      uVar3 = unaff_s6 >> 0x10;\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n      unaff_s6 = 0;\n      uVar17 = 0;\n      pcVar10 = (code *)(PTR_LAB_00190c2c + -0x5200);\n      local_90 = 0;\n      uVar9 = 0x20;\n      iVar7 = 0;\n      while( true ) {\n        uVar11 = uVar13 + uVar9;\n        iVar12 = (uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7;\n        if ((local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11)))) break;\n        local_90 = local_90 + 1;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9);\n        if (iVar7 != 0) {\nLAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\n          goto LAB_000ab53c;\n        }\n        iVar7 = (*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8);\n        if (iVar7 == 0) break;\n        iVar7 = (*pcVar10)(param_1,local_90,local_60);\n        if (iVar7 != 0) goto LAB_000ab620;\n        uVar9 = uVar11;\n        iVar7 = iVar12;\n        if (local_5c != 0) {\n          uVar17 = *(undefined4 *)(param_1 + 0x4c);\n          unaff_s6 = *(uint *)(param_1 + 0x50);\n          *(int *)(param_1 + 0x48) = local_5c;\n          *(int *)(param_1 + 0x44) = local_90;\n          *(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;\n        }\n      }\n      (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\nLAB_000ab59c:\n      puVar4 = PTR_LAB_00190ba8;\n      *(undefined4 *)(param_1 + 0x4c) = uVar17;\n      *(uint *)(param_1 + 0x50) = unaff_s6;\n      (*(code *)(puVar4 + 0x6338))(param_1);\n      iVar7 = **(int **)(param_1 + 0x20);\n      *(undefined4 *)(iVar7 + 0x60) = 0;\n      *(undefined4 *)(iVar7 + 0x80) = *(undefined4 *)(param_1 + 0x44);\n      *(undefined4 *)(iVar7 + 100) = 0;\n      *(undefined4 *)(iVar7 + 0x68) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x6c) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x70) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x74) = 0xffffffff;\n      if (*(int *)(param_1 + 0x44) != 0) {\n        *(int *)(iVar7 + 0x68) = *(int *)(param_1 + 0x44);\n      }\n      iVar7 = iVar6;\n      if (*(int *)(param_1 + 0x48) != 0) {\n        sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c));\n      }\n    }\n    else {\nLAB_000ab7ec:\n      iVar7 = 7;\n    }\nLAB_000ab53c:\n    pcVar14 = pcVar15;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n      if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),4,4);\n      *param_2 = 1;\n    }\n    else {\nLAB_000ab3b0:\n      *param_2 = 1;\n    }\nLAB_000ab170:\n    *(undefined1 *)(param_1 + 0x2c) = 0;\n    iVar6 = iVar7;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n    }\nLAB_000ab0f8:\n    pcVar15 = pcVar14;\n  }" { (if_statement "if (local_2c == *(int *)puVar5) {\n      return iVar6;\n    }" if (parenthesized_expression "(local_2c == *(int *)puVar5)" ( (binary_expression "local_2c == *(int *)puVar5" identifier == (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n      return iVar6;\n    }" { (return_statement "return iVar6;" return identifier ;) })) (expression_statement "pcVar14 = (code *)PTR___stack_chk_fail_00190df8;" (assignment_expression "pcVar14 = (code *)PTR___stack_chk_fail_00190df8" identifier = (cast_expression "(code *)PTR___stack_chk_fail_00190df8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00190df8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" * (cast_expression "(code *)PTR___stack_chk_fail_00190df8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_000ab64c:\n    iVar7 = (*pcVar14)();" statement_identifier : (expression_statement "iVar7 = (*pcVar14)();" (assignment_expression "iVar7 = (*pcVar14)()" identifier = (call_expression "(*pcVar14)()" (parenthesized_expression "(*pcVar14)" ( (pointer_expression "*pcVar14" * identifier) )) (argument_list "()" ( )))) ;)) (if_statement "if (iVar7 == 0) {\n      uVar13 = unaff_s6 + 0x18;\n      iVar8 = (*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar13 >> 0x1f);\n      if (iVar8 == 0) goto LAB_000ab7ec;\n      uVar2 = (ushort)unaff_s6;\n      uVar3 = unaff_s6 >> 0x10;\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n      unaff_s6 = 0;\n      uVar17 = 0;\n      pcVar10 = (code *)(PTR_LAB_00190c2c + -0x5200);\n      local_90 = 0;\n      uVar9 = 0x20;\n      iVar7 = 0;\n      while( true ) {\n        uVar11 = uVar13 + uVar9;\n        iVar12 = (uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7;\n        if ((local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11)))) break;\n        local_90 = local_90 + 1;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9);\n        if (iVar7 != 0) {\nLAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\n          goto LAB_000ab53c;\n        }\n        iVar7 = (*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8);\n        if (iVar7 == 0) break;\n        iVar7 = (*pcVar10)(param_1,local_90,local_60);\n        if (iVar7 != 0) goto LAB_000ab620;\n        uVar9 = uVar11;\n        iVar7 = iVar12;\n        if (local_5c != 0) {\n          uVar17 = *(undefined4 *)(param_1 + 0x4c);\n          unaff_s6 = *(uint *)(param_1 + 0x50);\n          *(int *)(param_1 + 0x48) = local_5c;\n          *(int *)(param_1 + 0x44) = local_90;\n          *(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;\n        }\n      }\n      (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\nLAB_000ab59c:\n      puVar4 = PTR_LAB_00190ba8;\n      *(undefined4 *)(param_1 + 0x4c) = uVar17;\n      *(uint *)(param_1 + 0x50) = unaff_s6;\n      (*(code *)(puVar4 + 0x6338))(param_1);\n      iVar7 = **(int **)(param_1 + 0x20);\n      *(undefined4 *)(iVar7 + 0x60) = 0;\n      *(undefined4 *)(iVar7 + 0x80) = *(undefined4 *)(param_1 + 0x44);\n      *(undefined4 *)(iVar7 + 100) = 0;\n      *(undefined4 *)(iVar7 + 0x68) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x6c) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x70) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x74) = 0xffffffff;\n      if (*(int *)(param_1 + 0x44) != 0) {\n        *(int *)(iVar7 + 0x68) = *(int *)(param_1 + 0x44);\n      }\n      iVar7 = iVar6;\n      if (*(int *)(param_1 + 0x48) != 0) {\n        sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c));\n      }\n    }\n    else {\nLAB_000ab7ec:\n      iVar7 = 7;\n    }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar13 = unaff_s6 + 0x18;\n      iVar8 = (*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar13 >> 0x1f);\n      if (iVar8 == 0) goto LAB_000ab7ec;\n      uVar2 = (ushort)unaff_s6;\n      uVar3 = unaff_s6 >> 0x10;\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n      unaff_s6 = 0;\n      uVar17 = 0;\n      pcVar10 = (code *)(PTR_LAB_00190c2c + -0x5200);\n      local_90 = 0;\n      uVar9 = 0x20;\n      iVar7 = 0;\n      while( true ) {\n        uVar11 = uVar13 + uVar9;\n        iVar12 = (uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7;\n        if ((local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11)))) break;\n        local_90 = local_90 + 1;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9);\n        if (iVar7 != 0) {\nLAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\n          goto LAB_000ab53c;\n        }\n        iVar7 = (*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8);\n        if (iVar7 == 0) break;\n        iVar7 = (*pcVar10)(param_1,local_90,local_60);\n        if (iVar7 != 0) goto LAB_000ab620;\n        uVar9 = uVar11;\n        iVar7 = iVar12;\n        if (local_5c != 0) {\n          uVar17 = *(undefined4 *)(param_1 + 0x4c);\n          unaff_s6 = *(uint *)(param_1 + 0x50);\n          *(int *)(param_1 + 0x48) = local_5c;\n          *(int *)(param_1 + 0x44) = local_90;\n          *(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;\n        }\n      }\n      (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\nLAB_000ab59c:\n      puVar4 = PTR_LAB_00190ba8;\n      *(undefined4 *)(param_1 + 0x4c) = uVar17;\n      *(uint *)(param_1 + 0x50) = unaff_s6;\n      (*(code *)(puVar4 + 0x6338))(param_1);\n      iVar7 = **(int **)(param_1 + 0x20);\n      *(undefined4 *)(iVar7 + 0x60) = 0;\n      *(undefined4 *)(iVar7 + 0x80) = *(undefined4 *)(param_1 + 0x44);\n      *(undefined4 *)(iVar7 + 100) = 0;\n      *(undefined4 *)(iVar7 + 0x68) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x6c) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x70) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x74) = 0xffffffff;\n      if (*(int *)(param_1 + 0x44) != 0) {\n        *(int *)(iVar7 + 0x68) = *(int *)(param_1 + 0x44);\n      }\n      iVar7 = iVar6;\n      if (*(int *)(param_1 + 0x48) != 0) {\n        sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c));\n      }\n    }" { (expression_statement "uVar13 = unaff_s6 + 0x18;" (assignment_expression "uVar13 = unaff_s6 + 0x18" identifier = (binary_expression "unaff_s6 + 0x18" identifier + number_literal)) ;) (expression_statement "iVar8 = (*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar13 >> 0x1f);" (assignment_expression "iVar8 = (*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar13 >> 0x1f)" identifier = (call_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar13 >> 0x1f)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2b48))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + -0x2b48)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2b48)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2b48)" ( (binary_expression "PTR_LAB_00190ba8 + -0x2b48" identifier + number_literal) )))) )) (argument_list "((int)uVar13 >> 0x1f)" ( (binary_expression "(int)uVar13 >> 0x1f" (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) (if_statement "if (iVar8 == 0) goto LAB_000ab7ec;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000ab7ec;" goto statement_identifier ;)) (expression_statement "uVar2 = (ushort)unaff_s6;" (assignment_expression "uVar2 = (ushort)unaff_s6" identifier = (cast_expression "(ushort)unaff_s6" ( (type_descriptor "ushort" type_identifier) ) identifier)) ;) (expression_statement "uVar3 = unaff_s6 >> 0x10;" (assignment_expression "uVar3 = unaff_s6 >> 0x10" identifier = (binary_expression "unaff_s6 >> 0x10" identifier >> number_literal)) ;) (expression_statement "pcVar14 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);" (assignment_expression "pcVar14 = (code *)(PTR_LAB_00190ba8 + -0x4fdc)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x4fdc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x4fdc)" ( (binary_expression "PTR_LAB_00190ba8 + -0x4fdc" identifier + number_literal) )))) ;) (expression_statement "unaff_s6 = 0;" (assignment_expression "unaff_s6 = 0" identifier = number_literal) ;) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "pcVar10 = (code *)(PTR_LAB_00190c2c + -0x5200);" (assignment_expression "pcVar10 = (code *)(PTR_LAB_00190c2c + -0x5200)" identifier = (cast_expression "(code *)(PTR_LAB_00190c2c + -0x5200)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190c2c + -0x5200)" ( (binary_expression "PTR_LAB_00190c2c + -0x5200" identifier + number_literal) )))) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "uVar9 = 0x20;" (assignment_expression "uVar9 = 0x20" identifier = number_literal) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n        uVar11 = uVar13 + uVar9;\n        iVar12 = (uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7;\n        if ((local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11)))) break;\n        local_90 = local_90 + 1;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9);\n        if (iVar7 != 0) {\nLAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\n          goto LAB_000ab53c;\n        }\n        iVar7 = (*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8);\n        if (iVar7 == 0) break;\n        iVar7 = (*pcVar10)(param_1,local_90,local_60);\n        if (iVar7 != 0) goto LAB_000ab620;\n        uVar9 = uVar11;\n        iVar7 = iVar12;\n        if (local_5c != 0) {\n          uVar17 = *(undefined4 *)(param_1 + 0x4c);\n          unaff_s6 = *(uint *)(param_1 + 0x50);\n          *(int *)(param_1 + 0x48) = local_5c;\n          *(int *)(param_1 + 0x44) = local_90;\n          *(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;\n        }\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        uVar11 = uVar13 + uVar9;\n        iVar12 = (uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7;\n        if ((local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11)))) break;\n        local_90 = local_90 + 1;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9);\n        if (iVar7 != 0) {\nLAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\n          goto LAB_000ab53c;\n        }\n        iVar7 = (*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8);\n        if (iVar7 == 0) break;\n        iVar7 = (*pcVar10)(param_1,local_90,local_60);\n        if (iVar7 != 0) goto LAB_000ab620;\n        uVar9 = uVar11;\n        iVar7 = iVar12;\n        if (local_5c != 0) {\n          uVar17 = *(undefined4 *)(param_1 + 0x4c);\n          unaff_s6 = *(uint *)(param_1 + 0x50);\n          *(int *)(param_1 + 0x48) = local_5c;\n          *(int *)(param_1 + 0x44) = local_90;\n          *(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;\n        }\n      }" { (expression_statement "uVar11 = uVar13 + uVar9;" (assignment_expression "uVar11 = uVar13 + uVar9" identifier = (binary_expression "uVar13 + uVar9" identifier + identifier)) ;) (expression_statement "iVar12 = (uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7;" (assignment_expression "iVar12 = (uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7" identifier = (binary_expression "(uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7" (binary_expression "(uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f)" (call_expression "(uint)(uVar11 < uVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar11 < uVar13)" ( (binary_expression "uVar11 < uVar13" identifier < identifier) ))) + (parenthesized_expression "((int)uVar13 >> 0x1f)" ( (binary_expression "(int)uVar13 >> 0x1f" (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) + identifier)) ;) (if_statement "if ((local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11)))) break;" if (parenthesized_expression "((local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11))))" ( (binary_expression "(local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11)))" (parenthesized_expression "(local_58 < iVar12)" ( (binary_expression "local_58 < iVar12" identifier < identifier) )) || (parenthesized_expression "((local_58 == iVar12 && (local_54 < uVar11)))" ( (parenthesized_expression "(local_58 == iVar12 && (local_54 < uVar11))" ( (binary_expression "local_58 == iVar12 && (local_54 < uVar11)" (binary_expression "local_58 == iVar12" identifier == identifier) && (parenthesized_expression "(local_54 < uVar11)" ( (binary_expression "local_54 < uVar11" identifier < identifier) ))) )) ))) )) (break_statement "break;" break ;)) (expression_statement "local_90 = local_90 + 1;" (assignment_expression "local_90 = local_90 + 1" identifier = (binary_expression "local_90 + 1" identifier + number_literal)) ;) (expression_statement "iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9);" (assignment_expression "iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9)" identifier = (call_expression "(**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9)" (parenthesized_expression "(**(code **)(**(int **)(param_1 + 8) + 8))" ( (pointer_expression "**(code **)(**(int **)(param_1 + 8) + 8)" * (pointer_expression "*(code **)(**(int **)(param_1 + 8) + 8)" * (cast_expression "(code **)(**(int **)(param_1 + 8) + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(param_1 + 8) + 8)" ( (binary_expression "**(int **)(param_1 + 8) + 8" (pointer_expression "**(int **)(param_1 + 8)" * (pointer_expression "*(int **)(param_1 + 8)" * (cast_expression "(int **)(param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9)" ( (pointer_expression "*(int **)(param_1 + 8)" * (cast_expression "(int **)(param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar7 != 0) {\nLAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\n          goto LAB_000ab53c;\n        }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\n          goto LAB_000ab53c;\n        }" { (labeled_statement "LAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);" statement_identifier : (expression_statement "(*(code *)PTR_sqlite3_free_0019096c)(iVar8);" (call_expression "(*(code *)PTR_sqlite3_free_0019096c)(iVar8)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0019096c)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0019096c" * (cast_expression "(code *)PTR_sqlite3_free_0019096c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8)" ( identifier ))) ;)) (goto_statement "goto LAB_000ab53c;" goto statement_identifier ;) })) (expression_statement "iVar7 = (*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8);" (assignment_expression "iVar7 = (*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8)" identifier = (call_expression "(*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8)" (parenthesized_expression "(*pcVar14)" ( (pointer_expression "*pcVar14" * identifier) )) (argument_list "(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8)" ( identifier , (pointer_expression "&local_60" & identifier) , (pointer_expression "&local_5c" & identifier) , (binary_expression "iVar8 + 0x18" identifier + number_literal) , identifier )))) ;) (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar7 = (*pcVar10)(param_1,local_90,local_60);" (assignment_expression "iVar7 = (*pcVar10)(param_1,local_90,local_60)" identifier = (call_expression "(*pcVar10)(param_1,local_90,local_60)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(param_1,local_90,local_60)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar7 != 0) goto LAB_000ab620;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000ab620;" goto statement_identifier ;)) (expression_statement "uVar9 = uVar11;" (assignment_expression "uVar9 = uVar11" identifier = identifier) ;) (expression_statement "iVar7 = iVar12;" (assignment_expression "iVar7 = iVar12" identifier = identifier) ;) (if_statement "if (local_5c != 0) {\n          uVar17 = *(undefined4 *)(param_1 + 0x4c);\n          unaff_s6 = *(uint *)(param_1 + 0x50);\n          *(int *)(param_1 + 0x48) = local_5c;\n          *(int *)(param_1 + 0x44) = local_90;\n          *(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;\n        }" if (parenthesized_expression "(local_5c != 0)" ( (binary_expression "local_5c != 0" identifier != number_literal) )) (compound_statement "{\n          uVar17 = *(undefined4 *)(param_1 + 0x4c);\n          unaff_s6 = *(uint *)(param_1 + 0x50);\n          *(int *)(param_1 + 0x48) = local_5c;\n          *(int *)(param_1 + 0x44) = local_90;\n          *(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;\n        }" { (expression_statement "uVar17 = *(undefined4 *)(param_1 + 0x4c);" (assignment_expression "uVar17 = *(undefined4 *)(param_1 + 0x4c)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x4c)" * (cast_expression "(undefined4 *)(param_1 + 0x4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) ))))) ;) (expression_statement "unaff_s6 = *(uint *)(param_1 + 0x50);" (assignment_expression "unaff_s6 = *(uint *)(param_1 + 0x50)" identifier = (pointer_expression "*(uint *)(param_1 + 0x50)" * (cast_expression "(uint *)(param_1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(param_1 + 0x48) = local_5c;" (assignment_expression "*(int *)(param_1 + 0x48) = local_5c" (pointer_expression "*(int *)(param_1 + 0x48)" * (cast_expression "(int *)(param_1 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x48)" ( (binary_expression "param_1 + 0x48" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(param_1 + 0x44) = local_90;" (assignment_expression "*(int *)(param_1 + 0x44) = local_90" (pointer_expression "*(int *)(param_1 + 0x44)" * (cast_expression "(int *)(param_1 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;" (assignment_expression "*(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3" (pointer_expression "*(ushort *)(param_1 + 0x42)" * (cast_expression "(ushort *)(param_1 + 0x42)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x42)" ( (binary_expression "param_1 + 0x42" identifier + number_literal) )))) = (binary_expression "uVar2 & 0xff00 | (ushort)uVar3" (binary_expression "uVar2 & 0xff00" identifier & number_literal) | (cast_expression "(ushort)uVar3" ( (type_descriptor "ushort" type_identifier) ) identifier))) ;) })) })) (expression_statement "(*(code *)PTR_sqlite3_free_0019096c)(iVar8);" (call_expression "(*(code *)PTR_sqlite3_free_0019096c)(iVar8)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0019096c)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0019096c" * (cast_expression "(code *)PTR_sqlite3_free_0019096c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8)" ( identifier ))) ;) (labeled_statement "LAB_000ab59c:\n      puVar4 = PTR_LAB_00190ba8;" statement_identifier : (expression_statement "puVar4 = PTR_LAB_00190ba8;" (assignment_expression "puVar4 = PTR_LAB_00190ba8" identifier = identifier) ;)) (expression_statement "*(undefined4 *)(param_1 + 0x4c) = uVar17;" (assignment_expression "*(undefined4 *)(param_1 + 0x4c) = uVar17" (pointer_expression "*(undefined4 *)(param_1 + 0x4c)" * (cast_expression "(undefined4 *)(param_1 + 0x4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(param_1 + 0x50) = unaff_s6;" (assignment_expression "*(uint *)(param_1 + 0x50) = unaff_s6" (pointer_expression "*(uint *)(param_1 + 0x50)" * (cast_expression "(uint *)(param_1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) = identifier) ;) (expression_statement "(*(code *)(puVar4 + 0x6338))(param_1);" (call_expression "(*(code *)(puVar4 + 0x6338))(param_1)" (parenthesized_expression "(*(code *)(puVar4 + 0x6338))" ( (pointer_expression "*(code *)(puVar4 + 0x6338)" * (cast_expression "(code *)(puVar4 + 0x6338)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 0x6338)" ( (binary_expression "puVar4 + 0x6338" identifier + number_literal) )))) )) (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "iVar7 = **(int **)(param_1 + 0x20);" (assignment_expression "iVar7 = **(int **)(param_1 + 0x20)" identifier = (pointer_expression "**(int **)(param_1 + 0x20)" * (pointer_expression "*(int **)(param_1 + 0x20)" * (cast_expression "(int **)(param_1 + 0x20)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))))) ;) (expression_statement "*(undefined4 *)(iVar7 + 0x60) = 0;" (assignment_expression "*(undefined4 *)(iVar7 + 0x60) = 0" (pointer_expression "*(undefined4 *)(iVar7 + 0x60)" * (cast_expression "(undefined4 *)(iVar7 + 0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x60)" ( (binary_expression "iVar7 + 0x60" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar7 + 0x80) = *(undefined4 *)(param_1 + 0x44);" (assignment_expression "*(undefined4 *)(iVar7 + 0x80) = *(undefined4 *)(param_1 + 0x44)" (pointer_expression "*(undefined4 *)(iVar7 + 0x80)" * (cast_expression "(undefined4 *)(iVar7 + 0x80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x80)" ( (binary_expression "iVar7 + 0x80" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 0x44)" * (cast_expression "(undefined4 *)(param_1 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar7 + 100) = 0;" (assignment_expression "*(undefined4 *)(iVar7 + 100) = 0" (pointer_expression "*(undefined4 *)(iVar7 + 100)" * (cast_expression "(undefined4 *)(iVar7 + 100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 100)" ( (binary_expression "iVar7 + 100" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar7 + 0x68) = 0xffffffff;" (assignment_expression "*(undefined4 *)(iVar7 + 0x68) = 0xffffffff" (pointer_expression "*(undefined4 *)(iVar7 + 0x68)" * (cast_expression "(undefined4 *)(iVar7 + 0x68)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x68)" ( (binary_expression "iVar7 + 0x68" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar7 + 0x6c) = 0xffffffff;" (assignment_expression "*(undefined4 *)(iVar7 + 0x6c) = 0xffffffff" (pointer_expression "*(undefined4 *)(iVar7 + 0x6c)" * (cast_expression "(undefined4 *)(iVar7 + 0x6c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x6c)" ( (binary_expression "iVar7 + 0x6c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar7 + 0x70) = 0xffffffff;" (assignment_expression "*(undefined4 *)(iVar7 + 0x70) = 0xffffffff" (pointer_expression "*(undefined4 *)(iVar7 + 0x70)" * (cast_expression "(undefined4 *)(iVar7 + 0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x70)" ( (binary_expression "iVar7 + 0x70" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar7 + 0x74) = 0xffffffff;" (assignment_expression "*(undefined4 *)(iVar7 + 0x74) = 0xffffffff" (pointer_expression "*(undefined4 *)(iVar7 + 0x74)" * (cast_expression "(undefined4 *)(iVar7 + 0x74)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x74)" ( (binary_expression "iVar7 + 0x74" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (*(int *)(param_1 + 0x44) != 0) {\n        *(int *)(iVar7 + 0x68) = *(int *)(param_1 + 0x44);\n      }" if (parenthesized_expression "(*(int *)(param_1 + 0x44) != 0)" ( (binary_expression "*(int *)(param_1 + 0x44) != 0" (pointer_expression "*(int *)(param_1 + 0x44)" * (cast_expression "(int *)(param_1 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        *(int *)(iVar7 + 0x68) = *(int *)(param_1 + 0x44);\n      }" { (expression_statement "*(int *)(iVar7 + 0x68) = *(int *)(param_1 + 0x44);" (assignment_expression "*(int *)(iVar7 + 0x68) = *(int *)(param_1 + 0x44)" (pointer_expression "*(int *)(iVar7 + 0x68)" * (cast_expression "(int *)(iVar7 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x68)" ( (binary_expression "iVar7 + 0x68" identifier + number_literal) )))) = (pointer_expression "*(int *)(param_1 + 0x44)" * (cast_expression "(int *)(param_1 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) ))))) ;) })) (expression_statement "iVar7 = iVar6;" (assignment_expression "iVar7 = iVar6" identifier = identifier) ;) (if_statement "if (*(int *)(param_1 + 0x48) != 0) {\n        sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c));\n      }" if (parenthesized_expression "(*(int *)(param_1 + 0x48) != 0)" ( (binary_expression "*(int *)(param_1 + 0x48) != 0" (pointer_expression "*(int *)(param_1 + 0x48)" * (cast_expression "(int *)(param_1 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x48)" ( (binary_expression "param_1 + 0x48" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c));\n      }" { (expression_statement "sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c));" (call_expression "sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c))" identifier (argument_list "(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c))" ( number_literal , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c" identifier + number_literal) , (pointer_expression "*(undefined4 *)(param_1 + 0x44)" * (cast_expression "(undefined4 *)(param_1 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x6c)" * (cast_expression "(undefined4 *)(param_1 + 0x6c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x6c)" ( (binary_expression "param_1 + 0x6c" identifier + number_literal) )))) ))) ;) })) }) (else_clause "else {\nLAB_000ab7ec:\n      iVar7 = 7;\n    }" else (compound_statement "{\nLAB_000ab7ec:\n      iVar7 = 7;\n    }" { (labeled_statement "LAB_000ab7ec:\n      iVar7 = 7;" statement_identifier : (expression_statement "iVar7 = 7;" (assignment_expression "iVar7 = 7" identifier = number_literal) ;)) }))) (labeled_statement "LAB_000ab53c:\n    pcVar14 = pcVar15;" statement_identifier : (expression_statement "pcVar14 = pcVar15;" (assignment_expression "pcVar14 = pcVar15" identifier = identifier) ;)) (if_statement "if (*(char *)(param_1 + 0x2b) == '\0') {\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n      if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),4,4);\n      *param_2 = 1;\n    }\n    else {\nLAB_000ab3b0:\n      *param_2 = 1;\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x2b) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x2b) == '\0'" (pointer_expression "*(char *)(param_1 + 0x2b)" * (cast_expression "(char *)(param_1 + 0x2b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2b)" ( (binary_expression "param_1 + 0x2b" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n      if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),4,4);\n      *param_2 = 1;\n    }" { (expression_statement "pcVar14 = (code *)(PTR_LAB_00190ba8 + 0x6640);" (assignment_expression "pcVar14 = (code *)(PTR_LAB_00190ba8 + 0x6640)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x6640)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x6640)" ( (binary_expression "PTR_LAB_00190ba8 + 0x6640" identifier + number_literal) )))) ;) (expression_statement "(*pcVar14)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);" (call_expression "(*pcVar14)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16)" (parenthesized_expression "(*pcVar14)" ( (pointer_expression "*pcVar14" * identifier) )) (argument_list "(*(undefined4 *)(param_1 + 4),pcVar15,piVar16)" ( (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) , identifier , identifier ))) ;) (if_statement "if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;" if (parenthesized_expression "(*(char *)(param_1 + 0x2b) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x2b) != '\0'" (pointer_expression "*(char *)(param_1 + 0x2b)" * (cast_expression "(char *)(param_1 + 0x2b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2b)" ( (binary_expression "param_1 + 0x2b" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000ab3b0;" goto statement_identifier ;)) (expression_statement "(*pcVar14)(*(undefined4 *)(param_1 + 4),4,4);" (call_expression "(*pcVar14)(*(undefined4 *)(param_1 + 4),4,4)" (parenthesized_expression "(*pcVar14)" ( (pointer_expression "*pcVar14" * identifier) )) (argument_list "(*(undefined4 *)(param_1 + 4),4,4)" ( (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) , number_literal , number_literal ))) ;) (expression_statement "*param_2 = 1;" (assignment_expression "*param_2 = 1" (pointer_expression "*param_2" * identifier) = number_literal) ;) }) (else_clause "else {\nLAB_000ab3b0:\n      *param_2 = 1;\n    }" else (compound_statement "{\nLAB_000ab3b0:\n      *param_2 = 1;\n    }" { (labeled_statement "LAB_000ab3b0:\n      *param_2 = 1;" statement_identifier : (expression_statement "*param_2 = 1;" (assignment_expression "*param_2 = 1" (pointer_expression "*param_2" * identifier) = number_literal) ;)) }))) (labeled_statement "LAB_000ab170:\n    *(undefined1 *)(param_1 + 0x2c) = 0;" statement_identifier : (expression_statement "*(undefined1 *)(param_1 + 0x2c) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x2c) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x2c)" * (cast_expression "(undefined1 *)(param_1 + 0x2c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "iVar6 = iVar7;" (assignment_expression "iVar6 = iVar7" identifier = identifier) ;) (if_statement "if (*(char *)(param_1 + 0x2b) == '\0') {\n      (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x2b) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x2b) == '\0'" (pointer_expression "*(char *)(param_1 + 0x2b)" * (cast_expression "(char *)(param_1 + 0x2b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2b)" ( (binary_expression "param_1 + 0x2b" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n    }" { (expression_statement "(*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6640))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x6640)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x6640)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x6640)" ( (binary_expression "PTR_LAB_00190ba8 + 0x6640" identifier + number_literal) )))) )) (argument_list "(*(undefined4 *)(param_1 + 4),0,1)" ( (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) , number_literal , number_literal ))) ;) })) (labeled_statement "LAB_000ab0f8:\n    pcVar15 = pcVar14;" statement_identifier : (expression_statement "pcVar15 = pcVar14;" (assignment_expression "pcVar15 = pcVar14" identifier = identifier) ;)) }) while (parenthesized_expression "(*(char *)(param_1 + 0x32) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x32) == '\0'" (pointer_expression "*(char *)(param_1 + 0x32)" * (cast_expression "(char *)(param_1 + 0x32)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x32)" ( (binary_expression "param_1 + 0x32" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) ;)) (if_statement "if (iVar6 != 0) {\nLAB_000ab2ac:\n    (*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0);\n    *(undefined1 *)(param_1 + 0x32) = 0;\n    if (iVar6 == 0x20a) {\n      iVar6 = -1;\n      *(undefined1 *)(param_1 + 0x2b) = 0;\n      pcVar15 = pcVar14;\n      goto LAB_000ab06c;\n    }\n  }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_000ab2ac:\n    (*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0);\n    *(undefined1 *)(param_1 + 0x32) = 0;\n    if (iVar6 == 0x20a) {\n      iVar6 = -1;\n      *(undefined1 *)(param_1 + 0x2b) = 0;\n      pcVar15 = pcVar14;\n      goto LAB_000ab06c;\n    }\n  }" { (labeled_statement "LAB_000ab2ac:\n    (*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0);" statement_identifier : (expression_statement "(*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6650))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x6650)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x6650)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x6650)" ( (binary_expression "PTR_LAB_00190ba8 + 0x6650" identifier + number_literal) )))) )) (argument_list "(param_1,0)" ( identifier , number_literal ))) ;)) (expression_statement "*(undefined1 *)(param_1 + 0x32) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x32) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x32)" * (cast_expression "(undefined1 *)(param_1 + 0x32)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x32)" ( (binary_expression "param_1 + 0x32" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (iVar6 == 0x20a) {\n      iVar6 = -1;\n      *(undefined1 *)(param_1 + 0x2b) = 0;\n      pcVar15 = pcVar14;\n      goto LAB_000ab06c;\n    }" if (parenthesized_expression "(iVar6 == 0x20a)" ( (binary_expression "iVar6 == 0x20a" identifier == number_literal) )) (compound_statement "{\n      iVar6 = -1;\n      *(undefined1 *)(param_1 + 0x2b) = 0;\n      pcVar15 = pcVar14;\n      goto LAB_000ab06c;\n    }" { (expression_statement "iVar6 = -1;" (assignment_expression "iVar6 = -1" identifier = number_literal) ;) (expression_statement "*(undefined1 *)(param_1 + 0x2b) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x2b) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x2b)" * (cast_expression "(undefined1 *)(param_1 + 0x2b)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2b)" ( (binary_expression "param_1 + 0x2b" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar15 = pcVar14;" (assignment_expression "pcVar15 = pcVar14" identifier = identifier) ;) (goto_statement "goto LAB_000ab06c;" goto statement_identifier ;) })) })) (expression_statement "*(undefined1 *)(param_1 + 0x2b) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x2b) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x2b)" * (cast_expression "(undefined1 *)(param_1 + 0x2b)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2b)" ( (binary_expression "param_1 + 0x2b" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar15 = pcVar14;" (assignment_expression "pcVar15 = pcVar14" identifier = identifier) ;) (goto_statement "goto LAB_000ab06c;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (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 , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , IDENT )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , LIT )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (labeled_statement statement_identifier : (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 ')) )) (goto_statement goto statement_identifier ;))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , LIT )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression & IDENT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) & IDENT) )) == LIT) ))) )) && (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT & LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) - IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression (pointer_expression * IDENT) & (binary_expression LIT << (binary_expression (parenthesized_expression ( (binary_expression LIT - IDENT) )) * LIT))) | (binary_expression IDENT >> (binary_expression IDENT * LIT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) - IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression (pointer_expression * IDENT) & (binary_expression LIT >> (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT))) | (binary_expression IDENT << (binary_expression (parenthesized_expression ( (binary_expression LIT - 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 (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( (binary_expression IDENT & LIT) , (pointer_expression & IDENT) , LIT , LIT , (binary_expression IDENT + LIT) , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (goto_statement goto statement_identifier ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (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 (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) (goto_statement goto statement_identifier ;) })) (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 IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( (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 ;)) (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 (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , 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 ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (call_expression IDENT (argument_list ( LIT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (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 ')) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == IDENT) && (parenthesized_expression ( (binary_expression IDENT < IDENT) ))) )) ))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) , (binary_expression IDENT + LIT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression IDENT & LIT) | (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) })) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT , (binary_expression IDENT + LIT) , (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) )))) ))) ;) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , LIT ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , LIT ))) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , LIT ))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })))
(function_definition "int FUN_000aafe4(int param_1,undefined4 *param_2)\n\n{\n  uint *puVar1;\n  ushort uVar2;\n  uint uVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  uint uVar9;\n  code *pcVar10;\n  uint uVar11;\n  int iVar12;\n  uint uVar13;\n  code *pcVar14;\n  code *pcVar15;\n  int *piVar16;\n  undefined4 uVar17;\n  uint unaff_s6;\n  int local_90;\n  int local_64;\n  undefined4 local_60;\n  int local_5c;\n  int local_58;\n  uint local_54;\n  uint local_4c;\n  int local_48;\n  uint local_44;\n  undefined4 local_40;\n  uint local_3c;\n  undefined4 local_38;\n  int local_34;\n  int local_30;\n  int local_2c;\n  \n  puVar5 = PTR___stack_chk_guard_00190e24;\n  piVar16 = &local_64;\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  pcVar14 = (code *)(PTR_LAB_00190c2c + -0x58c0);\n  iVar6 = FUN_000aa740(param_1,0,piVar16);\n  pcVar15 = pcVar14;\n  if (iVar6 != 0) {\n    if (iVar6 != 0x508) goto LAB_000ab06c;\n    *(undefined1 *)(param_1 + 0x32) = 1;\n    *(undefined1 *)(param_1 + 0x2b) = 2;\n    *param_2 = 1;\n  }\n  if ((local_64 == 0) ||\n     (iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2), iVar7 != 0)) {\n    if ((*(char *)(param_1 + 0x32) != '\0') || ((*(byte *)(param_1 + 0x2e) & 2) == 0)) {\n      if ((*(char *)(param_1 + 0x2b) == '\0') &&\n         (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1),\n         iVar6 != 0)) {\nLAB_000ab2a0:\n        if (*(char *)(param_1 + 0x32) != '\0') goto LAB_000ab2ac;\n        goto LAB_000ab06c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 1;\n      iVar7 = FUN_000aa740(param_1,0,piVar16);\n      if (iVar7 != 0) goto LAB_000ab170;\n      iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2);\n      if (iVar6 != 0) {\n        pcVar15 = (code *)(*(byte *)(param_1 + 0x2d) + 1);\n        piVar16 = (int *)(3 - (int)pcVar15);\n        if (*(char *)(param_1 + 0x2b) == '\0') {\n          pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n          pcVar14 = pcVar15;\n          if (iVar7 != 0) goto LAB_000ab3b0;\n          if ((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)) {\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }\n        }\n        (*(code *)PTR_memset_00190d58)(param_1 + 0x34,0,0x30);\n        iVar6 = (**(code **)(**(int **)(param_1 + 8) + 0x18))(*(int **)(param_1 + 8),&local_58);\n        iVar7 = iVar6;\n        if (iVar6 != 0) goto LAB_000ab53c;\n        if (local_58 < 1) {\n          unaff_s6 = 0;\n          if (local_58 != 0) goto LAB_000ab598;\n          uVar17 = 0;\n          if (local_54 < 0x21) goto LAB_000ab59c;\n        }\n        uVar17 = 0;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),&local_4c,0x20);\n        puVar4 = PTR_LAB_00190b40;\n        if (iVar7 != 0) goto LAB_000ab53c;\n        if ((((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)) &&\n           (local_44 - 0x200 < 0xfe01)) {\n          *(char *)(param_1 + 0x41) = (char)(local_4c & 1);\n          *(uint *)(param_1 + 0x24) = local_44;\n          *(undefined4 *)(param_1 + 0x70) = local_40;\n          uVar13 = param_1 + 0x54U & 3;\n          puVar1 = (uint *)((param_1 + 0x54U) - uVar13);\n          *puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8;\n          uVar13 = param_1 + 0x57U & 3;\n          puVar1 = (uint *)((param_1 + 0x57U) - uVar13);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8;\n          *(undefined4 *)(param_1 + 0x58) = local_38;\n          (*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17);\n          if ((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)) {\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }\n        }\nLAB_000ab598:\n        unaff_s6 = 0;\n        uVar17 = 0;\n        goto LAB_000ab59c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 0;\n      if (*(char *)(param_1 + 0x2b) == '\0') {\n        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      else {\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      if (iVar6 == 0x2de218) {\n        iVar6 = 0;\n        if (*(char *)(param_1 + 0x32) != '\0') {\n          *(undefined1 *)(param_1 + 0x2b) = 0;\n        }\n        goto LAB_000ab06c;\n      }\n      goto LAB_000ab244;\n    }\n    if (*(char *)(param_1 + 0x2b) != '\0') {\nLAB_000ab318:\n      iVar6 = 0x108;\n      goto LAB_000ab06c;\n    }\n    iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6538))(*(undefined4 *)(param_1 + 4),0);\n    if (iVar6 != 0) goto LAB_000ab2a0;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      (*(code *)(PTR_LAB_00190ba8 + 0x654c))(*(undefined4 *)(param_1 + 4),0);\n    }\n    if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab318;\n    iVar6 = 0x108;\n  }\n  else {\n    if (*(int *)(param_1 + 0x34) == 0x2de218) goto LAB_000ab0f8;\nLAB_000ab244:\n    iVar6 = 0xe;\n    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,\n                PTR_LAB_00190958 + 0x625c);\n    if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab06c;\n  }\n  (*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0);\n  *(undefined1 *)(param_1 + 0x32) = 0;\n  *(undefined1 *)(param_1 + 0x2b) = 0;\nLAB_000ab06c:\n  do {\n    if (local_2c == *(int *)puVar5) {\n      return iVar6;\n    }\n    pcVar14 = (code *)PTR___stack_chk_fail_00190df8;\n    (*(code *)PTR___stack_chk_fail_00190df8)();\nLAB_000ab64c:\n    iVar7 = (*pcVar14)();\n    if (iVar7 == 0) {\n      uVar13 = unaff_s6 + 0x18;\n      iVar8 = (*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar13 >> 0x1f);\n      if (iVar8 == 0) goto LAB_000ab7ec;\n      uVar2 = (ushort)unaff_s6;\n      uVar3 = unaff_s6 >> 0x10;\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n      unaff_s6 = 0;\n      uVar17 = 0;\n      pcVar10 = (code *)(PTR_LAB_00190c2c + -0x5200);\n      local_90 = 0;\n      uVar9 = 0x20;\n      iVar7 = 0;\n      while( true ) {\n        uVar11 = uVar13 + uVar9;\n        iVar12 = (uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7;\n        if ((local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11)))) break;\n        local_90 = local_90 + 1;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9);\n        if (iVar7 != 0) {\nLAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\n          goto LAB_000ab53c;\n        }\n        iVar7 = (*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8);\n        if (iVar7 == 0) break;\n        iVar7 = (*pcVar10)(param_1,local_90,local_60);\n        if (iVar7 != 0) goto LAB_000ab620;\n        uVar9 = uVar11;\n        iVar7 = iVar12;\n        if (local_5c != 0) {\n          uVar17 = *(undefined4 *)(param_1 + 0x4c);\n          unaff_s6 = *(uint *)(param_1 + 0x50);\n          *(int *)(param_1 + 0x48) = local_5c;\n          *(int *)(param_1 + 0x44) = local_90;\n          *(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;\n        }\n      }\n      (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\nLAB_000ab59c:\n      puVar4 = PTR_LAB_00190ba8;\n      *(undefined4 *)(param_1 + 0x4c) = uVar17;\n      *(uint *)(param_1 + 0x50) = unaff_s6;\n      (*(code *)(puVar4 + 0x6338))(param_1);\n      iVar7 = **(int **)(param_1 + 0x20);\n      *(undefined4 *)(iVar7 + 0x60) = 0;\n      *(undefined4 *)(iVar7 + 0x80) = *(undefined4 *)(param_1 + 0x44);\n      *(undefined4 *)(iVar7 + 100) = 0;\n      *(undefined4 *)(iVar7 + 0x68) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x6c) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x70) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x74) = 0xffffffff;\n      if (*(int *)(param_1 + 0x44) != 0) {\n        *(int *)(iVar7 + 0x68) = *(int *)(param_1 + 0x44);\n      }\n      iVar7 = iVar6;\n      if (*(int *)(param_1 + 0x48) != 0) {\n        sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c));\n      }\n    }\n    else {\nLAB_000ab7ec:\n      iVar7 = 7;\n    }\nLAB_000ab53c:\n    pcVar14 = pcVar15;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n      if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),4,4);\n      *param_2 = 1;\n    }\n    else {\nLAB_000ab3b0:\n      *param_2 = 1;\n    }\nLAB_000ab170:\n    *(undefined1 *)(param_1 + 0x2c) = 0;\n    iVar6 = iVar7;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n    }\nLAB_000ab0f8:\n    pcVar15 = pcVar14;\n  } while (*(char *)(param_1 + 0x32) == '\0');\n  if (iVar6 != 0) {\nLAB_000ab2ac:\n    (*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0);\n    *(undefined1 *)(param_1 + 0x32) = 0;\n    if (iVar6 == 0x20a) {\n      iVar6 = -1;\n      *(undefined1 *)(param_1 + 0x2b) = 0;\n      pcVar15 = pcVar14;\n      goto LAB_000ab06c;\n    }\n  }\n  *(undefined1 *)(param_1 + 0x2b) = 0;\n  pcVar15 = pcVar14;\n  goto LAB_000ab06c;\n}" (primitive_type "int") (function_declarator "FUN_000aafe4(int param_1,undefined4 *param_2)" (identifier "FUN_000aafe4") (parameter_list "(int param_1,undefined4 *param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 *param_2" (type_identifier "undefined4") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")"))) (compound_statement "{\n  uint *puVar1;\n  ushort uVar2;\n  uint uVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  uint uVar9;\n  code *pcVar10;\n  uint uVar11;\n  int iVar12;\n  uint uVar13;\n  code *pcVar14;\n  code *pcVar15;\n  int *piVar16;\n  undefined4 uVar17;\n  uint unaff_s6;\n  int local_90;\n  int local_64;\n  undefined4 local_60;\n  int local_5c;\n  int local_58;\n  uint local_54;\n  uint local_4c;\n  int local_48;\n  uint local_44;\n  undefined4 local_40;\n  uint local_3c;\n  undefined4 local_38;\n  int local_34;\n  int local_30;\n  int local_2c;\n  \n  puVar5 = PTR___stack_chk_guard_00190e24;\n  piVar16 = &local_64;\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  pcVar14 = (code *)(PTR_LAB_00190c2c + -0x58c0);\n  iVar6 = FUN_000aa740(param_1,0,piVar16);\n  pcVar15 = pcVar14;\n  if (iVar6 != 0) {\n    if (iVar6 != 0x508) goto LAB_000ab06c;\n    *(undefined1 *)(param_1 + 0x32) = 1;\n    *(undefined1 *)(param_1 + 0x2b) = 2;\n    *param_2 = 1;\n  }\n  if ((local_64 == 0) ||\n     (iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2), iVar7 != 0)) {\n    if ((*(char *)(param_1 + 0x32) != '\0') || ((*(byte *)(param_1 + 0x2e) & 2) == 0)) {\n      if ((*(char *)(param_1 + 0x2b) == '\0') &&\n         (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1),\n         iVar6 != 0)) {\nLAB_000ab2a0:\n        if (*(char *)(param_1 + 0x32) != '\0') goto LAB_000ab2ac;\n        goto LAB_000ab06c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 1;\n      iVar7 = FUN_000aa740(param_1,0,piVar16);\n      if (iVar7 != 0) goto LAB_000ab170;\n      iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2);\n      if (iVar6 != 0) {\n        pcVar15 = (code *)(*(byte *)(param_1 + 0x2d) + 1);\n        piVar16 = (int *)(3 - (int)pcVar15);\n        if (*(char *)(param_1 + 0x2b) == '\0') {\n          pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n          pcVar14 = pcVar15;\n          if (iVar7 != 0) goto LAB_000ab3b0;\n          if ((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)) {\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }\n        }\n        (*(code *)PTR_memset_00190d58)(param_1 + 0x34,0,0x30);\n        iVar6 = (**(code **)(**(int **)(param_1 + 8) + 0x18))(*(int **)(param_1 + 8),&local_58);\n        iVar7 = iVar6;\n        if (iVar6 != 0) goto LAB_000ab53c;\n        if (local_58 < 1) {\n          unaff_s6 = 0;\n          if (local_58 != 0) goto LAB_000ab598;\n          uVar17 = 0;\n          if (local_54 < 0x21) goto LAB_000ab59c;\n        }\n        uVar17 = 0;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),&local_4c,0x20);\n        puVar4 = PTR_LAB_00190b40;\n        if (iVar7 != 0) goto LAB_000ab53c;\n        if ((((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)) &&\n           (local_44 - 0x200 < 0xfe01)) {\n          *(char *)(param_1 + 0x41) = (char)(local_4c & 1);\n          *(uint *)(param_1 + 0x24) = local_44;\n          *(undefined4 *)(param_1 + 0x70) = local_40;\n          uVar13 = param_1 + 0x54U & 3;\n          puVar1 = (uint *)((param_1 + 0x54U) - uVar13);\n          *puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8;\n          uVar13 = param_1 + 0x57U & 3;\n          puVar1 = (uint *)((param_1 + 0x57U) - uVar13);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8;\n          *(undefined4 *)(param_1 + 0x58) = local_38;\n          (*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17);\n          if ((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)) {\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }\n        }\nLAB_000ab598:\n        unaff_s6 = 0;\n        uVar17 = 0;\n        goto LAB_000ab59c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 0;\n      if (*(char *)(param_1 + 0x2b) == '\0') {\n        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      else {\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      if (iVar6 == 0x2de218) {\n        iVar6 = 0;\n        if (*(char *)(param_1 + 0x32) != '\0') {\n          *(undefined1 *)(param_1 + 0x2b) = 0;\n        }\n        goto LAB_000ab06c;\n      }\n      goto LAB_000ab244;\n    }\n    if (*(char *)(param_1 + 0x2b) != '\0') {\nLAB_000ab318:\n      iVar6 = 0x108;\n      goto LAB_000ab06c;\n    }\n    iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6538))(*(undefined4 *)(param_1 + 4),0);\n    if (iVar6 != 0) goto LAB_000ab2a0;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      (*(code *)(PTR_LAB_00190ba8 + 0x654c))(*(undefined4 *)(param_1 + 4),0);\n    }\n    if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab318;\n    iVar6 = 0x108;\n  }\n  else {\n    if (*(int *)(param_1 + 0x34) == 0x2de218) goto LAB_000ab0f8;\nLAB_000ab244:\n    iVar6 = 0xe;\n    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,\n                PTR_LAB_00190958 + 0x625c);\n    if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab06c;\n  }\n  (*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0);\n  *(undefined1 *)(param_1 + 0x32) = 0;\n  *(undefined1 *)(param_1 + 0x2b) = 0;\nLAB_000ab06c:\n  do {\n    if (local_2c == *(int *)puVar5) {\n      return iVar6;\n    }\n    pcVar14 = (code *)PTR___stack_chk_fail_00190df8;\n    (*(code *)PTR___stack_chk_fail_00190df8)();\nLAB_000ab64c:\n    iVar7 = (*pcVar14)();\n    if (iVar7 == 0) {\n      uVar13 = unaff_s6 + 0x18;\n      iVar8 = (*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar13 >> 0x1f);\n      if (iVar8 == 0) goto LAB_000ab7ec;\n      uVar2 = (ushort)unaff_s6;\n      uVar3 = unaff_s6 >> 0x10;\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n      unaff_s6 = 0;\n      uVar17 = 0;\n      pcVar10 = (code *)(PTR_LAB_00190c2c + -0x5200);\n      local_90 = 0;\n      uVar9 = 0x20;\n      iVar7 = 0;\n      while( true ) {\n        uVar11 = uVar13 + uVar9;\n        iVar12 = (uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7;\n        if ((local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11)))) break;\n        local_90 = local_90 + 1;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9);\n        if (iVar7 != 0) {\nLAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\n          goto LAB_000ab53c;\n        }\n        iVar7 = (*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8);\n        if (iVar7 == 0) break;\n        iVar7 = (*pcVar10)(param_1,local_90,local_60);\n        if (iVar7 != 0) goto LAB_000ab620;\n        uVar9 = uVar11;\n        iVar7 = iVar12;\n        if (local_5c != 0) {\n          uVar17 = *(undefined4 *)(param_1 + 0x4c);\n          unaff_s6 = *(uint *)(param_1 + 0x50);\n          *(int *)(param_1 + 0x48) = local_5c;\n          *(int *)(param_1 + 0x44) = local_90;\n          *(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;\n        }\n      }\n      (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\nLAB_000ab59c:\n      puVar4 = PTR_LAB_00190ba8;\n      *(undefined4 *)(param_1 + 0x4c) = uVar17;\n      *(uint *)(param_1 + 0x50) = unaff_s6;\n      (*(code *)(puVar4 + 0x6338))(param_1);\n      iVar7 = **(int **)(param_1 + 0x20);\n      *(undefined4 *)(iVar7 + 0x60) = 0;\n      *(undefined4 *)(iVar7 + 0x80) = *(undefined4 *)(param_1 + 0x44);\n      *(undefined4 *)(iVar7 + 100) = 0;\n      *(undefined4 *)(iVar7 + 0x68) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x6c) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x70) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x74) = 0xffffffff;\n      if (*(int *)(param_1 + 0x44) != 0) {\n        *(int *)(iVar7 + 0x68) = *(int *)(param_1 + 0x44);\n      }\n      iVar7 = iVar6;\n      if (*(int *)(param_1 + 0x48) != 0) {\n        sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c));\n      }\n    }\n    else {\nLAB_000ab7ec:\n      iVar7 = 7;\n    }\nLAB_000ab53c:\n    pcVar14 = pcVar15;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n      if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),4,4);\n      *param_2 = 1;\n    }\n    else {\nLAB_000ab3b0:\n      *param_2 = 1;\n    }\nLAB_000ab170:\n    *(undefined1 *)(param_1 + 0x2c) = 0;\n    iVar6 = iVar7;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n    }\nLAB_000ab0f8:\n    pcVar15 = pcVar14;\n  } while (*(char *)(param_1 + 0x32) == '\0');\n  if (iVar6 != 0) {\nLAB_000ab2ac:\n    (*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0);\n    *(undefined1 *)(param_1 + 0x32) = 0;\n    if (iVar6 == 0x20a) {\n      iVar6 = -1;\n      *(undefined1 *)(param_1 + 0x2b) = 0;\n      pcVar15 = pcVar14;\n      goto LAB_000ab06c;\n    }\n  }\n  *(undefined1 *)(param_1 + 0x2b) = 0;\n  pcVar15 = pcVar14;\n  goto LAB_000ab06c;\n}" ({ "{") (declaration "uint *puVar1;" (type_identifier "uint") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "ushort uVar2;" (type_identifier "ushort") (identifier "uVar2") (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "undefined *puVar4;" (type_identifier "undefined") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "undefined *puVar5;" (type_identifier "undefined") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "code *pcVar10;" (type_identifier "code") (pointer_declarator "*pcVar10" (* "*") (identifier "pcVar10")) (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "uint uVar13;" (type_identifier "uint") (identifier "uVar13") (; ";")) (declaration "code *pcVar14;" (type_identifier "code") (pointer_declarator "*pcVar14" (* "*") (identifier "pcVar14")) (; ";")) (declaration "code *pcVar15;" (type_identifier "code") (pointer_declarator "*pcVar15" (* "*") (identifier "pcVar15")) (; ";")) (declaration "int *piVar16;" (primitive_type "int") (pointer_declarator "*piVar16" (* "*") (identifier "piVar16")) (; ";")) (declaration "undefined4 uVar17;" (type_identifier "undefined4") (identifier "uVar17") (; ";")) (declaration "uint unaff_s6;" (type_identifier "uint") (identifier "unaff_s6") (; ";")) (declaration "int local_90;" (primitive_type "int") (identifier "local_90") (; ";")) (declaration "int local_64;" (primitive_type "int") (identifier "local_64") (; ";")) (declaration "undefined4 local_60;" (type_identifier "undefined4") (identifier "local_60") (; ";")) (declaration "int local_5c;" (primitive_type "int") (identifier "local_5c") (; ";")) (declaration "int local_58;" (primitive_type "int") (identifier "local_58") (; ";")) (declaration "uint local_54;" (type_identifier "uint") (identifier "local_54") (; ";")) (declaration "uint local_4c;" (type_identifier "uint") (identifier "local_4c") (; ";")) (declaration "int local_48;" (primitive_type "int") (identifier "local_48") (; ";")) (declaration "uint local_44;" (type_identifier "uint") (identifier "local_44") (; ";")) (declaration "undefined4 local_40;" (type_identifier "undefined4") (identifier "local_40") (; ";")) (declaration "uint local_3c;" (type_identifier "uint") (identifier "local_3c") (; ";")) (declaration "undefined4 local_38;" (type_identifier "undefined4") (identifier "local_38") (; ";")) (declaration "int local_34;" (primitive_type "int") (identifier "local_34") (; ";")) (declaration "int local_30;" (primitive_type "int") (identifier "local_30") (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (expression_statement "puVar5 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar5 = PTR___stack_chk_guard_00190e24" (identifier "puVar5") (= "=") (identifier "PTR___stack_chk_guard_00190e24")) (; ";")) (expression_statement "piVar16 = &local_64;" (assignment_expression "piVar16 = &local_64" (identifier "piVar16") (= "=") (pointer_expression "&local_64" (& "&") (identifier "local_64"))) (; ";")) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_00190e24" (identifier "local_2c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_00190e24" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_00190e24" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_00190e24")))) (; ";")) (expression_statement "pcVar14 = (code *)(PTR_LAB_00190c2c + -0x58c0);" (assignment_expression "pcVar14 = (code *)(PTR_LAB_00190c2c + -0x58c0)" (identifier "pcVar14") (= "=") (cast_expression "(code *)(PTR_LAB_00190c2c + -0x58c0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190c2c + -0x58c0)" (( "(") (binary_expression "PTR_LAB_00190c2c + -0x58c0" (identifier "PTR_LAB_00190c2c") (+ "+") (number_literal "-0x58c0")) () ")")))) (; ";")) (expression_statement "iVar6 = FUN_000aa740(param_1,0,piVar16);" (assignment_expression "iVar6 = FUN_000aa740(param_1,0,piVar16)" (identifier "iVar6") (= "=") (call_expression "FUN_000aa740(param_1,0,piVar16)" (identifier "FUN_000aa740") (argument_list "(param_1,0,piVar16)" (( "(") (identifier "param_1") (, ",") (number_literal "0") (, ",") (identifier "piVar16") () ")")))) (; ";")) (expression_statement "pcVar15 = pcVar14;" (assignment_expression "pcVar15 = pcVar14" (identifier "pcVar15") (= "=") (identifier "pcVar14")) (; ";")) (if_statement "if (iVar6 != 0) {\n    if (iVar6 != 0x508) goto LAB_000ab06c;\n    *(undefined1 *)(param_1 + 0x32) = 1;\n    *(undefined1 *)(param_1 + 0x2b) = 2;\n    *param_2 = 1;\n  }" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (iVar6 != 0x508) goto LAB_000ab06c;\n    *(undefined1 *)(param_1 + 0x32) = 1;\n    *(undefined1 *)(param_1 + 0x2b) = 2;\n    *param_2 = 1;\n  }" ({ "{") (if_statement "if (iVar6 != 0x508) goto LAB_000ab06c;" (if "if") (parenthesized_expression "(iVar6 != 0x508)" (( "(") (binary_expression "iVar6 != 0x508" (identifier "iVar6") (!= "!=") (number_literal "0x508")) () ")")) (goto_statement "goto LAB_000ab06c;" (goto "goto") (statement_identifier "LAB_000ab06c") (; ";"))) (expression_statement "*(undefined1 *)(param_1 + 0x32) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x32) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x32)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x32)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x32)" (( "(") (binary_expression "param_1 + 0x32" (identifier "param_1") (+ "+") (number_literal "0x32")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined1 *)(param_1 + 0x2b) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 0x2b) = 2" (pointer_expression "*(undefined1 *)(param_1 + 0x2b)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x2b)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2b)" (( "(") (binary_expression "param_1 + 0x2b" (identifier "param_1") (+ "+") (number_literal "0x2b")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "*param_2 = 1;" (assignment_expression "*param_2 = 1" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (number_literal "1")) (; ";")) (} "}"))) (if_statement "if ((local_64 == 0) ||\n     (iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2), iVar7 != 0)) {\n    if ((*(char *)(param_1 + 0x32) != '\0') || ((*(byte *)(param_1 + 0x2e) & 2) == 0)) {\n      if ((*(char *)(param_1 + 0x2b) == '\0') &&\n         (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1),\n         iVar6 != 0)) {\nLAB_000ab2a0:\n        if (*(char *)(param_1 + 0x32) != '\0') goto LAB_000ab2ac;\n        goto LAB_000ab06c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 1;\n      iVar7 = FUN_000aa740(param_1,0,piVar16);\n      if (iVar7 != 0) goto LAB_000ab170;\n      iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2);\n      if (iVar6 != 0) {\n        pcVar15 = (code *)(*(byte *)(param_1 + 0x2d) + 1);\n        piVar16 = (int *)(3 - (int)pcVar15);\n        if (*(char *)(param_1 + 0x2b) == '\0') {\n          pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n          pcVar14 = pcVar15;\n          if (iVar7 != 0) goto LAB_000ab3b0;\n          if ((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)) {\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }\n        }\n        (*(code *)PTR_memset_00190d58)(param_1 + 0x34,0,0x30);\n        iVar6 = (**(code **)(**(int **)(param_1 + 8) + 0x18))(*(int **)(param_1 + 8),&local_58);\n        iVar7 = iVar6;\n        if (iVar6 != 0) goto LAB_000ab53c;\n        if (local_58 < 1) {\n          unaff_s6 = 0;\n          if (local_58 != 0) goto LAB_000ab598;\n          uVar17 = 0;\n          if (local_54 < 0x21) goto LAB_000ab59c;\n        }\n        uVar17 = 0;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),&local_4c,0x20);\n        puVar4 = PTR_LAB_00190b40;\n        if (iVar7 != 0) goto LAB_000ab53c;\n        if ((((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)) &&\n           (local_44 - 0x200 < 0xfe01)) {\n          *(char *)(param_1 + 0x41) = (char)(local_4c & 1);\n          *(uint *)(param_1 + 0x24) = local_44;\n          *(undefined4 *)(param_1 + 0x70) = local_40;\n          uVar13 = param_1 + 0x54U & 3;\n          puVar1 = (uint *)((param_1 + 0x54U) - uVar13);\n          *puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8;\n          uVar13 = param_1 + 0x57U & 3;\n          puVar1 = (uint *)((param_1 + 0x57U) - uVar13);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8;\n          *(undefined4 *)(param_1 + 0x58) = local_38;\n          (*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17);\n          if ((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)) {\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }\n        }\nLAB_000ab598:\n        unaff_s6 = 0;\n        uVar17 = 0;\n        goto LAB_000ab59c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 0;\n      if (*(char *)(param_1 + 0x2b) == '\0') {\n        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      else {\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      if (iVar6 == 0x2de218) {\n        iVar6 = 0;\n        if (*(char *)(param_1 + 0x32) != '\0') {\n          *(undefined1 *)(param_1 + 0x2b) = 0;\n        }\n        goto LAB_000ab06c;\n      }\n      goto LAB_000ab244;\n    }\n    if (*(char *)(param_1 + 0x2b) != '\0') {\nLAB_000ab318:\n      iVar6 = 0x108;\n      goto LAB_000ab06c;\n    }\n    iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6538))(*(undefined4 *)(param_1 + 4),0);\n    if (iVar6 != 0) goto LAB_000ab2a0;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      (*(code *)(PTR_LAB_00190ba8 + 0x654c))(*(undefined4 *)(param_1 + 4),0);\n    }\n    if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab318;\n    iVar6 = 0x108;\n  }\n  else {\n    if (*(int *)(param_1 + 0x34) == 0x2de218) goto LAB_000ab0f8;\nLAB_000ab244:\n    iVar6 = 0xe;\n    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,\n                PTR_LAB_00190958 + 0x625c);\n    if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab06c;\n  }" (if "if") (parenthesized_expression "((local_64 == 0) ||\n     (iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2), iVar7 != 0))" (( "(") (binary_expression "(local_64 == 0) ||\n     (iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2), iVar7 != 0)" (parenthesized_expression "(local_64 == 0)" (( "(") (binary_expression "local_64 == 0" (identifier "local_64") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2), iVar7 != 0)" (( "(") (comma_expression "iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2), iVar7 != 0" (assignment_expression "iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2)" (identifier "iVar7") (= "=") (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x7394))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x7394)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x7394)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba4 + -0x7394)" (( "(") (binary_expression "PTR_LAB_00190ba4 + -0x7394" (identifier "PTR_LAB_00190ba4") (+ "+") (number_literal "-0x7394")) () ")")))) () ")")) (argument_list "(param_1,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") () ")")))) (, ",") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    if ((*(char *)(param_1 + 0x32) != '\0') || ((*(byte *)(param_1 + 0x2e) & 2) == 0)) {\n      if ((*(char *)(param_1 + 0x2b) == '\0') &&\n         (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1),\n         iVar6 != 0)) {\nLAB_000ab2a0:\n        if (*(char *)(param_1 + 0x32) != '\0') goto LAB_000ab2ac;\n        goto LAB_000ab06c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 1;\n      iVar7 = FUN_000aa740(param_1,0,piVar16);\n      if (iVar7 != 0) goto LAB_000ab170;\n      iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2);\n      if (iVar6 != 0) {\n        pcVar15 = (code *)(*(byte *)(param_1 + 0x2d) + 1);\n        piVar16 = (int *)(3 - (int)pcVar15);\n        if (*(char *)(param_1 + 0x2b) == '\0') {\n          pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n          pcVar14 = pcVar15;\n          if (iVar7 != 0) goto LAB_000ab3b0;\n          if ((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)) {\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }\n        }\n        (*(code *)PTR_memset_00190d58)(param_1 + 0x34,0,0x30);\n        iVar6 = (**(code **)(**(int **)(param_1 + 8) + 0x18))(*(int **)(param_1 + 8),&local_58);\n        iVar7 = iVar6;\n        if (iVar6 != 0) goto LAB_000ab53c;\n        if (local_58 < 1) {\n          unaff_s6 = 0;\n          if (local_58 != 0) goto LAB_000ab598;\n          uVar17 = 0;\n          if (local_54 < 0x21) goto LAB_000ab59c;\n        }\n        uVar17 = 0;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),&local_4c,0x20);\n        puVar4 = PTR_LAB_00190b40;\n        if (iVar7 != 0) goto LAB_000ab53c;\n        if ((((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)) &&\n           (local_44 - 0x200 < 0xfe01)) {\n          *(char *)(param_1 + 0x41) = (char)(local_4c & 1);\n          *(uint *)(param_1 + 0x24) = local_44;\n          *(undefined4 *)(param_1 + 0x70) = local_40;\n          uVar13 = param_1 + 0x54U & 3;\n          puVar1 = (uint *)((param_1 + 0x54U) - uVar13);\n          *puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8;\n          uVar13 = param_1 + 0x57U & 3;\n          puVar1 = (uint *)((param_1 + 0x57U) - uVar13);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8;\n          *(undefined4 *)(param_1 + 0x58) = local_38;\n          (*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17);\n          if ((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)) {\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }\n        }\nLAB_000ab598:\n        unaff_s6 = 0;\n        uVar17 = 0;\n        goto LAB_000ab59c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 0;\n      if (*(char *)(param_1 + 0x2b) == '\0') {\n        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      else {\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      if (iVar6 == 0x2de218) {\n        iVar6 = 0;\n        if (*(char *)(param_1 + 0x32) != '\0') {\n          *(undefined1 *)(param_1 + 0x2b) = 0;\n        }\n        goto LAB_000ab06c;\n      }\n      goto LAB_000ab244;\n    }\n    if (*(char *)(param_1 + 0x2b) != '\0') {\nLAB_000ab318:\n      iVar6 = 0x108;\n      goto LAB_000ab06c;\n    }\n    iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6538))(*(undefined4 *)(param_1 + 4),0);\n    if (iVar6 != 0) goto LAB_000ab2a0;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      (*(code *)(PTR_LAB_00190ba8 + 0x654c))(*(undefined4 *)(param_1 + 4),0);\n    }\n    if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab318;\n    iVar6 = 0x108;\n  }" ({ "{") (if_statement "if ((*(char *)(param_1 + 0x32) != '\0') || ((*(byte *)(param_1 + 0x2e) & 2) == 0)) {\n      if ((*(char *)(param_1 + 0x2b) == '\0') &&\n         (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1),\n         iVar6 != 0)) {\nLAB_000ab2a0:\n        if (*(char *)(param_1 + 0x32) != '\0') goto LAB_000ab2ac;\n        goto LAB_000ab06c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 1;\n      iVar7 = FUN_000aa740(param_1,0,piVar16);\n      if (iVar7 != 0) goto LAB_000ab170;\n      iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2);\n      if (iVar6 != 0) {\n        pcVar15 = (code *)(*(byte *)(param_1 + 0x2d) + 1);\n        piVar16 = (int *)(3 - (int)pcVar15);\n        if (*(char *)(param_1 + 0x2b) == '\0') {\n          pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n          pcVar14 = pcVar15;\n          if (iVar7 != 0) goto LAB_000ab3b0;\n          if ((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)) {\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }\n        }\n        (*(code *)PTR_memset_00190d58)(param_1 + 0x34,0,0x30);\n        iVar6 = (**(code **)(**(int **)(param_1 + 8) + 0x18))(*(int **)(param_1 + 8),&local_58);\n        iVar7 = iVar6;\n        if (iVar6 != 0) goto LAB_000ab53c;\n        if (local_58 < 1) {\n          unaff_s6 = 0;\n          if (local_58 != 0) goto LAB_000ab598;\n          uVar17 = 0;\n          if (local_54 < 0x21) goto LAB_000ab59c;\n        }\n        uVar17 = 0;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),&local_4c,0x20);\n        puVar4 = PTR_LAB_00190b40;\n        if (iVar7 != 0) goto LAB_000ab53c;\n        if ((((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)) &&\n           (local_44 - 0x200 < 0xfe01)) {\n          *(char *)(param_1 + 0x41) = (char)(local_4c & 1);\n          *(uint *)(param_1 + 0x24) = local_44;\n          *(undefined4 *)(param_1 + 0x70) = local_40;\n          uVar13 = param_1 + 0x54U & 3;\n          puVar1 = (uint *)((param_1 + 0x54U) - uVar13);\n          *puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8;\n          uVar13 = param_1 + 0x57U & 3;\n          puVar1 = (uint *)((param_1 + 0x57U) - uVar13);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8;\n          *(undefined4 *)(param_1 + 0x58) = local_38;\n          (*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17);\n          if ((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)) {\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }\n        }\nLAB_000ab598:\n        unaff_s6 = 0;\n        uVar17 = 0;\n        goto LAB_000ab59c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 0;\n      if (*(char *)(param_1 + 0x2b) == '\0') {\n        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      else {\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      if (iVar6 == 0x2de218) {\n        iVar6 = 0;\n        if (*(char *)(param_1 + 0x32) != '\0') {\n          *(undefined1 *)(param_1 + 0x2b) = 0;\n        }\n        goto LAB_000ab06c;\n      }\n      goto LAB_000ab244;\n    }" (if "if") (parenthesized_expression "((*(char *)(param_1 + 0x32) != '\0') || ((*(byte *)(param_1 + 0x2e) & 2) == 0))" (( "(") (binary_expression "(*(char *)(param_1 + 0x32) != '\0') || ((*(byte *)(param_1 + 0x2e) & 2) == 0)" (parenthesized_expression "(*(char *)(param_1 + 0x32) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x32) != '\0'" (pointer_expression "*(char *)(param_1 + 0x32)" (* "*") (cast_expression "(char *)(param_1 + 0x32)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x32)" (( "(") (binary_expression "param_1 + 0x32" (identifier "param_1") (+ "+") (number_literal "0x32")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "((*(byte *)(param_1 + 0x2e) & 2) == 0)" (( "(") (binary_expression "(*(byte *)(param_1 + 0x2e) & 2) == 0" (parenthesized_expression "(*(byte *)(param_1 + 0x2e) & 2)" (( "(") (binary_expression "*(byte *)(param_1 + 0x2e) & 2" (pointer_expression "*(byte *)(param_1 + 0x2e)" (* "*") (cast_expression "(byte *)(param_1 + 0x2e)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2e)" (( "(") (binary_expression "param_1 + 0x2e" (identifier "param_1") (+ "+") (number_literal "0x2e")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      if ((*(char *)(param_1 + 0x2b) == '\0') &&\n         (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1),\n         iVar6 != 0)) {\nLAB_000ab2a0:\n        if (*(char *)(param_1 + 0x32) != '\0') goto LAB_000ab2ac;\n        goto LAB_000ab06c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 1;\n      iVar7 = FUN_000aa740(param_1,0,piVar16);\n      if (iVar7 != 0) goto LAB_000ab170;\n      iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2);\n      if (iVar6 != 0) {\n        pcVar15 = (code *)(*(byte *)(param_1 + 0x2d) + 1);\n        piVar16 = (int *)(3 - (int)pcVar15);\n        if (*(char *)(param_1 + 0x2b) == '\0') {\n          pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n          pcVar14 = pcVar15;\n          if (iVar7 != 0) goto LAB_000ab3b0;\n          if ((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)) {\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }\n        }\n        (*(code *)PTR_memset_00190d58)(param_1 + 0x34,0,0x30);\n        iVar6 = (**(code **)(**(int **)(param_1 + 8) + 0x18))(*(int **)(param_1 + 8),&local_58);\n        iVar7 = iVar6;\n        if (iVar6 != 0) goto LAB_000ab53c;\n        if (local_58 < 1) {\n          unaff_s6 = 0;\n          if (local_58 != 0) goto LAB_000ab598;\n          uVar17 = 0;\n          if (local_54 < 0x21) goto LAB_000ab59c;\n        }\n        uVar17 = 0;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),&local_4c,0x20);\n        puVar4 = PTR_LAB_00190b40;\n        if (iVar7 != 0) goto LAB_000ab53c;\n        if ((((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)) &&\n           (local_44 - 0x200 < 0xfe01)) {\n          *(char *)(param_1 + 0x41) = (char)(local_4c & 1);\n          *(uint *)(param_1 + 0x24) = local_44;\n          *(undefined4 *)(param_1 + 0x70) = local_40;\n          uVar13 = param_1 + 0x54U & 3;\n          puVar1 = (uint *)((param_1 + 0x54U) - uVar13);\n          *puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8;\n          uVar13 = param_1 + 0x57U & 3;\n          puVar1 = (uint *)((param_1 + 0x57U) - uVar13);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8;\n          *(undefined4 *)(param_1 + 0x58) = local_38;\n          (*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17);\n          if ((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)) {\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }\n        }\nLAB_000ab598:\n        unaff_s6 = 0;\n        uVar17 = 0;\n        goto LAB_000ab59c;\n      }\n      *(undefined1 *)(param_1 + 0x2c) = 0;\n      if (*(char *)(param_1 + 0x2b) == '\0') {\n        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      else {\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      if (iVar6 == 0x2de218) {\n        iVar6 = 0;\n        if (*(char *)(param_1 + 0x32) != '\0') {\n          *(undefined1 *)(param_1 + 0x2b) = 0;\n        }\n        goto LAB_000ab06c;\n      }\n      goto LAB_000ab244;\n    }" ({ "{") (if_statement "if ((*(char *)(param_1 + 0x2b) == '\0') &&\n         (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1),\n         iVar6 != 0)) {\nLAB_000ab2a0:\n        if (*(char *)(param_1 + 0x32) != '\0') goto LAB_000ab2ac;\n        goto LAB_000ab06c;\n      }" (if "if") (parenthesized_expression "((*(char *)(param_1 + 0x2b) == '\0') &&\n         (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1),\n         iVar6 != 0))" (( "(") (binary_expression "(*(char *)(param_1 + 0x2b) == '\0') &&\n         (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1),\n         iVar6 != 0)" (parenthesized_expression "(*(char *)(param_1 + 0x2b) == '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x2b) == '\0'" (pointer_expression "*(char *)(param_1 + 0x2b)" (* "*") (cast_expression "(char *)(param_1 + 0x2b)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2b)" (( "(") (binary_expression "param_1 + 0x2b" (identifier "param_1") (+ "+") (number_literal "0x2b")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1),\n         iVar6 != 0)" (( "(") (comma_expression "iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1),\n         iVar6 != 0" (assignment_expression "iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1)" (identifier "iVar6") (= "=") (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6560))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x6560)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x6560)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + 0x6560)" (( "(") (binary_expression "PTR_LAB_00190ba8 + 0x6560" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "0x6560")) () ")")))) () ")")) (argument_list "(*(undefined4 *)(param_1 + 4),0,1)" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 4)" (* "*") (cast_expression "(undefined4 *)(param_1 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (, ",") (number_literal "0") (, ",") (number_literal "1") () ")")))) (, ",") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\nLAB_000ab2a0:\n        if (*(char *)(param_1 + 0x32) != '\0') goto LAB_000ab2ac;\n        goto LAB_000ab06c;\n      }" ({ "{") (labeled_statement "LAB_000ab2a0:\n        if (*(char *)(param_1 + 0x32) != '\0') goto LAB_000ab2ac;" (statement_identifier "LAB_000ab2a0") (: ":") (if_statement "if (*(char *)(param_1 + 0x32) != '\0') goto LAB_000ab2ac;" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x32) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x32) != '\0'" (pointer_expression "*(char *)(param_1 + 0x32)" (* "*") (cast_expression "(char *)(param_1 + 0x32)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x32)" (( "(") (binary_expression "param_1 + 0x32" (identifier "param_1") (+ "+") (number_literal "0x32")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_000ab2ac;" (goto "goto") (statement_identifier "LAB_000ab2ac") (; ";")))) (goto_statement "goto LAB_000ab06c;" (goto "goto") (statement_identifier "LAB_000ab06c") (; ";")) (} "}"))) (expression_statement "*(undefined1 *)(param_1 + 0x2c) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x2c) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x2c)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x2c)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2c)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar7 = FUN_000aa740(param_1,0,piVar16);" (assignment_expression "iVar7 = FUN_000aa740(param_1,0,piVar16)" (identifier "iVar7") (= "=") (call_expression "FUN_000aa740(param_1,0,piVar16)" (identifier "FUN_000aa740") (argument_list "(param_1,0,piVar16)" (( "(") (identifier "param_1") (, ",") (number_literal "0") (, ",") (identifier "piVar16") () ")")))) (; ";")) (if_statement "if (iVar7 != 0) goto LAB_000ab170;" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000ab170;" (goto "goto") (statement_identifier "LAB_000ab170") (; ";"))) (expression_statement "iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2);" (assignment_expression "iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2)" (identifier "iVar6") (= "=") (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x7394))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x7394)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x7394)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba4 + -0x7394)" (( "(") (binary_expression "PTR_LAB_00190ba4 + -0x7394" (identifier "PTR_LAB_00190ba4") (+ "+") (number_literal "-0x7394")) () ")")))) () ")")) (argument_list "(param_1,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") () ")")))) (; ";")) (if_statement "if (iVar6 != 0) {\n        pcVar15 = (code *)(*(byte *)(param_1 + 0x2d) + 1);\n        piVar16 = (int *)(3 - (int)pcVar15);\n        if (*(char *)(param_1 + 0x2b) == '\0') {\n          pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n          pcVar14 = pcVar15;\n          if (iVar7 != 0) goto LAB_000ab3b0;\n          if ((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)) {\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }\n        }\n        (*(code *)PTR_memset_00190d58)(param_1 + 0x34,0,0x30);\n        iVar6 = (**(code **)(**(int **)(param_1 + 8) + 0x18))(*(int **)(param_1 + 8),&local_58);\n        iVar7 = iVar6;\n        if (iVar6 != 0) goto LAB_000ab53c;\n        if (local_58 < 1) {\n          unaff_s6 = 0;\n          if (local_58 != 0) goto LAB_000ab598;\n          uVar17 = 0;\n          if (local_54 < 0x21) goto LAB_000ab59c;\n        }\n        uVar17 = 0;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),&local_4c,0x20);\n        puVar4 = PTR_LAB_00190b40;\n        if (iVar7 != 0) goto LAB_000ab53c;\n        if ((((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)) &&\n           (local_44 - 0x200 < 0xfe01)) {\n          *(char *)(param_1 + 0x41) = (char)(local_4c & 1);\n          *(uint *)(param_1 + 0x24) = local_44;\n          *(undefined4 *)(param_1 + 0x70) = local_40;\n          uVar13 = param_1 + 0x54U & 3;\n          puVar1 = (uint *)((param_1 + 0x54U) - uVar13);\n          *puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8;\n          uVar13 = param_1 + 0x57U & 3;\n          puVar1 = (uint *)((param_1 + 0x57U) - uVar13);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8;\n          *(undefined4 *)(param_1 + 0x58) = local_38;\n          (*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17);\n          if ((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)) {\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }\n        }\nLAB_000ab598:\n        unaff_s6 = 0;\n        uVar17 = 0;\n        goto LAB_000ab59c;\n      }" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        pcVar15 = (code *)(*(byte *)(param_1 + 0x2d) + 1);\n        piVar16 = (int *)(3 - (int)pcVar15);\n        if (*(char *)(param_1 + 0x2b) == '\0') {\n          pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n          pcVar14 = pcVar15;\n          if (iVar7 != 0) goto LAB_000ab3b0;\n          if ((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)) {\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }\n        }\n        (*(code *)PTR_memset_00190d58)(param_1 + 0x34,0,0x30);\n        iVar6 = (**(code **)(**(int **)(param_1 + 8) + 0x18))(*(int **)(param_1 + 8),&local_58);\n        iVar7 = iVar6;\n        if (iVar6 != 0) goto LAB_000ab53c;\n        if (local_58 < 1) {\n          unaff_s6 = 0;\n          if (local_58 != 0) goto LAB_000ab598;\n          uVar17 = 0;\n          if (local_54 < 0x21) goto LAB_000ab59c;\n        }\n        uVar17 = 0;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),&local_4c,0x20);\n        puVar4 = PTR_LAB_00190b40;\n        if (iVar7 != 0) goto LAB_000ab53c;\n        if ((((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)) &&\n           (local_44 - 0x200 < 0xfe01)) {\n          *(char *)(param_1 + 0x41) = (char)(local_4c & 1);\n          *(uint *)(param_1 + 0x24) = local_44;\n          *(undefined4 *)(param_1 + 0x70) = local_40;\n          uVar13 = param_1 + 0x54U & 3;\n          puVar1 = (uint *)((param_1 + 0x54U) - uVar13);\n          *puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8;\n          uVar13 = param_1 + 0x57U & 3;\n          puVar1 = (uint *)((param_1 + 0x57U) - uVar13);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8;\n          *(undefined4 *)(param_1 + 0x58) = local_38;\n          (*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17);\n          if ((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)) {\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }\n        }\nLAB_000ab598:\n        unaff_s6 = 0;\n        uVar17 = 0;\n        goto LAB_000ab59c;\n      }" ({ "{") (expression_statement "pcVar15 = (code *)(*(byte *)(param_1 + 0x2d) + 1);" (assignment_expression "pcVar15 = (code *)(*(byte *)(param_1 + 0x2d) + 1)" (identifier "pcVar15") (= "=") (cast_expression "(code *)(*(byte *)(param_1 + 0x2d) + 1)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(byte *)(param_1 + 0x2d) + 1)" (( "(") (binary_expression "*(byte *)(param_1 + 0x2d) + 1" (pointer_expression "*(byte *)(param_1 + 0x2d)" (* "*") (cast_expression "(byte *)(param_1 + 0x2d)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2d)" (( "(") (binary_expression "param_1 + 0x2d" (identifier "param_1") (+ "+") (number_literal "0x2d")) () ")")))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "piVar16 = (int *)(3 - (int)pcVar15);" (assignment_expression "piVar16 = (int *)(3 - (int)pcVar15)" (identifier "piVar16") (= "=") (cast_expression "(int *)(3 - (int)pcVar15)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(3 - (int)pcVar15)" (( "(") (binary_expression "3 - (int)pcVar15" (number_literal "3") (- "-") (cast_expression "(int)pcVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar15"))) () ")")))) (; ";")) (if_statement "if (*(char *)(param_1 + 0x2b) == '\0') {\n          pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n          pcVar14 = pcVar15;\n          if (iVar7 != 0) goto LAB_000ab3b0;\n          if ((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)) {\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }\n        }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x2b) == '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x2b) == '\0'" (pointer_expression "*(char *)(param_1 + 0x2b)" (* "*") (cast_expression "(char *)(param_1 + 0x2b)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2b)" (( "(") (binary_expression "param_1 + 0x2b" (identifier "param_1") (+ "+") (number_literal "0x2b")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560);\n          iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n          pcVar14 = pcVar15;\n          if (iVar7 != 0) goto LAB_000ab3b0;\n          if ((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)) {\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }\n        }" ({ "{") (expression_statement "pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560);" (assignment_expression "pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560)" (identifier "pcVar10") (= "=") (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x6560)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + 0x6560)" (( "(") (binary_expression "PTR_LAB_00190ba8 + 0x6560" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "0x6560")) () ")")))) (; ";")) (expression_statement "iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);" (assignment_expression "iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16)" (identifier "iVar7") (= "=") (call_expression "(*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16)" (parenthesized_expression "(*pcVar10)" (( "(") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10")) () ")")) (argument_list "(*(undefined4 *)(param_1 + 4),pcVar15,piVar16)" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 4)" (* "*") (cast_expression "(undefined4 *)(param_1 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (, ",") (identifier "pcVar15") (, ",") (identifier "piVar16") () ")")))) (; ";")) (expression_statement "pcVar14 = pcVar15;" (assignment_expression "pcVar14 = pcVar15" (identifier "pcVar14") (= "=") (identifier "pcVar15")) (; ";")) (if_statement "if (iVar7 != 0) goto LAB_000ab3b0;" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000ab3b0;" (goto "goto") (statement_identifier "LAB_000ab3b0") (; ";"))) (if_statement "if ((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)) {\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }" (if "if") (parenthesized_expression "((*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0))" (( "(") (binary_expression "(*(char *)(param_1 + 0x2b) == '\0') &&\n             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)" (parenthesized_expression "(*(char *)(param_1 + 0x2b) == '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x2b) == '\0'" (pointer_expression "*(char *)(param_1 + 0x2b)" (* "*") (cast_expression "(char *)(param_1 + 0x2b)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2b)" (( "(") (binary_expression "param_1 + 0x2b" (identifier "param_1") (+ "+") (number_literal "0x2b")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)" (( "(") (comma_expression "iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0" (assignment_expression "iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4)" (identifier "iVar7") (= "=") (call_expression "(*pcVar10)(*(undefined4 *)(param_1 + 4),4,4)" (parenthesized_expression "(*pcVar10)" (( "(") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10")) () ")")) (argument_list "(*(undefined4 *)(param_1 + 4),4,4)" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 4)" (* "*") (cast_expression "(undefined4 *)(param_1 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (, ",") (number_literal "4") (, ",") (number_literal "4") () ")")))) (, ",") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n            goto LAB_000ab3b0;\n          }" ({ "{") (if_statement "if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x2b) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x2b) != '\0'" (pointer_expression "*(char *)(param_1 + 0x2b)" (* "*") (cast_expression "(char *)(param_1 + 0x2b)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2b)" (( "(") (binary_expression "param_1 + 0x2b" (identifier "param_1") (+ "+") (number_literal "0x2b")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_000ab3b0;" (goto "goto") (statement_identifier "LAB_000ab3b0") (; ";"))) (expression_statement "(*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6640))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x6640)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x6640)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + 0x6640)" (( "(") (binary_expression "PTR_LAB_00190ba8 + 0x6640" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "0x6640")) () ")")))) () ")")) (argument_list "(*(undefined4 *)(param_1 + 4),pcVar15,piVar16)" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 4)" (* "*") (cast_expression "(undefined4 *)(param_1 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (, ",") (identifier "pcVar15") (, ",") (identifier "piVar16") () ")"))) (; ";")) (goto_statement "goto LAB_000ab3b0;" (goto "goto") (statement_identifier "LAB_000ab3b0") (; ";")) (} "}"))) (} "}"))) (expression_statement "(*(code *)PTR_memset_00190d58)(param_1 + 0x34,0,0x30);" (call_expression "(*(code *)PTR_memset_00190d58)(param_1 + 0x34,0,0x30)" (parenthesized_expression "(*(code *)PTR_memset_00190d58)" (( "(") (pointer_expression "*(code *)PTR_memset_00190d58" (* "*") (cast_expression "(code *)PTR_memset_00190d58" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memset_00190d58"))) () ")")) (argument_list "(param_1 + 0x34,0,0x30)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) (, ",") (number_literal "0") (, ",") (number_literal "0x30") () ")"))) (; ";")) (expression_statement "iVar6 = (**(code **)(**(int **)(param_1 + 8) + 0x18))(*(int **)(param_1 + 8),&local_58);" (assignment_expression "iVar6 = (**(code **)(**(int **)(param_1 + 8) + 0x18))(*(int **)(param_1 + 8),&local_58)" (identifier "iVar6") (= "=") (call_expression "(**(code **)(**(int **)(param_1 + 8) + 0x18))(*(int **)(param_1 + 8),&local_58)" (parenthesized_expression "(**(code **)(**(int **)(param_1 + 8) + 0x18))" (( "(") (pointer_expression "**(code **)(**(int **)(param_1 + 8) + 0x18)" (* "*") (pointer_expression "*(code **)(**(int **)(param_1 + 8) + 0x18)" (* "*") (cast_expression "(code **)(**(int **)(param_1 + 8) + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(param_1 + 8) + 0x18)" (( "(") (binary_expression "**(int **)(param_1 + 8) + 0x18" (pointer_expression "**(int **)(param_1 + 8)" (* "*") (pointer_expression "*(int **)(param_1 + 8)" (* "*") (cast_expression "(int **)(param_1 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (argument_list "(*(int **)(param_1 + 8),&local_58)" (( "(") (pointer_expression "*(int **)(param_1 + 8)" (* "*") (cast_expression "(int **)(param_1 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")")))) (; ";")) (expression_statement "iVar7 = iVar6;" (assignment_expression "iVar7 = iVar6" (identifier "iVar7") (= "=") (identifier "iVar6")) (; ";")) (if_statement "if (iVar6 != 0) goto LAB_000ab53c;" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000ab53c;" (goto "goto") (statement_identifier "LAB_000ab53c") (; ";"))) (if_statement "if (local_58 < 1) {\n          unaff_s6 = 0;\n          if (local_58 != 0) goto LAB_000ab598;\n          uVar17 = 0;\n          if (local_54 < 0x21) goto LAB_000ab59c;\n        }" (if "if") (parenthesized_expression "(local_58 < 1)" (( "(") (binary_expression "local_58 < 1" (identifier "local_58") (< "<") (number_literal "1")) () ")")) (compound_statement "{\n          unaff_s6 = 0;\n          if (local_58 != 0) goto LAB_000ab598;\n          uVar17 = 0;\n          if (local_54 < 0x21) goto LAB_000ab59c;\n        }" ({ "{") (expression_statement "unaff_s6 = 0;" (assignment_expression "unaff_s6 = 0" (identifier "unaff_s6") (= "=") (number_literal "0")) (; ";")) (if_statement "if (local_58 != 0) goto LAB_000ab598;" (if "if") (parenthesized_expression "(local_58 != 0)" (( "(") (binary_expression "local_58 != 0" (identifier "local_58") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000ab598;" (goto "goto") (statement_identifier "LAB_000ab598") (; ";"))) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (if_statement "if (local_54 < 0x21) goto LAB_000ab59c;" (if "if") (parenthesized_expression "(local_54 < 0x21)" (( "(") (binary_expression "local_54 < 0x21" (identifier "local_54") (< "<") (number_literal "0x21")) () ")")) (goto_statement "goto LAB_000ab59c;" (goto "goto") (statement_identifier "LAB_000ab59c") (; ";"))) (} "}"))) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),&local_4c,0x20);" (assignment_expression "iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),&local_4c,0x20)" (identifier "iVar7") (= "=") (call_expression "(**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),&local_4c,0x20)" (parenthesized_expression "(**(code **)(**(int **)(param_1 + 8) + 8))" (( "(") (pointer_expression "**(code **)(**(int **)(param_1 + 8) + 8)" (* "*") (pointer_expression "*(code **)(**(int **)(param_1 + 8) + 8)" (* "*") (cast_expression "(code **)(**(int **)(param_1 + 8) + 8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(param_1 + 8) + 8)" (( "(") (binary_expression "**(int **)(param_1 + 8) + 8" (pointer_expression "**(int **)(param_1 + 8)" (* "*") (pointer_expression "*(int **)(param_1 + 8)" (* "*") (cast_expression "(int **)(param_1 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) (+ "+") (number_literal "8")) () ")"))))) () ")")) (argument_list "(*(int **)(param_1 + 8),&local_4c,0x20)" (( "(") (pointer_expression "*(int **)(param_1 + 8)" (* "*") (cast_expression "(int **)(param_1 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (, ",") (pointer_expression "&local_4c" (& "&") (identifier "local_4c")) (, ",") (number_literal "0x20") () ")")))) (; ";")) (expression_statement "puVar4 = PTR_LAB_00190b40;" (assignment_expression "puVar4 = PTR_LAB_00190b40" (identifier "puVar4") (= "=") (identifier "PTR_LAB_00190b40")) (; ";")) (if_statement "if (iVar7 != 0) goto LAB_000ab53c;" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000ab53c;" (goto "goto") (statement_identifier "LAB_000ab53c") (; ";"))) (if_statement "if ((((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)) &&\n           (local_44 - 0x200 < 0xfe01)) {\n          *(char *)(param_1 + 0x41) = (char)(local_4c & 1);\n          *(uint *)(param_1 + 0x24) = local_44;\n          *(undefined4 *)(param_1 + 0x70) = local_40;\n          uVar13 = param_1 + 0x54U & 3;\n          puVar1 = (uint *)((param_1 + 0x54U) - uVar13);\n          *puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8;\n          uVar13 = param_1 + 0x57U & 3;\n          puVar1 = (uint *)((param_1 + 0x57U) - uVar13);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8;\n          *(undefined4 *)(param_1 + 0x58) = local_38;\n          (*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17);\n          if ((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)) {\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }\n        }" (if "if") (parenthesized_expression "((((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)) &&\n           (local_44 - 0x200 < 0xfe01))" (( "(") (binary_expression "(((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)) &&\n           (local_44 - 0x200 < 0xfe01)" (parenthesized_expression "(((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0))" (( "(") (binary_expression "((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)" (parenthesized_expression "((local_4c & 0xfffffffe) == 0x377f0682)" (( "(") (binary_expression "(local_4c & 0xfffffffe) == 0x377f0682" (parenthesized_expression "(local_4c & 0xfffffffe)" (( "(") (binary_expression "local_4c & 0xfffffffe" (identifier "local_4c") (& "&") (number_literal "0xfffffffe")) () ")")) (== "==") (number_literal "0x377f0682")) () ")")) (&& "&&") (parenthesized_expression "((local_44 - 1 & local_44) == 0)" (( "(") (binary_expression "(local_44 - 1 & local_44) == 0" (parenthesized_expression "(local_44 - 1 & local_44)" (( "(") (binary_expression "local_44 - 1 & local_44" (binary_expression "local_44 - 1" (identifier "local_44") (- "-") (number_literal "1")) (& "&") (identifier "local_44")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(local_44 - 0x200 < 0xfe01)" (( "(") (binary_expression "local_44 - 0x200 < 0xfe01" (binary_expression "local_44 - 0x200" (identifier "local_44") (- "-") (number_literal "0x200")) (< "<") (number_literal "0xfe01")) () ")"))) () ")")) (compound_statement "{\n          *(char *)(param_1 + 0x41) = (char)(local_4c & 1);\n          *(uint *)(param_1 + 0x24) = local_44;\n          *(undefined4 *)(param_1 + 0x70) = local_40;\n          uVar13 = param_1 + 0x54U & 3;\n          puVar1 = (uint *)((param_1 + 0x54U) - uVar13);\n          *puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8;\n          uVar13 = param_1 + 0x57U & 3;\n          puVar1 = (uint *)((param_1 + 0x57U) - uVar13);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8;\n          *(undefined4 *)(param_1 + 0x58) = local_38;\n          (*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17);\n          if ((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)) {\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }\n        }" ({ "{") (expression_statement "*(char *)(param_1 + 0x41) = (char)(local_4c & 1);" (assignment_expression "*(char *)(param_1 + 0x41) = (char)(local_4c & 1)" (pointer_expression "*(char *)(param_1 + 0x41)" (* "*") (cast_expression "(char *)(param_1 + 0x41)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x41)" (( "(") (binary_expression "param_1 + 0x41" (identifier "param_1") (+ "+") (number_literal "0x41")) () ")")))) (= "=") (cast_expression "(char)(local_4c & 1)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "(local_4c & 1)" (( "(") (binary_expression "local_4c & 1" (identifier "local_4c") (& "&") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x24) = local_44;" (assignment_expression "*(uint *)(param_1 + 0x24) = local_44" (pointer_expression "*(uint *)(param_1 + 0x24)" (* "*") (cast_expression "(uint *)(param_1 + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (identifier "local_44")) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x70) = local_40;" (assignment_expression "*(undefined4 *)(param_1 + 0x70) = local_40" (pointer_expression "*(undefined4 *)(param_1 + 0x70)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x70)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x70)" (( "(") (binary_expression "param_1 + 0x70" (identifier "param_1") (+ "+") (number_literal "0x70")) () ")")))) (= "=") (identifier "local_40")) (; ";")) (expression_statement "uVar13 = param_1 + 0x54U & 3;" (assignment_expression "uVar13 = param_1 + 0x54U & 3" (identifier "uVar13") (= "=") (binary_expression "param_1 + 0x54U & 3" (binary_expression "param_1 + 0x54U" (identifier "param_1") (+ "+") (number_literal "0x54U")) (& "&") (number_literal "3"))) (; ";")) (expression_statement "puVar1 = (uint *)((param_1 + 0x54U) - uVar13);" (assignment_expression "puVar1 = (uint *)((param_1 + 0x54U) - uVar13)" (identifier "puVar1") (= "=") (cast_expression "(uint *)((param_1 + 0x54U) - uVar13)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((param_1 + 0x54U) - uVar13)" (( "(") (binary_expression "(param_1 + 0x54U) - uVar13" (parenthesized_expression "(param_1 + 0x54U)" (( "(") (binary_expression "param_1 + 0x54U" (identifier "param_1") (+ "+") (number_literal "0x54U")) () ")")) (- "-") (identifier "uVar13")) () ")")))) (; ";")) (expression_statement "*puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8;" (assignment_expression "*puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (binary_expression "*puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8" (binary_expression "*puVar1 & -1 << (4 - uVar13) * 8" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (& "&") (binary_expression "-1 << (4 - uVar13) * 8" (number_literal "-1") (<< "<<") (binary_expression "(4 - uVar13) * 8" (parenthesized_expression "(4 - uVar13)" (( "(") (binary_expression "4 - uVar13" (number_literal "4") (- "-") (identifier "uVar13")) () ")")) (* "*") (number_literal "8")))) (| "|") (binary_expression "local_3c >> uVar13 * 8" (identifier "local_3c") (>> ">>") (binary_expression "uVar13 * 8" (identifier "uVar13") (* "*") (number_literal "8"))))) (; ";")) (expression_statement "uVar13 = param_1 + 0x57U & 3;" (assignment_expression "uVar13 = param_1 + 0x57U & 3" (identifier "uVar13") (= "=") (binary_expression "param_1 + 0x57U & 3" (binary_expression "param_1 + 0x57U" (identifier "param_1") (+ "+") (number_literal "0x57U")) (& "&") (number_literal "3"))) (; ";")) (expression_statement "puVar1 = (uint *)((param_1 + 0x57U) - uVar13);" (assignment_expression "puVar1 = (uint *)((param_1 + 0x57U) - uVar13)" (identifier "puVar1") (= "=") (cast_expression "(uint *)((param_1 + 0x57U) - uVar13)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((param_1 + 0x57U) - uVar13)" (( "(") (binary_expression "(param_1 + 0x57U) - uVar13" (parenthesized_expression "(param_1 + 0x57U)" (( "(") (binary_expression "param_1 + 0x57U" (identifier "param_1") (+ "+") (number_literal "0x57U")) () ")")) (- "-") (identifier "uVar13")) () ")")))) (; ";")) (expression_statement "*puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8;" (assignment_expression "*puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (binary_expression "*puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8" (binary_expression "*puVar1 & 0xffffffffU >> (uVar13 + 1) * 8" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (& "&") (binary_expression "0xffffffffU >> (uVar13 + 1) * 8" (number_literal "0xffffffffU") (>> ">>") (binary_expression "(uVar13 + 1) * 8" (parenthesized_expression "(uVar13 + 1)" (( "(") (binary_expression "uVar13 + 1" (identifier "uVar13") (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "8")))) (| "|") (binary_expression "local_3c << (3 - uVar13) * 8" (identifier "local_3c") (<< "<<") (binary_expression "(3 - uVar13) * 8" (parenthesized_expression "(3 - uVar13)" (( "(") (binary_expression "3 - uVar13" (number_literal "3") (- "-") (identifier "uVar13")) () ")")) (* "*") (number_literal "8"))))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x58) = local_38;" (assignment_expression "*(undefined4 *)(param_1 + 0x58) = local_38" (pointer_expression "*(undefined4 *)(param_1 + 0x58)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x58)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x58)" (( "(") (binary_expression "param_1 + 0x58" (identifier "param_1") (+ "+") (number_literal "0x58")) () ")")))) (= "=") (identifier "local_38")) (; ";")) (expression_statement "(*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17);" (call_expression "(*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17)" (parenthesized_expression "(*(code *)(puVar4 + 0xf88))" (( "(") (pointer_expression "*(code *)(puVar4 + 0xf88)" (* "*") (cast_expression "(code *)(puVar4 + 0xf88)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar4 + 0xf88)" (( "(") (binary_expression "puVar4 + 0xf88" (identifier "puVar4") (+ "+") (number_literal "0xf88")) () ")")))) () ")")) (argument_list "(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17)" (( "(") (binary_expression "local_4c & 1" (identifier "local_4c") (& "&") (number_literal "1")) (, ",") (pointer_expression "&local_4c" (& "&") (identifier "local_4c")) (, ",") (number_literal "0x18") (, ",") (number_literal "0") (, ",") (binary_expression "param_1 + 0x4c" (identifier "param_1") (+ "+") (number_literal "0x4c")) (, ",") (identifier "uVar17") () ")"))) (; ";")) (if_statement "if ((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)) {\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }" (if "if") (parenthesized_expression "((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30))" (( "(") (binary_expression "(*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)" (parenthesized_expression "(*(int *)(param_1 + 0x4c) == local_34)" (( "(") (binary_expression "*(int *)(param_1 + 0x4c) == local_34" (pointer_expression "*(int *)(param_1 + 0x4c)" (* "*") (cast_expression "(int *)(param_1 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x4c)" (( "(") (binary_expression "param_1 + 0x4c" (identifier "param_1") (+ "+") (number_literal "0x4c")) () ")")))) (== "==") (identifier "local_34")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(param_1 + 0x50) == local_30)" (( "(") (binary_expression "*(int *)(param_1 + 0x50) == local_30" (pointer_expression "*(int *)(param_1 + 0x50)" (* "*") (cast_expression "(int *)(param_1 + 0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")")))) (== "==") (identifier "local_30")) () ")"))) () ")")) (compound_statement "{\n            unaff_s6 = local_44;\n            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;\n            if (local_48 == 0x2de218) goto LAB_000ab64c;\n            iVar7 = 0xe;\n            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);\n            goto LAB_000ab53c;\n          }" ({ "{") (expression_statement "unaff_s6 = local_44;" (assignment_expression "unaff_s6 = local_44" (identifier "unaff_s6") (= "=") (identifier "local_44")) (; ";")) (expression_statement "pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;" (assignment_expression "pcVar14 = (code *)PTR_sqlite3_initialize_00190b88" (identifier "pcVar14") (= "=") (cast_expression "(code *)PTR_sqlite3_initialize_00190b88" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_initialize_00190b88"))) (; ";")) (if_statement "if (local_48 == 0x2de218) goto LAB_000ab64c;" (if "if") (parenthesized_expression "(local_48 == 0x2de218)" (( "(") (binary_expression "local_48 == 0x2de218" (identifier "local_48") (== "==") (number_literal "0x2de218")) () ")")) (goto_statement "goto LAB_000ab64c;" (goto "goto") (statement_identifier "LAB_000ab64c") (; ";"))) (expression_statement "iVar7 = 0xe;" (assignment_expression "iVar7 = 0xe" (identifier "iVar7") (= "=") (number_literal "0xe")) (; ";")) (expression_statement "sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c);" (call_expression "sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c)" (identifier "sqlite3_log") (argument_list "(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,\n                        PTR_LAB_00190958 + 0x625c)" (( "(") (number_literal "0xe") (, ",") (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378" (identifier "PTR_s_o_page_from_root____pageno_INTEG_0019095c") (+ "+") (number_literal "-0x6378")) (, ",") (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8" (identifier "PTR_s_o_page_from_root____pageno_INTEG_0019095c") (+ "+") (number_literal "-0x5db8")) (, ",") (number_literal "0xe816") (, ",") (binary_expression "PTR_LAB_00190958 + 0x625c" (identifier "PTR_LAB_00190958") (+ "+") (number_literal "0x625c")) () ")"))) (; ";")) (goto_statement "goto LAB_000ab53c;" (goto "goto") (statement_identifier "LAB_000ab53c") (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_000ab598:\n        unaff_s6 = 0;" (statement_identifier "LAB_000ab598") (: ":") (expression_statement "unaff_s6 = 0;" (assignment_expression "unaff_s6 = 0" (identifier "unaff_s6") (= "=") (number_literal "0")) (; ";"))) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_000ab59c;" (goto "goto") (statement_identifier "LAB_000ab59c") (; ";")) (} "}"))) (expression_statement "*(undefined1 *)(param_1 + 0x2c) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x2c) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x2c)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x2c)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2c)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (*(char *)(param_1 + 0x2b) == '\0') {\n        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n        iVar6 = *(int *)(param_1 + 0x34);\n      }\n      else {\n        iVar6 = *(int *)(param_1 + 0x34);\n      }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x2b) == '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x2b) == '\0'" (pointer_expression "*(char *)(param_1 + 0x2b)" (* "*") (cast_expression "(char *)(param_1 + 0x2b)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2b)" (( "(") (binary_expression "param_1 + 0x2b" (identifier "param_1") (+ "+") (number_literal "0x2b")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n        iVar6 = *(int *)(param_1 + 0x34);\n      }" ({ "{") (expression_statement "(*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6640))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x6640)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x6640)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + 0x6640)" (( "(") (binary_expression "PTR_LAB_00190ba8 + 0x6640" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "0x6640")) () ")")))) () ")")) (argument_list "(*(undefined4 *)(param_1 + 4),0,1)" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 4)" (* "*") (cast_expression "(undefined4 *)(param_1 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (, ",") (number_literal "0") (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "iVar6 = *(int *)(param_1 + 0x34);" (assignment_expression "iVar6 = *(int *)(param_1 + 0x34)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(param_1 + 0x34)" (* "*") (cast_expression "(int *)(param_1 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n        iVar6 = *(int *)(param_1 + 0x34);\n      }" (else "else") (compound_statement "{\n        iVar6 = *(int *)(param_1 + 0x34);\n      }" ({ "{") (expression_statement "iVar6 = *(int *)(param_1 + 0x34);" (assignment_expression "iVar6 = *(int *)(param_1 + 0x34)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(param_1 + 0x34)" (* "*") (cast_expression "(int *)(param_1 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (} "}")))) (if_statement "if (iVar6 == 0x2de218) {\n        iVar6 = 0;\n        if (*(char *)(param_1 + 0x32) != '\0') {\n          *(undefined1 *)(param_1 + 0x2b) = 0;\n        }\n        goto LAB_000ab06c;\n      }" (if "if") (parenthesized_expression "(iVar6 == 0x2de218)" (( "(") (binary_expression "iVar6 == 0x2de218" (identifier "iVar6") (== "==") (number_literal "0x2de218")) () ")")) (compound_statement "{\n        iVar6 = 0;\n        if (*(char *)(param_1 + 0x32) != '\0') {\n          *(undefined1 *)(param_1 + 0x2b) = 0;\n        }\n        goto LAB_000ab06c;\n      }" ({ "{") (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (if_statement "if (*(char *)(param_1 + 0x32) != '\0') {\n          *(undefined1 *)(param_1 + 0x2b) = 0;\n        }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x32) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x32) != '\0'" (pointer_expression "*(char *)(param_1 + 0x32)" (* "*") (cast_expression "(char *)(param_1 + 0x32)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x32)" (( "(") (binary_expression "param_1 + 0x32" (identifier "param_1") (+ "+") (number_literal "0x32")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          *(undefined1 *)(param_1 + 0x2b) = 0;\n        }" ({ "{") (expression_statement "*(undefined1 *)(param_1 + 0x2b) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x2b) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x2b)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x2b)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2b)" (( "(") (binary_expression "param_1 + 0x2b" (identifier "param_1") (+ "+") (number_literal "0x2b")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}"))) (goto_statement "goto LAB_000ab06c;" (goto "goto") (statement_identifier "LAB_000ab06c") (; ";")) (} "}"))) (goto_statement "goto LAB_000ab244;" (goto "goto") (statement_identifier "LAB_000ab244") (; ";")) (} "}"))) (if_statement "if (*(char *)(param_1 + 0x2b) != '\0') {\nLAB_000ab318:\n      iVar6 = 0x108;\n      goto LAB_000ab06c;\n    }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x2b) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x2b) != '\0'" (pointer_expression "*(char *)(param_1 + 0x2b)" (* "*") (cast_expression "(char *)(param_1 + 0x2b)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2b)" (( "(") (binary_expression "param_1 + 0x2b" (identifier "param_1") (+ "+") (number_literal "0x2b")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_000ab318:\n      iVar6 = 0x108;\n      goto LAB_000ab06c;\n    }" ({ "{") (labeled_statement "LAB_000ab318:\n      iVar6 = 0x108;" (statement_identifier "LAB_000ab318") (: ":") (expression_statement "iVar6 = 0x108;" (assignment_expression "iVar6 = 0x108" (identifier "iVar6") (= "=") (number_literal "0x108")) (; ";"))) (goto_statement "goto LAB_000ab06c;" (goto "goto") (statement_identifier "LAB_000ab06c") (; ";")) (} "}"))) (expression_statement "iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6538))(*(undefined4 *)(param_1 + 4),0);" (assignment_expression "iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6538))(*(undefined4 *)(param_1 + 4),0)" (identifier "iVar6") (= "=") (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6538))(*(undefined4 *)(param_1 + 4),0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6538))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x6538)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x6538)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + 0x6538)" (( "(") (binary_expression "PTR_LAB_00190ba8 + 0x6538" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "0x6538")) () ")")))) () ")")) (argument_list "(*(undefined4 *)(param_1 + 4),0)" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 4)" (* "*") (cast_expression "(undefined4 *)(param_1 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar6 != 0) goto LAB_000ab2a0;" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000ab2a0;" (goto "goto") (statement_identifier "LAB_000ab2a0") (; ";"))) (if_statement "if (*(char *)(param_1 + 0x2b) == '\0') {\n      (*(code *)(PTR_LAB_00190ba8 + 0x654c))(*(undefined4 *)(param_1 + 4),0);\n    }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x2b) == '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x2b) == '\0'" (pointer_expression "*(char *)(param_1 + 0x2b)" (* "*") (cast_expression "(char *)(param_1 + 0x2b)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2b)" (( "(") (binary_expression "param_1 + 0x2b" (identifier "param_1") (+ "+") (number_literal "0x2b")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      (*(code *)(PTR_LAB_00190ba8 + 0x654c))(*(undefined4 *)(param_1 + 4),0);\n    }" ({ "{") (expression_statement "(*(code *)(PTR_LAB_00190ba8 + 0x654c))(*(undefined4 *)(param_1 + 4),0);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x654c))(*(undefined4 *)(param_1 + 4),0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x654c))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x654c)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x654c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + 0x654c)" (( "(") (binary_expression "PTR_LAB_00190ba8 + 0x654c" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "0x654c")) () ")")))) () ")")) (argument_list "(*(undefined4 *)(param_1 + 4),0)" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 4)" (* "*") (cast_expression "(undefined4 *)(param_1 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab318;" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x32) == '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x32) == '\0'" (pointer_expression "*(char *)(param_1 + 0x32)" (* "*") (cast_expression "(char *)(param_1 + 0x32)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x32)" (( "(") (binary_expression "param_1 + 0x32" (identifier "param_1") (+ "+") (number_literal "0x32")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_000ab318;" (goto "goto") (statement_identifier "LAB_000ab318") (; ";"))) (expression_statement "iVar6 = 0x108;" (assignment_expression "iVar6 = 0x108" (identifier "iVar6") (= "=") (number_literal "0x108")) (; ";")) (} "}")) (else_clause "else {\n    if (*(int *)(param_1 + 0x34) == 0x2de218) goto LAB_000ab0f8;\nLAB_000ab244:\n    iVar6 = 0xe;\n    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,\n                PTR_LAB_00190958 + 0x625c);\n    if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab06c;\n  }" (else "else") (compound_statement "{\n    if (*(int *)(param_1 + 0x34) == 0x2de218) goto LAB_000ab0f8;\nLAB_000ab244:\n    iVar6 = 0xe;\n    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,\n                PTR_LAB_00190958 + 0x625c);\n    if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab06c;\n  }" ({ "{") (if_statement "if (*(int *)(param_1 + 0x34) == 0x2de218) goto LAB_000ab0f8;" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x34) == 0x2de218)" (( "(") (binary_expression "*(int *)(param_1 + 0x34) == 0x2de218" (pointer_expression "*(int *)(param_1 + 0x34)" (* "*") (cast_expression "(int *)(param_1 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")")))) (== "==") (number_literal "0x2de218")) () ")")) (goto_statement "goto LAB_000ab0f8;" (goto "goto") (statement_identifier "LAB_000ab0f8") (; ";"))) (labeled_statement "LAB_000ab244:\n    iVar6 = 0xe;" (statement_identifier "LAB_000ab244") (: ":") (expression_statement "iVar6 = 0xe;" (assignment_expression "iVar6 = 0xe" (identifier "iVar6") (= "=") (number_literal "0xe")) (; ";"))) (expression_statement "sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,\n                PTR_LAB_00190958 + 0x625c);" (call_expression "sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,\n                PTR_LAB_00190958 + 0x625c)" (identifier "sqlite3_log") (argument_list "(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,\n                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,\n                PTR_LAB_00190958 + 0x625c)" (( "(") (number_literal "0xe") (, ",") (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378" (identifier "PTR_s_o_page_from_root____pageno_INTEG_0019095c") (+ "+") (number_literal "-0x6378")) (, ",") (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8" (identifier "PTR_s_o_page_from_root____pageno_INTEG_0019095c") (+ "+") (number_literal "-0x5db8")) (, ",") (number_literal "0xebe8") (, ",") (binary_expression "PTR_LAB_00190958 + 0x625c" (identifier "PTR_LAB_00190958") (+ "+") (number_literal "0x625c")) () ")"))) (; ";")) (if_statement "if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab06c;" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x32) == '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x32) == '\0'" (pointer_expression "*(char *)(param_1 + 0x32)" (* "*") (cast_expression "(char *)(param_1 + 0x32)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x32)" (( "(") (binary_expression "param_1 + 0x32" (identifier "param_1") (+ "+") (number_literal "0x32")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_000ab06c;" (goto "goto") (statement_identifier "LAB_000ab06c") (; ";"))) (} "}")))) (expression_statement "(*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6650))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x6650)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x6650)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + 0x6650)" (( "(") (binary_expression "PTR_LAB_00190ba8 + 0x6650" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "0x6650")) () ")")))) () ")")) (argument_list "(param_1,0)" (( "(") (identifier "param_1") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "*(undefined1 *)(param_1 + 0x32) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x32) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x32)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x32)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x32)" (( "(") (binary_expression "param_1 + 0x32" (identifier "param_1") (+ "+") (number_literal "0x32")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(param_1 + 0x2b) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x2b) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x2b)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x2b)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2b)" (( "(") (binary_expression "param_1 + 0x2b" (identifier "param_1") (+ "+") (number_literal "0x2b")) () ")")))) (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_000ab06c:\n  do {\n    if (local_2c == *(int *)puVar5) {\n      return iVar6;\n    }\n    pcVar14 = (code *)PTR___stack_chk_fail_00190df8;\n    (*(code *)PTR___stack_chk_fail_00190df8)();\nLAB_000ab64c:\n    iVar7 = (*pcVar14)();\n    if (iVar7 == 0) {\n      uVar13 = unaff_s6 + 0x18;\n      iVar8 = (*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar13 >> 0x1f);\n      if (iVar8 == 0) goto LAB_000ab7ec;\n      uVar2 = (ushort)unaff_s6;\n      uVar3 = unaff_s6 >> 0x10;\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n      unaff_s6 = 0;\n      uVar17 = 0;\n      pcVar10 = (code *)(PTR_LAB_00190c2c + -0x5200);\n      local_90 = 0;\n      uVar9 = 0x20;\n      iVar7 = 0;\n      while( true ) {\n        uVar11 = uVar13 + uVar9;\n        iVar12 = (uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7;\n        if ((local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11)))) break;\n        local_90 = local_90 + 1;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9);\n        if (iVar7 != 0) {\nLAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\n          goto LAB_000ab53c;\n        }\n        iVar7 = (*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8);\n        if (iVar7 == 0) break;\n        iVar7 = (*pcVar10)(param_1,local_90,local_60);\n        if (iVar7 != 0) goto LAB_000ab620;\n        uVar9 = uVar11;\n        iVar7 = iVar12;\n        if (local_5c != 0) {\n          uVar17 = *(undefined4 *)(param_1 + 0x4c);\n          unaff_s6 = *(uint *)(param_1 + 0x50);\n          *(int *)(param_1 + 0x48) = local_5c;\n          *(int *)(param_1 + 0x44) = local_90;\n          *(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;\n        }\n      }\n      (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\nLAB_000ab59c:\n      puVar4 = PTR_LAB_00190ba8;\n      *(undefined4 *)(param_1 + 0x4c) = uVar17;\n      *(uint *)(param_1 + 0x50) = unaff_s6;\n      (*(code *)(puVar4 + 0x6338))(param_1);\n      iVar7 = **(int **)(param_1 + 0x20);\n      *(undefined4 *)(iVar7 + 0x60) = 0;\n      *(undefined4 *)(iVar7 + 0x80) = *(undefined4 *)(param_1 + 0x44);\n      *(undefined4 *)(iVar7 + 100) = 0;\n      *(undefined4 *)(iVar7 + 0x68) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x6c) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x70) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x74) = 0xffffffff;\n      if (*(int *)(param_1 + 0x44) != 0) {\n        *(int *)(iVar7 + 0x68) = *(int *)(param_1 + 0x44);\n      }\n      iVar7 = iVar6;\n      if (*(int *)(param_1 + 0x48) != 0) {\n        sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c));\n      }\n    }\n    else {\nLAB_000ab7ec:\n      iVar7 = 7;\n    }\nLAB_000ab53c:\n    pcVar14 = pcVar15;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n      if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),4,4);\n      *param_2 = 1;\n    }\n    else {\nLAB_000ab3b0:\n      *param_2 = 1;\n    }\nLAB_000ab170:\n    *(undefined1 *)(param_1 + 0x2c) = 0;\n    iVar6 = iVar7;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n    }\nLAB_000ab0f8:\n    pcVar15 = pcVar14;\n  } while (*(char *)(param_1 + 0x32) == '\0');" (statement_identifier "LAB_000ab06c") (: ":") (do_statement "do {\n    if (local_2c == *(int *)puVar5) {\n      return iVar6;\n    }\n    pcVar14 = (code *)PTR___stack_chk_fail_00190df8;\n    (*(code *)PTR___stack_chk_fail_00190df8)();\nLAB_000ab64c:\n    iVar7 = (*pcVar14)();\n    if (iVar7 == 0) {\n      uVar13 = unaff_s6 + 0x18;\n      iVar8 = (*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar13 >> 0x1f);\n      if (iVar8 == 0) goto LAB_000ab7ec;\n      uVar2 = (ushort)unaff_s6;\n      uVar3 = unaff_s6 >> 0x10;\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n      unaff_s6 = 0;\n      uVar17 = 0;\n      pcVar10 = (code *)(PTR_LAB_00190c2c + -0x5200);\n      local_90 = 0;\n      uVar9 = 0x20;\n      iVar7 = 0;\n      while( true ) {\n        uVar11 = uVar13 + uVar9;\n        iVar12 = (uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7;\n        if ((local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11)))) break;\n        local_90 = local_90 + 1;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9);\n        if (iVar7 != 0) {\nLAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\n          goto LAB_000ab53c;\n        }\n        iVar7 = (*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8);\n        if (iVar7 == 0) break;\n        iVar7 = (*pcVar10)(param_1,local_90,local_60);\n        if (iVar7 != 0) goto LAB_000ab620;\n        uVar9 = uVar11;\n        iVar7 = iVar12;\n        if (local_5c != 0) {\n          uVar17 = *(undefined4 *)(param_1 + 0x4c);\n          unaff_s6 = *(uint *)(param_1 + 0x50);\n          *(int *)(param_1 + 0x48) = local_5c;\n          *(int *)(param_1 + 0x44) = local_90;\n          *(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;\n        }\n      }\n      (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\nLAB_000ab59c:\n      puVar4 = PTR_LAB_00190ba8;\n      *(undefined4 *)(param_1 + 0x4c) = uVar17;\n      *(uint *)(param_1 + 0x50) = unaff_s6;\n      (*(code *)(puVar4 + 0x6338))(param_1);\n      iVar7 = **(int **)(param_1 + 0x20);\n      *(undefined4 *)(iVar7 + 0x60) = 0;\n      *(undefined4 *)(iVar7 + 0x80) = *(undefined4 *)(param_1 + 0x44);\n      *(undefined4 *)(iVar7 + 100) = 0;\n      *(undefined4 *)(iVar7 + 0x68) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x6c) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x70) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x74) = 0xffffffff;\n      if (*(int *)(param_1 + 0x44) != 0) {\n        *(int *)(iVar7 + 0x68) = *(int *)(param_1 + 0x44);\n      }\n      iVar7 = iVar6;\n      if (*(int *)(param_1 + 0x48) != 0) {\n        sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c));\n      }\n    }\n    else {\nLAB_000ab7ec:\n      iVar7 = 7;\n    }\nLAB_000ab53c:\n    pcVar14 = pcVar15;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n      if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),4,4);\n      *param_2 = 1;\n    }\n    else {\nLAB_000ab3b0:\n      *param_2 = 1;\n    }\nLAB_000ab170:\n    *(undefined1 *)(param_1 + 0x2c) = 0;\n    iVar6 = iVar7;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n    }\nLAB_000ab0f8:\n    pcVar15 = pcVar14;\n  } while (*(char *)(param_1 + 0x32) == '\0');" (do "do") (compound_statement "{\n    if (local_2c == *(int *)puVar5) {\n      return iVar6;\n    }\n    pcVar14 = (code *)PTR___stack_chk_fail_00190df8;\n    (*(code *)PTR___stack_chk_fail_00190df8)();\nLAB_000ab64c:\n    iVar7 = (*pcVar14)();\n    if (iVar7 == 0) {\n      uVar13 = unaff_s6 + 0x18;\n      iVar8 = (*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar13 >> 0x1f);\n      if (iVar8 == 0) goto LAB_000ab7ec;\n      uVar2 = (ushort)unaff_s6;\n      uVar3 = unaff_s6 >> 0x10;\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n      unaff_s6 = 0;\n      uVar17 = 0;\n      pcVar10 = (code *)(PTR_LAB_00190c2c + -0x5200);\n      local_90 = 0;\n      uVar9 = 0x20;\n      iVar7 = 0;\n      while( true ) {\n        uVar11 = uVar13 + uVar9;\n        iVar12 = (uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7;\n        if ((local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11)))) break;\n        local_90 = local_90 + 1;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9);\n        if (iVar7 != 0) {\nLAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\n          goto LAB_000ab53c;\n        }\n        iVar7 = (*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8);\n        if (iVar7 == 0) break;\n        iVar7 = (*pcVar10)(param_1,local_90,local_60);\n        if (iVar7 != 0) goto LAB_000ab620;\n        uVar9 = uVar11;\n        iVar7 = iVar12;\n        if (local_5c != 0) {\n          uVar17 = *(undefined4 *)(param_1 + 0x4c);\n          unaff_s6 = *(uint *)(param_1 + 0x50);\n          *(int *)(param_1 + 0x48) = local_5c;\n          *(int *)(param_1 + 0x44) = local_90;\n          *(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;\n        }\n      }\n      (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\nLAB_000ab59c:\n      puVar4 = PTR_LAB_00190ba8;\n      *(undefined4 *)(param_1 + 0x4c) = uVar17;\n      *(uint *)(param_1 + 0x50) = unaff_s6;\n      (*(code *)(puVar4 + 0x6338))(param_1);\n      iVar7 = **(int **)(param_1 + 0x20);\n      *(undefined4 *)(iVar7 + 0x60) = 0;\n      *(undefined4 *)(iVar7 + 0x80) = *(undefined4 *)(param_1 + 0x44);\n      *(undefined4 *)(iVar7 + 100) = 0;\n      *(undefined4 *)(iVar7 + 0x68) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x6c) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x70) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x74) = 0xffffffff;\n      if (*(int *)(param_1 + 0x44) != 0) {\n        *(int *)(iVar7 + 0x68) = *(int *)(param_1 + 0x44);\n      }\n      iVar7 = iVar6;\n      if (*(int *)(param_1 + 0x48) != 0) {\n        sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c));\n      }\n    }\n    else {\nLAB_000ab7ec:\n      iVar7 = 7;\n    }\nLAB_000ab53c:\n    pcVar14 = pcVar15;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n      if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),4,4);\n      *param_2 = 1;\n    }\n    else {\nLAB_000ab3b0:\n      *param_2 = 1;\n    }\nLAB_000ab170:\n    *(undefined1 *)(param_1 + 0x2c) = 0;\n    iVar6 = iVar7;\n    if (*(char *)(param_1 + 0x2b) == '\0') {\n      (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n    }\nLAB_000ab0f8:\n    pcVar15 = pcVar14;\n  }" ({ "{") (if_statement "if (local_2c == *(int *)puVar5) {\n      return iVar6;\n    }" (if "if") (parenthesized_expression "(local_2c == *(int *)puVar5)" (( "(") (binary_expression "local_2c == *(int *)puVar5" (identifier "local_2c") (== "==") (pointer_expression "*(int *)puVar5" (* "*") (cast_expression "(int *)puVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar5")))) () ")")) (compound_statement "{\n      return iVar6;\n    }" ({ "{") (return_statement "return iVar6;" (return "return") (identifier "iVar6") (; ";")) (} "}"))) (expression_statement "pcVar14 = (code *)PTR___stack_chk_fail_00190df8;" (assignment_expression "pcVar14 = (code *)PTR___stack_chk_fail_00190df8" (identifier "pcVar14") (= "=") (cast_expression "(code *)PTR___stack_chk_fail_00190df8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_00190df8"))) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_00190df8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_00190df8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_00190df8"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_000ab64c:\n    iVar7 = (*pcVar14)();" (statement_identifier "LAB_000ab64c") (: ":") (expression_statement "iVar7 = (*pcVar14)();" (assignment_expression "iVar7 = (*pcVar14)()" (identifier "iVar7") (= "=") (call_expression "(*pcVar14)()" (parenthesized_expression "(*pcVar14)" (( "(") (pointer_expression "*pcVar14" (* "*") (identifier "pcVar14")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";"))) (if_statement "if (iVar7 == 0) {\n      uVar13 = unaff_s6 + 0x18;\n      iVar8 = (*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar13 >> 0x1f);\n      if (iVar8 == 0) goto LAB_000ab7ec;\n      uVar2 = (ushort)unaff_s6;\n      uVar3 = unaff_s6 >> 0x10;\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n      unaff_s6 = 0;\n      uVar17 = 0;\n      pcVar10 = (code *)(PTR_LAB_00190c2c + -0x5200);\n      local_90 = 0;\n      uVar9 = 0x20;\n      iVar7 = 0;\n      while( true ) {\n        uVar11 = uVar13 + uVar9;\n        iVar12 = (uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7;\n        if ((local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11)))) break;\n        local_90 = local_90 + 1;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9);\n        if (iVar7 != 0) {\nLAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\n          goto LAB_000ab53c;\n        }\n        iVar7 = (*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8);\n        if (iVar7 == 0) break;\n        iVar7 = (*pcVar10)(param_1,local_90,local_60);\n        if (iVar7 != 0) goto LAB_000ab620;\n        uVar9 = uVar11;\n        iVar7 = iVar12;\n        if (local_5c != 0) {\n          uVar17 = *(undefined4 *)(param_1 + 0x4c);\n          unaff_s6 = *(uint *)(param_1 + 0x50);\n          *(int *)(param_1 + 0x48) = local_5c;\n          *(int *)(param_1 + 0x44) = local_90;\n          *(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;\n        }\n      }\n      (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\nLAB_000ab59c:\n      puVar4 = PTR_LAB_00190ba8;\n      *(undefined4 *)(param_1 + 0x4c) = uVar17;\n      *(uint *)(param_1 + 0x50) = unaff_s6;\n      (*(code *)(puVar4 + 0x6338))(param_1);\n      iVar7 = **(int **)(param_1 + 0x20);\n      *(undefined4 *)(iVar7 + 0x60) = 0;\n      *(undefined4 *)(iVar7 + 0x80) = *(undefined4 *)(param_1 + 0x44);\n      *(undefined4 *)(iVar7 + 100) = 0;\n      *(undefined4 *)(iVar7 + 0x68) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x6c) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x70) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x74) = 0xffffffff;\n      if (*(int *)(param_1 + 0x44) != 0) {\n        *(int *)(iVar7 + 0x68) = *(int *)(param_1 + 0x44);\n      }\n      iVar7 = iVar6;\n      if (*(int *)(param_1 + 0x48) != 0) {\n        sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c));\n      }\n    }\n    else {\nLAB_000ab7ec:\n      iVar7 = 7;\n    }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar13 = unaff_s6 + 0x18;\n      iVar8 = (*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar13 >> 0x1f);\n      if (iVar8 == 0) goto LAB_000ab7ec;\n      uVar2 = (ushort)unaff_s6;\n      uVar3 = unaff_s6 >> 0x10;\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);\n      unaff_s6 = 0;\n      uVar17 = 0;\n      pcVar10 = (code *)(PTR_LAB_00190c2c + -0x5200);\n      local_90 = 0;\n      uVar9 = 0x20;\n      iVar7 = 0;\n      while( true ) {\n        uVar11 = uVar13 + uVar9;\n        iVar12 = (uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7;\n        if ((local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11)))) break;\n        local_90 = local_90 + 1;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9);\n        if (iVar7 != 0) {\nLAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\n          goto LAB_000ab53c;\n        }\n        iVar7 = (*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8);\n        if (iVar7 == 0) break;\n        iVar7 = (*pcVar10)(param_1,local_90,local_60);\n        if (iVar7 != 0) goto LAB_000ab620;\n        uVar9 = uVar11;\n        iVar7 = iVar12;\n        if (local_5c != 0) {\n          uVar17 = *(undefined4 *)(param_1 + 0x4c);\n          unaff_s6 = *(uint *)(param_1 + 0x50);\n          *(int *)(param_1 + 0x48) = local_5c;\n          *(int *)(param_1 + 0x44) = local_90;\n          *(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;\n        }\n      }\n      (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\nLAB_000ab59c:\n      puVar4 = PTR_LAB_00190ba8;\n      *(undefined4 *)(param_1 + 0x4c) = uVar17;\n      *(uint *)(param_1 + 0x50) = unaff_s6;\n      (*(code *)(puVar4 + 0x6338))(param_1);\n      iVar7 = **(int **)(param_1 + 0x20);\n      *(undefined4 *)(iVar7 + 0x60) = 0;\n      *(undefined4 *)(iVar7 + 0x80) = *(undefined4 *)(param_1 + 0x44);\n      *(undefined4 *)(iVar7 + 100) = 0;\n      *(undefined4 *)(iVar7 + 0x68) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x6c) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x70) = 0xffffffff;\n      *(undefined4 *)(iVar7 + 0x74) = 0xffffffff;\n      if (*(int *)(param_1 + 0x44) != 0) {\n        *(int *)(iVar7 + 0x68) = *(int *)(param_1 + 0x44);\n      }\n      iVar7 = iVar6;\n      if (*(int *)(param_1 + 0x48) != 0) {\n        sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c));\n      }\n    }" ({ "{") (expression_statement "uVar13 = unaff_s6 + 0x18;" (assignment_expression "uVar13 = unaff_s6 + 0x18" (identifier "uVar13") (= "=") (binary_expression "unaff_s6 + 0x18" (identifier "unaff_s6") (+ "+") (number_literal "0x18"))) (; ";")) (expression_statement "iVar8 = (*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar13 >> 0x1f);" (assignment_expression "iVar8 = (*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar13 >> 0x1f)" (identifier "iVar8") (= "=") (call_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar13 >> 0x1f)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2b48))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba8 + -0x2b48)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2b48)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2b48)" (( "(") (binary_expression "PTR_LAB_00190ba8 + -0x2b48" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "-0x2b48")) () ")")))) () ")")) (argument_list "((int)uVar13 >> 0x1f)" (( "(") (binary_expression "(int)uVar13 >> 0x1f" (cast_expression "(int)uVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar13")) (>> ">>") (number_literal "0x1f")) () ")")))) (; ";")) (if_statement "if (iVar8 == 0) goto LAB_000ab7ec;" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000ab7ec;" (goto "goto") (statement_identifier "LAB_000ab7ec") (; ";"))) (expression_statement "uVar2 = (ushort)unaff_s6;" (assignment_expression "uVar2 = (ushort)unaff_s6" (identifier "uVar2") (= "=") (cast_expression "(ushort)unaff_s6" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (identifier "unaff_s6"))) (; ";")) (expression_statement "uVar3 = unaff_s6 >> 0x10;" (assignment_expression "uVar3 = unaff_s6 >> 0x10" (identifier "uVar3") (= "=") (binary_expression "unaff_s6 >> 0x10" (identifier "unaff_s6") (>> ">>") (number_literal "0x10"))) (; ";")) (expression_statement "pcVar14 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);" (assignment_expression "pcVar14 = (code *)(PTR_LAB_00190ba8 + -0x4fdc)" (identifier "pcVar14") (= "=") (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x4fdc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + -0x4fdc)" (( "(") (binary_expression "PTR_LAB_00190ba8 + -0x4fdc" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "-0x4fdc")) () ")")))) (; ";")) (expression_statement "unaff_s6 = 0;" (assignment_expression "unaff_s6 = 0" (identifier "unaff_s6") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar10 = (code *)(PTR_LAB_00190c2c + -0x5200);" (assignment_expression "pcVar10 = (code *)(PTR_LAB_00190c2c + -0x5200)" (identifier "pcVar10") (= "=") (cast_expression "(code *)(PTR_LAB_00190c2c + -0x5200)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190c2c + -0x5200)" (( "(") (binary_expression "PTR_LAB_00190c2c + -0x5200" (identifier "PTR_LAB_00190c2c") (+ "+") (number_literal "-0x5200")) () ")")))) (; ";")) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" (identifier "local_90") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar9 = 0x20;" (assignment_expression "uVar9 = 0x20" (identifier "uVar9") (= "=") (number_literal "0x20")) (; ";")) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (while_statement "while( true ) {\n        uVar11 = uVar13 + uVar9;\n        iVar12 = (uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7;\n        if ((local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11)))) break;\n        local_90 = local_90 + 1;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9);\n        if (iVar7 != 0) {\nLAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\n          goto LAB_000ab53c;\n        }\n        iVar7 = (*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8);\n        if (iVar7 == 0) break;\n        iVar7 = (*pcVar10)(param_1,local_90,local_60);\n        if (iVar7 != 0) goto LAB_000ab620;\n        uVar9 = uVar11;\n        iVar7 = iVar12;\n        if (local_5c != 0) {\n          uVar17 = *(undefined4 *)(param_1 + 0x4c);\n          unaff_s6 = *(uint *)(param_1 + 0x50);\n          *(int *)(param_1 + 0x48) = local_5c;\n          *(int *)(param_1 + 0x44) = local_90;\n          *(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;\n        }\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        uVar11 = uVar13 + uVar9;\n        iVar12 = (uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7;\n        if ((local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11)))) break;\n        local_90 = local_90 + 1;\n        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9);\n        if (iVar7 != 0) {\nLAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\n          goto LAB_000ab53c;\n        }\n        iVar7 = (*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8);\n        if (iVar7 == 0) break;\n        iVar7 = (*pcVar10)(param_1,local_90,local_60);\n        if (iVar7 != 0) goto LAB_000ab620;\n        uVar9 = uVar11;\n        iVar7 = iVar12;\n        if (local_5c != 0) {\n          uVar17 = *(undefined4 *)(param_1 + 0x4c);\n          unaff_s6 = *(uint *)(param_1 + 0x50);\n          *(int *)(param_1 + 0x48) = local_5c;\n          *(int *)(param_1 + 0x44) = local_90;\n          *(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;\n        }\n      }" ({ "{") (expression_statement "uVar11 = uVar13 + uVar9;" (assignment_expression "uVar11 = uVar13 + uVar9" (identifier "uVar11") (= "=") (binary_expression "uVar13 + uVar9" (identifier "uVar13") (+ "+") (identifier "uVar9"))) (; ";")) (expression_statement "iVar12 = (uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7;" (assignment_expression "iVar12 = (uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7" (identifier "iVar12") (= "=") (binary_expression "(uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7" (binary_expression "(uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f)" (call_expression "(uint)(uVar11 < uVar13)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar11 < uVar13)" (( "(") (binary_expression "uVar11 < uVar13" (identifier "uVar11") (< "<") (identifier "uVar13")) () ")"))) (+ "+") (parenthesized_expression "((int)uVar13 >> 0x1f)" (( "(") (binary_expression "(int)uVar13 >> 0x1f" (cast_expression "(int)uVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar13")) (>> ">>") (number_literal "0x1f")) () ")"))) (+ "+") (identifier "iVar7"))) (; ";")) (if_statement "if ((local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11)))) break;" (if "if") (parenthesized_expression "((local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11))))" (( "(") (binary_expression "(local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11)))" (parenthesized_expression "(local_58 < iVar12)" (( "(") (binary_expression "local_58 < iVar12" (identifier "local_58") (< "<") (identifier "iVar12")) () ")")) (|| "||") (parenthesized_expression "((local_58 == iVar12 && (local_54 < uVar11)))" (( "(") (parenthesized_expression "(local_58 == iVar12 && (local_54 < uVar11))" (( "(") (binary_expression "local_58 == iVar12 && (local_54 < uVar11)" (binary_expression "local_58 == iVar12" (identifier "local_58") (== "==") (identifier "iVar12")) (&& "&&") (parenthesized_expression "(local_54 < uVar11)" (( "(") (binary_expression "local_54 < uVar11" (identifier "local_54") (< "<") (identifier "uVar11")) () ")"))) () ")")) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "local_90 = local_90 + 1;" (assignment_expression "local_90 = local_90 + 1" (identifier "local_90") (= "=") (binary_expression "local_90 + 1" (identifier "local_90") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9);" (assignment_expression "iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9)" (identifier "iVar7") (= "=") (call_expression "(**(code **)(**(int **)(param_1 + 8) + 8))\n                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9)" (parenthesized_expression "(**(code **)(**(int **)(param_1 + 8) + 8))" (( "(") (pointer_expression "**(code **)(**(int **)(param_1 + 8) + 8)" (* "*") (pointer_expression "*(code **)(**(int **)(param_1 + 8) + 8)" (* "*") (cast_expression "(code **)(**(int **)(param_1 + 8) + 8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(param_1 + 8) + 8)" (( "(") (binary_expression "**(int **)(param_1 + 8) + 8" (pointer_expression "**(int **)(param_1 + 8)" (* "*") (pointer_expression "*(int **)(param_1 + 8)" (* "*") (cast_expression "(int **)(param_1 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) (+ "+") (number_literal "8")) () ")"))))) () ")")) (argument_list "(*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9)" (( "(") (pointer_expression "*(int **)(param_1 + 8)" (* "*") (cast_expression "(int **)(param_1 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (, ",") (identifier "iVar8") (, ",") (identifier "uVar13") (, ",") (identifier "iVar7") (, ",") (identifier "iVar7") (, ",") (identifier "uVar9") () ")")))) (; ";")) (if_statement "if (iVar7 != 0) {\nLAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\n          goto LAB_000ab53c;\n        }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);\n          goto LAB_000ab53c;\n        }" ({ "{") (labeled_statement "LAB_000ab620:\n          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);" (statement_identifier "LAB_000ab620") (: ":") (expression_statement "(*(code *)PTR_sqlite3_free_0019096c)(iVar8);" (call_expression "(*(code *)PTR_sqlite3_free_0019096c)(iVar8)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0019096c)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_free_0019096c" (* "*") (cast_expression "(code *)PTR_sqlite3_free_0019096c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_free_0019096c"))) () ")")) (argument_list "(iVar8)" (( "(") (identifier "iVar8") () ")"))) (; ";"))) (goto_statement "goto LAB_000ab53c;" (goto "goto") (statement_identifier "LAB_000ab53c") (; ";")) (} "}"))) (expression_statement "iVar7 = (*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8);" (assignment_expression "iVar7 = (*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8)" (identifier "iVar7") (= "=") (call_expression "(*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8)" (parenthesized_expression "(*pcVar14)" (( "(") (pointer_expression "*pcVar14" (* "*") (identifier "pcVar14")) () ")")) (argument_list "(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8)" (( "(") (identifier "param_1") (, ",") (pointer_expression "&local_60" (& "&") (identifier "local_60")) (, ",") (pointer_expression "&local_5c" (& "&") (identifier "local_5c")) (, ",") (binary_expression "iVar8 + 0x18" (identifier "iVar8") (+ "+") (number_literal "0x18")) (, ",") (identifier "iVar8") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) break;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar7 = (*pcVar10)(param_1,local_90,local_60);" (assignment_expression "iVar7 = (*pcVar10)(param_1,local_90,local_60)" (identifier "iVar7") (= "=") (call_expression "(*pcVar10)(param_1,local_90,local_60)" (parenthesized_expression "(*pcVar10)" (( "(") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10")) () ")")) (argument_list "(param_1,local_90,local_60)" (( "(") (identifier "param_1") (, ",") (identifier "local_90") (, ",") (identifier "local_60") () ")")))) (; ";")) (if_statement "if (iVar7 != 0) goto LAB_000ab620;" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000ab620;" (goto "goto") (statement_identifier "LAB_000ab620") (; ";"))) (expression_statement "uVar9 = uVar11;" (assignment_expression "uVar9 = uVar11" (identifier "uVar9") (= "=") (identifier "uVar11")) (; ";")) (expression_statement "iVar7 = iVar12;" (assignment_expression "iVar7 = iVar12" (identifier "iVar7") (= "=") (identifier "iVar12")) (; ";")) (if_statement "if (local_5c != 0) {\n          uVar17 = *(undefined4 *)(param_1 + 0x4c);\n          unaff_s6 = *(uint *)(param_1 + 0x50);\n          *(int *)(param_1 + 0x48) = local_5c;\n          *(int *)(param_1 + 0x44) = local_90;\n          *(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;\n        }" (if "if") (parenthesized_expression "(local_5c != 0)" (( "(") (binary_expression "local_5c != 0" (identifier "local_5c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar17 = *(undefined4 *)(param_1 + 0x4c);\n          unaff_s6 = *(uint *)(param_1 + 0x50);\n          *(int *)(param_1 + 0x48) = local_5c;\n          *(int *)(param_1 + 0x44) = local_90;\n          *(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;\n        }" ({ "{") (expression_statement "uVar17 = *(undefined4 *)(param_1 + 0x4c);" (assignment_expression "uVar17 = *(undefined4 *)(param_1 + 0x4c)" (identifier "uVar17") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x4c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x4c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x4c)" (( "(") (binary_expression "param_1 + 0x4c" (identifier "param_1") (+ "+") (number_literal "0x4c")) () ")"))))) (; ";")) (expression_statement "unaff_s6 = *(uint *)(param_1 + 0x50);" (assignment_expression "unaff_s6 = *(uint *)(param_1 + 0x50)" (identifier "unaff_s6") (= "=") (pointer_expression "*(uint *)(param_1 + 0x50)" (* "*") (cast_expression "(uint *)(param_1 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (expression_statement "*(int *)(param_1 + 0x48) = local_5c;" (assignment_expression "*(int *)(param_1 + 0x48) = local_5c" (pointer_expression "*(int *)(param_1 + 0x48)" (* "*") (cast_expression "(int *)(param_1 + 0x48)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x48)" (( "(") (binary_expression "param_1 + 0x48" (identifier "param_1") (+ "+") (number_literal "0x48")) () ")")))) (= "=") (identifier "local_5c")) (; ";")) (expression_statement "*(int *)(param_1 + 0x44) = local_90;" (assignment_expression "*(int *)(param_1 + 0x44) = local_90" (pointer_expression "*(int *)(param_1 + 0x44)" (* "*") (cast_expression "(int *)(param_1 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x44)" (( "(") (binary_expression "param_1 + 0x44" (identifier "param_1") (+ "+") (number_literal "0x44")) () ")")))) (= "=") (identifier "local_90")) (; ";")) (expression_statement "*(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;" (assignment_expression "*(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3" (pointer_expression "*(ushort *)(param_1 + 0x42)" (* "*") (cast_expression "(ushort *)(param_1 + 0x42)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x42)" (( "(") (binary_expression "param_1 + 0x42" (identifier "param_1") (+ "+") (number_literal "0x42")) () ")")))) (= "=") (binary_expression "uVar2 & 0xff00 | (ushort)uVar3" (binary_expression "uVar2 & 0xff00" (identifier "uVar2") (& "&") (number_literal "0xff00")) (| "|") (cast_expression "(ushort)uVar3" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (identifier "uVar3")))) (; ";")) (} "}"))) (} "}"))) (expression_statement "(*(code *)PTR_sqlite3_free_0019096c)(iVar8);" (call_expression "(*(code *)PTR_sqlite3_free_0019096c)(iVar8)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0019096c)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_free_0019096c" (* "*") (cast_expression "(code *)PTR_sqlite3_free_0019096c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_free_0019096c"))) () ")")) (argument_list "(iVar8)" (( "(") (identifier "iVar8") () ")"))) (; ";")) (labeled_statement "LAB_000ab59c:\n      puVar4 = PTR_LAB_00190ba8;" (statement_identifier "LAB_000ab59c") (: ":") (expression_statement "puVar4 = PTR_LAB_00190ba8;" (assignment_expression "puVar4 = PTR_LAB_00190ba8" (identifier "puVar4") (= "=") (identifier "PTR_LAB_00190ba8")) (; ";"))) (expression_statement "*(undefined4 *)(param_1 + 0x4c) = uVar17;" (assignment_expression "*(undefined4 *)(param_1 + 0x4c) = uVar17" (pointer_expression "*(undefined4 *)(param_1 + 0x4c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x4c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x4c)" (( "(") (binary_expression "param_1 + 0x4c" (identifier "param_1") (+ "+") (number_literal "0x4c")) () ")")))) (= "=") (identifier "uVar17")) (; ";")) (expression_statement "*(uint *)(param_1 + 0x50) = unaff_s6;" (assignment_expression "*(uint *)(param_1 + 0x50) = unaff_s6" (pointer_expression "*(uint *)(param_1 + 0x50)" (* "*") (cast_expression "(uint *)(param_1 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "(*(code *)(puVar4 + 0x6338))(param_1);" (call_expression "(*(code *)(puVar4 + 0x6338))(param_1)" (parenthesized_expression "(*(code *)(puVar4 + 0x6338))" (( "(") (pointer_expression "*(code *)(puVar4 + 0x6338)" (* "*") (cast_expression "(code *)(puVar4 + 0x6338)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar4 + 0x6338)" (( "(") (binary_expression "puVar4 + 0x6338" (identifier "puVar4") (+ "+") (number_literal "0x6338")) () ")")))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (expression_statement "iVar7 = **(int **)(param_1 + 0x20);" (assignment_expression "iVar7 = **(int **)(param_1 + 0x20)" (identifier "iVar7") (= "=") (pointer_expression "**(int **)(param_1 + 0x20)" (* "*") (pointer_expression "*(int **)(param_1 + 0x20)" (* "*") (cast_expression "(int **)(param_1 + 0x20)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))))) (; ";")) (expression_statement "*(undefined4 *)(iVar7 + 0x60) = 0;" (assignment_expression "*(undefined4 *)(iVar7 + 0x60) = 0" (pointer_expression "*(undefined4 *)(iVar7 + 0x60)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 0x60)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x60)" (( "(") (binary_expression "iVar7 + 0x60" (identifier "iVar7") (+ "+") (number_literal "0x60")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(iVar7 + 0x80) = *(undefined4 *)(param_1 + 0x44);" (assignment_expression "*(undefined4 *)(iVar7 + 0x80) = *(undefined4 *)(param_1 + 0x44)" (pointer_expression "*(undefined4 *)(iVar7 + 0x80)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 0x80)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x80)" (( "(") (binary_expression "iVar7 + 0x80" (identifier "iVar7") (+ "+") (number_literal "0x80")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x44)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x44)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x44)" (( "(") (binary_expression "param_1 + 0x44" (identifier "param_1") (+ "+") (number_literal "0x44")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar7 + 100) = 0;" (assignment_expression "*(undefined4 *)(iVar7 + 100) = 0" (pointer_expression "*(undefined4 *)(iVar7 + 100)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 100)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 100)" (( "(") (binary_expression "iVar7 + 100" (identifier "iVar7") (+ "+") (number_literal "100")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(iVar7 + 0x68) = 0xffffffff;" (assignment_expression "*(undefined4 *)(iVar7 + 0x68) = 0xffffffff" (pointer_expression "*(undefined4 *)(iVar7 + 0x68)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 0x68)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x68)" (( "(") (binary_expression "iVar7 + 0x68" (identifier "iVar7") (+ "+") (number_literal "0x68")) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "*(undefined4 *)(iVar7 + 0x6c) = 0xffffffff;" (assignment_expression "*(undefined4 *)(iVar7 + 0x6c) = 0xffffffff" (pointer_expression "*(undefined4 *)(iVar7 + 0x6c)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 0x6c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x6c)" (( "(") (binary_expression "iVar7 + 0x6c" (identifier "iVar7") (+ "+") (number_literal "0x6c")) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "*(undefined4 *)(iVar7 + 0x70) = 0xffffffff;" (assignment_expression "*(undefined4 *)(iVar7 + 0x70) = 0xffffffff" (pointer_expression "*(undefined4 *)(iVar7 + 0x70)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 0x70)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x70)" (( "(") (binary_expression "iVar7 + 0x70" (identifier "iVar7") (+ "+") (number_literal "0x70")) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "*(undefined4 *)(iVar7 + 0x74) = 0xffffffff;" (assignment_expression "*(undefined4 *)(iVar7 + 0x74) = 0xffffffff" (pointer_expression "*(undefined4 *)(iVar7 + 0x74)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 0x74)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x74)" (( "(") (binary_expression "iVar7 + 0x74" (identifier "iVar7") (+ "+") (number_literal "0x74")) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (if_statement "if (*(int *)(param_1 + 0x44) != 0) {\n        *(int *)(iVar7 + 0x68) = *(int *)(param_1 + 0x44);\n      }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x44) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x44) != 0" (pointer_expression "*(int *)(param_1 + 0x44)" (* "*") (cast_expression "(int *)(param_1 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x44)" (( "(") (binary_expression "param_1 + 0x44" (identifier "param_1") (+ "+") (number_literal "0x44")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        *(int *)(iVar7 + 0x68) = *(int *)(param_1 + 0x44);\n      }" ({ "{") (expression_statement "*(int *)(iVar7 + 0x68) = *(int *)(param_1 + 0x44);" (assignment_expression "*(int *)(iVar7 + 0x68) = *(int *)(param_1 + 0x44)" (pointer_expression "*(int *)(iVar7 + 0x68)" (* "*") (cast_expression "(int *)(iVar7 + 0x68)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x68)" (( "(") (binary_expression "iVar7 + 0x68" (identifier "iVar7") (+ "+") (number_literal "0x68")) () ")")))) (= "=") (pointer_expression "*(int *)(param_1 + 0x44)" (* "*") (cast_expression "(int *)(param_1 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x44)" (( "(") (binary_expression "param_1 + 0x44" (identifier "param_1") (+ "+") (number_literal "0x44")) () ")"))))) (; ";")) (} "}"))) (expression_statement "iVar7 = iVar6;" (assignment_expression "iVar7 = iVar6" (identifier "iVar7") (= "=") (identifier "iVar6")) (; ";")) (if_statement "if (*(int *)(param_1 + 0x48) != 0) {\n        sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c));\n      }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x48) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x48) != 0" (pointer_expression "*(int *)(param_1 + 0x48)" (* "*") (cast_expression "(int *)(param_1 + 0x48)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x48)" (( "(") (binary_expression "param_1 + 0x48" (identifier "param_1") (+ "+") (number_literal "0x48")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c));\n      }" ({ "{") (expression_statement "sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c));" (call_expression "sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c))" (identifier "sqlite3_log") (argument_list "(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,\n                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c))" (( "(") (number_literal "0x11b") (, ",") (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c" (identifier "PTR_s_o_page_from_root____pageno_INTEG_0019095c") (+ "+") (number_literal "-0x4e4c")) (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x44)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x44)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x44)" (( "(") (binary_expression "param_1 + 0x44" (identifier "param_1") (+ "+") (number_literal "0x44")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x6c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x6c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x6c)" (( "(") (binary_expression "param_1 + 0x6c" (identifier "param_1") (+ "+") (number_literal "0x6c")) () ")")))) () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\nLAB_000ab7ec:\n      iVar7 = 7;\n    }" (else "else") (compound_statement "{\nLAB_000ab7ec:\n      iVar7 = 7;\n    }" ({ "{") (labeled_statement "LAB_000ab7ec:\n      iVar7 = 7;" (statement_identifier "LAB_000ab7ec") (: ":") (expression_statement "iVar7 = 7;" (assignment_expression "iVar7 = 7" (identifier "iVar7") (= "=") (number_literal "7")) (; ";"))) (} "}")))) (labeled_statement "LAB_000ab53c:\n    pcVar14 = pcVar15;" (statement_identifier "LAB_000ab53c") (: ":") (expression_statement "pcVar14 = pcVar15;" (assignment_expression "pcVar14 = pcVar15" (identifier "pcVar14") (= "=") (identifier "pcVar15")) (; ";"))) (if_statement "if (*(char *)(param_1 + 0x2b) == '\0') {\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n      if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),4,4);\n      *param_2 = 1;\n    }\n    else {\nLAB_000ab3b0:\n      *param_2 = 1;\n    }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x2b) == '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x2b) == '\0'" (pointer_expression "*(char *)(param_1 + 0x2b)" (* "*") (cast_expression "(char *)(param_1 + 0x2b)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2b)" (( "(") (binary_expression "param_1 + 0x2b" (identifier "param_1") (+ "+") (number_literal "0x2b")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      pcVar14 = (code *)(PTR_LAB_00190ba8 + 0x6640);\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);\n      if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;\n      (*pcVar14)(*(undefined4 *)(param_1 + 4),4,4);\n      *param_2 = 1;\n    }" ({ "{") (expression_statement "pcVar14 = (code *)(PTR_LAB_00190ba8 + 0x6640);" (assignment_expression "pcVar14 = (code *)(PTR_LAB_00190ba8 + 0x6640)" (identifier "pcVar14") (= "=") (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x6640)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + 0x6640)" (( "(") (binary_expression "PTR_LAB_00190ba8 + 0x6640" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "0x6640")) () ")")))) (; ";")) (expression_statement "(*pcVar14)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);" (call_expression "(*pcVar14)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16)" (parenthesized_expression "(*pcVar14)" (( "(") (pointer_expression "*pcVar14" (* "*") (identifier "pcVar14")) () ")")) (argument_list "(*(undefined4 *)(param_1 + 4),pcVar15,piVar16)" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 4)" (* "*") (cast_expression "(undefined4 *)(param_1 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (, ",") (identifier "pcVar15") (, ",") (identifier "piVar16") () ")"))) (; ";")) (if_statement "if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x2b) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x2b) != '\0'" (pointer_expression "*(char *)(param_1 + 0x2b)" (* "*") (cast_expression "(char *)(param_1 + 0x2b)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2b)" (( "(") (binary_expression "param_1 + 0x2b" (identifier "param_1") (+ "+") (number_literal "0x2b")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_000ab3b0;" (goto "goto") (statement_identifier "LAB_000ab3b0") (; ";"))) (expression_statement "(*pcVar14)(*(undefined4 *)(param_1 + 4),4,4);" (call_expression "(*pcVar14)(*(undefined4 *)(param_1 + 4),4,4)" (parenthesized_expression "(*pcVar14)" (( "(") (pointer_expression "*pcVar14" (* "*") (identifier "pcVar14")) () ")")) (argument_list "(*(undefined4 *)(param_1 + 4),4,4)" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 4)" (* "*") (cast_expression "(undefined4 *)(param_1 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (, ",") (number_literal "4") (, ",") (number_literal "4") () ")"))) (; ";")) (expression_statement "*param_2 = 1;" (assignment_expression "*param_2 = 1" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\nLAB_000ab3b0:\n      *param_2 = 1;\n    }" (else "else") (compound_statement "{\nLAB_000ab3b0:\n      *param_2 = 1;\n    }" ({ "{") (labeled_statement "LAB_000ab3b0:\n      *param_2 = 1;" (statement_identifier "LAB_000ab3b0") (: ":") (expression_statement "*param_2 = 1;" (assignment_expression "*param_2 = 1" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (number_literal "1")) (; ";"))) (} "}")))) (labeled_statement "LAB_000ab170:\n    *(undefined1 *)(param_1 + 0x2c) = 0;" (statement_identifier "LAB_000ab170") (: ":") (expression_statement "*(undefined1 *)(param_1 + 0x2c) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x2c) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x2c)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x2c)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2c)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (number_literal "0")) (; ";"))) (expression_statement "iVar6 = iVar7;" (assignment_expression "iVar6 = iVar7" (identifier "iVar6") (= "=") (identifier "iVar7")) (; ";")) (if_statement "if (*(char *)(param_1 + 0x2b) == '\0') {\n      (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n    }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x2b) == '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x2b) == '\0'" (pointer_expression "*(char *)(param_1 + 0x2b)" (* "*") (cast_expression "(char *)(param_1 + 0x2b)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2b)" (( "(") (binary_expression "param_1 + 0x2b" (identifier "param_1") (+ "+") (number_literal "0x2b")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);\n    }" ({ "{") (expression_statement "(*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6640))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x6640)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x6640)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + 0x6640)" (( "(") (binary_expression "PTR_LAB_00190ba8 + 0x6640" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "0x6640")) () ")")))) () ")")) (argument_list "(*(undefined4 *)(param_1 + 4),0,1)" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 4)" (* "*") (cast_expression "(undefined4 *)(param_1 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (, ",") (number_literal "0") (, ",") (number_literal "1") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_000ab0f8:\n    pcVar15 = pcVar14;" (statement_identifier "LAB_000ab0f8") (: ":") (expression_statement "pcVar15 = pcVar14;" (assignment_expression "pcVar15 = pcVar14" (identifier "pcVar15") (= "=") (identifier "pcVar14")) (; ";"))) (} "}")) (while "while") (parenthesized_expression "(*(char *)(param_1 + 0x32) == '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x32) == '\0'" (pointer_expression "*(char *)(param_1 + 0x32)" (* "*") (cast_expression "(char *)(param_1 + 0x32)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x32)" (( "(") (binary_expression "param_1 + 0x32" (identifier "param_1") (+ "+") (number_literal "0x32")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (; ";"))) (if_statement "if (iVar6 != 0) {\nLAB_000ab2ac:\n    (*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0);\n    *(undefined1 *)(param_1 + 0x32) = 0;\n    if (iVar6 == 0x20a) {\n      iVar6 = -1;\n      *(undefined1 *)(param_1 + 0x2b) = 0;\n      pcVar15 = pcVar14;\n      goto LAB_000ab06c;\n    }\n  }" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000ab2ac:\n    (*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0);\n    *(undefined1 *)(param_1 + 0x32) = 0;\n    if (iVar6 == 0x20a) {\n      iVar6 = -1;\n      *(undefined1 *)(param_1 + 0x2b) = 0;\n      pcVar15 = pcVar14;\n      goto LAB_000ab06c;\n    }\n  }" ({ "{") (labeled_statement "LAB_000ab2ac:\n    (*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0);" (statement_identifier "LAB_000ab2ac") (: ":") (expression_statement "(*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x6650))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x6650)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x6650)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + 0x6650)" (( "(") (binary_expression "PTR_LAB_00190ba8 + 0x6650" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "0x6650")) () ")")))) () ")")) (argument_list "(param_1,0)" (( "(") (identifier "param_1") (, ",") (number_literal "0") () ")"))) (; ";"))) (expression_statement "*(undefined1 *)(param_1 + 0x32) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x32) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x32)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x32)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x32)" (( "(") (binary_expression "param_1 + 0x32" (identifier "param_1") (+ "+") (number_literal "0x32")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar6 == 0x20a) {\n      iVar6 = -1;\n      *(undefined1 *)(param_1 + 0x2b) = 0;\n      pcVar15 = pcVar14;\n      goto LAB_000ab06c;\n    }" (if "if") (parenthesized_expression "(iVar6 == 0x20a)" (( "(") (binary_expression "iVar6 == 0x20a" (identifier "iVar6") (== "==") (number_literal "0x20a")) () ")")) (compound_statement "{\n      iVar6 = -1;\n      *(undefined1 *)(param_1 + 0x2b) = 0;\n      pcVar15 = pcVar14;\n      goto LAB_000ab06c;\n    }" ({ "{") (expression_statement "iVar6 = -1;" (assignment_expression "iVar6 = -1" (identifier "iVar6") (= "=") (number_literal "-1")) (; ";")) (expression_statement "*(undefined1 *)(param_1 + 0x2b) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x2b) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x2b)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x2b)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2b)" (( "(") (binary_expression "param_1 + 0x2b" (identifier "param_1") (+ "+") (number_literal "0x2b")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar15 = pcVar14;" (assignment_expression "pcVar15 = pcVar14" (identifier "pcVar15") (= "=") (identifier "pcVar14")) (; ";")) (goto_statement "goto LAB_000ab06c;" (goto "goto") (statement_identifier "LAB_000ab06c") (; ";")) (} "}"))) (} "}"))) (expression_statement "*(undefined1 *)(param_1 + 0x2b) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x2b) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x2b)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x2b)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2b)" (( "(") (binary_expression "param_1 + 0x2b" (identifier "param_1") (+ "+") (number_literal "0x2b")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar15 = pcVar14;" (assignment_expression "pcVar15 = pcVar14" (identifier "pcVar15") (= "=") (identifier "pcVar14")) (; ";")) (goto_statement "goto LAB_000ab06c;" (goto "goto") (statement_identifier "LAB_000ab06c") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (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: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_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: (identifier)) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier) (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (number_literal) (number_literal)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (labeled_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: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (number_literal) (number_literal)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (identifier) (identifier)))) (goto_statement label: (statement_identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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))))))) arguments: (argument_list (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))))) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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))))))) arguments: (argument_list (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))))) (pointer_expression argument: (identifier)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (number_literal) right: (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (number_literal)))) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (number_literal) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (pointer_expression argument: (identifier)) (number_literal) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) 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: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (goto_statement label: (statement_identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (number_literal) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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))))) (goto_statement label: (statement_identifier)))) (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: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (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: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (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: (goto_statement label: (statement_identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier) (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (labeled_statement label: (statement_identifier) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (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))))))) arguments: (argument_list (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))))) (identifier) (identifier) (identifier) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (binary_expression left: (identifier) right: (number_literal)) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_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))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (identifier) (identifier)))) (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: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (number_literal) (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (number_literal) (number_literal)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) 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)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier) (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))))

int MASKED(int param_1,undefined4 *param_2)

{
  uint *puVar1;
  ushort uVar2;
  uint uVar3;
  undefined *puVar4;
  undefined *puVar5;
  int iVar6;
  int iVar7;
  int iVar8;
  uint uVar9;
  code *pcVar10;
  uint uVar11;
  int iVar12;
  uint uVar13;
  code *pcVar14;
  code *pcVar15;
  int *piVar16;
  undefined4 uVar17;
  uint unaff_s6;
  int local_90;
  int local_64;
  undefined4 local_60;
  int local_5c;
  int local_58;
  uint local_54;
  uint local_4c;
  int local_48;
  uint local_44;
  undefined4 local_40;
  uint local_3c;
  undefined4 local_38;
  int local_34;
  int local_30;
  int local_2c;
  
  puVar5 = PTR___stack_chk_guard_00190e24;
  piVar16 = &local_64;
  local_2c = *(int *)PTR___stack_chk_guard_00190e24;
  pcVar14 = (code *)(PTR_LAB_00190c2c + -0x58c0);
  iVar6 = FUN_000aa740(param_1,0,piVar16);
  pcVar15 = pcVar14;
  if (iVar6 != 0) {
    if (iVar6 != 0x508) goto LAB_000ab06c;
    *(undefined1 *)(param_1 + 0x32) = 1;
    *(undefined1 *)(param_1 + 0x2b) = 2;
    *param_2 = 1;
  }
  if ((local_64 == 0) ||
     (iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2), iVar7 != 0)) {
    if ((*(char *)(param_1 + 0x32) != '\0') || ((*(byte *)(param_1 + 0x2e) & 2) == 0)) {
      if ((*(char *)(param_1 + 0x2b) == '\0') &&
         (iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6560))(*(undefined4 *)(param_1 + 4),0,1),
         iVar6 != 0)) {
LAB_000ab2a0:
        if (*(char *)(param_1 + 0x32) != '\0') goto LAB_000ab2ac;
        goto LAB_000ab06c;
      }
      *(undefined1 *)(param_1 + 0x2c) = 1;
      iVar7 = FUN_000aa740(param_1,0,piVar16);
      if (iVar7 != 0) goto LAB_000ab170;
      iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x7394))(param_1,param_2);
      if (iVar6 != 0) {
        pcVar15 = (code *)(*(byte *)(param_1 + 0x2d) + 1);
        piVar16 = (int *)(3 - (int)pcVar15);
        if (*(char *)(param_1 + 0x2b) == '\0') {
          pcVar10 = (code *)(PTR_LAB_00190ba8 + 0x6560);
          iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);
          pcVar14 = pcVar15;
          if (iVar7 != 0) goto LAB_000ab3b0;
          if ((*(char *)(param_1 + 0x2b) == '\0') &&
             (iVar7 = (*pcVar10)(*(undefined4 *)(param_1 + 4),4,4), iVar7 != 0)) {
            if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;
            (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);
            goto LAB_000ab3b0;
          }
        }
        (*(code *)PTR_memset_00190d58)(param_1 + 0x34,0,0x30);
        iVar6 = (**(code **)(**(int **)(param_1 + 8) + 0x18))(*(int **)(param_1 + 8),&local_58);
        iVar7 = iVar6;
        if (iVar6 != 0) goto LAB_000ab53c;
        if (local_58 < 1) {
          unaff_s6 = 0;
          if (local_58 != 0) goto LAB_000ab598;
          uVar17 = 0;
          if (local_54 < 0x21) goto LAB_000ab59c;
        }
        uVar17 = 0;
        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),&local_4c,0x20);
        puVar4 = PTR_LAB_00190b40;
        if (iVar7 != 0) goto LAB_000ab53c;
        if ((((local_4c & 0xfffffffe) == 0x377f0682) && ((local_44 - 1 & local_44) == 0)) &&
           (local_44 - 0x200 < 0xfe01)) {
          *(char *)(param_1 + 0x41) = (char)(local_4c & 1);
          *(uint *)(param_1 + 0x24) = local_44;
          *(undefined4 *)(param_1 + 0x70) = local_40;
          uVar13 = param_1 + 0x54U & 3;
          puVar1 = (uint *)((param_1 + 0x54U) - uVar13);
          *puVar1 = *puVar1 & -1 << (4 - uVar13) * 8 | local_3c >> uVar13 * 8;
          uVar13 = param_1 + 0x57U & 3;
          puVar1 = (uint *)((param_1 + 0x57U) - uVar13);
          *puVar1 = *puVar1 & 0xffffffffU >> (uVar13 + 1) * 8 | local_3c << (3 - uVar13) * 8;
          *(undefined4 *)(param_1 + 0x58) = local_38;
          (*(code *)(puVar4 + 0xf88))(local_4c & 1,&local_4c,0x18,0,param_1 + 0x4c,uVar17);
          if ((*(int *)(param_1 + 0x4c) == local_34) && (*(int *)(param_1 + 0x50) == local_30)) {
            unaff_s6 = local_44;
            pcVar14 = (code *)PTR_sqlite3_initialize_00190b88;
            if (local_48 == 0x2de218) goto LAB_000ab64c;
            iVar7 = 0xe;
            sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,
                        PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xe816,
                        PTR_LAB_00190958 + 0x625c);
            goto LAB_000ab53c;
          }
        }
LAB_000ab598:
        unaff_s6 = 0;
        uVar17 = 0;
        goto LAB_000ab59c;
      }
      *(undefined1 *)(param_1 + 0x2c) = 0;
      if (*(char *)(param_1 + 0x2b) == '\0') {
        (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);
        iVar6 = *(int *)(param_1 + 0x34);
      }
      else {
        iVar6 = *(int *)(param_1 + 0x34);
      }
      if (iVar6 == 0x2de218) {
        iVar6 = 0;
        if (*(char *)(param_1 + 0x32) != '\0') {
          *(undefined1 *)(param_1 + 0x2b) = 0;
        }
        goto LAB_000ab06c;
      }
      goto LAB_000ab244;
    }
    if (*(char *)(param_1 + 0x2b) != '\0') {
LAB_000ab318:
      iVar6 = 0x108;
      goto LAB_000ab06c;
    }
    iVar6 = (*(code *)(PTR_LAB_00190ba8 + 0x6538))(*(undefined4 *)(param_1 + 4),0);
    if (iVar6 != 0) goto LAB_000ab2a0;
    if (*(char *)(param_1 + 0x2b) == '\0') {
      (*(code *)(PTR_LAB_00190ba8 + 0x654c))(*(undefined4 *)(param_1 + 4),0);
    }
    if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab318;
    iVar6 = 0x108;
  }
  else {
    if (*(int *)(param_1 + 0x34) == 0x2de218) goto LAB_000ab0f8;
LAB_000ab244:
    iVar6 = 0xe;
    sqlite3_log(0xe,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378,
                PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5db8,0xebe8,
                PTR_LAB_00190958 + 0x625c);
    if (*(char *)(param_1 + 0x32) == '\0') goto LAB_000ab06c;
  }
  (*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0);
  *(undefined1 *)(param_1 + 0x32) = 0;
  *(undefined1 *)(param_1 + 0x2b) = 0;
LAB_000ab06c:
  do {
    if (local_2c == *(int *)puVar5) {
      return iVar6;
    }
    pcVar14 = (code *)PTR___stack_chk_fail_00190df8;
    (*(code *)PTR___stack_chk_fail_00190df8)();
LAB_000ab64c:
    iVar7 = (*pcVar14)();
    if (iVar7 == 0) {
      uVar13 = unaff_s6 + 0x18;
      iVar8 = (*(code *)(PTR_LAB_00190ba8 + -0x2b48))((int)uVar13 >> 0x1f);
      if (iVar8 == 0) goto LAB_000ab7ec;
      uVar2 = (ushort)unaff_s6;
      uVar3 = unaff_s6 >> 0x10;
      pcVar14 = (code *)(PTR_LAB_00190ba8 + -0x4fdc);
      unaff_s6 = 0;
      uVar17 = 0;
      pcVar10 = (code *)(PTR_LAB_00190c2c + -0x5200);
      local_90 = 0;
      uVar9 = 0x20;
      iVar7 = 0;
      while( true ) {
        uVar11 = uVar13 + uVar9;
        iVar12 = (uint)(uVar11 < uVar13) + ((int)uVar13 >> 0x1f) + iVar7;
        if ((local_58 < iVar12) || ((local_58 == iVar12 && (local_54 < uVar11)))) break;
        local_90 = local_90 + 1;
        iVar7 = (**(code **)(**(int **)(param_1 + 8) + 8))
                          (*(int **)(param_1 + 8),iVar8,uVar13,iVar7,iVar7,uVar9);
        if (iVar7 != 0) {
LAB_000ab620:
          (*(code *)PTR_sqlite3_free_0019096c)(iVar8);
          goto LAB_000ab53c;
        }
        iVar7 = (*pcVar14)(param_1,&local_60,&local_5c,iVar8 + 0x18,iVar8);
        if (iVar7 == 0) break;
        iVar7 = (*pcVar10)(param_1,local_90,local_60);
        if (iVar7 != 0) goto LAB_000ab620;
        uVar9 = uVar11;
        iVar7 = iVar12;
        if (local_5c != 0) {
          uVar17 = *(undefined4 *)(param_1 + 0x4c);
          unaff_s6 = *(uint *)(param_1 + 0x50);
          *(int *)(param_1 + 0x48) = local_5c;
          *(int *)(param_1 + 0x44) = local_90;
          *(ushort *)(param_1 + 0x42) = uVar2 & 0xff00 | (ushort)uVar3;
        }
      }
      (*(code *)PTR_sqlite3_free_0019096c)(iVar8);
LAB_000ab59c:
      puVar4 = PTR_LAB_00190ba8;
      *(undefined4 *)(param_1 + 0x4c) = uVar17;
      *(uint *)(param_1 + 0x50) = unaff_s6;
      (*(code *)(puVar4 + 0x6338))(param_1);
      iVar7 = **(int **)(param_1 + 0x20);
      *(undefined4 *)(iVar7 + 0x60) = 0;
      *(undefined4 *)(iVar7 + 0x80) = *(undefined4 *)(param_1 + 0x44);
      *(undefined4 *)(iVar7 + 100) = 0;
      *(undefined4 *)(iVar7 + 0x68) = 0xffffffff;
      *(undefined4 *)(iVar7 + 0x6c) = 0xffffffff;
      *(undefined4 *)(iVar7 + 0x70) = 0xffffffff;
      *(undefined4 *)(iVar7 + 0x74) = 0xffffffff;
      if (*(int *)(param_1 + 0x44) != 0) {
        *(int *)(iVar7 + 0x68) = *(int *)(param_1 + 0x44);
      }
      iVar7 = iVar6;
      if (*(int *)(param_1 + 0x48) != 0) {
        sqlite3_log(0x11b,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4e4c,
                    *(undefined4 *)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x6c));
      }
    }
    else {
LAB_000ab7ec:
      iVar7 = 7;
    }
LAB_000ab53c:
    pcVar14 = pcVar15;
    if (*(char *)(param_1 + 0x2b) == '\0') {
      pcVar14 = (code *)(PTR_LAB_00190ba8 + 0x6640);
      (*pcVar14)(*(undefined4 *)(param_1 + 4),pcVar15,piVar16);
      if (*(char *)(param_1 + 0x2b) != '\0') goto LAB_000ab3b0;
      (*pcVar14)(*(undefined4 *)(param_1 + 4),4,4);
      *param_2 = 1;
    }
    else {
LAB_000ab3b0:
      *param_2 = 1;
    }
LAB_000ab170:
    *(undefined1 *)(param_1 + 0x2c) = 0;
    iVar6 = iVar7;
    if (*(char *)(param_1 + 0x2b) == '\0') {
      (*(code *)(PTR_LAB_00190ba8 + 0x6640))(*(undefined4 *)(param_1 + 4),0,1);
    }
LAB_000ab0f8:
    pcVar15 = pcVar14;
  } while (*(char *)(param_1 + 0x32) == '\0');
  if (iVar6 != 0) {
LAB_000ab2ac:
    (*(code *)(PTR_LAB_00190ba8 + 0x6650))(param_1,0);
    *(undefined1 *)(param_1 + 0x32) = 0;
    if (iVar6 == 0x20a) {
      iVar6 = -1;
      *(undefined1 *)(param_1 + 0x2b) = 0;
      pcVar15 = pcVar14;
      goto LAB_000ab06c;
    }
  }
  *(undefined1 *)(param_1 + 0x2b) = 0;
  pcVar15 = pcVar14;
  goto LAB_000ab06c;
}

