
int vtabCallConstructor(sqlite3 *db,Table *pTab,Module *pMod,
                       _func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr
                       *xConstruct,char **pzErr)

{
  _func_int_sqlite3_vtab_ptr_sqlite3_index_info_ptr **pp_Var1;
  VtabCtx *pVVar2;
  Module *pMVar3;
  VTable *pVVar4;
  int iVar5;
  sqlite3_vtab *psVar6;
  code *pcVar7;
  char *pcVar8;
  uint uVar9;
  int iVar10;
  char *pcVar11;
  sqlite3_module *psVar13;
  sqlite3_context *pCtx;
  int iVar14;
  sqlite3_module *psVar15;
  sqlite3_module *psVar16;
  _func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *p_Var17;
  Module *zFormat;
  Module *pMVar18;
  char **ppcVar19;
  sqlite3_module *psVar20;
  _func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *p_Var21;
  char *pcVar22;
  uint uVar23;
  code *pcVar24;
  undefined *puVar25;
  sqlite3 *db_00;
  int iVar26;
  char **ppcVar27;
  _func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *p_Var28;
  undefined *puVar29;
  sqlite3_module *psVar30;
  sqlite3_vtab **in_stack_ffffff98;
  int iStack_50;
  uint uStack_48;
  char *zErr;
  VtabCtx sCtx;
  char *pcVar12;
  
  puVar29 = PTR___stack_chk_guard_00190e24;
  pVVar2 = db->pVtabCtx;
  ppcVar27 = pTab->azModuleArg;
  pCtx = *(sqlite3_context **)PTR___stack_chk_guard_00190e24;
  iVar26 = pTab->nModuleArg;
  zErr = (char *)0x0;
  for (; pVVar2 != (VtabCtx *)0x0; pVVar2 = pVVar2->pPrior) {
    if (pVVar2->pTab == pTab) {
      iVar26 = 6;
      pMVar18 = (Module *)pTab->zName;
      zFormat = (Module *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c);
      pcVar8 = sqlite3MPrintf(db,(char *)zFormat);
      *pzErr = pcVar8;
      goto LAB_0009d418;
    }
  }
  zFormat = (Module *)pTab->zName;
  pMVar18 = pMod;
  ppcVar19 = (char **)xConstruct;
  pMVar3 = (Module *)(*(code *)(PTR_LAB_00190ba8 + 0xfc4))(db);
  if (pMVar3 == (Module *)0x0) {
    iVar26 = 7;
    xConstruct = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr
                  *)ppcVar19;
    goto LAB_0009d418;
  }
  pVVar4 = (VTable *)(*(code *)(PTR_LAB_00190ba8 + -0x2940))(0,0x1c);
  if (pVVar4 == (VTable *)0x0) {
    uVar9._0_1_ = db->temp_store;
    uVar9._1_1_ = db->mallocFailed;
    uVar9._2_1_ = db->bBenignMalloc;
    uVar9._3_1_ = db->dfltLockMode;
    if ((uVar9 & 0xffff00) == 0) {
      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(db);
    }
    iVar26 = 7;
    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(db);
    zFormat = pMVar3;
    xConstruct = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr
                  *)ppcVar19;
    goto LAB_0009d418;
  }
  pVVar4->db = db;
  pVVar4->pMod = pMod;
  if (pTab->pSchema == (Schema *)0x0) {
    iVar5 = -16000000;
  }
  else {
    iVar5 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(db);
    iVar5 = iVar5 << 4;
  }
  in_stack_ffffff98 = &pVVar4->pVtab;
  pTab->azModuleArg[1] = *(char **)((int)&db->aDb->zDbSName + iVar5);
  sCtx.bDeclared = 0;
  sCtx.pPrior = db->pVtabCtx;
  db->pVtabCtx = &sCtx;
  sCtx.pVTable = pVVar4;
  sCtx.pTab = pTab;
  iVar26 = (*xConstruct)(db,pMod->pAux,iVar26,ppcVar27,in_stack_ffffff98,&zErr);
  db->pVtabCtx = sCtx.pPrior;
  if (iVar26 == 7) {
    uVar23._0_1_ = db->temp_store;
    uVar23._1_1_ = db->mallocFailed;
    uVar23._2_1_ = db->bBenignMalloc;
    uVar23._3_1_ = db->dfltLockMode;
    if ((uVar23 & 0xffff00) == 0) {
      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(db);
    }
LAB_0009d750:
    if (zErr == (char *)0x0) {
      pMVar18 = pMVar3;
      pcVar8 = sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);
      *pzErr = pcVar8;
    }
    else {
      pMVar18 = (Module *)zErr;
      pcVar8 = sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);
      puVar25 = PTR_sqlite3_free_0019096c;
      *pzErr = pcVar8;
      (*(code *)puVar25)(zErr);
    }
    pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x2368);
    (*pcVar7)(db,pVVar4);
  }
  else {
    if (iVar26 != 0) goto LAB_0009d750;
    psVar6 = pVVar4->pVtab;
    pMVar18 = (Module *)zErr;
    if (psVar6 == (sqlite3_vtab *)0x0) {
LAB_0009d70c:
      pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x2368);
    }
    else {
      *(undefined1 *)&psVar6->pModule = 0;
      *(undefined1 *)((int)&psVar6->pModule + 1) = 0;
      *(undefined1 *)((int)&psVar6->pModule + 2) = 0;
      *(undefined1 *)((int)&psVar6->pModule + 3) = 0;
      *(undefined1 *)&psVar6->nRef = 0;
      *(undefined1 *)((int)&psVar6->nRef + 1) = 0;
      *(undefined1 *)((int)&psVar6->nRef + 2) = 0;
      *(undefined1 *)((int)&psVar6->nRef + 3) = 0;
      *(undefined1 *)&psVar6->zErrMsg = 0;
      *(undefined1 *)((int)&psVar6->zErrMsg + 1) = 0;
      *(undefined1 *)((int)&psVar6->zErrMsg + 2) = 0;
      *(undefined1 *)((int)&psVar6->zErrMsg + 3) = 0;
      pVVar4->pVtab->pModule = pMod->pModule;
      pVVar4->nRef = 1;
      if (sCtx.bDeclared != 0) {
        pVVar4->pNext = pTab->pVTable;
        pTab->pVTable = pVVar4;
        iStack_50 = (int)pTab->nCol;
        if (0 < iStack_50) {
          iVar5 = 0;
          pcVar7 = (code *)(PTR_LAB_00190bb8 + -0x7f24);
          uStack_48 = 0;
          puVar25 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;
          pcVar24 = (code *)(PTR_LAB_00190ba8 + 0x27e4);
          do {
            if (((pTab->aCol[iVar5].colFlags & 4) != 0) &&
               (pcVar8 = (char *)(*pcVar7)(pTab->aCol[iVar5].zName), pcVar8 != (char *)0x0)) {
              uVar9 = (*(code *)PTR_strlen_00190d80)(pcVar8);
              uVar9 = uVar9 & 0x3fffffff;
              if (uVar9 != 0) {
                uVar23 = 0;
                pcVar22 = pcVar8;
LAB_0009d63c:
                pMVar18 = (Module *)&DAT_00000006;
                if (((pcVar22 == (char *)0x0) || (iVar10 = (*pcVar24)(puVar25,pcVar22), iVar10 != 0)
                    ) || ((uVar23 != 0 && (pcVar22[-1] != ' ')))) goto LAB_0009d634;
                if (pcVar22[6] == '\0') {
                  iVar10 = 6;
                }
                else {
                  if (pcVar22[6] != ' ') goto LAB_0009d634;
                  iVar10 = 7;
                }
                if ((int)(iVar10 + uVar23) <= (int)uVar9) {
                  iVar14 = (int)(pcVar8 + uVar23) - uVar23;
                  pcVar12 = pcVar8 + uVar23;
                  do {
                    pcVar11 = pcVar12 + 1;
                    *pcVar12 = *(char *)(iVar14 + iVar10 + uVar23);
                    iVar14 = (int)pcVar11 - uVar23;
                    pcVar12 = pcVar11;
                  } while ((int)(pcVar11 + (iVar10 - (int)pcVar8)) <= (int)uVar9);
                }
                if ((*pcVar22 == '\0') && (uVar23 != 0)) {
                  pcVar8[uVar23 - 1] = '\0';
                }
                uStack_48 = 0x80;
                pTab->aCol[iVar5].colFlags = pTab->aCol[iVar5].colFlags | 2;
                iStack_50 = (int)pTab->nCol;
                goto LAB_0009d6f8;
              }
            }
LAB_0009d7b4:
            pTab->tabFlags = pTab->tabFlags | uStack_48;
LAB_0009d6f8:
            iVar5 = iVar5 + 1;
          } while (iVar5 < iStack_50);
        }
        goto LAB_0009d70c;
      }
      iVar26 = 1;
      pMVar18 = (Module *)pTab->zName;
      pcVar8 = sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);
      pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x1478);
      *pzErr = pcVar8;
      (*pcVar7)(pVVar4);
      pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x2368);
    }
  }
  (*pcVar7)(db);
  zFormat = pMVar3;
  xConstruct = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *)
               ppcVar27;
LAB_0009d418:
  if (pCtx == *(sqlite3_context **)puVar29) {
    return iVar26;
  }
  puVar29 = PTR___stack_chk_fail_00190df8;
  (*(code *)PTR___stack_chk_fail_00190df8)();
  if ((char **)xConstruct == (char **)0x0) {
    p_Var28 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *)
              0x0;
  }
  else {
    uVar9 = (**(code **)(puVar29 + 0xf34e4))(xConstruct);
    p_Var28 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *)
              (uVar9 & 0x3fffffff);
  }
  if (pMVar18 == (Module *)0x0) {
    uVar9 = 0;
  }
  else {
    uVar9 = (**(code **)(puVar29 + 0xf34e4))(pMVar18);
    uVar9 = uVar9 & 0x3fffffff;
  }
  db_00 = pCtx->pOut->db;
  ppcVar27 = (char **)sqlite3MPrintf(db_00,(char *)(*(int *)(puVar29 + 0xf30c0) + -0x56e8),
                                     xConstruct);
  if (ppcVar27 != (char **)0x0) {
    if (in_stack_ffffff98 != (sqlite3_vtab **)0x0) {
      xConstruct = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr
                    *)ppcVar27;
    }
    uVar23 = (**(code **)(puVar29 + 0xf34e4))(ppcVar27);
    if (in_stack_ffffff98 != (sqlite3_vtab **)0x0) {
      p_Var28 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *
                )(uVar23 & 0x3fffffff);
    }
    iVar26 = (*(code *)(*(int *)(puVar29 + 0xf330c) + 0x924))(db_00);
    if (iVar26 == 0) {
      iVar5 = 7;
    }
    else {
      (**(code **)(puVar29 + 0xf3590))(iVar26,pMVar18,uVar9);
      psVar20 = zFormat->pModule;
      iVar10 = *(int *)(puVar29 + 0xf330c);
      if (psVar20 != (sqlite3_module *)0x0) {
        iVar5 = *(int *)(puVar29 + 0xf32f8);
        do {
          psVar15 = (sqlite3_module *)psVar20->xBestIndex;
          psVar13 = psVar15;
          psVar30 = psVar20;
          if (psVar15 == (sqlite3_module *)0x0) {
            psVar13 = (sqlite3_module *)0x0;
            pMVar3 = zFormat;
          }
          else {
            do {
              if (psVar30->xCreate < psVar13->xCreate) {
                psVar30 = psVar13;
              }
              pp_Var1 = &psVar13->xBestIndex;
              psVar13 = (sqlite3_module *)*pp_Var1;
            } while ((sqlite3_module *)*pp_Var1 != (sqlite3_module *)0x0);
            psVar13 = (sqlite3_module *)psVar30->xBestIndex;
            if (psVar30 == psVar20) {
              iVar26 = FUN_0009dbc4();
              return iVar26;
            }
            while (psVar16 = psVar15, pMVar3 = (Module *)&psVar20->xBestIndex, psVar20 = psVar30,
                  psVar16 != psVar30) {
              psVar20 = psVar16;
              psVar15 = (sqlite3_module *)psVar16->xBestIndex;
            }
          }
          pMVar3->pModule = psVar13;
          p_Var17 = psVar20->xCreate;
          p_Var21 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr
                     *)(uVar23 & 0x3fffffff);
          ppcVar19 = ppcVar27;
          if ((*(byte *)(iVar5 + -0x3d18 + (uint)(byte)*p_Var17) & 0x46) != 0) {
            p_Var21 = p_Var28;
            ppcVar19 = (char **)xConstruct;
          }
          if (psVar20->xConnect != p_Var21) {
            iVar26 = (**(code **)(puVar29 + 0xf35a0))
                               (p_Var17 + (int)(p_Var21 + (iVar26 - (int)pMVar18)),
                                p_Var17 + ((int)psVar20->xConnect - (int)pMVar18) + iVar26,
                                uVar9 - (int)(p_Var17 + ((int)psVar20->xConnect - (int)pMVar18)));
            return iVar26;
          }
          (**(code **)(puVar29 + 0xf3590))(p_Var17 + (iVar26 - (int)pMVar18),ppcVar19,p_Var21);
          (*(code *)(iVar10 + -0x2368))(db_00,psVar20);
          psVar20 = zFormat->pModule;
        } while (psVar20 != (sqlite3_module *)0x0);
      }
      setResultStrOrError(pCtx,(char *)&pCtx->isError,iVar26,0xff,(_func_void_void_ptr *)0x1,
                          (sqlite3_context *)0xffffffff);
      iVar5 = 0;
      (*(code *)(iVar10 + -0x2368))(db_00,iVar26);
    }
    (**(code **)(puVar29 + 0xf30d0))(ppcVar27);
    return iVar5;
  }
  return 7;
LAB_0009d634:
  uVar23 = uVar23 + 1;
  pcVar22 = pcVar22 + 1;
  if (uVar23 == uVar9) goto LAB_0009d7b4;
  goto LAB_0009d63c;
}



int FUN_0009d360(int param_1,undefined4 *param_2,int *param_3,code *param_4,undefined4 *param_5)

{
  int iVar1;
  int *piVar2;
  undefined1 *puVar3;
  code *pcVar4;
  undefined4 *puVar5;
  char *pcVar6;
  uint uVar7;
  int iVar8;
  char *pcVar9;
  uint uVar11;
  int iVar12;
  int iVar13;
  int iVar14;
  int iVar15;
  byte *pbVar16;
  int *piVar17;
  int *piVar18;
  int *piVar19;
  uint uVar20;
  char *pcVar21;
  uint uVar22;
  code *pcVar23;
  undefined *puVar24;
  undefined4 uVar25;
  code *pcVar26;
  int iVar27;
  undefined *puVar28;
  int iVar29;
  int *in_stack_ffffff98;
  int local_50;
  uint local_48;
  int *local_40;
  int *local_3c;
  undefined4 *local_38;
  undefined4 local_34;
  int local_30;
  int *local_2c;
  char *pcVar10;
  
  puVar28 = PTR___stack_chk_guard_00190e24;
  iVar1 = *(int *)(param_1 + 0x168);
  pcVar26 = (code *)param_2[0xf];
  local_2c = *(int **)PTR___stack_chk_guard_00190e24;
  uVar25 = param_2[0xe];
  local_40 = (int *)0x0;
  for (; iVar1 != 0; iVar1 = *(int *)(iVar1 + 8)) {
    if (*(undefined4 **)(iVar1 + 4) == param_2) {
      iVar1 = 6;
      piVar18 = (int *)*param_2;
      piVar17 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c);
      uVar25 = FUN_0009d164(param_1);
      *param_5 = uVar25;
      goto LAB_0009d418;
    }
  }
  piVar17 = (int *)*param_2;
  piVar18 = param_3;
  pcVar4 = param_4;
  piVar2 = (int *)(*(code *)(PTR_LAB_00190ba8 + 0xfc4))(param_1);
  if (piVar2 == (int *)0x0) {
    iVar1 = 7;
    param_4 = pcVar4;
    goto LAB_0009d418;
  }
  piVar17 = (int *)(*(code *)(PTR_LAB_00190ba8 + -0x2940))(0,0x1c);
  if (piVar17 == (int *)0x0) {
    if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {
      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);
    }
    iVar1 = 7;
    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(param_1);
    piVar17 = piVar2;
    param_4 = pcVar4;
    goto LAB_0009d418;
  }
  *piVar17 = param_1;
  piVar17[1] = (int)param_3;
  if (param_2[0x12] == 0) {
    iVar1 = -16000000;
  }
  else {
    iVar1 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(param_1);
    iVar1 = iVar1 << 4;
  }
  in_stack_ffffff98 = piVar17 + 2;
  *(undefined4 *)(param_2[0xf] + 4) = *(undefined4 *)(*(int *)(param_1 + 0x10) + iVar1);
  local_30 = 0;
  local_34 = *(undefined4 *)(param_1 + 0x168);
  *(int ***)(param_1 + 0x168) = &local_3c;
  local_3c = piVar17;
  local_38 = param_2;
  iVar1 = (*param_4)(param_1,param_3[2],uVar25,pcVar26,in_stack_ffffff98,&local_40);
  *(undefined4 *)(param_1 + 0x168) = local_34;
  if (iVar1 == 7) {
    if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {
      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);
    }
LAB_0009d750:
    if (local_40 == (int *)0x0) {
      piVar18 = piVar2;
      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);
      *param_5 = uVar25;
    }
    else {
      piVar18 = local_40;
      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);
      puVar24 = PTR_sqlite3_free_0019096c;
      *param_5 = uVar25;
      (*(code *)puVar24)(local_40);
    }
    pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);
    (*pcVar4)(param_1,piVar17);
  }
  else {
    if (iVar1 != 0) goto LAB_0009d750;
    puVar3 = (undefined1 *)piVar17[2];
    piVar18 = local_40;
    if (puVar3 == (undefined1 *)0x0) {
LAB_0009d70c:
      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);
    }
    else {
      *puVar3 = 0;
      puVar3[1] = 0;
      puVar3[2] = 0;
      puVar3[3] = 0;
      puVar3[4] = 0;
      puVar3[5] = 0;
      puVar3[6] = 0;
      puVar3[7] = 0;
      puVar3[8] = 0;
      puVar3[9] = 0;
      puVar3[10] = 0;
      puVar3[0xb] = 0;
      *(int *)piVar17[2] = *param_3;
      piVar17[3] = 1;
      if (local_30 != 0) {
        piVar17[6] = param_2[0x10];
        param_2[0x10] = piVar17;
        local_50 = (int)*(short *)((int)param_2 + 0x2a);
        if (0 < local_50) {
          iVar27 = 0;
          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);
          local_48 = 0;
          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;
          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);
          do {
            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);
            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&
               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {
              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);
              uVar7 = uVar7 & 0x3fffffff;
              if (uVar7 != 0) {
                uVar22 = 0;
                pcVar21 = pcVar6;
LAB_0009d63c:
                piVar18 = (int *)&DAT_00000006;
                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))
                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;
                if (pcVar21[6] == '\0') {
                  iVar8 = 6;
                }
                else {
                  if (pcVar21[6] != ' ') goto LAB_0009d634;
                  iVar8 = 7;
                }
                if ((int)(iVar8 + uVar22) <= (int)uVar7) {
                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;
                  pcVar10 = pcVar6 + uVar22;
                  do {
                    pcVar9 = pcVar10 + 1;
                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);
                    iVar13 = (int)pcVar9 - uVar22;
                    pcVar10 = pcVar9;
                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);
                }
                if ((*pcVar21 == '\0') && (uVar22 != 0)) {
                  pcVar6[uVar22 - 1] = '\0';
                }
                local_48 = 0x80;
                iVar8 = param_2[1] + iVar27 * 0x10;
                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;
                local_50 = (int)*(short *)((int)param_2 + 0x2a);
                goto LAB_0009d6f8;
              }
            }
LAB_0009d7b4:
            param_2[9] = param_2[9] | local_48;
LAB_0009d6f8:
            iVar27 = iVar27 + 1;
          } while (iVar27 < local_50);
        }
        goto LAB_0009d70c;
      }
      iVar1 = 1;
      piVar18 = (int *)*param_2;
      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);
      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x1478);
      *param_5 = uVar25;
      (*pcVar4)(piVar17);
      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);
    }
  }
  (*pcVar4)(param_1);
  piVar17 = piVar2;
  param_4 = pcVar26;
LAB_0009d418:
  if (local_2c == *(int **)puVar28) {
    return iVar1;
  }
  piVar2 = local_2c;
  puVar28 = PTR___stack_chk_fail_00190df8;
  (*(code *)PTR___stack_chk_fail_00190df8)();
  if (param_4 == (code *)0x0) {
    uVar7 = 0;
  }
  else {
    uVar7 = (**(code **)(puVar28 + 0xf34e4))(param_4);
    uVar7 = uVar7 & 0x3fffffff;
  }
  if (piVar18 == (int *)0x0) {
    uVar22 = 0;
  }
  else {
    uVar22 = (**(code **)(puVar28 + 0xf34e4))(piVar18);
    uVar22 = uVar22 & 0x3fffffff;
  }
  uVar25 = *(undefined4 *)(*piVar2 + 0x20);
  pcVar26 = (code *)FUN_0009d164(uVar25,*(int *)(puVar28 + 0xf30c0) + -0x56e8,param_4);
  if (pcVar26 == (code *)0x0) {
    return 7;
  }
  if (in_stack_ffffff98 != (int *)0x0) {
    param_4 = pcVar26;
  }
  uVar11 = (**(code **)(puVar28 + 0xf34e4))(pcVar26);
  if (in_stack_ffffff98 != (int *)0x0) {
    uVar7 = uVar11 & 0x3fffffff;
  }
  iVar1 = (*(code *)(*(int *)(puVar28 + 0xf330c) + 0x924))(uVar25);
  if (iVar1 == 0) {
    iVar27 = 7;
  }
  else {
    (**(code **)(puVar28 + 0xf3590))(iVar1,piVar18,uVar22);
    iVar27 = *piVar17;
    iVar8 = *(int *)(puVar28 + 0xf330c);
    if (iVar27 != 0) {
      iVar13 = *(int *)(puVar28 + 0xf32f8);
      do {
        iVar14 = *(int *)(iVar27 + 0xc);
        iVar12 = iVar14;
        iVar29 = iVar27;
        if (iVar14 == 0) {
          iVar12 = 0;
          piVar19 = piVar17;
LAB_0009da24:
          *piVar19 = iVar12;
        }
        else {
          do {
            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {
              iVar29 = iVar12;
            }
            piVar19 = (int *)(iVar12 + 0xc);
            iVar12 = *piVar19;
          } while (*piVar19 != 0);
          iVar12 = *(int *)(iVar29 + 0xc);
          if (iVar29 != iVar27) {
            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,
                  iVar15 != iVar29) {
              iVar27 = iVar15;
              iVar14 = *(int *)(iVar15 + 0xc);
            }
            goto LAB_0009da24;
          }
          *piVar17 = iVar12;
          iVar27 = iVar29;
        }
        pbVar16 = *(byte **)(iVar27 + 4);
        uVar20 = uVar11 & 0x3fffffff;
        pcVar4 = pcVar26;
        if ((*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0) {
          uVar20 = uVar7;
          pcVar4 = param_4;
        }
        if (*(uint *)(iVar27 + 8) != uVar20) {
          (**(code **)(puVar28 + 0xf35a0))
                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),
                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,
                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));
          uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;
          *(undefined1 *)(iVar1 + uVar22) = 0;
        }
        (**(code **)(puVar28 + 0xf3590))(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20);
        (*(code *)(iVar8 + -0x2368))(uVar25,iVar27);
        iVar27 = *piVar17;
      } while (iVar27 != 0);
    }
    FUN_0007ec40(piVar2,piVar2 + 5,iVar1,0xffffffff,1,0xffffffff);
    iVar27 = 0;
    (*(code *)(iVar8 + -0x2368))(uVar25,iVar1);
  }
  (**(code **)(puVar28 + 0xf30d0))(pcVar26);
  return iVar27;
LAB_0009d634:
  uVar22 = uVar22 + 1;
  pcVar21 = pcVar21 + 1;
  if (uVar22 == uVar7) goto LAB_0009d7b4;
  goto LAB_0009d63c;
}


lui gp,0x10
addiu gp,gp,-0x4a40
addu gp,gp,t9
addiu sp,sp,-0x78
sw s5,0x64(sp)
sw s4,0x60(sp)
or s4,a3,zero
sw s3,0x5c(sp)
or s3,a0,zero
sw s2,0x58(sp)
sw s1,0x54(sp)
or s1,a2,zero
sw s0,0x50(sp)
or s0,a1,zero
sw gp,0x18(sp)
sw ra,0x74(sp)
sw s8,0x70(sp)
sw s7,0x6c(sp)
sw s6,0x68(sp)
lw s5,-0x7afc(gp)
lw v0,0x168(a0)
lw s2,0x88(sp)
lw s7,0x3c(a1)
lw v1,0x0(s5)
lw s6,0x38(a1)
sw zero,0x38(sp)
sw v1,0x4c(sp)
bne v0,zero,0x0009d3e8
_lw t9,-0x7d78(gp)
b 0x0009d45c
_or a0,s3,zero
lw v0,0x8(v0)
beq v0,zero,0x0009d458
_lw t9,-0x7d78(gp)
lw v1,0x4(v0)
bne v1,s0,0x0009d3dc
_lw a1,-0x7fc4(gp)
or a0,s3,zero
lw t9,-0x7d5c(gp)
li s6,0x6
lw a2,0x0(s0)
addiu t9,t9,-0x2e9c
bal 0x0009d164
_addiu a1,a1,-0x548c
lw gp,0x18(sp)
sw v0,0x0(s2)
lw a0,0x4c(sp)
or v0,s6,zero
lw v1,0x0(s5)
bne a0,v1,0x0009d890
_lw ra,0x74(sp)
lw s8,0x70(sp)
lw s7,0x6c(sp)
lw s6,0x68(sp)
lw s5,0x64(sp)
lw s4,0x60(sp)
lw s3,0x5c(sp)
lw s2,0x58(sp)
lw s1,0x54(sp)
lw s0,0x50(sp)
jr ra
_addiu sp,sp,0x78
or a0,s3,zero
addiu t9,t9,0xfc4
jalr t9
_lw a1,0x0(s0)
lw gp,0x18(sp)
beq v0,zero,0x0009d718
_sw v0,0x24(sp)
lw t9,-0x7d78(gp)
li a1,0x1c
addiu t9,t9,-0x2940
jalr t9
_or a0,zero,zero
lw gp,0x18(sp)
beq v0,zero,0x0009d7f4
_or s8,v0,zero
sw s3,0x0(v0)
sw s1,0x4(v0)
lw a1,0x48(s0)
beq a1,zero,0x0009d884
_lw t9,-0x7d7c(gp)
addiu t9,t9,-0x31a4
jalr t9
_or a0,s3,zero
sll v0,v0,0x4
lw a0,0x10(s3)
addiu v1,s8,0x8
lw a1,0x3c(s0)
or a2,s6,zero
or a3,s7,zero
addu v0,a0,v0
or t9,s4,zero
or a0,s3,zero
lw v0,0x0(v0)
sw s8,0x3c(sp)
sw v0,0x4(a1)
addiu v0,sp,0x38
sw v1,0x10(sp)
addiu v1,sp,0x3c
sw v0,0x14(sp)
sw s0,0x40(sp)
sw zero,0x48(sp)
lw v0,0x168(s3)
sw v1,0x168(s3)
lw a1,0x8(s1)
jalr t9
_sw v0,0x44(sp)
li v1,0x7
or s6,v0,zero
lw v0,0x44(sp)
lw gp,0x18(sp)
beq s6,v1,0x0009d720
_sw v0,0x168(s3)
bne s6,zero,0x0009d750
_lw a2,0x38(sp)
lw v0,0x8(s8)
beq v0,zero,0x0009d70c
_nop
sb zero,0x0(v0)
sb zero,0x1(v0)
sb zero,0x2(v0)
sb zero,0x3(v0)
sb zero,0x4(v0)
sb zero,0x5(v0)
sb zero,0x6(v0)
sb zero,0x7(v0)
sb zero,0x8(v0)
sb zero,0x9(v0)
sb zero,0xa(v0)
sb zero,0xb(v0)
lw v0,0x8(s8)
lw v1,0x0(s1)
sw v1,0x0(v0)
li v0,0x1
sw v0,0xc(s8)
lw v0,0x48(sp)
beq v0,zero,0x0009d840
_lw a1,-0x7fc4(gp)
lw v0,0x40(s0)
sw v0,0x18(s8)
sw s8,0x40(s0)
lh v0,0x2a(s0)
blez v0,0x0009d70c
_sw v0,0x28(sp)
lw v0,-0x7d68(gp)
or s7,zero,zero
lw s2,-0x7fc4(gp)
li s4,0x20
lw s1,-0x7d78(gp)
addiu v0,v0,-0x7f24
sw zero,0x30(sp)
addiu s2,s2,-0x5410
addiu s1,s1,0x27e4
sw v0,0x34(sp)
lw v0,0x4(s0)
sll v1,s7,0x4
sw v1,0x2c(sp)
addu v0,v0,v1
lbu v1,0xf(v0)
andi v1,v1,0x4
beq v1,zero,0x0009d7b4
_lw t9,0x34(sp)
jalr t9
_lw a0,0x0(v0)
lw gp,0x18(sp)
beq v0,zero,0x0009d7b4
_or s8,v0,zero
lw t9,-0x7ba0(gp)
jalr t9
_or a0,v0,zero
ext t3,v0,0x0,0x1e
beq t3,zero,0x0009d7b4
_lw gp,0x18(sp)
or t2,zero,zero
b 0x0009d63c
_or t1,s8,zero
lb v0,-0x1(t1)
beq v0,s4,0x0009d664
_nop
addiu t2,t2,0x1
beq t2,t3,0x0009d7b4
_addiu t1,t1,0x1
beq t1,zero,0x0009d630
_li a2,0x6
or a1,t1,zero
or t9,s1,zero
jalr t9
_or a0,s2,zero
bne v0,zero,0x0009d630
_lw gp,0x18(sp)
bne t2,zero,0x0009d624
_nop
lb v0,0x6(t1)
beq v0,zero,0x0009d7c8
_nop
bne v0,s4,0x0009d634
_addiu t2,t2,0x1
addiu t2,t2,-0x1
li a0,0x7
addu a1,a0,t2
slt v0,t3,a1
bne v0,zero,0x0009d6b8
_addu v0,s8,t2
subu a0,a0,s8
subu v1,v0,t2
addiu v0,v0,0x1
addu v1,v1,a1
lb v1,0x0(v1)
sb v1,-0x1(v0)
addu v1,a0,v0
slt v1,t3,v1
beq v1,zero,0x0009d698
_subu v1,v0,t2
lb v0,0x0(t1)
bne v0,zero,0x0009d6d4
_li v1,0x80
beq t2,zero,0x0009d6d4
_addu t2,s8,t2
sb zero,-0x1(t2)
li v1,0x80
lw v0,0x4(s0)
sw v1,0x30(sp)
lw v1,0x2c(sp)
addu v0,v0,v1
lbu v1,0xf(v0)
ori v1,v1,0x2
sb v1,0xf(v0)
lh v0,0x2a(s0)
sw v0,0x28(sp)
lw v0,0x28(sp)
addiu s7,s7,0x1
slt v0,s7,v0
bne v0,zero,0x0009d5cc
_nop
lw s0,-0x7d78(gp)
b 0x0009d79c
_addiu s0,s0,-0x2368
b 0x0009d418
_li s6,0x7
lw v0,0x50(s3)
lui v1,0xff
ori v1,v1,0xff00
and v0,v0,v1
bne v0,zero,0x0009d750
_lw a2,0x38(sp)
lw t9,-0x7d78(gp)
addiu t9,t9,0x82c
jalr t9
_or a0,s3,zero
lw gp,0x18(sp)
lw a2,0x38(sp)
beq a2,zero,0x0009d7d0
_lw t9,-0x7d5c(gp)
lw a1,-0x7fc4(gp)
or a0,s3,zero
addiu t9,t9,-0x2e9c
bal 0x0009d164
_addiu a1,a1,-0x5dfc
lw gp,0x18(sp)
lw a0,0x38(sp)
lw t9,-0x7fb4(gp)
jalr t9
_sw v0,0x0(s2)
lw gp,0x18(sp)
lw s0,-0x7d78(gp)
or a1,s8,zero
addiu s0,s0,-0x2368
or t9,s0,zero
jalr t9
_or a0,s3,zero
lw a1,0x24(sp)
or t9,s0,zero
jalr t9
_or a0,s3,zero
b 0x0009d418
_lw gp,0x18(sp)
lw v0,0x24(s0)
lw v1,0x30(sp)
or v0,v0,v1
b 0x0009d6f8
_sw v0,0x24(s0)
b 0x0009d680
_li a0,0x6
lw a1,-0x7fc4(gp)
or a0,s3,zero
lw a2,0x24(sp)
addiu t9,t9,-0x2e9c
bal 0x0009d164
_addiu a1,a1,-0x5460
lw gp,0x18(sp)
b 0x0009d784
_sw v0,0x0(s2)
lw v0,0x50(s3)
lui v1,0xff
ori v1,v1,0xff00
and v0,v0,v1
bne v0,zero,0x0009d824
_lw t9,-0x7d78(gp)
lw t9,-0x7d78(gp)
addiu t9,t9,0x82c
jalr t9
_or a0,s3,zero
lw gp,0x18(sp)
lw t9,-0x7d78(gp)
or a0,s3,zero
lw a1,0x24(sp)
addiu t9,t9,-0x2368
jalr t9
_li s6,0x7
b 0x0009d418
_lw gp,0x18(sp)
or a0,s3,zero
lw t9,-0x7d5c(gp)
li s6,0x1
lw a2,0x0(s0)
addiu t9,t9,-0x2e9c
bal 0x0009d164
_addiu a1,a1,-0x5440
or a0,s8,zero
lw gp,0x18(sp)
lw t9,-0x7d78(gp)
addiu t9,t9,-0x1478
jalr t9
_sw v0,0x0(s2)
lw gp,0x18(sp)
lw s0,-0x7d78(gp)
b 0x0009d79c
_addiu s0,s0,-0x2368
lui v0,0xff0b
b 0x0009d4b8
_ori v0,v0,0xdc00
lw t9,-0x7b28(gp)
jalr t9
_nop
lui gp,0x10
addiu gp,gp,-0x4f7c
addu gp,gp,t9
addiu sp,sp,-0x60
sw gp,0x18(sp)
sw s5,0x4c(sp)
or s5,a1,zero
sw s4,0x48(sp)
or s4,a2,zero
sw s2,0x40(sp)
or s2,a3,zero
sw s0,0x38(sp)
sw ra,0x5c(sp)
sw s8,0x58(sp)
sw s7,0x54(sp)
sw s6,0x50(sp)
sw s3,0x44(sp)
sw s1,0x3c(sp)
sw a0,0x60(sp)
beq a3,zero,0x0009db7c
_lw s0,0x70(sp)
lw t9,-0x7ba0(gp)
jalr t9
_or a0,a3,zero
lw gp,0x18(sp)
beq s4,zero,0x0009db84
_ext s7,v0,0x0,0x1e
lw t9,-0x7ba0(gp)
jalr t9
_or a0,s4,zero
lw gp,0x18(sp)
ext s1,v0,0x0,0x1e
lw v0,0x60(sp)
or a2,s2,zero
lw a1,-0x7fc4(gp)
lw t9,-0x7d5c(gp)
lw v0,0x0(v0)
addiu a1,a1,-0x56e8
addiu t9,t9,-0x2e9c
lw s3,0x20(v0)
bal 0x0009d164
_or a0,s3,zero
lw gp,0x18(sp)
beq v0,zero,0x0009db8c
_or s6,v0,zero
lw t9,-0x7ba0(gp)
or a0,v0,zero
jalr t9
_movn s2,v0,s0
or a0,s3,zero
lw a3,0x4(s5)
ext v0,v0,0x0,0x1e
lw gp,0x18(sp)
sw v0,0x34(sp)
mul v1,v0,a3
movn s7,v0,s0
lw t9,-0x7d78(gp)
addiu t9,t9,0x924
addu a3,v1,s1
addiu a3,a3,0x1
jalr t9
_sra a2,a3,0x1f
lw gp,0x18(sp)
beq v0,zero,0x0009db60
_or s0,v0,zero
lw t9,-0x7af4(gp)
or a2,s1,zero
or a1,s4,zero
jalr t9
_or a0,v0,zero
lw gp,0x18(sp)
lw a3,0x0(s5)
lw v0,-0x7d78(gp)
addiu v0,v0,-0x2368
beq a3,zero,0x0009dad8
_sw v0,0x20(sp)
lw v0,-0x7d8c(gp)
addiu v0,v0,-0x3d18
sw v0,0x24(sp)
lw a0,0xc(a3)
beq a0,zero,0x0009db70
_or s8,a3,zero
or v0,a0,zero
lw a1,0x4(v0)
lw a2,0x4(s8)
sltu a1,a2,a1
movn s8,v0,a1
lw v0,0xc(v0)
bne v0,zero,0x0009d9e8
_nop
bne s8,a3,0x0009da1c
_lw v0,0xc(s8)
b 0x0009dbc4
_or a3,s5,zero
or a3,a0,zero
lw a0,0xc(a0)
bne a0,s8,0x0009da14
_addiu a3,a3,0xc
sw v0,0x0(a3)
lw a0,0x4(s8)
lw v1,0x24(sp)
lbu v0,0x0(a0)
addu v0,v1,v0
lbu v0,0x0(v0)
andi v0,v0,0x46
beq v0,zero,0x0009db68
_lw t0,0x34(sp)
or t0,s7,zero
or t1,s2,zero
lw a1,0x8(s8)
beq a1,t0,0x0009daa8
_subu a3,a0,s4
addu a1,a1,a3
lw t9,-0x7ae4(gp)
addu a0,t0,a3
sw t1,0x30(sp)
subu a2,s1,a1
sw a3,0x2c(sp)
addu a1,s0,a1
sw t0,0x28(sp)
jalr t9
_addu a0,s0,a0
lw v0,0x8(s8)
lw t0,0x28(sp)
lw t1,0x30(sp)
subu s1,s1,v0
lw a3,0x2c(sp)
lw gp,0x18(sp)
addu s1,s1,t0
addu v0,s0,s1
sb zero,0x0(v0)
lw t9,-0x7af4(gp)
addu a0,s0,a3
or a1,t1,zero
jalr t9
_or a2,t0,zero
or a1,s8,zero
lw t9,0x20(sp)
jalr t9
_or a0,s3,zero
lw a3,0x0(s5)
bne a3,zero,0x0009d9d8
_lw gp,0x18(sp)
li v0,-0x1
lw t9,-0x7d60(gp)
lw a0,0x60(sp)
li a3,-0x1
sw v0,0x14(sp)
or a2,s0,zero
lw v0,0x60(sp)
addiu t9,t9,-0x13c0
addiu a1,v0,0x14
li v0,0x1
bal 0x0007ec40
_sw v0,0x10(sp)
or a1,s0,zero
lw t9,0x20(sp)
or a0,s3,zero
jalr t9
_or s0,zero,zero
lw gp,0x18(sp)
lw t9,-0x7fb4(gp)
jalr t9
_or a0,s6,zero
or v0,s0,zero
lw ra,0x5c(sp)
lw s8,0x58(sp)
lw s7,0x54(sp)
lw s6,0x50(sp)
lw s5,0x4c(sp)
lw s4,0x48(sp)
lw s3,0x44(sp)
lw s2,0x40(sp)
lw s1,0x3c(sp)
lw s0,0x38(sp)
jr ra
_addiu sp,sp,0x60
b 0x0009db20
_li s0,0x7
b 0x0009da50
_or t1,s6,zero
or v0,zero,zero
b 0x0009da24
_or a3,s5,zero
bne s4,zero,0x0009d908
_or s7,zero,zero
b 0x0009d91c
_or s1,zero,zero
lw ra,0x5c(sp)
li s0,0x7
lw s8,0x58(sp)
or v0,s0,zero
lw s7,0x54(sp)
lw s6,0x50(sp)
lw s5,0x4c(sp)
lw s4,0x48(sp)
lw s3,0x44(sp)
lw s2,0x40(sp)
lw s1,0x3c(sp)
lw s0,0x38(sp)
jr ra
_addiu sp,sp,0x60
b 0x0009da28
_sw v0,0x0(a3)
(translation_unit "int FUN_0009d360(int param_1,undefined4 *param_2,int *param_3,code *param_4,undefined4 *param_5)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined1 *puVar3;\n  code *pcVar4;\n  undefined4 *puVar5;\n  char *pcVar6;\n  uint uVar7;\n  int iVar8;\n  char *pcVar9;\n  uint uVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  byte *pbVar16;\n  int *piVar17;\n  int *piVar18;\n  int *piVar19;\n  uint uVar20;\n  char *pcVar21;\n  uint uVar22;\n  code *pcVar23;\n  undefined *puVar24;\n  undefined4 uVar25;\n  code *pcVar26;\n  int iVar27;\n  undefined *puVar28;\n  int iVar29;\n  int *in_stack_ffffff98;\n  int local_50;\n  uint local_48;\n  int *local_40;\n  int *local_3c;\n  undefined4 *local_38;\n  undefined4 local_34;\n  int local_30;\n  int *local_2c;\n  char *pcVar10;\n  \n  puVar28 = PTR___stack_chk_guard_00190e24;\n  iVar1 = *(int *)(param_1 + 0x168);\n  pcVar26 = (code *)param_2[0xf];\n  local_2c = *(int **)PTR___stack_chk_guard_00190e24;\n  uVar25 = param_2[0xe];\n  local_40 = (int *)0x0;\n  for (; iVar1 != 0; iVar1 = *(int *)(iVar1 + 8)) {\n    if (*(undefined4 **)(iVar1 + 4) == param_2) {\n      iVar1 = 6;\n      piVar18 = (int *)*param_2;\n      piVar17 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c);\n      uVar25 = FUN_0009d164(param_1);\n      *param_5 = uVar25;\n      goto LAB_0009d418;\n    }\n  }\n  piVar17 = (int *)*param_2;\n  piVar18 = param_3;\n  pcVar4 = param_4;\n  piVar2 = (int *)(*(code *)(PTR_LAB_00190ba8 + 0xfc4))(param_1);\n  if (piVar2 == (int *)0x0) {\n    iVar1 = 7;\n    param_4 = pcVar4;\n    goto LAB_0009d418;\n  }\n  piVar17 = (int *)(*(code *)(PTR_LAB_00190ba8 + -0x2940))(0,0x1c);\n  if (piVar17 == (int *)0x0) {\n    if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }\n    iVar1 = 7;\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(param_1);\n    piVar17 = piVar2;\n    param_4 = pcVar4;\n    goto LAB_0009d418;\n  }\n  *piVar17 = param_1;\n  piVar17[1] = (int)param_3;\n  if (param_2[0x12] == 0) {\n    iVar1 = -16000000;\n  }\n  else {\n    iVar1 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(param_1);\n    iVar1 = iVar1 << 4;\n  }\n  in_stack_ffffff98 = piVar17 + 2;\n  *(undefined4 *)(param_2[0xf] + 4) = *(undefined4 *)(*(int *)(param_1 + 0x10) + iVar1);\n  local_30 = 0;\n  local_34 = *(undefined4 *)(param_1 + 0x168);\n  *(int ***)(param_1 + 0x168) = &local_3c;\n  local_3c = piVar17;\n  local_38 = param_2;\n  iVar1 = (*param_4)(param_1,param_3[2],uVar25,pcVar26,in_stack_ffffff98,&local_40);\n  *(undefined4 *)(param_1 + 0x168) = local_34;\n  if (iVar1 == 7) {\n    if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }\nLAB_0009d750:\n    if (local_40 == (int *)0x0) {\n      piVar18 = piVar2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);\n      *param_5 = uVar25;\n    }\n    else {\n      piVar18 = local_40;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);\n      puVar24 = PTR_sqlite3_free_0019096c;\n      *param_5 = uVar25;\n      (*(code *)puVar24)(local_40);\n    }\n    pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    (*pcVar4)(param_1,piVar17);\n  }\n  else {\n    if (iVar1 != 0) goto LAB_0009d750;\n    puVar3 = (undefined1 *)piVar17[2];\n    piVar18 = local_40;\n    if (puVar3 == (undefined1 *)0x0) {\nLAB_0009d70c:\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n    else {\n      *puVar3 = 0;\n      puVar3[1] = 0;\n      puVar3[2] = 0;\n      puVar3[3] = 0;\n      puVar3[4] = 0;\n      puVar3[5] = 0;\n      puVar3[6] = 0;\n      puVar3[7] = 0;\n      puVar3[8] = 0;\n      puVar3[9] = 0;\n      puVar3[10] = 0;\n      puVar3[0xb] = 0;\n      *(int *)piVar17[2] = *param_3;\n      piVar17[3] = 1;\n      if (local_30 != 0) {\n        piVar17[6] = param_2[0x10];\n        param_2[0x10] = piVar17;\n        local_50 = (int)*(short *)((int)param_2 + 0x2a);\n        if (0 < local_50) {\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }\n        goto LAB_0009d70c;\n      }\n      iVar1 = 1;\n      piVar18 = (int *)*param_2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x1478);\n      *param_5 = uVar25;\n      (*pcVar4)(piVar17);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n  }\n  (*pcVar4)(param_1);\n  piVar17 = piVar2;\n  param_4 = pcVar26;\nLAB_0009d418:\n  if (local_2c == *(int **)puVar28) {\n    return iVar1;\n  }\n  piVar2 = local_2c;\n  puVar28 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  if (param_4 == (code *)0x0) {\n    uVar7 = 0;\n  }\n  else {\n    uVar7 = (**(code **)(puVar28 + 0xf34e4))(param_4);\n    uVar7 = uVar7 & 0x3fffffff;\n  }\n  if (piVar18 == (int *)0x0) {\n    uVar22 = 0;\n  }\n  else {\n    uVar22 = (**(code **)(puVar28 + 0xf34e4))(piVar18);\n    uVar22 = uVar22 & 0x3fffffff;\n  }\n  uVar25 = *(undefined4 *)(*piVar2 + 0x20);\n  pcVar26 = (code *)FUN_0009d164(uVar25,*(int *)(puVar28 + 0xf30c0) + -0x56e8,param_4);\n  if (pcVar26 == (code *)0x0) {\n    return 7;\n  }\n  if (in_stack_ffffff98 != (int *)0x0) {\n    param_4 = pcVar26;\n  }\n  uVar11 = (**(code **)(puVar28 + 0xf34e4))(pcVar26);\n  if (in_stack_ffffff98 != (int *)0x0) {\n    uVar7 = uVar11 & 0x3fffffff;\n  }\n  iVar1 = (*(code *)(*(int *)(puVar28 + 0xf330c) + 0x924))(uVar25);\n  if (iVar1 == 0) {\n    iVar27 = 7;\n  }\n  else {\n    (**(code **)(puVar28 + 0xf3590))(iVar1,piVar18,uVar22);\n    iVar27 = *piVar17;\n    iVar8 = *(int *)(puVar28 + 0xf330c);\n    if (iVar27 != 0) {\n      iVar13 = *(int *)(puVar28 + 0xf32f8);\n      do {\n        iVar14 = *(int *)(iVar27 + 0xc);\n        iVar12 = iVar14;\n        iVar29 = iVar27;\n        if (iVar14 == 0) {\n          iVar12 = 0;\n          piVar19 = piVar17;\nLAB_0009da24:\n          *piVar19 = iVar12;\n        }\n        else {\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }\n        pbVar16 = *(byte **)(iVar27 + 4);\n        uVar20 = uVar11 & 0x3fffffff;\n        pcVar4 = pcVar26;\n        if ((*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0) {\n          uVar20 = uVar7;\n          pcVar4 = param_4;\n        }\n        if (*(uint *)(iVar27 + 8) != uVar20) {\n          (**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));\n          uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;\n          *(undefined1 *)(iVar1 + uVar22) = 0;\n        }\n        (**(code **)(puVar28 + 0xf3590))(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20);\n        (*(code *)(iVar8 + -0x2368))(uVar25,iVar27);\n        iVar27 = *piVar17;\n      } while (iVar27 != 0);\n    }\n    FUN_0007ec40(piVar2,piVar2 + 5,iVar1,0xffffffff,1,0xffffffff);\n    iVar27 = 0;\n    (*(code *)(iVar8 + -0x2368))(uVar25,iVar1);\n  }\n  (**(code **)(puVar28 + 0xf30d0))(pcVar26);\n  return iVar27;\nLAB_0009d634:\n  uVar22 = uVar22 + 1;\n  pcVar21 = pcVar21 + 1;\n  if (uVar22 == uVar7) goto LAB_0009d7b4;\n  goto LAB_0009d63c;\n}\n\n" (function_definition "int FUN_0009d360(int param_1,undefined4 *param_2,int *param_3,code *param_4,undefined4 *param_5)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined1 *puVar3;\n  code *pcVar4;\n  undefined4 *puVar5;\n  char *pcVar6;\n  uint uVar7;\n  int iVar8;\n  char *pcVar9;\n  uint uVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  byte *pbVar16;\n  int *piVar17;\n  int *piVar18;\n  int *piVar19;\n  uint uVar20;\n  char *pcVar21;\n  uint uVar22;\n  code *pcVar23;\n  undefined *puVar24;\n  undefined4 uVar25;\n  code *pcVar26;\n  int iVar27;\n  undefined *puVar28;\n  int iVar29;\n  int *in_stack_ffffff98;\n  int local_50;\n  uint local_48;\n  int *local_40;\n  int *local_3c;\n  undefined4 *local_38;\n  undefined4 local_34;\n  int local_30;\n  int *local_2c;\n  char *pcVar10;\n  \n  puVar28 = PTR___stack_chk_guard_00190e24;\n  iVar1 = *(int *)(param_1 + 0x168);\n  pcVar26 = (code *)param_2[0xf];\n  local_2c = *(int **)PTR___stack_chk_guard_00190e24;\n  uVar25 = param_2[0xe];\n  local_40 = (int *)0x0;\n  for (; iVar1 != 0; iVar1 = *(int *)(iVar1 + 8)) {\n    if (*(undefined4 **)(iVar1 + 4) == param_2) {\n      iVar1 = 6;\n      piVar18 = (int *)*param_2;\n      piVar17 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c);\n      uVar25 = FUN_0009d164(param_1);\n      *param_5 = uVar25;\n      goto LAB_0009d418;\n    }\n  }\n  piVar17 = (int *)*param_2;\n  piVar18 = param_3;\n  pcVar4 = param_4;\n  piVar2 = (int *)(*(code *)(PTR_LAB_00190ba8 + 0xfc4))(param_1);\n  if (piVar2 == (int *)0x0) {\n    iVar1 = 7;\n    param_4 = pcVar4;\n    goto LAB_0009d418;\n  }\n  piVar17 = (int *)(*(code *)(PTR_LAB_00190ba8 + -0x2940))(0,0x1c);\n  if (piVar17 == (int *)0x0) {\n    if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }\n    iVar1 = 7;\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(param_1);\n    piVar17 = piVar2;\n    param_4 = pcVar4;\n    goto LAB_0009d418;\n  }\n  *piVar17 = param_1;\n  piVar17[1] = (int)param_3;\n  if (param_2[0x12] == 0) {\n    iVar1 = -16000000;\n  }\n  else {\n    iVar1 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(param_1);\n    iVar1 = iVar1 << 4;\n  }\n  in_stack_ffffff98 = piVar17 + 2;\n  *(undefined4 *)(param_2[0xf] + 4) = *(undefined4 *)(*(int *)(param_1 + 0x10) + iVar1);\n  local_30 = 0;\n  local_34 = *(undefined4 *)(param_1 + 0x168);\n  *(int ***)(param_1 + 0x168) = &local_3c;\n  local_3c = piVar17;\n  local_38 = param_2;\n  iVar1 = (*param_4)(param_1,param_3[2],uVar25,pcVar26,in_stack_ffffff98,&local_40);\n  *(undefined4 *)(param_1 + 0x168) = local_34;\n  if (iVar1 == 7) {\n    if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }\nLAB_0009d750:\n    if (local_40 == (int *)0x0) {\n      piVar18 = piVar2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);\n      *param_5 = uVar25;\n    }\n    else {\n      piVar18 = local_40;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);\n      puVar24 = PTR_sqlite3_free_0019096c;\n      *param_5 = uVar25;\n      (*(code *)puVar24)(local_40);\n    }\n    pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    (*pcVar4)(param_1,piVar17);\n  }\n  else {\n    if (iVar1 != 0) goto LAB_0009d750;\n    puVar3 = (undefined1 *)piVar17[2];\n    piVar18 = local_40;\n    if (puVar3 == (undefined1 *)0x0) {\nLAB_0009d70c:\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n    else {\n      *puVar3 = 0;\n      puVar3[1] = 0;\n      puVar3[2] = 0;\n      puVar3[3] = 0;\n      puVar3[4] = 0;\n      puVar3[5] = 0;\n      puVar3[6] = 0;\n      puVar3[7] = 0;\n      puVar3[8] = 0;\n      puVar3[9] = 0;\n      puVar3[10] = 0;\n      puVar3[0xb] = 0;\n      *(int *)piVar17[2] = *param_3;\n      piVar17[3] = 1;\n      if (local_30 != 0) {\n        piVar17[6] = param_2[0x10];\n        param_2[0x10] = piVar17;\n        local_50 = (int)*(short *)((int)param_2 + 0x2a);\n        if (0 < local_50) {\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }\n        goto LAB_0009d70c;\n      }\n      iVar1 = 1;\n      piVar18 = (int *)*param_2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x1478);\n      *param_5 = uVar25;\n      (*pcVar4)(piVar17);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n  }\n  (*pcVar4)(param_1);\n  piVar17 = piVar2;\n  param_4 = pcVar26;\nLAB_0009d418:\n  if (local_2c == *(int **)puVar28) {\n    return iVar1;\n  }\n  piVar2 = local_2c;\n  puVar28 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  if (param_4 == (code *)0x0) {\n    uVar7 = 0;\n  }\n  else {\n    uVar7 = (**(code **)(puVar28 + 0xf34e4))(param_4);\n    uVar7 = uVar7 & 0x3fffffff;\n  }\n  if (piVar18 == (int *)0x0) {\n    uVar22 = 0;\n  }\n  else {\n    uVar22 = (**(code **)(puVar28 + 0xf34e4))(piVar18);\n    uVar22 = uVar22 & 0x3fffffff;\n  }\n  uVar25 = *(undefined4 *)(*piVar2 + 0x20);\n  pcVar26 = (code *)FUN_0009d164(uVar25,*(int *)(puVar28 + 0xf30c0) + -0x56e8,param_4);\n  if (pcVar26 == (code *)0x0) {\n    return 7;\n  }\n  if (in_stack_ffffff98 != (int *)0x0) {\n    param_4 = pcVar26;\n  }\n  uVar11 = (**(code **)(puVar28 + 0xf34e4))(pcVar26);\n  if (in_stack_ffffff98 != (int *)0x0) {\n    uVar7 = uVar11 & 0x3fffffff;\n  }\n  iVar1 = (*(code *)(*(int *)(puVar28 + 0xf330c) + 0x924))(uVar25);\n  if (iVar1 == 0) {\n    iVar27 = 7;\n  }\n  else {\n    (**(code **)(puVar28 + 0xf3590))(iVar1,piVar18,uVar22);\n    iVar27 = *piVar17;\n    iVar8 = *(int *)(puVar28 + 0xf330c);\n    if (iVar27 != 0) {\n      iVar13 = *(int *)(puVar28 + 0xf32f8);\n      do {\n        iVar14 = *(int *)(iVar27 + 0xc);\n        iVar12 = iVar14;\n        iVar29 = iVar27;\n        if (iVar14 == 0) {\n          iVar12 = 0;\n          piVar19 = piVar17;\nLAB_0009da24:\n          *piVar19 = iVar12;\n        }\n        else {\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }\n        pbVar16 = *(byte **)(iVar27 + 4);\n        uVar20 = uVar11 & 0x3fffffff;\n        pcVar4 = pcVar26;\n        if ((*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0) {\n          uVar20 = uVar7;\n          pcVar4 = param_4;\n        }\n        if (*(uint *)(iVar27 + 8) != uVar20) {\n          (**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));\n          uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;\n          *(undefined1 *)(iVar1 + uVar22) = 0;\n        }\n        (**(code **)(puVar28 + 0xf3590))(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20);\n        (*(code *)(iVar8 + -0x2368))(uVar25,iVar27);\n        iVar27 = *piVar17;\n      } while (iVar27 != 0);\n    }\n    FUN_0007ec40(piVar2,piVar2 + 5,iVar1,0xffffffff,1,0xffffffff);\n    iVar27 = 0;\n    (*(code *)(iVar8 + -0x2368))(uVar25,iVar1);\n  }\n  (**(code **)(puVar28 + 0xf30d0))(pcVar26);\n  return iVar27;\nLAB_0009d634:\n  uVar22 = uVar22 + 1;\n  pcVar21 = pcVar21 + 1;\n  if (uVar22 == uVar7) goto LAB_0009d7b4;\n  goto LAB_0009d63c;\n}" primitive_type (function_declarator "FUN_0009d360(int param_1,undefined4 *param_2,int *param_3,code *param_4,undefined4 *param_5)" identifier (parameter_list "(int param_1,undefined4 *param_2,int *param_3,code *param_4,undefined4 *param_5)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "code *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "undefined4 *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  undefined1 *puVar3;\n  code *pcVar4;\n  undefined4 *puVar5;\n  char *pcVar6;\n  uint uVar7;\n  int iVar8;\n  char *pcVar9;\n  uint uVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  byte *pbVar16;\n  int *piVar17;\n  int *piVar18;\n  int *piVar19;\n  uint uVar20;\n  char *pcVar21;\n  uint uVar22;\n  code *pcVar23;\n  undefined *puVar24;\n  undefined4 uVar25;\n  code *pcVar26;\n  int iVar27;\n  undefined *puVar28;\n  int iVar29;\n  int *in_stack_ffffff98;\n  int local_50;\n  uint local_48;\n  int *local_40;\n  int *local_3c;\n  undefined4 *local_38;\n  undefined4 local_34;\n  int local_30;\n  int *local_2c;\n  char *pcVar10;\n  \n  puVar28 = PTR___stack_chk_guard_00190e24;\n  iVar1 = *(int *)(param_1 + 0x168);\n  pcVar26 = (code *)param_2[0xf];\n  local_2c = *(int **)PTR___stack_chk_guard_00190e24;\n  uVar25 = param_2[0xe];\n  local_40 = (int *)0x0;\n  for (; iVar1 != 0; iVar1 = *(int *)(iVar1 + 8)) {\n    if (*(undefined4 **)(iVar1 + 4) == param_2) {\n      iVar1 = 6;\n      piVar18 = (int *)*param_2;\n      piVar17 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c);\n      uVar25 = FUN_0009d164(param_1);\n      *param_5 = uVar25;\n      goto LAB_0009d418;\n    }\n  }\n  piVar17 = (int *)*param_2;\n  piVar18 = param_3;\n  pcVar4 = param_4;\n  piVar2 = (int *)(*(code *)(PTR_LAB_00190ba8 + 0xfc4))(param_1);\n  if (piVar2 == (int *)0x0) {\n    iVar1 = 7;\n    param_4 = pcVar4;\n    goto LAB_0009d418;\n  }\n  piVar17 = (int *)(*(code *)(PTR_LAB_00190ba8 + -0x2940))(0,0x1c);\n  if (piVar17 == (int *)0x0) {\n    if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }\n    iVar1 = 7;\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(param_1);\n    piVar17 = piVar2;\n    param_4 = pcVar4;\n    goto LAB_0009d418;\n  }\n  *piVar17 = param_1;\n  piVar17[1] = (int)param_3;\n  if (param_2[0x12] == 0) {\n    iVar1 = -16000000;\n  }\n  else {\n    iVar1 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(param_1);\n    iVar1 = iVar1 << 4;\n  }\n  in_stack_ffffff98 = piVar17 + 2;\n  *(undefined4 *)(param_2[0xf] + 4) = *(undefined4 *)(*(int *)(param_1 + 0x10) + iVar1);\n  local_30 = 0;\n  local_34 = *(undefined4 *)(param_1 + 0x168);\n  *(int ***)(param_1 + 0x168) = &local_3c;\n  local_3c = piVar17;\n  local_38 = param_2;\n  iVar1 = (*param_4)(param_1,param_3[2],uVar25,pcVar26,in_stack_ffffff98,&local_40);\n  *(undefined4 *)(param_1 + 0x168) = local_34;\n  if (iVar1 == 7) {\n    if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }\nLAB_0009d750:\n    if (local_40 == (int *)0x0) {\n      piVar18 = piVar2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);\n      *param_5 = uVar25;\n    }\n    else {\n      piVar18 = local_40;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);\n      puVar24 = PTR_sqlite3_free_0019096c;\n      *param_5 = uVar25;\n      (*(code *)puVar24)(local_40);\n    }\n    pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    (*pcVar4)(param_1,piVar17);\n  }\n  else {\n    if (iVar1 != 0) goto LAB_0009d750;\n    puVar3 = (undefined1 *)piVar17[2];\n    piVar18 = local_40;\n    if (puVar3 == (undefined1 *)0x0) {\nLAB_0009d70c:\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n    else {\n      *puVar3 = 0;\n      puVar3[1] = 0;\n      puVar3[2] = 0;\n      puVar3[3] = 0;\n      puVar3[4] = 0;\n      puVar3[5] = 0;\n      puVar3[6] = 0;\n      puVar3[7] = 0;\n      puVar3[8] = 0;\n      puVar3[9] = 0;\n      puVar3[10] = 0;\n      puVar3[0xb] = 0;\n      *(int *)piVar17[2] = *param_3;\n      piVar17[3] = 1;\n      if (local_30 != 0) {\n        piVar17[6] = param_2[0x10];\n        param_2[0x10] = piVar17;\n        local_50 = (int)*(short *)((int)param_2 + 0x2a);\n        if (0 < local_50) {\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }\n        goto LAB_0009d70c;\n      }\n      iVar1 = 1;\n      piVar18 = (int *)*param_2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x1478);\n      *param_5 = uVar25;\n      (*pcVar4)(piVar17);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n  }\n  (*pcVar4)(param_1);\n  piVar17 = piVar2;\n  param_4 = pcVar26;\nLAB_0009d418:\n  if (local_2c == *(int **)puVar28) {\n    return iVar1;\n  }\n  piVar2 = local_2c;\n  puVar28 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  if (param_4 == (code *)0x0) {\n    uVar7 = 0;\n  }\n  else {\n    uVar7 = (**(code **)(puVar28 + 0xf34e4))(param_4);\n    uVar7 = uVar7 & 0x3fffffff;\n  }\n  if (piVar18 == (int *)0x0) {\n    uVar22 = 0;\n  }\n  else {\n    uVar22 = (**(code **)(puVar28 + 0xf34e4))(piVar18);\n    uVar22 = uVar22 & 0x3fffffff;\n  }\n  uVar25 = *(undefined4 *)(*piVar2 + 0x20);\n  pcVar26 = (code *)FUN_0009d164(uVar25,*(int *)(puVar28 + 0xf30c0) + -0x56e8,param_4);\n  if (pcVar26 == (code *)0x0) {\n    return 7;\n  }\n  if (in_stack_ffffff98 != (int *)0x0) {\n    param_4 = pcVar26;\n  }\n  uVar11 = (**(code **)(puVar28 + 0xf34e4))(pcVar26);\n  if (in_stack_ffffff98 != (int *)0x0) {\n    uVar7 = uVar11 & 0x3fffffff;\n  }\n  iVar1 = (*(code *)(*(int *)(puVar28 + 0xf330c) + 0x924))(uVar25);\n  if (iVar1 == 0) {\n    iVar27 = 7;\n  }\n  else {\n    (**(code **)(puVar28 + 0xf3590))(iVar1,piVar18,uVar22);\n    iVar27 = *piVar17;\n    iVar8 = *(int *)(puVar28 + 0xf330c);\n    if (iVar27 != 0) {\n      iVar13 = *(int *)(puVar28 + 0xf32f8);\n      do {\n        iVar14 = *(int *)(iVar27 + 0xc);\n        iVar12 = iVar14;\n        iVar29 = iVar27;\n        if (iVar14 == 0) {\n          iVar12 = 0;\n          piVar19 = piVar17;\nLAB_0009da24:\n          *piVar19 = iVar12;\n        }\n        else {\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }\n        pbVar16 = *(byte **)(iVar27 + 4);\n        uVar20 = uVar11 & 0x3fffffff;\n        pcVar4 = pcVar26;\n        if ((*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0) {\n          uVar20 = uVar7;\n          pcVar4 = param_4;\n        }\n        if (*(uint *)(iVar27 + 8) != uVar20) {\n          (**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));\n          uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;\n          *(undefined1 *)(iVar1 + uVar22) = 0;\n        }\n        (**(code **)(puVar28 + 0xf3590))(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20);\n        (*(code *)(iVar8 + -0x2368))(uVar25,iVar27);\n        iVar27 = *piVar17;\n      } while (iVar27 != 0);\n    }\n    FUN_0007ec40(piVar2,piVar2 + 5,iVar1,0xffffffff,1,0xffffffff);\n    iVar27 = 0;\n    (*(code *)(iVar8 + -0x2368))(uVar25,iVar1);\n  }\n  (**(code **)(puVar28 + 0xf30d0))(pcVar26);\n  return iVar27;\nLAB_0009d634:\n  uVar22 = uVar22 + 1;\n  pcVar21 = pcVar21 + 1;\n  if (uVar22 == uVar7) goto LAB_0009d7b4;\n  goto LAB_0009d63c;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "undefined1 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "code *pcVar4;" type_identifier (pointer_declarator "*pcVar4" * identifier) ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "byte *pbVar16;" type_identifier (pointer_declarator "*pbVar16" * identifier) ;) (declaration "int *piVar17;" primitive_type (pointer_declarator "*piVar17" * identifier) ;) (declaration "int *piVar18;" primitive_type (pointer_declarator "*piVar18" * identifier) ;) (declaration "int *piVar19;" primitive_type (pointer_declarator "*piVar19" * identifier) ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "char *pcVar21;" primitive_type (pointer_declarator "*pcVar21" * identifier) ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "code *pcVar23;" type_identifier (pointer_declarator "*pcVar23" * identifier) ;) (declaration "undefined *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "undefined4 uVar25;" type_identifier identifier ;) (declaration "code *pcVar26;" type_identifier (pointer_declarator "*pcVar26" * identifier) ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "undefined *puVar28;" type_identifier (pointer_declarator "*puVar28" * identifier) ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "int *in_stack_ffffff98;" primitive_type (pointer_declarator "*in_stack_ffffff98" * identifier) ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "uint local_48;" type_identifier identifier ;) (declaration "int *local_40;" primitive_type (pointer_declarator "*local_40" * identifier) ;) (declaration "int *local_3c;" primitive_type (pointer_declarator "*local_3c" * identifier) ;) (declaration "undefined4 *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "int *local_2c;" primitive_type (pointer_declarator "*local_2c" * identifier) ;) (declaration "char *pcVar10;" primitive_type (pointer_declarator "*pcVar10" * identifier) ;) (expression_statement "puVar28 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar28 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "iVar1 = *(int *)(param_1 + 0x168);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x168)" identifier = (pointer_expression "*(int *)(param_1 + 0x168)" * (cast_expression "(int *)(param_1 + 0x168)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x168)" ( (binary_expression "param_1 + 0x168" identifier + number_literal) ))))) ;) (expression_statement "pcVar26 = (code *)param_2[0xf];" (assignment_expression "pcVar26 = (code *)param_2[0xf]" identifier = (cast_expression "(code *)param_2[0xf]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[0xf]" identifier [ number_literal ]))) ;) (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 "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "uVar25 = param_2[0xe];" (assignment_expression "uVar25 = param_2[0xe]" identifier = (subscript_expression "param_2[0xe]" identifier [ number_literal ])) ;) (expression_statement "local_40 = (int *)0x0;" (assignment_expression "local_40 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (for_statement "for (; iVar1 != 0; iVar1 = *(int *)(iVar1 + 8)) {\n    if (*(undefined4 **)(iVar1 + 4) == param_2) {\n      iVar1 = 6;\n      piVar18 = (int *)*param_2;\n      piVar17 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c);\n      uVar25 = FUN_0009d164(param_1);\n      *param_5 = uVar25;\n      goto LAB_0009d418;\n    }\n  }" for ( ; (binary_expression "iVar1 != 0" identifier != number_literal) ; (assignment_expression "iVar1 = *(int *)(iVar1 + 8)" identifier = (pointer_expression "*(int *)(iVar1 + 8)" * (cast_expression "(int *)(iVar1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 8)" ( (binary_expression "iVar1 + 8" identifier + number_literal) ))))) ) (compound_statement "{\n    if (*(undefined4 **)(iVar1 + 4) == param_2) {\n      iVar1 = 6;\n      piVar18 = (int *)*param_2;\n      piVar17 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c);\n      uVar25 = FUN_0009d164(param_1);\n      *param_5 = uVar25;\n      goto LAB_0009d418;\n    }\n  }" { (if_statement "if (*(undefined4 **)(iVar1 + 4) == param_2) {\n      iVar1 = 6;\n      piVar18 = (int *)*param_2;\n      piVar17 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c);\n      uVar25 = FUN_0009d164(param_1);\n      *param_5 = uVar25;\n      goto LAB_0009d418;\n    }" if (parenthesized_expression "(*(undefined4 **)(iVar1 + 4) == param_2)" ( (binary_expression "*(undefined4 **)(iVar1 + 4) == param_2" (pointer_expression "*(undefined4 **)(iVar1 + 4)" * (cast_expression "(undefined4 **)(iVar1 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 4)" ( (binary_expression "iVar1 + 4" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n      iVar1 = 6;\n      piVar18 = (int *)*param_2;\n      piVar17 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c);\n      uVar25 = FUN_0009d164(param_1);\n      *param_5 = uVar25;\n      goto LAB_0009d418;\n    }" { (expression_statement "iVar1 = 6;" (assignment_expression "iVar1 = 6" identifier = number_literal) ;) (expression_statement "piVar18 = (int *)*param_2;" (assignment_expression "piVar18 = (int *)*param_2" identifier = (cast_expression "(int *)*param_2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier))) ;) (expression_statement "piVar17 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c);" (assignment_expression "piVar17 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c)" identifier = (cast_expression "(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c" identifier + number_literal) )))) ;) (expression_statement "uVar25 = FUN_0009d164(param_1);" (assignment_expression "uVar25 = FUN_0009d164(param_1)" identifier = (call_expression "FUN_0009d164(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "*param_5 = uVar25;" (assignment_expression "*param_5 = uVar25" (pointer_expression "*param_5" * identifier) = identifier) ;) (goto_statement "goto LAB_0009d418;" goto statement_identifier ;) })) })) (expression_statement "piVar17 = (int *)*param_2;" (assignment_expression "piVar17 = (int *)*param_2" identifier = (cast_expression "(int *)*param_2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier))) ;) (expression_statement "piVar18 = param_3;" (assignment_expression "piVar18 = param_3" identifier = identifier) ;) (expression_statement "pcVar4 = param_4;" (assignment_expression "pcVar4 = param_4" identifier = identifier) ;) (expression_statement "piVar2 = (int *)(*(code *)(PTR_LAB_00190ba8 + 0xfc4))(param_1);" (assignment_expression "piVar2 = (int *)(*(code *)(PTR_LAB_00190ba8 + 0xfc4))(param_1)" identifier = (cast_expression "(int *)(*(code *)(PTR_LAB_00190ba8 + 0xfc4))(param_1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0xfc4))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0xfc4))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0xfc4)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0xfc4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0xfc4)" ( (binary_expression "PTR_LAB_00190ba8 + 0xfc4" identifier + number_literal) )))) )) (argument_list "(param_1)" ( identifier ))))) ;) (if_statement "if (piVar2 == (int *)0x0) {\n    iVar1 = 7;\n    param_4 = pcVar4;\n    goto LAB_0009d418;\n  }" if (parenthesized_expression "(piVar2 == (int *)0x0)" ( (binary_expression "piVar2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar1 = 7;\n    param_4 = pcVar4;\n    goto LAB_0009d418;\n  }" { (expression_statement "iVar1 = 7;" (assignment_expression "iVar1 = 7" identifier = number_literal) ;) (expression_statement "param_4 = pcVar4;" (assignment_expression "param_4 = pcVar4" identifier = identifier) ;) (goto_statement "goto LAB_0009d418;" goto statement_identifier ;) })) (expression_statement "piVar17 = (int *)(*(code *)(PTR_LAB_00190ba8 + -0x2940))(0,0x1c);" (assignment_expression "piVar17 = (int *)(*(code *)(PTR_LAB_00190ba8 + -0x2940))(0,0x1c)" identifier = (cast_expression "(int *)(*(code *)(PTR_LAB_00190ba8 + -0x2940))(0,0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2940))(0,0x1c)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2940))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + -0x2940)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2940)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2940)" ( (binary_expression "PTR_LAB_00190ba8 + -0x2940" identifier + number_literal) )))) )) (argument_list "(0,0x1c)" ( number_literal , number_literal ))))) ;) (if_statement "if (piVar17 == (int *)0x0) {\n    if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }\n    iVar1 = 7;\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(param_1);\n    piVar17 = piVar2;\n    param_4 = pcVar4;\n    goto LAB_0009d418;\n  }" if (parenthesized_expression "(piVar17 == (int *)0x0)" ( (binary_expression "piVar17 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }\n    iVar1 = 7;\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(param_1);\n    piVar17 = piVar2;\n    param_4 = pcVar4;\n    goto LAB_0009d418;\n  }" { (if_statement "if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }" if (parenthesized_expression "((*(uint *)(param_1 + 0x50) & 0xffff00) == 0)" ( (binary_expression "(*(uint *)(param_1 + 0x50) & 0xffff00) == 0" (parenthesized_expression "(*(uint *)(param_1 + 0x50) & 0xffff00)" ( (binary_expression "*(uint *)(param_1 + 0x50) & 0xffff00" (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) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }" { (expression_statement "(*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x82c))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x82c)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x82c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x82c)" ( (binary_expression "PTR_LAB_00190ba8 + 0x82c" identifier + number_literal) )))) )) (argument_list "(param_1)" ( identifier ))) ;) })) (expression_statement "iVar1 = 7;" (assignment_expression "iVar1 = 7" identifier = number_literal) ;) (expression_statement "(*(code *)(PTR_LAB_00190ba8 + -0x2368))(param_1);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2368))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2368))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + -0x2368)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2368)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2368)" ( (binary_expression "PTR_LAB_00190ba8 + -0x2368" identifier + number_literal) )))) )) (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "piVar17 = piVar2;" (assignment_expression "piVar17 = piVar2" identifier = identifier) ;) (expression_statement "param_4 = pcVar4;" (assignment_expression "param_4 = pcVar4" identifier = identifier) ;) (goto_statement "goto LAB_0009d418;" goto statement_identifier ;) })) (expression_statement "*piVar17 = param_1;" (assignment_expression "*piVar17 = param_1" (pointer_expression "*piVar17" * identifier) = identifier) ;) (expression_statement "piVar17[1] = (int)param_3;" (assignment_expression "piVar17[1] = (int)param_3" (subscript_expression "piVar17[1]" identifier [ number_literal ]) = (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (param_2[0x12] == 0) {\n    iVar1 = -16000000;\n  }\n  else {\n    iVar1 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(param_1);\n    iVar1 = iVar1 << 4;\n  }" if (parenthesized_expression "(param_2[0x12] == 0)" ( (binary_expression "param_2[0x12] == 0" (subscript_expression "param_2[0x12]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    iVar1 = -16000000;\n  }" { (expression_statement "iVar1 = -16000000;" (assignment_expression "iVar1 = -16000000" identifier = number_literal) ;) }) (else_clause "else {\n    iVar1 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(param_1);\n    iVar1 = iVar1 << 4;\n  }" else (compound_statement "{\n    iVar1 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(param_1);\n    iVar1 = iVar1 << 4;\n  }" { (expression_statement "iVar1 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(param_1);" (assignment_expression "iVar1 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(param_1)" identifier = (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x31a4))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x31a4)" * (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x31a4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x31a4)" ( (binary_expression "PTR_LAB_00190ba4 + -0x31a4" identifier + number_literal) )))) )) (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "iVar1 = iVar1 << 4;" (assignment_expression "iVar1 = iVar1 << 4" identifier = (binary_expression "iVar1 << 4" identifier << number_literal)) ;) }))) (expression_statement "in_stack_ffffff98 = piVar17 + 2;" (assignment_expression "in_stack_ffffff98 = piVar17 + 2" identifier = (binary_expression "piVar17 + 2" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(param_2[0xf] + 4) = *(undefined4 *)(*(int *)(param_1 + 0x10) + iVar1);" (assignment_expression "*(undefined4 *)(param_2[0xf] + 4) = *(undefined4 *)(*(int *)(param_1 + 0x10) + iVar1)" (pointer_expression "*(undefined4 *)(param_2[0xf] + 4)" * (cast_expression "(undefined4 *)(param_2[0xf] + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[0xf] + 4)" ( (binary_expression "param_2[0xf] + 4" (subscript_expression "param_2[0xf]" identifier [ number_literal ]) + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x10) + iVar1)" * (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x10) + iVar1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x10) + iVar1)" ( (binary_expression "*(int *)(param_1 + 0x10) + iVar1" (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) + identifier) ))))) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "local_34 = *(undefined4 *)(param_1 + 0x168);" (assignment_expression "local_34 = *(undefined4 *)(param_1 + 0x168)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x168)" * (cast_expression "(undefined4 *)(param_1 + 0x168)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x168)" ( (binary_expression "param_1 + 0x168" identifier + number_literal) ))))) ;) (expression_statement "*(int ***)(param_1 + 0x168) = &local_3c;" (assignment_expression "*(int ***)(param_1 + 0x168) = &local_3c" (pointer_expression "*(int ***)(param_1 + 0x168)" * (cast_expression "(int ***)(param_1 + 0x168)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(param_1 + 0x168)" ( (binary_expression "param_1 + 0x168" identifier + number_literal) )))) = (pointer_expression "&local_3c" & identifier)) ;) (expression_statement "local_3c = piVar17;" (assignment_expression "local_3c = piVar17" identifier = identifier) ;) (expression_statement "local_38 = param_2;" (assignment_expression "local_38 = param_2" identifier = identifier) ;) (expression_statement "iVar1 = (*param_4)(param_1,param_3[2],uVar25,pcVar26,in_stack_ffffff98,&local_40);" (assignment_expression "iVar1 = (*param_4)(param_1,param_3[2],uVar25,pcVar26,in_stack_ffffff98,&local_40)" identifier = (call_expression "(*param_4)(param_1,param_3[2],uVar25,pcVar26,in_stack_ffffff98,&local_40)" (parenthesized_expression "(*param_4)" ( (pointer_expression "*param_4" * identifier) )) (argument_list "(param_1,param_3[2],uVar25,pcVar26,in_stack_ffffff98,&local_40)" ( identifier , (subscript_expression "param_3[2]" identifier [ number_literal ]) , identifier , identifier , identifier , (pointer_expression "&local_40" & identifier) )))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x168) = local_34;" (assignment_expression "*(undefined4 *)(param_1 + 0x168) = local_34" (pointer_expression "*(undefined4 *)(param_1 + 0x168)" * (cast_expression "(undefined4 *)(param_1 + 0x168)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x168)" ( (binary_expression "param_1 + 0x168" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar1 == 7) {\n    if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }\nLAB_0009d750:\n    if (local_40 == (int *)0x0) {\n      piVar18 = piVar2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);\n      *param_5 = uVar25;\n    }\n    else {\n      piVar18 = local_40;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);\n      puVar24 = PTR_sqlite3_free_0019096c;\n      *param_5 = uVar25;\n      (*(code *)puVar24)(local_40);\n    }\n    pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    (*pcVar4)(param_1,piVar17);\n  }\n  else {\n    if (iVar1 != 0) goto LAB_0009d750;\n    puVar3 = (undefined1 *)piVar17[2];\n    piVar18 = local_40;\n    if (puVar3 == (undefined1 *)0x0) {\nLAB_0009d70c:\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n    else {\n      *puVar3 = 0;\n      puVar3[1] = 0;\n      puVar3[2] = 0;\n      puVar3[3] = 0;\n      puVar3[4] = 0;\n      puVar3[5] = 0;\n      puVar3[6] = 0;\n      puVar3[7] = 0;\n      puVar3[8] = 0;\n      puVar3[9] = 0;\n      puVar3[10] = 0;\n      puVar3[0xb] = 0;\n      *(int *)piVar17[2] = *param_3;\n      piVar17[3] = 1;\n      if (local_30 != 0) {\n        piVar17[6] = param_2[0x10];\n        param_2[0x10] = piVar17;\n        local_50 = (int)*(short *)((int)param_2 + 0x2a);\n        if (0 < local_50) {\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }\n        goto LAB_0009d70c;\n      }\n      iVar1 = 1;\n      piVar18 = (int *)*param_2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x1478);\n      *param_5 = uVar25;\n      (*pcVar4)(piVar17);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n  }" if (parenthesized_expression "(iVar1 == 7)" ( (binary_expression "iVar1 == 7" identifier == number_literal) )) (compound_statement "{\n    if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }\nLAB_0009d750:\n    if (local_40 == (int *)0x0) {\n      piVar18 = piVar2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);\n      *param_5 = uVar25;\n    }\n    else {\n      piVar18 = local_40;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);\n      puVar24 = PTR_sqlite3_free_0019096c;\n      *param_5 = uVar25;\n      (*(code *)puVar24)(local_40);\n    }\n    pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    (*pcVar4)(param_1,piVar17);\n  }" { (if_statement "if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }" if (parenthesized_expression "((*(uint *)(param_1 + 0x50) & 0xffff00) == 0)" ( (binary_expression "(*(uint *)(param_1 + 0x50) & 0xffff00) == 0" (parenthesized_expression "(*(uint *)(param_1 + 0x50) & 0xffff00)" ( (binary_expression "*(uint *)(param_1 + 0x50) & 0xffff00" (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) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }" { (expression_statement "(*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x82c))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x82c)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x82c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x82c)" ( (binary_expression "PTR_LAB_00190ba8 + 0x82c" identifier + number_literal) )))) )) (argument_list "(param_1)" ( identifier ))) ;) })) (labeled_statement "LAB_0009d750:\n    if (local_40 == (int *)0x0) {\n      piVar18 = piVar2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);\n      *param_5 = uVar25;\n    }\n    else {\n      piVar18 = local_40;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);\n      puVar24 = PTR_sqlite3_free_0019096c;\n      *param_5 = uVar25;\n      (*(code *)puVar24)(local_40);\n    }" statement_identifier : (if_statement "if (local_40 == (int *)0x0) {\n      piVar18 = piVar2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);\n      *param_5 = uVar25;\n    }\n    else {\n      piVar18 = local_40;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);\n      puVar24 = PTR_sqlite3_free_0019096c;\n      *param_5 = uVar25;\n      (*(code *)puVar24)(local_40);\n    }" if (parenthesized_expression "(local_40 == (int *)0x0)" ( (binary_expression "local_40 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      piVar18 = piVar2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);\n      *param_5 = uVar25;\n    }" { (expression_statement "piVar18 = piVar2;" (assignment_expression "piVar18 = piVar2" identifier = identifier) ;) (expression_statement "uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);" (assignment_expression "uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460)" identifier = (call_expression "FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460)" identifier (argument_list "(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460)" ( identifier , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460" identifier + number_literal) )))) ;) (expression_statement "*param_5 = uVar25;" (assignment_expression "*param_5 = uVar25" (pointer_expression "*param_5" * identifier) = identifier) ;) }) (else_clause "else {\n      piVar18 = local_40;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);\n      puVar24 = PTR_sqlite3_free_0019096c;\n      *param_5 = uVar25;\n      (*(code *)puVar24)(local_40);\n    }" else (compound_statement "{\n      piVar18 = local_40;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);\n      puVar24 = PTR_sqlite3_free_0019096c;\n      *param_5 = uVar25;\n      (*(code *)puVar24)(local_40);\n    }" { (expression_statement "piVar18 = local_40;" (assignment_expression "piVar18 = local_40" identifier = identifier) ;) (expression_statement "uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);" (assignment_expression "uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc)" identifier = (call_expression "FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc)" identifier (argument_list "(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc)" ( identifier , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc" identifier + number_literal) )))) ;) (expression_statement "puVar24 = PTR_sqlite3_free_0019096c;" (assignment_expression "puVar24 = PTR_sqlite3_free_0019096c" identifier = identifier) ;) (expression_statement "*param_5 = uVar25;" (assignment_expression "*param_5 = uVar25" (pointer_expression "*param_5" * identifier) = identifier) ;) (expression_statement "(*(code *)puVar24)(local_40);" (call_expression "(*(code *)puVar24)(local_40)" (parenthesized_expression "(*(code *)puVar24)" ( (pointer_expression "*(code *)puVar24" * (cast_expression "(code *)puVar24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_40)" ( identifier ))) ;) })))) (expression_statement "pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);" (assignment_expression "pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2368)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2368)" ( (binary_expression "PTR_LAB_00190ba8 + -0x2368" identifier + number_literal) )))) ;) (expression_statement "(*pcVar4)(param_1,piVar17);" (call_expression "(*pcVar4)(param_1,piVar17)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(param_1,piVar17)" ( identifier , identifier ))) ;) }) (else_clause "else {\n    if (iVar1 != 0) goto LAB_0009d750;\n    puVar3 = (undefined1 *)piVar17[2];\n    piVar18 = local_40;\n    if (puVar3 == (undefined1 *)0x0) {\nLAB_0009d70c:\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n    else {\n      *puVar3 = 0;\n      puVar3[1] = 0;\n      puVar3[2] = 0;\n      puVar3[3] = 0;\n      puVar3[4] = 0;\n      puVar3[5] = 0;\n      puVar3[6] = 0;\n      puVar3[7] = 0;\n      puVar3[8] = 0;\n      puVar3[9] = 0;\n      puVar3[10] = 0;\n      puVar3[0xb] = 0;\n      *(int *)piVar17[2] = *param_3;\n      piVar17[3] = 1;\n      if (local_30 != 0) {\n        piVar17[6] = param_2[0x10];\n        param_2[0x10] = piVar17;\n        local_50 = (int)*(short *)((int)param_2 + 0x2a);\n        if (0 < local_50) {\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }\n        goto LAB_0009d70c;\n      }\n      iVar1 = 1;\n      piVar18 = (int *)*param_2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x1478);\n      *param_5 = uVar25;\n      (*pcVar4)(piVar17);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n  }" else (compound_statement "{\n    if (iVar1 != 0) goto LAB_0009d750;\n    puVar3 = (undefined1 *)piVar17[2];\n    piVar18 = local_40;\n    if (puVar3 == (undefined1 *)0x0) {\nLAB_0009d70c:\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n    else {\n      *puVar3 = 0;\n      puVar3[1] = 0;\n      puVar3[2] = 0;\n      puVar3[3] = 0;\n      puVar3[4] = 0;\n      puVar3[5] = 0;\n      puVar3[6] = 0;\n      puVar3[7] = 0;\n      puVar3[8] = 0;\n      puVar3[9] = 0;\n      puVar3[10] = 0;\n      puVar3[0xb] = 0;\n      *(int *)piVar17[2] = *param_3;\n      piVar17[3] = 1;\n      if (local_30 != 0) {\n        piVar17[6] = param_2[0x10];\n        param_2[0x10] = piVar17;\n        local_50 = (int)*(short *)((int)param_2 + 0x2a);\n        if (0 < local_50) {\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }\n        goto LAB_0009d70c;\n      }\n      iVar1 = 1;\n      piVar18 = (int *)*param_2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x1478);\n      *param_5 = uVar25;\n      (*pcVar4)(piVar17);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n  }" { (if_statement "if (iVar1 != 0) goto LAB_0009d750;" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0009d750;" goto statement_identifier ;)) (expression_statement "puVar3 = (undefined1 *)piVar17[2];" (assignment_expression "puVar3 = (undefined1 *)piVar17[2]" identifier = (cast_expression "(undefined1 *)piVar17[2]" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar17[2]" identifier [ number_literal ]))) ;) (expression_statement "piVar18 = local_40;" (assignment_expression "piVar18 = local_40" identifier = identifier) ;) (if_statement "if (puVar3 == (undefined1 *)0x0) {\nLAB_0009d70c:\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n    else {\n      *puVar3 = 0;\n      puVar3[1] = 0;\n      puVar3[2] = 0;\n      puVar3[3] = 0;\n      puVar3[4] = 0;\n      puVar3[5] = 0;\n      puVar3[6] = 0;\n      puVar3[7] = 0;\n      puVar3[8] = 0;\n      puVar3[9] = 0;\n      puVar3[10] = 0;\n      puVar3[0xb] = 0;\n      *(int *)piVar17[2] = *param_3;\n      piVar17[3] = 1;\n      if (local_30 != 0) {\n        piVar17[6] = param_2[0x10];\n        param_2[0x10] = piVar17;\n        local_50 = (int)*(short *)((int)param_2 + 0x2a);\n        if (0 < local_50) {\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }\n        goto LAB_0009d70c;\n      }\n      iVar1 = 1;\n      piVar18 = (int *)*param_2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x1478);\n      *param_5 = uVar25;\n      (*pcVar4)(piVar17);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }" if (parenthesized_expression "(puVar3 == (undefined1 *)0x0)" ( (binary_expression "puVar3 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0009d70c:\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }" { (labeled_statement "LAB_0009d70c:\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);" statement_identifier : (expression_statement "pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);" (assignment_expression "pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2368)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2368)" ( (binary_expression "PTR_LAB_00190ba8 + -0x2368" identifier + number_literal) )))) ;)) }) (else_clause "else {\n      *puVar3 = 0;\n      puVar3[1] = 0;\n      puVar3[2] = 0;\n      puVar3[3] = 0;\n      puVar3[4] = 0;\n      puVar3[5] = 0;\n      puVar3[6] = 0;\n      puVar3[7] = 0;\n      puVar3[8] = 0;\n      puVar3[9] = 0;\n      puVar3[10] = 0;\n      puVar3[0xb] = 0;\n      *(int *)piVar17[2] = *param_3;\n      piVar17[3] = 1;\n      if (local_30 != 0) {\n        piVar17[6] = param_2[0x10];\n        param_2[0x10] = piVar17;\n        local_50 = (int)*(short *)((int)param_2 + 0x2a);\n        if (0 < local_50) {\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }\n        goto LAB_0009d70c;\n      }\n      iVar1 = 1;\n      piVar18 = (int *)*param_2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x1478);\n      *param_5 = uVar25;\n      (*pcVar4)(piVar17);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }" else (compound_statement "{\n      *puVar3 = 0;\n      puVar3[1] = 0;\n      puVar3[2] = 0;\n      puVar3[3] = 0;\n      puVar3[4] = 0;\n      puVar3[5] = 0;\n      puVar3[6] = 0;\n      puVar3[7] = 0;\n      puVar3[8] = 0;\n      puVar3[9] = 0;\n      puVar3[10] = 0;\n      puVar3[0xb] = 0;\n      *(int *)piVar17[2] = *param_3;\n      piVar17[3] = 1;\n      if (local_30 != 0) {\n        piVar17[6] = param_2[0x10];\n        param_2[0x10] = piVar17;\n        local_50 = (int)*(short *)((int)param_2 + 0x2a);\n        if (0 < local_50) {\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }\n        goto LAB_0009d70c;\n      }\n      iVar1 = 1;\n      piVar18 = (int *)*param_2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x1478);\n      *param_5 = uVar25;\n      (*pcVar4)(piVar17);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }" { (expression_statement "*puVar3 = 0;" (assignment_expression "*puVar3 = 0" (pointer_expression "*puVar3" * identifier) = number_literal) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[2] = 0;" (assignment_expression "puVar3[2] = 0" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[3] = 0;" (assignment_expression "puVar3[3] = 0" (subscript_expression "puVar3[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[4] = 0;" (assignment_expression "puVar3[4] = 0" (subscript_expression "puVar3[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[5] = 0;" (assignment_expression "puVar3[5] = 0" (subscript_expression "puVar3[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[6] = 0;" (assignment_expression "puVar3[6] = 0" (subscript_expression "puVar3[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[7] = 0;" (assignment_expression "puVar3[7] = 0" (subscript_expression "puVar3[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[8] = 0;" (assignment_expression "puVar3[8] = 0" (subscript_expression "puVar3[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[9] = 0;" (assignment_expression "puVar3[9] = 0" (subscript_expression "puVar3[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[10] = 0;" (assignment_expression "puVar3[10] = 0" (subscript_expression "puVar3[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[0xb] = 0;" (assignment_expression "puVar3[0xb] = 0" (subscript_expression "puVar3[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int *)piVar17[2] = *param_3;" (assignment_expression "*(int *)piVar17[2] = *param_3" (pointer_expression "*(int *)piVar17[2]" * (cast_expression "(int *)piVar17[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar17[2]" identifier [ number_literal ]))) = (pointer_expression "*param_3" * identifier)) ;) (expression_statement "piVar17[3] = 1;" (assignment_expression "piVar17[3] = 1" (subscript_expression "piVar17[3]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (local_30 != 0) {\n        piVar17[6] = param_2[0x10];\n        param_2[0x10] = piVar17;\n        local_50 = (int)*(short *)((int)param_2 + 0x2a);\n        if (0 < local_50) {\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }\n        goto LAB_0009d70c;\n      }" if (parenthesized_expression "(local_30 != 0)" ( (binary_expression "local_30 != 0" identifier != number_literal) )) (compound_statement "{\n        piVar17[6] = param_2[0x10];\n        param_2[0x10] = piVar17;\n        local_50 = (int)*(short *)((int)param_2 + 0x2a);\n        if (0 < local_50) {\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }\n        goto LAB_0009d70c;\n      }" { (expression_statement "piVar17[6] = param_2[0x10];" (assignment_expression "piVar17[6] = param_2[0x10]" (subscript_expression "piVar17[6]" identifier [ number_literal ]) = (subscript_expression "param_2[0x10]" identifier [ number_literal ])) ;) (expression_statement "param_2[0x10] = piVar17;" (assignment_expression "param_2[0x10] = piVar17" (subscript_expression "param_2[0x10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_50 = (int)*(short *)((int)param_2 + 0x2a);" (assignment_expression "local_50 = (int)*(short *)((int)param_2 + 0x2a)" identifier = (cast_expression "(int)*(short *)((int)param_2 + 0x2a)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)((int)param_2 + 0x2a)" * (cast_expression "(short *)((int)param_2 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x2a)" ( (binary_expression "(int)param_2 + 0x2a" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))) ;) (if_statement "if (0 < local_50) {\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }" if (parenthesized_expression "(0 < local_50)" ( (binary_expression "0 < local_50" number_literal < identifier) )) (compound_statement "{\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }" { (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" identifier = number_literal) ;) (expression_statement "pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);" (assignment_expression "pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24)" identifier = (cast_expression "(code *)(PTR_LAB_00190bb8 + -0x7f24)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bb8 + -0x7f24)" ( (binary_expression "PTR_LAB_00190bb8 + -0x7f24" identifier + number_literal) )))) ;) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (expression_statement "puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;" (assignment_expression "puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410" identifier = (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410" identifier + number_literal)) ;) (expression_statement "pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);" (assignment_expression "pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x27e4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x27e4)" ( (binary_expression "PTR_LAB_00190ba8 + 0x27e4" identifier + number_literal) )))) ;) (do_statement "do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);" do (compound_statement "{\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          }" { (expression_statement "puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);" (assignment_expression "puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10)" identifier = (cast_expression "(undefined4 *)(param_2[1] + iVar27 * 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[1] + iVar27 * 0x10)" ( (binary_expression "param_2[1] + iVar27 * 0x10" (subscript_expression "param_2[1]" identifier [ number_literal ]) + (binary_expression "iVar27 * 0x10" identifier * number_literal)) )))) ;) (if_statement "if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }" if (parenthesized_expression "(((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0))" ( (binary_expression "((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)" (parenthesized_expression "((*(byte *)((int)puVar5 + 0xf) & 4) != 0)" ( (binary_expression "(*(byte *)((int)puVar5 + 0xf) & 4) != 0" (parenthesized_expression "(*(byte *)((int)puVar5 + 0xf) & 4)" ( (binary_expression "*(byte *)((int)puVar5 + 0xf) & 4" (pointer_expression "*(byte *)((int)puVar5 + 0xf)" * (cast_expression "(byte *)((int)puVar5 + 0xf)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + 0xf)" ( (binary_expression "(int)puVar5 + 0xf" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "(pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)" ( (comma_expression "pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0" (assignment_expression "pcVar6 = (char *)(*pcVar4)(*puVar5)" identifier = (cast_expression "(char *)(*pcVar4)(*puVar5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar4)(*puVar5)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(*puVar5)" ( (pointer_expression "*puVar5" * identifier) ))))) , (binary_expression "pcVar6 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }" { (expression_statement "uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);" (assignment_expression "uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6)" identifier = (call_expression "(*(code *)PTR_strlen_00190d80)(pcVar6)" (parenthesized_expression "(*(code *)PTR_strlen_00190d80)" ( (pointer_expression "*(code *)PTR_strlen_00190d80" * (cast_expression "(code *)PTR_strlen_00190d80" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar6)" ( identifier )))) ;) (expression_statement "uVar7 = uVar7 & 0x3fffffff;" (assignment_expression "uVar7 = uVar7 & 0x3fffffff" identifier = (binary_expression "uVar7 & 0x3fffffff" identifier & number_literal)) ;) (if_statement "if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }" if (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) (compound_statement "{\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }" { (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) (expression_statement "pcVar21 = pcVar6;" (assignment_expression "pcVar21 = pcVar6" identifier = identifier) ;) (labeled_statement "LAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;" statement_identifier : (expression_statement "piVar18 = (int *)&DAT_00000006;" (assignment_expression "piVar18 = (int *)&DAT_00000006" identifier = (cast_expression "(int *)&DAT_00000006" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000006" & identifier))) ;)) (if_statement "if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;" if (parenthesized_expression "(((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' '))))" ( (binary_expression "((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))" (parenthesized_expression "((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))" ( (binary_expression "(pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0)" (parenthesized_expression "(pcVar21 == (char *)0x0)" ( (binary_expression "pcVar21 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0)" ( (comma_expression "iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0" (assignment_expression "iVar8 = (*pcVar23)(puVar24,pcVar21)" identifier = (call_expression "(*pcVar23)(puVar24,pcVar21)" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "(puVar24,pcVar21)" ( identifier , identifier )))) , (binary_expression "iVar8 != 0" identifier != number_literal)) ))) )) || (parenthesized_expression "((uVar22 != 0 && (pcVar21[-1] != ' ')))" ( (parenthesized_expression "(uVar22 != 0 && (pcVar21[-1] != ' '))" ( (binary_expression "uVar22 != 0 && (pcVar21[-1] != ' ')" (binary_expression "uVar22 != 0" identifier != number_literal) && (parenthesized_expression "(pcVar21[-1] != ' ')" ( (binary_expression "pcVar21[-1] != ' '" (subscript_expression "pcVar21[-1]" identifier [ number_literal ]) != (char_literal "' '" ' character ')) ))) )) ))) )) (goto_statement "goto LAB_0009d634;" goto statement_identifier ;)) (if_statement "if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }" if (parenthesized_expression "(pcVar21[6] == '\0')" ( (binary_expression "pcVar21[6] == '\0'" (subscript_expression "pcVar21[6]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  iVar8 = 6;\n                }" { (expression_statement "iVar8 = 6;" (assignment_expression "iVar8 = 6" identifier = number_literal) ;) }) (else_clause "else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }" else (compound_statement "{\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }" { (if_statement "if (pcVar21[6] != ' ') goto LAB_0009d634;" if (parenthesized_expression "(pcVar21[6] != ' ')" ( (binary_expression "pcVar21[6] != ' '" (subscript_expression "pcVar21[6]" identifier [ number_literal ]) != (char_literal "' '" ' character ')) )) (goto_statement "goto LAB_0009d634;" goto statement_identifier ;)) (expression_statement "iVar8 = 7;" (assignment_expression "iVar8 = 7" identifier = number_literal) ;) }))) (if_statement "if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }" if (parenthesized_expression "((int)(iVar8 + uVar22) <= (int)uVar7)" ( (binary_expression "(int)(iVar8 + uVar22) <= (int)uVar7" (cast_expression "(int)(iVar8 + uVar22)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar8 + uVar22)" ( (binary_expression "iVar8 + uVar22" identifier + identifier) ))) <= (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }" { (expression_statement "iVar13 = (int)(pcVar6 + uVar22) - uVar22;" (assignment_expression "iVar13 = (int)(pcVar6 + uVar22) - uVar22" identifier = (binary_expression "(int)(pcVar6 + uVar22) - uVar22" (cast_expression "(int)(pcVar6 + uVar22)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar6 + uVar22)" ( (binary_expression "pcVar6 + uVar22" identifier + identifier) ))) - identifier)) ;) (expression_statement "pcVar10 = pcVar6 + uVar22;" (assignment_expression "pcVar10 = pcVar6 + uVar22" identifier = (binary_expression "pcVar6 + uVar22" identifier + identifier)) ;) (do_statement "do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);" do (compound_statement "{\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  }" { (expression_statement "pcVar9 = pcVar10 + 1;" (assignment_expression "pcVar9 = pcVar10 + 1" identifier = (binary_expression "pcVar10 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);" (assignment_expression "*pcVar10 = *(char *)(iVar13 + iVar8 + uVar22)" (pointer_expression "*pcVar10" * identifier) = (pointer_expression "*(char *)(iVar13 + iVar8 + uVar22)" * (cast_expression "(char *)(iVar13 + iVar8 + uVar22)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + iVar8 + uVar22)" ( (binary_expression "iVar13 + iVar8 + uVar22" (binary_expression "iVar13 + iVar8" identifier + identifier) + identifier) ))))) ;) (expression_statement "iVar13 = (int)pcVar9 - uVar22;" (assignment_expression "iVar13 = (int)pcVar9 - uVar22" identifier = (binary_expression "(int)pcVar9 - uVar22" (cast_expression "(int)pcVar9" ( (type_descriptor "int" primitive_type) ) identifier) - identifier)) ;) (expression_statement "pcVar10 = pcVar9;" (assignment_expression "pcVar10 = pcVar9" identifier = identifier) ;) }) while (parenthesized_expression "((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7)" ( (binary_expression "(int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7" (cast_expression "(int)(pcVar9 + (iVar8 - (int)pcVar6))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar9 + (iVar8 - (int)pcVar6))" ( (binary_expression "pcVar9 + (iVar8 - (int)pcVar6)" identifier + (parenthesized_expression "(iVar8 - (int)pcVar6)" ( (binary_expression "iVar8 - (int)pcVar6" identifier - (cast_expression "(int)pcVar6" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) <= (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (if_statement "if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }" if (parenthesized_expression "((*pcVar21 == '\0') && (uVar22 != 0))" ( (binary_expression "(*pcVar21 == '\0') && (uVar22 != 0)" (parenthesized_expression "(*pcVar21 == '\0')" ( (binary_expression "*pcVar21 == '\0'" (pointer_expression "*pcVar21" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(uVar22 != 0)" ( (binary_expression "uVar22 != 0" identifier != number_literal) ))) )) (compound_statement "{\n                  pcVar6[uVar22 - 1] = '\0';\n                }" { (expression_statement "pcVar6[uVar22 - 1] = '\0';" (assignment_expression "pcVar6[uVar22 - 1] = '\0'" (subscript_expression "pcVar6[uVar22 - 1]" identifier [ (binary_expression "uVar22 - 1" identifier - number_literal) ]) = (char_literal "'\0'" ' escape_sequence ')) ;) })) (expression_statement "local_48 = 0x80;" (assignment_expression "local_48 = 0x80" identifier = number_literal) ;) (expression_statement "iVar8 = param_2[1] + iVar27 * 0x10;" (assignment_expression "iVar8 = param_2[1] + iVar27 * 0x10" identifier = (binary_expression "param_2[1] + iVar27 * 0x10" (subscript_expression "param_2[1]" identifier [ number_literal ]) + (binary_expression "iVar27 * 0x10" identifier * number_literal))) ;) (expression_statement "*(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;" (assignment_expression "*(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2" (pointer_expression "*(byte *)(iVar8 + 0xf)" * (cast_expression "(byte *)(iVar8 + 0xf)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xf)" ( (binary_expression "iVar8 + 0xf" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar8 + 0xf) | 2" (pointer_expression "*(byte *)(iVar8 + 0xf)" * (cast_expression "(byte *)(iVar8 + 0xf)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xf)" ( (binary_expression "iVar8 + 0xf" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "local_50 = (int)*(short *)((int)param_2 + 0x2a);" (assignment_expression "local_50 = (int)*(short *)((int)param_2 + 0x2a)" identifier = (cast_expression "(int)*(short *)((int)param_2 + 0x2a)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)((int)param_2 + 0x2a)" * (cast_expression "(short *)((int)param_2 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x2a)" ( (binary_expression "(int)param_2 + 0x2a" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))) ;) (goto_statement "goto LAB_0009d6f8;" goto statement_identifier ;) })) })) (labeled_statement "LAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;" statement_identifier : (expression_statement "param_2[9] = param_2[9] | local_48;" (assignment_expression "param_2[9] = param_2[9] | local_48" (subscript_expression "param_2[9]" identifier [ number_literal ]) = (binary_expression "param_2[9] | local_48" (subscript_expression "param_2[9]" identifier [ number_literal ]) | identifier)) ;)) (labeled_statement "LAB_0009d6f8:\n            iVar27 = iVar27 + 1;" statement_identifier : (expression_statement "iVar27 = iVar27 + 1;" (assignment_expression "iVar27 = iVar27 + 1" identifier = (binary_expression "iVar27 + 1" identifier + number_literal)) ;)) }) while (parenthesized_expression "(iVar27 < local_50)" ( (binary_expression "iVar27 < local_50" identifier < identifier) )) ;) })) (goto_statement "goto LAB_0009d70c;" goto statement_identifier ;) })) (expression_statement "iVar1 = 1;" (assignment_expression "iVar1 = 1" identifier = number_literal) ;) (expression_statement "piVar18 = (int *)*param_2;" (assignment_expression "piVar18 = (int *)*param_2" identifier = (cast_expression "(int *)*param_2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier))) ;) (expression_statement "uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);" (assignment_expression "uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440)" identifier = (call_expression "FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440)" identifier (argument_list "(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440)" ( identifier , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440" identifier + number_literal) )))) ;) (expression_statement "pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x1478);" (assignment_expression "pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x1478)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x1478)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x1478)" ( (binary_expression "PTR_LAB_00190ba8 + -0x1478" identifier + number_literal) )))) ;) (expression_statement "*param_5 = uVar25;" (assignment_expression "*param_5 = uVar25" (pointer_expression "*param_5" * identifier) = identifier) ;) (expression_statement "(*pcVar4)(piVar17);" (call_expression "(*pcVar4)(piVar17)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(piVar17)" ( identifier ))) ;) (expression_statement "pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);" (assignment_expression "pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2368)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2368)" ( (binary_expression "PTR_LAB_00190ba8 + -0x2368" identifier + number_literal) )))) ;) }))) }))) (expression_statement "(*pcVar4)(param_1);" (call_expression "(*pcVar4)(param_1)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "piVar17 = piVar2;" (assignment_expression "piVar17 = piVar2" identifier = identifier) ;) (expression_statement "param_4 = pcVar26;" (assignment_expression "param_4 = pcVar26" identifier = identifier) ;) (labeled_statement "LAB_0009d418:\n  if (local_2c == *(int **)puVar28) {\n    return iVar1;\n  }" statement_identifier : (if_statement "if (local_2c == *(int **)puVar28) {\n    return iVar1;\n  }" if (parenthesized_expression "(local_2c == *(int **)puVar28)" ( (binary_expression "local_2c == *(int **)puVar28" identifier == (pointer_expression "*(int **)puVar28" * (cast_expression "(int **)puVar28" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return iVar1;\n  }" { (return_statement "return iVar1;" return identifier ;) }))) (expression_statement "piVar2 = local_2c;" (assignment_expression "piVar2 = local_2c" identifier = identifier) ;) (expression_statement "puVar28 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar28 = PTR___stack_chk_fail_00190df8" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00190df8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" * (cast_expression "(code *)PTR___stack_chk_fail_00190df8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (param_4 == (code *)0x0) {\n    uVar7 = 0;\n  }\n  else {\n    uVar7 = (**(code **)(puVar28 + 0xf34e4))(param_4);\n    uVar7 = uVar7 & 0x3fffffff;\n  }" if (parenthesized_expression "(param_4 == (code *)0x0)" ( (binary_expression "param_4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar7 = 0;\n  }" { (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    uVar7 = (**(code **)(puVar28 + 0xf34e4))(param_4);\n    uVar7 = uVar7 & 0x3fffffff;\n  }" else (compound_statement "{\n    uVar7 = (**(code **)(puVar28 + 0xf34e4))(param_4);\n    uVar7 = uVar7 & 0x3fffffff;\n  }" { (expression_statement "uVar7 = (**(code **)(puVar28 + 0xf34e4))(param_4);" (assignment_expression "uVar7 = (**(code **)(puVar28 + 0xf34e4))(param_4)" identifier = (call_expression "(**(code **)(puVar28 + 0xf34e4))(param_4)" (parenthesized_expression "(**(code **)(puVar28 + 0xf34e4))" ( (pointer_expression "**(code **)(puVar28 + 0xf34e4)" * (pointer_expression "*(code **)(puVar28 + 0xf34e4)" * (cast_expression "(code **)(puVar28 + 0xf34e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0xf34e4)" ( (binary_expression "puVar28 + 0xf34e4" identifier + number_literal) ))))) )) (argument_list "(param_4)" ( identifier )))) ;) (expression_statement "uVar7 = uVar7 & 0x3fffffff;" (assignment_expression "uVar7 = uVar7 & 0x3fffffff" identifier = (binary_expression "uVar7 & 0x3fffffff" identifier & number_literal)) ;) }))) (if_statement "if (piVar18 == (int *)0x0) {\n    uVar22 = 0;\n  }\n  else {\n    uVar22 = (**(code **)(puVar28 + 0xf34e4))(piVar18);\n    uVar22 = uVar22 & 0x3fffffff;\n  }" if (parenthesized_expression "(piVar18 == (int *)0x0)" ( (binary_expression "piVar18 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar22 = 0;\n  }" { (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    uVar22 = (**(code **)(puVar28 + 0xf34e4))(piVar18);\n    uVar22 = uVar22 & 0x3fffffff;\n  }" else (compound_statement "{\n    uVar22 = (**(code **)(puVar28 + 0xf34e4))(piVar18);\n    uVar22 = uVar22 & 0x3fffffff;\n  }" { (expression_statement "uVar22 = (**(code **)(puVar28 + 0xf34e4))(piVar18);" (assignment_expression "uVar22 = (**(code **)(puVar28 + 0xf34e4))(piVar18)" identifier = (call_expression "(**(code **)(puVar28 + 0xf34e4))(piVar18)" (parenthesized_expression "(**(code **)(puVar28 + 0xf34e4))" ( (pointer_expression "**(code **)(puVar28 + 0xf34e4)" * (pointer_expression "*(code **)(puVar28 + 0xf34e4)" * (cast_expression "(code **)(puVar28 + 0xf34e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0xf34e4)" ( (binary_expression "puVar28 + 0xf34e4" identifier + number_literal) ))))) )) (argument_list "(piVar18)" ( identifier )))) ;) (expression_statement "uVar22 = uVar22 & 0x3fffffff;" (assignment_expression "uVar22 = uVar22 & 0x3fffffff" identifier = (binary_expression "uVar22 & 0x3fffffff" identifier & number_literal)) ;) }))) (expression_statement "uVar25 = *(undefined4 *)(*piVar2 + 0x20);" (assignment_expression "uVar25 = *(undefined4 *)(*piVar2 + 0x20)" identifier = (pointer_expression "*(undefined4 *)(*piVar2 + 0x20)" * (cast_expression "(undefined4 *)(*piVar2 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar2 + 0x20)" ( (binary_expression "*piVar2 + 0x20" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) ;) (expression_statement "pcVar26 = (code *)FUN_0009d164(uVar25,*(int *)(puVar28 + 0xf30c0) + -0x56e8,param_4);" (assignment_expression "pcVar26 = (code *)FUN_0009d164(uVar25,*(int *)(puVar28 + 0xf30c0) + -0x56e8,param_4)" identifier = (cast_expression "(code *)FUN_0009d164(uVar25,*(int *)(puVar28 + 0xf30c0) + -0x56e8,param_4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0009d164(uVar25,*(int *)(puVar28 + 0xf30c0) + -0x56e8,param_4)" identifier (argument_list "(uVar25,*(int *)(puVar28 + 0xf30c0) + -0x56e8,param_4)" ( identifier , (binary_expression "*(int *)(puVar28 + 0xf30c0) + -0x56e8" (pointer_expression "*(int *)(puVar28 + 0xf30c0)" * (cast_expression "(int *)(puVar28 + 0xf30c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + 0xf30c0)" ( (binary_expression "puVar28 + 0xf30c0" identifier + number_literal) )))) + number_literal) , identifier ))))) ;) (if_statement "if (pcVar26 == (code *)0x0) {\n    return 7;\n  }" if (parenthesized_expression "(pcVar26 == (code *)0x0)" ( (binary_expression "pcVar26 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    return 7;\n  }" { (return_statement "return 7;" return number_literal ;) })) (if_statement "if (in_stack_ffffff98 != (int *)0x0) {\n    param_4 = pcVar26;\n  }" if (parenthesized_expression "(in_stack_ffffff98 != (int *)0x0)" ( (binary_expression "in_stack_ffffff98 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    param_4 = pcVar26;\n  }" { (expression_statement "param_4 = pcVar26;" (assignment_expression "param_4 = pcVar26" identifier = identifier) ;) })) (expression_statement "uVar11 = (**(code **)(puVar28 + 0xf34e4))(pcVar26);" (assignment_expression "uVar11 = (**(code **)(puVar28 + 0xf34e4))(pcVar26)" identifier = (call_expression "(**(code **)(puVar28 + 0xf34e4))(pcVar26)" (parenthesized_expression "(**(code **)(puVar28 + 0xf34e4))" ( (pointer_expression "**(code **)(puVar28 + 0xf34e4)" * (pointer_expression "*(code **)(puVar28 + 0xf34e4)" * (cast_expression "(code **)(puVar28 + 0xf34e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0xf34e4)" ( (binary_expression "puVar28 + 0xf34e4" identifier + number_literal) ))))) )) (argument_list "(pcVar26)" ( identifier )))) ;) (if_statement "if (in_stack_ffffff98 != (int *)0x0) {\n    uVar7 = uVar11 & 0x3fffffff;\n  }" if (parenthesized_expression "(in_stack_ffffff98 != (int *)0x0)" ( (binary_expression "in_stack_ffffff98 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar7 = uVar11 & 0x3fffffff;\n  }" { (expression_statement "uVar7 = uVar11 & 0x3fffffff;" (assignment_expression "uVar7 = uVar11 & 0x3fffffff" identifier = (binary_expression "uVar11 & 0x3fffffff" identifier & number_literal)) ;) })) (expression_statement "iVar1 = (*(code *)(*(int *)(puVar28 + 0xf330c) + 0x924))(uVar25);" (assignment_expression "iVar1 = (*(code *)(*(int *)(puVar28 + 0xf330c) + 0x924))(uVar25)" identifier = (call_expression "(*(code *)(*(int *)(puVar28 + 0xf330c) + 0x924))(uVar25)" (parenthesized_expression "(*(code *)(*(int *)(puVar28 + 0xf330c) + 0x924))" ( (pointer_expression "*(code *)(*(int *)(puVar28 + 0xf330c) + 0x924)" * (cast_expression "(code *)(*(int *)(puVar28 + 0xf330c) + 0x924)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar28 + 0xf330c) + 0x924)" ( (binary_expression "*(int *)(puVar28 + 0xf330c) + 0x924" (pointer_expression "*(int *)(puVar28 + 0xf330c)" * (cast_expression "(int *)(puVar28 + 0xf330c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + 0xf330c)" ( (binary_expression "puVar28 + 0xf330c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(uVar25)" ( identifier )))) ;) (if_statement "if (iVar1 == 0) {\n    iVar27 = 7;\n  }\n  else {\n    (**(code **)(puVar28 + 0xf3590))(iVar1,piVar18,uVar22);\n    iVar27 = *piVar17;\n    iVar8 = *(int *)(puVar28 + 0xf330c);\n    if (iVar27 != 0) {\n      iVar13 = *(int *)(puVar28 + 0xf32f8);\n      do {\n        iVar14 = *(int *)(iVar27 + 0xc);\n        iVar12 = iVar14;\n        iVar29 = iVar27;\n        if (iVar14 == 0) {\n          iVar12 = 0;\n          piVar19 = piVar17;\nLAB_0009da24:\n          *piVar19 = iVar12;\n        }\n        else {\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }\n        pbVar16 = *(byte **)(iVar27 + 4);\n        uVar20 = uVar11 & 0x3fffffff;\n        pcVar4 = pcVar26;\n        if ((*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0) {\n          uVar20 = uVar7;\n          pcVar4 = param_4;\n        }\n        if (*(uint *)(iVar27 + 8) != uVar20) {\n          (**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));\n          uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;\n          *(undefined1 *)(iVar1 + uVar22) = 0;\n        }\n        (**(code **)(puVar28 + 0xf3590))(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20);\n        (*(code *)(iVar8 + -0x2368))(uVar25,iVar27);\n        iVar27 = *piVar17;\n      } while (iVar27 != 0);\n    }\n    FUN_0007ec40(piVar2,piVar2 + 5,iVar1,0xffffffff,1,0xffffffff);\n    iVar27 = 0;\n    (*(code *)(iVar8 + -0x2368))(uVar25,iVar1);\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar27 = 7;\n  }" { (expression_statement "iVar27 = 7;" (assignment_expression "iVar27 = 7" identifier = number_literal) ;) }) (else_clause "else {\n    (**(code **)(puVar28 + 0xf3590))(iVar1,piVar18,uVar22);\n    iVar27 = *piVar17;\n    iVar8 = *(int *)(puVar28 + 0xf330c);\n    if (iVar27 != 0) {\n      iVar13 = *(int *)(puVar28 + 0xf32f8);\n      do {\n        iVar14 = *(int *)(iVar27 + 0xc);\n        iVar12 = iVar14;\n        iVar29 = iVar27;\n        if (iVar14 == 0) {\n          iVar12 = 0;\n          piVar19 = piVar17;\nLAB_0009da24:\n          *piVar19 = iVar12;\n        }\n        else {\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }\n        pbVar16 = *(byte **)(iVar27 + 4);\n        uVar20 = uVar11 & 0x3fffffff;\n        pcVar4 = pcVar26;\n        if ((*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0) {\n          uVar20 = uVar7;\n          pcVar4 = param_4;\n        }\n        if (*(uint *)(iVar27 + 8) != uVar20) {\n          (**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));\n          uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;\n          *(undefined1 *)(iVar1 + uVar22) = 0;\n        }\n        (**(code **)(puVar28 + 0xf3590))(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20);\n        (*(code *)(iVar8 + -0x2368))(uVar25,iVar27);\n        iVar27 = *piVar17;\n      } while (iVar27 != 0);\n    }\n    FUN_0007ec40(piVar2,piVar2 + 5,iVar1,0xffffffff,1,0xffffffff);\n    iVar27 = 0;\n    (*(code *)(iVar8 + -0x2368))(uVar25,iVar1);\n  }" else (compound_statement "{\n    (**(code **)(puVar28 + 0xf3590))(iVar1,piVar18,uVar22);\n    iVar27 = *piVar17;\n    iVar8 = *(int *)(puVar28 + 0xf330c);\n    if (iVar27 != 0) {\n      iVar13 = *(int *)(puVar28 + 0xf32f8);\n      do {\n        iVar14 = *(int *)(iVar27 + 0xc);\n        iVar12 = iVar14;\n        iVar29 = iVar27;\n        if (iVar14 == 0) {\n          iVar12 = 0;\n          piVar19 = piVar17;\nLAB_0009da24:\n          *piVar19 = iVar12;\n        }\n        else {\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }\n        pbVar16 = *(byte **)(iVar27 + 4);\n        uVar20 = uVar11 & 0x3fffffff;\n        pcVar4 = pcVar26;\n        if ((*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0) {\n          uVar20 = uVar7;\n          pcVar4 = param_4;\n        }\n        if (*(uint *)(iVar27 + 8) != uVar20) {\n          (**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));\n          uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;\n          *(undefined1 *)(iVar1 + uVar22) = 0;\n        }\n        (**(code **)(puVar28 + 0xf3590))(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20);\n        (*(code *)(iVar8 + -0x2368))(uVar25,iVar27);\n        iVar27 = *piVar17;\n      } while (iVar27 != 0);\n    }\n    FUN_0007ec40(piVar2,piVar2 + 5,iVar1,0xffffffff,1,0xffffffff);\n    iVar27 = 0;\n    (*(code *)(iVar8 + -0x2368))(uVar25,iVar1);\n  }" { (expression_statement "(**(code **)(puVar28 + 0xf3590))(iVar1,piVar18,uVar22);" (call_expression "(**(code **)(puVar28 + 0xf3590))(iVar1,piVar18,uVar22)" (parenthesized_expression "(**(code **)(puVar28 + 0xf3590))" ( (pointer_expression "**(code **)(puVar28 + 0xf3590)" * (pointer_expression "*(code **)(puVar28 + 0xf3590)" * (cast_expression "(code **)(puVar28 + 0xf3590)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0xf3590)" ( (binary_expression "puVar28 + 0xf3590" identifier + number_literal) ))))) )) (argument_list "(iVar1,piVar18,uVar22)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar27 = *piVar17;" (assignment_expression "iVar27 = *piVar17" identifier = (pointer_expression "*piVar17" * identifier)) ;) (expression_statement "iVar8 = *(int *)(puVar28 + 0xf330c);" (assignment_expression "iVar8 = *(int *)(puVar28 + 0xf330c)" identifier = (pointer_expression "*(int *)(puVar28 + 0xf330c)" * (cast_expression "(int *)(puVar28 + 0xf330c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + 0xf330c)" ( (binary_expression "puVar28 + 0xf330c" identifier + number_literal) ))))) ;) (if_statement "if (iVar27 != 0) {\n      iVar13 = *(int *)(puVar28 + 0xf32f8);\n      do {\n        iVar14 = *(int *)(iVar27 + 0xc);\n        iVar12 = iVar14;\n        iVar29 = iVar27;\n        if (iVar14 == 0) {\n          iVar12 = 0;\n          piVar19 = piVar17;\nLAB_0009da24:\n          *piVar19 = iVar12;\n        }\n        else {\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }\n        pbVar16 = *(byte **)(iVar27 + 4);\n        uVar20 = uVar11 & 0x3fffffff;\n        pcVar4 = pcVar26;\n        if ((*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0) {\n          uVar20 = uVar7;\n          pcVar4 = param_4;\n        }\n        if (*(uint *)(iVar27 + 8) != uVar20) {\n          (**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));\n          uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;\n          *(undefined1 *)(iVar1 + uVar22) = 0;\n        }\n        (**(code **)(puVar28 + 0xf3590))(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20);\n        (*(code *)(iVar8 + -0x2368))(uVar25,iVar27);\n        iVar27 = *piVar17;\n      } while (iVar27 != 0);\n    }" if (parenthesized_expression "(iVar27 != 0)" ( (binary_expression "iVar27 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar13 = *(int *)(puVar28 + 0xf32f8);\n      do {\n        iVar14 = *(int *)(iVar27 + 0xc);\n        iVar12 = iVar14;\n        iVar29 = iVar27;\n        if (iVar14 == 0) {\n          iVar12 = 0;\n          piVar19 = piVar17;\nLAB_0009da24:\n          *piVar19 = iVar12;\n        }\n        else {\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }\n        pbVar16 = *(byte **)(iVar27 + 4);\n        uVar20 = uVar11 & 0x3fffffff;\n        pcVar4 = pcVar26;\n        if ((*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0) {\n          uVar20 = uVar7;\n          pcVar4 = param_4;\n        }\n        if (*(uint *)(iVar27 + 8) != uVar20) {\n          (**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));\n          uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;\n          *(undefined1 *)(iVar1 + uVar22) = 0;\n        }\n        (**(code **)(puVar28 + 0xf3590))(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20);\n        (*(code *)(iVar8 + -0x2368))(uVar25,iVar27);\n        iVar27 = *piVar17;\n      } while (iVar27 != 0);\n    }" { (expression_statement "iVar13 = *(int *)(puVar28 + 0xf32f8);" (assignment_expression "iVar13 = *(int *)(puVar28 + 0xf32f8)" identifier = (pointer_expression "*(int *)(puVar28 + 0xf32f8)" * (cast_expression "(int *)(puVar28 + 0xf32f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + 0xf32f8)" ( (binary_expression "puVar28 + 0xf32f8" identifier + number_literal) ))))) ;) (do_statement "do {\n        iVar14 = *(int *)(iVar27 + 0xc);\n        iVar12 = iVar14;\n        iVar29 = iVar27;\n        if (iVar14 == 0) {\n          iVar12 = 0;\n          piVar19 = piVar17;\nLAB_0009da24:\n          *piVar19 = iVar12;\n        }\n        else {\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }\n        pbVar16 = *(byte **)(iVar27 + 4);\n        uVar20 = uVar11 & 0x3fffffff;\n        pcVar4 = pcVar26;\n        if ((*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0) {\n          uVar20 = uVar7;\n          pcVar4 = param_4;\n        }\n        if (*(uint *)(iVar27 + 8) != uVar20) {\n          (**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));\n          uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;\n          *(undefined1 *)(iVar1 + uVar22) = 0;\n        }\n        (**(code **)(puVar28 + 0xf3590))(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20);\n        (*(code *)(iVar8 + -0x2368))(uVar25,iVar27);\n        iVar27 = *piVar17;\n      } while (iVar27 != 0);" do (compound_statement "{\n        iVar14 = *(int *)(iVar27 + 0xc);\n        iVar12 = iVar14;\n        iVar29 = iVar27;\n        if (iVar14 == 0) {\n          iVar12 = 0;\n          piVar19 = piVar17;\nLAB_0009da24:\n          *piVar19 = iVar12;\n        }\n        else {\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }\n        pbVar16 = *(byte **)(iVar27 + 4);\n        uVar20 = uVar11 & 0x3fffffff;\n        pcVar4 = pcVar26;\n        if ((*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0) {\n          uVar20 = uVar7;\n          pcVar4 = param_4;\n        }\n        if (*(uint *)(iVar27 + 8) != uVar20) {\n          (**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));\n          uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;\n          *(undefined1 *)(iVar1 + uVar22) = 0;\n        }\n        (**(code **)(puVar28 + 0xf3590))(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20);\n        (*(code *)(iVar8 + -0x2368))(uVar25,iVar27);\n        iVar27 = *piVar17;\n      }" { (expression_statement "iVar14 = *(int *)(iVar27 + 0xc);" (assignment_expression "iVar14 = *(int *)(iVar27 + 0xc)" identifier = (pointer_expression "*(int *)(iVar27 + 0xc)" * (cast_expression "(int *)(iVar27 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0xc)" ( (binary_expression "iVar27 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = iVar14;" (assignment_expression "iVar12 = iVar14" identifier = identifier) ;) (expression_statement "iVar29 = iVar27;" (assignment_expression "iVar29 = iVar27" identifier = identifier) ;) (if_statement "if (iVar14 == 0) {\n          iVar12 = 0;\n          piVar19 = piVar17;\nLAB_0009da24:\n          *piVar19 = iVar12;\n        }\n        else {\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar12 = 0;\n          piVar19 = piVar17;\nLAB_0009da24:\n          *piVar19 = iVar12;\n        }" { (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (expression_statement "piVar19 = piVar17;" (assignment_expression "piVar19 = piVar17" identifier = identifier) ;) (labeled_statement "LAB_0009da24:\n          *piVar19 = iVar12;" statement_identifier : (expression_statement "*piVar19 = iVar12;" (assignment_expression "*piVar19 = iVar12" (pointer_expression "*piVar19" * identifier) = identifier) ;)) }) (else_clause "else {\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }" else (compound_statement "{\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }" { (do_statement "do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);" do (compound_statement "{\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          }" { (if_statement "if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }" if (parenthesized_expression "(*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4))" ( (binary_expression "*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)" (pointer_expression "*(uint *)(iVar29 + 4)" * (cast_expression "(uint *)(iVar29 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 4)" ( (binary_expression "iVar29 + 4" identifier + number_literal) )))) < (pointer_expression "*(uint *)(iVar12 + 4)" * (cast_expression "(uint *)(iVar12 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 4)" ( (binary_expression "iVar12 + 4" identifier + number_literal) ))))) )) (compound_statement "{\n              iVar29 = iVar12;\n            }" { (expression_statement "iVar29 = iVar12;" (assignment_expression "iVar29 = iVar12" identifier = identifier) ;) })) (expression_statement "piVar19 = (int *)(iVar12 + 0xc);" (assignment_expression "piVar19 = (int *)(iVar12 + 0xc)" identifier = (cast_expression "(int *)(iVar12 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0xc)" ( (binary_expression "iVar12 + 0xc" identifier + number_literal) )))) ;) (expression_statement "iVar12 = *piVar19;" (assignment_expression "iVar12 = *piVar19" identifier = (pointer_expression "*piVar19" * identifier)) ;) }) while (parenthesized_expression "(*piVar19 != 0)" ( (binary_expression "*piVar19 != 0" (pointer_expression "*piVar19" * identifier) != number_literal) )) ;) (expression_statement "iVar12 = *(int *)(iVar29 + 0xc);" (assignment_expression "iVar12 = *(int *)(iVar29 + 0xc)" identifier = (pointer_expression "*(int *)(iVar29 + 0xc)" * (cast_expression "(int *)(iVar29 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xc)" ( (binary_expression "iVar29 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }" if (parenthesized_expression "(iVar29 != iVar27)" ( (binary_expression "iVar29 != iVar27" identifier != identifier) )) (compound_statement "{\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }" { (while_statement "while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }" while (parenthesized_expression "(iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29)" ( (comma_expression "iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29" (assignment_expression "iVar15 = iVar14" identifier = identifier) , (comma_expression "piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29" (assignment_expression "piVar19 = (int *)(iVar27 + 0xc)" identifier = (cast_expression "(int *)(iVar27 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0xc)" ( (binary_expression "iVar27 + 0xc" identifier + number_literal) )))) , (comma_expression "iVar27 = iVar29,\n                  iVar15 != iVar29" (assignment_expression "iVar27 = iVar29" identifier = identifier) , (binary_expression "iVar15 != iVar29" identifier != identifier)))) )) (compound_statement "{\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }" { (expression_statement "iVar27 = iVar15;" (assignment_expression "iVar27 = iVar15" identifier = identifier) ;) (expression_statement "iVar14 = *(int *)(iVar15 + 0xc);" (assignment_expression "iVar14 = *(int *)(iVar15 + 0xc)" identifier = (pointer_expression "*(int *)(iVar15 + 0xc)" * (cast_expression "(int *)(iVar15 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0xc)" ( (binary_expression "iVar15 + 0xc" identifier + number_literal) ))))) ;) })) (goto_statement "goto LAB_0009da24;" goto statement_identifier ;) })) (expression_statement "*piVar17 = iVar12;" (assignment_expression "*piVar17 = iVar12" (pointer_expression "*piVar17" * identifier) = identifier) ;) (expression_statement "iVar27 = iVar29;" (assignment_expression "iVar27 = iVar29" identifier = identifier) ;) }))) (expression_statement "pbVar16 = *(byte **)(iVar27 + 4);" (assignment_expression "pbVar16 = *(byte **)(iVar27 + 4)" identifier = (pointer_expression "*(byte **)(iVar27 + 4)" * (cast_expression "(byte **)(iVar27 + 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar27 + 4)" ( (binary_expression "iVar27 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar20 = uVar11 & 0x3fffffff;" (assignment_expression "uVar20 = uVar11 & 0x3fffffff" identifier = (binary_expression "uVar11 & 0x3fffffff" identifier & number_literal)) ;) (expression_statement "pcVar4 = pcVar26;" (assignment_expression "pcVar4 = pcVar26" identifier = identifier) ;) (if_statement "if ((*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0) {\n          uVar20 = uVar7;\n          pcVar4 = param_4;\n        }" if (parenthesized_expression "((*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0)" ( (binary_expression "(*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0" (parenthesized_expression "(*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46)" ( (binary_expression "*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46" (pointer_expression "*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16)" * (cast_expression "(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + -0x3d18 + (uint)*pbVar16)" ( (binary_expression "iVar13 + -0x3d18 + (uint)*pbVar16" (binary_expression "iVar13 + -0x3d18" identifier + number_literal) + (binary_expression "(uint)*pbVar16" (parenthesized_expression "(uint)" ( identifier )) * identifier)) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          uVar20 = uVar7;\n          pcVar4 = param_4;\n        }" { (expression_statement "uVar20 = uVar7;" (assignment_expression "uVar20 = uVar7" identifier = identifier) ;) (expression_statement "pcVar4 = param_4;" (assignment_expression "pcVar4 = param_4" identifier = identifier) ;) })) (if_statement "if (*(uint *)(iVar27 + 8) != uVar20) {\n          (**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));\n          uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;\n          *(undefined1 *)(iVar1 + uVar22) = 0;\n        }" if (parenthesized_expression "(*(uint *)(iVar27 + 8) != uVar20)" ( (binary_expression "*(uint *)(iVar27 + 8) != uVar20" (pointer_expression "*(uint *)(iVar27 + 8)" * (cast_expression "(uint *)(iVar27 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 8)" ( (binary_expression "iVar27 + 8" identifier + number_literal) )))) != identifier) )) (compound_statement "{\n          (**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));\n          uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;\n          *(undefined1 *)(iVar1 + uVar22) = 0;\n        }" { (expression_statement "(**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));" (call_expression "(**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)))" (parenthesized_expression "(**(code **)(puVar28 + 0xf35a0))" ( (pointer_expression "**(code **)(puVar28 + 0xf35a0)" * (pointer_expression "*(code **)(puVar28 + 0xf35a0)" * (cast_expression "(code **)(puVar28 + 0xf35a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0xf35a0)" ( (binary_expression "puVar28 + 0xf35a0" identifier + number_literal) ))))) )) (argument_list "(pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)))" ( (binary_expression "pbVar16 + iVar1 + (uVar20 - (int)piVar18)" (binary_expression "pbVar16 + iVar1" identifier + identifier) + (parenthesized_expression "(uVar20 - (int)piVar18)" ( (binary_expression "uVar20 - (int)piVar18" identifier - (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , (binary_expression "pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1" (binary_expression "pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)" identifier + (parenthesized_expression "(*(uint *)(iVar27 + 8) - (int)piVar18)" ( (binary_expression "*(uint *)(iVar27 + 8) - (int)piVar18" (pointer_expression "*(uint *)(iVar27 + 8)" * (cast_expression "(uint *)(iVar27 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 8)" ( (binary_expression "iVar27 + 8" identifier + number_literal) )))) - (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier)) ))) + identifier) , (binary_expression "uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18))" identifier - (cast_expression "(int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18))" ( (binary_expression "pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)" identifier + (parenthesized_expression "(*(uint *)(iVar27 + 8) - (int)piVar18)" ( (binary_expression "*(uint *)(iVar27 + 8) - (int)piVar18" (pointer_expression "*(uint *)(iVar27 + 8)" * (cast_expression "(uint *)(iVar27 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 8)" ( (binary_expression "iVar27 + 8" identifier + number_literal) )))) - (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ))) ;) (expression_statement "uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;" (assignment_expression "uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20" identifier = (binary_expression "(uVar22 - *(int *)(iVar27 + 8)) + uVar20" (parenthesized_expression "(uVar22 - *(int *)(iVar27 + 8))" ( (binary_expression "uVar22 - *(int *)(iVar27 + 8)" identifier - (pointer_expression "*(int *)(iVar27 + 8)" * (cast_expression "(int *)(iVar27 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 8)" ( (binary_expression "iVar27 + 8" identifier + number_literal) ))))) )) + identifier)) ;) (expression_statement "*(undefined1 *)(iVar1 + uVar22) = 0;" (assignment_expression "*(undefined1 *)(iVar1 + uVar22) = 0" (pointer_expression "*(undefined1 *)(iVar1 + uVar22)" * (cast_expression "(undefined1 *)(iVar1 + uVar22)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + uVar22)" ( (binary_expression "iVar1 + uVar22" identifier + identifier) )))) = number_literal) ;) })) (expression_statement "(**(code **)(puVar28 + 0xf3590))(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20);" (call_expression "(**(code **)(puVar28 + 0xf3590))(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20)" (parenthesized_expression "(**(code **)(puVar28 + 0xf3590))" ( (pointer_expression "**(code **)(puVar28 + 0xf3590)" * (pointer_expression "*(code **)(puVar28 + 0xf3590)" * (cast_expression "(code **)(puVar28 + 0xf3590)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0xf3590)" ( (binary_expression "puVar28 + 0xf3590" identifier + number_literal) ))))) )) (argument_list "(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20)" ( (binary_expression "pbVar16 + (iVar1 - (int)piVar18)" identifier + (parenthesized_expression "(iVar1 - (int)piVar18)" ( (binary_expression "iVar1 - (int)piVar18" identifier - (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , identifier , identifier ))) ;) (expression_statement "(*(code *)(iVar8 + -0x2368))(uVar25,iVar27);" (call_expression "(*(code *)(iVar8 + -0x2368))(uVar25,iVar27)" (parenthesized_expression "(*(code *)(iVar8 + -0x2368))" ( (pointer_expression "*(code *)(iVar8 + -0x2368)" * (cast_expression "(code *)(iVar8 + -0x2368)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + -0x2368)" ( (binary_expression "iVar8 + -0x2368" identifier + number_literal) )))) )) (argument_list "(uVar25,iVar27)" ( identifier , identifier ))) ;) (expression_statement "iVar27 = *piVar17;" (assignment_expression "iVar27 = *piVar17" identifier = (pointer_expression "*piVar17" * identifier)) ;) }) while (parenthesized_expression "(iVar27 != 0)" ( (binary_expression "iVar27 != 0" identifier != number_literal) )) ;) })) (expression_statement "FUN_0007ec40(piVar2,piVar2 + 5,iVar1,0xffffffff,1,0xffffffff);" (call_expression "FUN_0007ec40(piVar2,piVar2 + 5,iVar1,0xffffffff,1,0xffffffff)" identifier (argument_list "(piVar2,piVar2 + 5,iVar1,0xffffffff,1,0xffffffff)" ( identifier , (binary_expression "piVar2 + 5" identifier + number_literal) , identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" identifier = number_literal) ;) (expression_statement "(*(code *)(iVar8 + -0x2368))(uVar25,iVar1);" (call_expression "(*(code *)(iVar8 + -0x2368))(uVar25,iVar1)" (parenthesized_expression "(*(code *)(iVar8 + -0x2368))" ( (pointer_expression "*(code *)(iVar8 + -0x2368)" * (cast_expression "(code *)(iVar8 + -0x2368)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + -0x2368)" ( (binary_expression "iVar8 + -0x2368" identifier + number_literal) )))) )) (argument_list "(uVar25,iVar1)" ( identifier , identifier ))) ;) }))) (expression_statement "(**(code **)(puVar28 + 0xf30d0))(pcVar26);" (call_expression "(**(code **)(puVar28 + 0xf30d0))(pcVar26)" (parenthesized_expression "(**(code **)(puVar28 + 0xf30d0))" ( (pointer_expression "**(code **)(puVar28 + 0xf30d0)" * (pointer_expression "*(code **)(puVar28 + 0xf30d0)" * (cast_expression "(code **)(puVar28 + 0xf30d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0xf30d0)" ( (binary_expression "puVar28 + 0xf30d0" identifier + number_literal) ))))) )) (argument_list "(pcVar26)" ( identifier ))) ;) (return_statement "return iVar27;" return identifier ;) (labeled_statement "LAB_0009d634:\n  uVar22 = uVar22 + 1;" statement_identifier : (expression_statement "uVar22 = uVar22 + 1;" (assignment_expression "uVar22 = uVar22 + 1" identifier = (binary_expression "uVar22 + 1" identifier + number_literal)) ;)) (expression_statement "pcVar21 = pcVar21 + 1;" (assignment_expression "pcVar21 = pcVar21 + 1" identifier = (binary_expression "pcVar21 + 1" identifier + number_literal)) ;) (if_statement "if (uVar22 == uVar7) goto LAB_0009d7b4;" if (parenthesized_expression "(uVar22 == uVar7)" ( (binary_expression "uVar22 == uVar7" identifier == identifier) )) (goto_statement "goto LAB_0009d7b4;" goto statement_identifier ;)) (goto_statement "goto LAB_0009d63c;" goto statement_identifier ;) })))
(translation_unit "int vtabCallConstructor(sqlite3 *db,Table *pTab,Module *pMod,\n                       _func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                       *xConstruct,char **pzErr)\n\n{\n  _func_int_sqlite3_vtab_ptr_sqlite3_index_info_ptr **pp_Var1;\n  VtabCtx *pVVar2;\n  Module *pMVar3;\n  VTable *pVVar4;\n  int iVar5;\n  sqlite3_vtab *psVar6;\n  code *pcVar7;\n  char *pcVar8;\n  uint uVar9;\n  int iVar10;\n  char *pcVar11;\n  sqlite3_module *psVar13;\n  sqlite3_context *pCtx;\n  int iVar14;\n  sqlite3_module *psVar15;\n  sqlite3_module *psVar16;\n  _func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *p_Var17;\n  Module *zFormat;\n  Module *pMVar18;\n  char **ppcVar19;\n  sqlite3_module *psVar20;\n  _func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *p_Var21;\n  char *pcVar22;\n  uint uVar23;\n  code *pcVar24;\n  undefined *puVar25;\n  sqlite3 *db_00;\n  int iVar26;\n  char **ppcVar27;\n  _func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *p_Var28;\n  undefined *puVar29;\n  sqlite3_module *psVar30;\n  sqlite3_vtab **in_stack_ffffff98;\n  int iStack_50;\n  uint uStack_48;\n  char *zErr;\n  VtabCtx sCtx;\n  char *pcVar12;\n  \n  puVar29 = PTR___stack_chk_guard_00190e24;\n  pVVar2 = db->pVtabCtx;\n  ppcVar27 = pTab->azModuleArg;\n  pCtx = *(sqlite3_context **)PTR___stack_chk_guard_00190e24;\n  iVar26 = pTab->nModuleArg;\n  zErr = (char *)0x0;\n  for (; pVVar2 != (VtabCtx *)0x0; pVVar2 = pVVar2->pPrior) {\n    if (pVVar2->pTab == pTab) {\n      iVar26 = 6;\n      pMVar18 = (Module *)pTab->zName;\n      zFormat = (Module *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c);\n      pcVar8 = sqlite3MPrintf(db,(char *)zFormat);\n      *pzErr = pcVar8;\n      goto LAB_0009d418;\n    }\n  }\n  zFormat = (Module *)pTab->zName;\n  pMVar18 = pMod;\n  ppcVar19 = (char **)xConstruct;\n  pMVar3 = (Module *)(*(code *)(PTR_LAB_00190ba8 + 0xfc4))(db);\n  if (pMVar3 == (Module *)0x0) {\n    iVar26 = 7;\n    xConstruct = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                  *)ppcVar19;\n    goto LAB_0009d418;\n  }\n  pVVar4 = (VTable *)(*(code *)(PTR_LAB_00190ba8 + -0x2940))(0,0x1c);\n  if (pVVar4 == (VTable *)0x0) {\n    uVar9._0_1_ = db->temp_store;\n    uVar9._1_1_ = db->mallocFailed;\n    uVar9._2_1_ = db->bBenignMalloc;\n    uVar9._3_1_ = db->dfltLockMode;\n    if ((uVar9 & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(db);\n    }\n    iVar26 = 7;\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(db);\n    zFormat = pMVar3;\n    xConstruct = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                  *)ppcVar19;\n    goto LAB_0009d418;\n  }\n  pVVar4->db = db;\n  pVVar4->pMod = pMod;\n  if (pTab->pSchema == (Schema *)0x0) {\n    iVar5 = -16000000;\n  }\n  else {\n    iVar5 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(db);\n    iVar5 = iVar5 << 4;\n  }\n  in_stack_ffffff98 = &pVVar4->pVtab;\n  pTab->azModuleArg[1] = *(char **)((int)&db->aDb->zDbSName + iVar5);\n  sCtx.bDeclared = 0;\n  sCtx.pPrior = db->pVtabCtx;\n  db->pVtabCtx = &sCtx;\n  sCtx.pVTable = pVVar4;\n  sCtx.pTab = pTab;\n  iVar26 = (*xConstruct)(db,pMod->pAux,iVar26,ppcVar27,in_stack_ffffff98,&zErr);\n  db->pVtabCtx = sCtx.pPrior;\n  if (iVar26 == 7) {\n    uVar23._0_1_ = db->temp_store;\n    uVar23._1_1_ = db->mallocFailed;\n    uVar23._2_1_ = db->bBenignMalloc;\n    uVar23._3_1_ = db->dfltLockMode;\n    if ((uVar23 & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(db);\n    }\nLAB_0009d750:\n    if (zErr == (char *)0x0) {\n      pMVar18 = pMVar3;\n      pcVar8 = sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);\n      *pzErr = pcVar8;\n    }\n    else {\n      pMVar18 = (Module *)zErr;\n      pcVar8 = sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);\n      puVar25 = PTR_sqlite3_free_0019096c;\n      *pzErr = pcVar8;\n      (*(code *)puVar25)(zErr);\n    }\n    pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    (*pcVar7)(db,pVVar4);\n  }\n  else {\n    if (iVar26 != 0) goto LAB_0009d750;\n    psVar6 = pVVar4->pVtab;\n    pMVar18 = (Module *)zErr;\n    if (psVar6 == (sqlite3_vtab *)0x0) {\nLAB_0009d70c:\n      pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n    else {\n      *(undefined1 *)&psVar6->pModule = 0;\n      *(undefined1 *)((int)&psVar6->pModule + 1) = 0;\n      *(undefined1 *)((int)&psVar6->pModule + 2) = 0;\n      *(undefined1 *)((int)&psVar6->pModule + 3) = 0;\n      *(undefined1 *)&psVar6->nRef = 0;\n      *(undefined1 *)((int)&psVar6->nRef + 1) = 0;\n      *(undefined1 *)((int)&psVar6->nRef + 2) = 0;\n      *(undefined1 *)((int)&psVar6->nRef + 3) = 0;\n      *(undefined1 *)&psVar6->zErrMsg = 0;\n      *(undefined1 *)((int)&psVar6->zErrMsg + 1) = 0;\n      *(undefined1 *)((int)&psVar6->zErrMsg + 2) = 0;\n      *(undefined1 *)((int)&psVar6->zErrMsg + 3) = 0;\n      pVVar4->pVtab->pModule = pMod->pModule;\n      pVVar4->nRef = 1;\n      if (sCtx.bDeclared != 0) {\n        pVVar4->pNext = pTab->pVTable;\n        pTab->pVTable = pVVar4;\n        iStack_50 = (int)pTab->nCol;\n        if (0 < iStack_50) {\n          iVar5 = 0;\n          pcVar7 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          uStack_48 = 0;\n          puVar25 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar24 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            if (((pTab->aCol[iVar5].colFlags & 4) != 0) &&\n               (pcVar8 = (char *)(*pcVar7)(pTab->aCol[iVar5].zName), pcVar8 != (char *)0x0)) {\n              uVar9 = (*(code *)PTR_strlen_00190d80)(pcVar8);\n              uVar9 = uVar9 & 0x3fffffff;\n              if (uVar9 != 0) {\n                uVar23 = 0;\n                pcVar22 = pcVar8;\nLAB_0009d63c:\n                pMVar18 = (Module *)&DAT_00000006;\n                if (((pcVar22 == (char *)0x0) || (iVar10 = (*pcVar24)(puVar25,pcVar22), iVar10 != 0)\n                    ) || ((uVar23 != 0 && (pcVar22[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar22[6] == '\0') {\n                  iVar10 = 6;\n                }\n                else {\n                  if (pcVar22[6] != ' ') goto LAB_0009d634;\n                  iVar10 = 7;\n                }\n                if ((int)(iVar10 + uVar23) <= (int)uVar9) {\n                  iVar14 = (int)(pcVar8 + uVar23) - uVar23;\n                  pcVar12 = pcVar8 + uVar23;\n                  do {\n                    pcVar11 = pcVar12 + 1;\n                    *pcVar12 = *(char *)(iVar14 + iVar10 + uVar23);\n                    iVar14 = (int)pcVar11 - uVar23;\n                    pcVar12 = pcVar11;\n                  } while ((int)(pcVar11 + (iVar10 - (int)pcVar8)) <= (int)uVar9);\n                }\n                if ((*pcVar22 == '\0') && (uVar23 != 0)) {\n                  pcVar8[uVar23 - 1] = '\0';\n                }\n                uStack_48 = 0x80;\n                pTab->aCol[iVar5].colFlags = pTab->aCol[iVar5].colFlags | 2;\n                iStack_50 = (int)pTab->nCol;\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            pTab->tabFlags = pTab->tabFlags | uStack_48;\nLAB_0009d6f8:\n            iVar5 = iVar5 + 1;\n          } while (iVar5 < iStack_50);\n        }\n        goto LAB_0009d70c;\n      }\n      iVar26 = 1;\n      pMVar18 = (Module *)pTab->zName;\n      pcVar8 = sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);\n      pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x1478);\n      *pzErr = pcVar8;\n      (*pcVar7)(pVVar4);\n      pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n  }\n  (*pcVar7)(db);\n  zFormat = pMVar3;\n  xConstruct = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *)\n               ppcVar27;\nLAB_0009d418:\n  if (pCtx == *(sqlite3_context **)puVar29) {\n    return iVar26;\n  }\n  puVar29 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  if ((char **)xConstruct == (char **)0x0) {\n    p_Var28 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *)\n              0x0;\n  }\n  else {\n    uVar9 = (**(code **)(puVar29 + 0xf34e4))(xConstruct);\n    p_Var28 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *)\n              (uVar9 & 0x3fffffff);\n  }\n  if (pMVar18 == (Module *)0x0) {\n    uVar9 = 0;\n  }\n  else {\n    uVar9 = (**(code **)(puVar29 + 0xf34e4))(pMVar18);\n    uVar9 = uVar9 & 0x3fffffff;\n  }\n  db_00 = pCtx->pOut->db;\n  ppcVar27 = (char **)sqlite3MPrintf(db_00,(char *)(*(int *)(puVar29 + 0xf30c0) + -0x56e8),\n                                     xConstruct);\n  if (ppcVar27 != (char **)0x0) {\n    if (in_stack_ffffff98 != (sqlite3_vtab **)0x0) {\n      xConstruct = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                    *)ppcVar27;\n    }\n    uVar23 = (**(code **)(puVar29 + 0xf34e4))(ppcVar27);\n    if (in_stack_ffffff98 != (sqlite3_vtab **)0x0) {\n      p_Var28 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *\n                )(uVar23 & 0x3fffffff);\n    }\n    iVar26 = (*(code *)(*(int *)(puVar29 + 0xf330c) + 0x924))(db_00);\n    if (iVar26 == 0) {\n      iVar5 = 7;\n    }\n    else {\n      (**(code **)(puVar29 + 0xf3590))(iVar26,pMVar18,uVar9);\n      psVar20 = zFormat->pModule;\n      iVar10 = *(int *)(puVar29 + 0xf330c);\n      if (psVar20 != (sqlite3_module *)0x0) {\n        iVar5 = *(int *)(puVar29 + 0xf32f8);\n        do {\n          psVar15 = (sqlite3_module *)psVar20->xBestIndex;\n          psVar13 = psVar15;\n          psVar30 = psVar20;\n          if (psVar15 == (sqlite3_module *)0x0) {\n            psVar13 = (sqlite3_module *)0x0;\n            pMVar3 = zFormat;\n          }\n          else {\n            do {\n              if (psVar30->xCreate < psVar13->xCreate) {\n                psVar30 = psVar13;\n              }\n              pp_Var1 = &psVar13->xBestIndex;\n              psVar13 = (sqlite3_module *)*pp_Var1;\n            } while ((sqlite3_module *)*pp_Var1 != (sqlite3_module *)0x0);\n            psVar13 = (sqlite3_module *)psVar30->xBestIndex;\n            if (psVar30 == psVar20) {\n              iVar26 = FUN_0009dbc4();\n              return iVar26;\n            }\n            while (psVar16 = psVar15, pMVar3 = (Module *)&psVar20->xBestIndex, psVar20 = psVar30,\n                  psVar16 != psVar30) {\n              psVar20 = psVar16;\n              psVar15 = (sqlite3_module *)psVar16->xBestIndex;\n            }\n          }\n          pMVar3->pModule = psVar13;\n          p_Var17 = psVar20->xCreate;\n          p_Var21 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                     *)(uVar23 & 0x3fffffff);\n          ppcVar19 = ppcVar27;\n          if ((*(byte *)(iVar5 + -0x3d18 + (uint)(byte)*p_Var17) & 0x46) != 0) {\n            p_Var21 = p_Var28;\n            ppcVar19 = (char **)xConstruct;\n          }\n          if (psVar20->xConnect != p_Var21) {\n            iVar26 = (**(code **)(puVar29 + 0xf35a0))\n                               (p_Var17 + (int)(p_Var21 + (iVar26 - (int)pMVar18)),\n                                p_Var17 + ((int)psVar20->xConnect - (int)pMVar18) + iVar26,\n                                uVar9 - (int)(p_Var17 + ((int)psVar20->xConnect - (int)pMVar18)));\n            return iVar26;\n          }\n          (**(code **)(puVar29 + 0xf3590))(p_Var17 + (iVar26 - (int)pMVar18),ppcVar19,p_Var21);\n          (*(code *)(iVar10 + -0x2368))(db_00,psVar20);\n          psVar20 = zFormat->pModule;\n        } while (psVar20 != (sqlite3_module *)0x0);\n      }\n      setResultStrOrError(pCtx,(char *)&pCtx->isError,iVar26,0xff,(_func_void_void_ptr *)0x1,\n                          (sqlite3_context *)0xffffffff);\n      iVar5 = 0;\n      (*(code *)(iVar10 + -0x2368))(db_00,iVar26);\n    }\n    (**(code **)(puVar29 + 0xf30d0))(ppcVar27);\n    return iVar5;\n  }\n  return 7;\nLAB_0009d634:\n  uVar23 = uVar23 + 1;\n  pcVar22 = pcVar22 + 1;\n  if (uVar23 == uVar9) goto LAB_0009d7b4;\n  goto LAB_0009d63c;\n}\n\n" (function_definition "int vtabCallConstructor(sqlite3 *db,Table *pTab,Module *pMod,\n                       _func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                       *xConstruct,char **pzErr)\n\n{\n  _func_int_sqlite3_vtab_ptr_sqlite3_index_info_ptr **pp_Var1;\n  VtabCtx *pVVar2;\n  Module *pMVar3;\n  VTable *pVVar4;\n  int iVar5;\n  sqlite3_vtab *psVar6;\n  code *pcVar7;\n  char *pcVar8;\n  uint uVar9;\n  int iVar10;\n  char *pcVar11;\n  sqlite3_module *psVar13;\n  sqlite3_context *pCtx;\n  int iVar14;\n  sqlite3_module *psVar15;\n  sqlite3_module *psVar16;\n  _func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *p_Var17;\n  Module *zFormat;\n  Module *pMVar18;\n  char **ppcVar19;\n  sqlite3_module *psVar20;\n  _func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *p_Var21;\n  char *pcVar22;\n  uint uVar23;\n  code *pcVar24;\n  undefined *puVar25;\n  sqlite3 *db_00;\n  int iVar26;\n  char **ppcVar27;\n  _func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *p_Var28;\n  undefined *puVar29;\n  sqlite3_module *psVar30;\n  sqlite3_vtab **in_stack_ffffff98;\n  int iStack_50;\n  uint uStack_48;\n  char *zErr;\n  VtabCtx sCtx;\n  char *pcVar12;\n  \n  puVar29 = PTR___stack_chk_guard_00190e24;\n  pVVar2 = db->pVtabCtx;\n  ppcVar27 = pTab->azModuleArg;\n  pCtx = *(sqlite3_context **)PTR___stack_chk_guard_00190e24;\n  iVar26 = pTab->nModuleArg;\n  zErr = (char *)0x0;\n  for (; pVVar2 != (VtabCtx *)0x0; pVVar2 = pVVar2->pPrior) {\n    if (pVVar2->pTab == pTab) {\n      iVar26 = 6;\n      pMVar18 = (Module *)pTab->zName;\n      zFormat = (Module *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c);\n      pcVar8 = sqlite3MPrintf(db,(char *)zFormat);\n      *pzErr = pcVar8;\n      goto LAB_0009d418;\n    }\n  }\n  zFormat = (Module *)pTab->zName;\n  pMVar18 = pMod;\n  ppcVar19 = (char **)xConstruct;\n  pMVar3 = (Module *)(*(code *)(PTR_LAB_00190ba8 + 0xfc4))(db);\n  if (pMVar3 == (Module *)0x0) {\n    iVar26 = 7;\n    xConstruct = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                  *)ppcVar19;\n    goto LAB_0009d418;\n  }\n  pVVar4 = (VTable *)(*(code *)(PTR_LAB_00190ba8 + -0x2940))(0,0x1c);\n  if (pVVar4 == (VTable *)0x0) {\n    uVar9._0_1_ = db->temp_store;\n    uVar9._1_1_ = db->mallocFailed;\n    uVar9._2_1_ = db->bBenignMalloc;\n    uVar9._3_1_ = db->dfltLockMode;\n    if ((uVar9 & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(db);\n    }\n    iVar26 = 7;\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(db);\n    zFormat = pMVar3;\n    xConstruct = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                  *)ppcVar19;\n    goto LAB_0009d418;\n  }\n  pVVar4->db = db;\n  pVVar4->pMod = pMod;\n  if (pTab->pSchema == (Schema *)0x0) {\n    iVar5 = -16000000;\n  }\n  else {\n    iVar5 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(db);\n    iVar5 = iVar5 << 4;\n  }\n  in_stack_ffffff98 = &pVVar4->pVtab;\n  pTab->azModuleArg[1] = *(char **)((int)&db->aDb->zDbSName + iVar5);\n  sCtx.bDeclared = 0;\n  sCtx.pPrior = db->pVtabCtx;\n  db->pVtabCtx = &sCtx;\n  sCtx.pVTable = pVVar4;\n  sCtx.pTab = pTab;\n  iVar26 = (*xConstruct)(db,pMod->pAux,iVar26,ppcVar27,in_stack_ffffff98,&zErr);\n  db->pVtabCtx = sCtx.pPrior;\n  if (iVar26 == 7) {\n    uVar23._0_1_ = db->temp_store;\n    uVar23._1_1_ = db->mallocFailed;\n    uVar23._2_1_ = db->bBenignMalloc;\n    uVar23._3_1_ = db->dfltLockMode;\n    if ((uVar23 & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(db);\n    }\nLAB_0009d750:\n    if (zErr == (char *)0x0) {\n      pMVar18 = pMVar3;\n      pcVar8 = sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);\n      *pzErr = pcVar8;\n    }\n    else {\n      pMVar18 = (Module *)zErr;\n      pcVar8 = sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);\n      puVar25 = PTR_sqlite3_free_0019096c;\n      *pzErr = pcVar8;\n      (*(code *)puVar25)(zErr);\n    }\n    pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    (*pcVar7)(db,pVVar4);\n  }\n  else {\n    if (iVar26 != 0) goto LAB_0009d750;\n    psVar6 = pVVar4->pVtab;\n    pMVar18 = (Module *)zErr;\n    if (psVar6 == (sqlite3_vtab *)0x0) {\nLAB_0009d70c:\n      pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n    else {\n      *(undefined1 *)&psVar6->pModule = 0;\n      *(undefined1 *)((int)&psVar6->pModule + 1) = 0;\n      *(undefined1 *)((int)&psVar6->pModule + 2) = 0;\n      *(undefined1 *)((int)&psVar6->pModule + 3) = 0;\n      *(undefined1 *)&psVar6->nRef = 0;\n      *(undefined1 *)((int)&psVar6->nRef + 1) = 0;\n      *(undefined1 *)((int)&psVar6->nRef + 2) = 0;\n      *(undefined1 *)((int)&psVar6->nRef + 3) = 0;\n      *(undefined1 *)&psVar6->zErrMsg = 0;\n      *(undefined1 *)((int)&psVar6->zErrMsg + 1) = 0;\n      *(undefined1 *)((int)&psVar6->zErrMsg + 2) = 0;\n      *(undefined1 *)((int)&psVar6->zErrMsg + 3) = 0;\n      pVVar4->pVtab->pModule = pMod->pModule;\n      pVVar4->nRef = 1;\n      if (sCtx.bDeclared != 0) {\n        pVVar4->pNext = pTab->pVTable;\n        pTab->pVTable = pVVar4;\n        iStack_50 = (int)pTab->nCol;\n        if (0 < iStack_50) {\n          iVar5 = 0;\n          pcVar7 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          uStack_48 = 0;\n          puVar25 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar24 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            if (((pTab->aCol[iVar5].colFlags & 4) != 0) &&\n               (pcVar8 = (char *)(*pcVar7)(pTab->aCol[iVar5].zName), pcVar8 != (char *)0x0)) {\n              uVar9 = (*(code *)PTR_strlen_00190d80)(pcVar8);\n              uVar9 = uVar9 & 0x3fffffff;\n              if (uVar9 != 0) {\n                uVar23 = 0;\n                pcVar22 = pcVar8;\nLAB_0009d63c:\n                pMVar18 = (Module *)&DAT_00000006;\n                if (((pcVar22 == (char *)0x0) || (iVar10 = (*pcVar24)(puVar25,pcVar22), iVar10 != 0)\n                    ) || ((uVar23 != 0 && (pcVar22[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar22[6] == '\0') {\n                  iVar10 = 6;\n                }\n                else {\n                  if (pcVar22[6] != ' ') goto LAB_0009d634;\n                  iVar10 = 7;\n                }\n                if ((int)(iVar10 + uVar23) <= (int)uVar9) {\n                  iVar14 = (int)(pcVar8 + uVar23) - uVar23;\n                  pcVar12 = pcVar8 + uVar23;\n                  do {\n                    pcVar11 = pcVar12 + 1;\n                    *pcVar12 = *(char *)(iVar14 + iVar10 + uVar23);\n                    iVar14 = (int)pcVar11 - uVar23;\n                    pcVar12 = pcVar11;\n                  } while ((int)(pcVar11 + (iVar10 - (int)pcVar8)) <= (int)uVar9);\n                }\n                if ((*pcVar22 == '\0') && (uVar23 != 0)) {\n                  pcVar8[uVar23 - 1] = '\0';\n                }\n                uStack_48 = 0x80;\n                pTab->aCol[iVar5].colFlags = pTab->aCol[iVar5].colFlags | 2;\n                iStack_50 = (int)pTab->nCol;\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            pTab->tabFlags = pTab->tabFlags | uStack_48;\nLAB_0009d6f8:\n            iVar5 = iVar5 + 1;\n          } while (iVar5 < iStack_50);\n        }\n        goto LAB_0009d70c;\n      }\n      iVar26 = 1;\n      pMVar18 = (Module *)pTab->zName;\n      pcVar8 = sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);\n      pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x1478);\n      *pzErr = pcVar8;\n      (*pcVar7)(pVVar4);\n      pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n  }\n  (*pcVar7)(db);\n  zFormat = pMVar3;\n  xConstruct = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *)\n               ppcVar27;\nLAB_0009d418:\n  if (pCtx == *(sqlite3_context **)puVar29) {\n    return iVar26;\n  }\n  puVar29 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  if ((char **)xConstruct == (char **)0x0) {\n    p_Var28 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *)\n              0x0;\n  }\n  else {\n    uVar9 = (**(code **)(puVar29 + 0xf34e4))(xConstruct);\n    p_Var28 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *)\n              (uVar9 & 0x3fffffff);\n  }\n  if (pMVar18 == (Module *)0x0) {\n    uVar9 = 0;\n  }\n  else {\n    uVar9 = (**(code **)(puVar29 + 0xf34e4))(pMVar18);\n    uVar9 = uVar9 & 0x3fffffff;\n  }\n  db_00 = pCtx->pOut->db;\n  ppcVar27 = (char **)sqlite3MPrintf(db_00,(char *)(*(int *)(puVar29 + 0xf30c0) + -0x56e8),\n                                     xConstruct);\n  if (ppcVar27 != (char **)0x0) {\n    if (in_stack_ffffff98 != (sqlite3_vtab **)0x0) {\n      xConstruct = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                    *)ppcVar27;\n    }\n    uVar23 = (**(code **)(puVar29 + 0xf34e4))(ppcVar27);\n    if (in_stack_ffffff98 != (sqlite3_vtab **)0x0) {\n      p_Var28 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *\n                )(uVar23 & 0x3fffffff);\n    }\n    iVar26 = (*(code *)(*(int *)(puVar29 + 0xf330c) + 0x924))(db_00);\n    if (iVar26 == 0) {\n      iVar5 = 7;\n    }\n    else {\n      (**(code **)(puVar29 + 0xf3590))(iVar26,pMVar18,uVar9);\n      psVar20 = zFormat->pModule;\n      iVar10 = *(int *)(puVar29 + 0xf330c);\n      if (psVar20 != (sqlite3_module *)0x0) {\n        iVar5 = *(int *)(puVar29 + 0xf32f8);\n        do {\n          psVar15 = (sqlite3_module *)psVar20->xBestIndex;\n          psVar13 = psVar15;\n          psVar30 = psVar20;\n          if (psVar15 == (sqlite3_module *)0x0) {\n            psVar13 = (sqlite3_module *)0x0;\n            pMVar3 = zFormat;\n          }\n          else {\n            do {\n              if (psVar30->xCreate < psVar13->xCreate) {\n                psVar30 = psVar13;\n              }\n              pp_Var1 = &psVar13->xBestIndex;\n              psVar13 = (sqlite3_module *)*pp_Var1;\n            } while ((sqlite3_module *)*pp_Var1 != (sqlite3_module *)0x0);\n            psVar13 = (sqlite3_module *)psVar30->xBestIndex;\n            if (psVar30 == psVar20) {\n              iVar26 = FUN_0009dbc4();\n              return iVar26;\n            }\n            while (psVar16 = psVar15, pMVar3 = (Module *)&psVar20->xBestIndex, psVar20 = psVar30,\n                  psVar16 != psVar30) {\n              psVar20 = psVar16;\n              psVar15 = (sqlite3_module *)psVar16->xBestIndex;\n            }\n          }\n          pMVar3->pModule = psVar13;\n          p_Var17 = psVar20->xCreate;\n          p_Var21 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                     *)(uVar23 & 0x3fffffff);\n          ppcVar19 = ppcVar27;\n          if ((*(byte *)(iVar5 + -0x3d18 + (uint)(byte)*p_Var17) & 0x46) != 0) {\n            p_Var21 = p_Var28;\n            ppcVar19 = (char **)xConstruct;\n          }\n          if (psVar20->xConnect != p_Var21) {\n            iVar26 = (**(code **)(puVar29 + 0xf35a0))\n                               (p_Var17 + (int)(p_Var21 + (iVar26 - (int)pMVar18)),\n                                p_Var17 + ((int)psVar20->xConnect - (int)pMVar18) + iVar26,\n                                uVar9 - (int)(p_Var17 + ((int)psVar20->xConnect - (int)pMVar18)));\n            return iVar26;\n          }\n          (**(code **)(puVar29 + 0xf3590))(p_Var17 + (iVar26 - (int)pMVar18),ppcVar19,p_Var21);\n          (*(code *)(iVar10 + -0x2368))(db_00,psVar20);\n          psVar20 = zFormat->pModule;\n        } while (psVar20 != (sqlite3_module *)0x0);\n      }\n      setResultStrOrError(pCtx,(char *)&pCtx->isError,iVar26,0xff,(_func_void_void_ptr *)0x1,\n                          (sqlite3_context *)0xffffffff);\n      iVar5 = 0;\n      (*(code *)(iVar10 + -0x2368))(db_00,iVar26);\n    }\n    (**(code **)(puVar29 + 0xf30d0))(ppcVar27);\n    return iVar5;\n  }\n  return 7;\nLAB_0009d634:\n  uVar23 = uVar23 + 1;\n  pcVar22 = pcVar22 + 1;\n  if (uVar23 == uVar9) goto LAB_0009d7b4;\n  goto LAB_0009d63c;\n}" primitive_type (function_declarator "vtabCallConstructor(sqlite3 *db,Table *pTab,Module *pMod,\n                       _func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                       *xConstruct,char **pzErr)" identifier (parameter_list "(sqlite3 *db,Table *pTab,Module *pMod,\n                       _func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                       *xConstruct,char **pzErr)" ( (parameter_declaration "sqlite3 *db" type_identifier (pointer_declarator "*db" * identifier)) , (parameter_declaration "Table *pTab" type_identifier (pointer_declarator "*pTab" * identifier)) , (parameter_declaration "Module *pMod" type_identifier (pointer_declarator "*pMod" * identifier)) , (parameter_declaration "_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                       *xConstruct" type_identifier (pointer_declarator "*xConstruct" * identifier)) , (parameter_declaration "char **pzErr" primitive_type (pointer_declarator "**pzErr" * (pointer_declarator "*pzErr" * identifier))) ))) (compound_statement "{\n  _func_int_sqlite3_vtab_ptr_sqlite3_index_info_ptr **pp_Var1;\n  VtabCtx *pVVar2;\n  Module *pMVar3;\n  VTable *pVVar4;\n  int iVar5;\n  sqlite3_vtab *psVar6;\n  code *pcVar7;\n  char *pcVar8;\n  uint uVar9;\n  int iVar10;\n  char *pcVar11;\n  sqlite3_module *psVar13;\n  sqlite3_context *pCtx;\n  int iVar14;\n  sqlite3_module *psVar15;\n  sqlite3_module *psVar16;\n  _func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *p_Var17;\n  Module *zFormat;\n  Module *pMVar18;\n  char **ppcVar19;\n  sqlite3_module *psVar20;\n  _func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *p_Var21;\n  char *pcVar22;\n  uint uVar23;\n  code *pcVar24;\n  undefined *puVar25;\n  sqlite3 *db_00;\n  int iVar26;\n  char **ppcVar27;\n  _func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *p_Var28;\n  undefined *puVar29;\n  sqlite3_module *psVar30;\n  sqlite3_vtab **in_stack_ffffff98;\n  int iStack_50;\n  uint uStack_48;\n  char *zErr;\n  VtabCtx sCtx;\n  char *pcVar12;\n  \n  puVar29 = PTR___stack_chk_guard_00190e24;\n  pVVar2 = db->pVtabCtx;\n  ppcVar27 = pTab->azModuleArg;\n  pCtx = *(sqlite3_context **)PTR___stack_chk_guard_00190e24;\n  iVar26 = pTab->nModuleArg;\n  zErr = (char *)0x0;\n  for (; pVVar2 != (VtabCtx *)0x0; pVVar2 = pVVar2->pPrior) {\n    if (pVVar2->pTab == pTab) {\n      iVar26 = 6;\n      pMVar18 = (Module *)pTab->zName;\n      zFormat = (Module *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c);\n      pcVar8 = sqlite3MPrintf(db,(char *)zFormat);\n      *pzErr = pcVar8;\n      goto LAB_0009d418;\n    }\n  }\n  zFormat = (Module *)pTab->zName;\n  pMVar18 = pMod;\n  ppcVar19 = (char **)xConstruct;\n  pMVar3 = (Module *)(*(code *)(PTR_LAB_00190ba8 + 0xfc4))(db);\n  if (pMVar3 == (Module *)0x0) {\n    iVar26 = 7;\n    xConstruct = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                  *)ppcVar19;\n    goto LAB_0009d418;\n  }\n  pVVar4 = (VTable *)(*(code *)(PTR_LAB_00190ba8 + -0x2940))(0,0x1c);\n  if (pVVar4 == (VTable *)0x0) {\n    uVar9._0_1_ = db->temp_store;\n    uVar9._1_1_ = db->mallocFailed;\n    uVar9._2_1_ = db->bBenignMalloc;\n    uVar9._3_1_ = db->dfltLockMode;\n    if ((uVar9 & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(db);\n    }\n    iVar26 = 7;\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(db);\n    zFormat = pMVar3;\n    xConstruct = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                  *)ppcVar19;\n    goto LAB_0009d418;\n  }\n  pVVar4->db = db;\n  pVVar4->pMod = pMod;\n  if (pTab->pSchema == (Schema *)0x0) {\n    iVar5 = -16000000;\n  }\n  else {\n    iVar5 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(db);\n    iVar5 = iVar5 << 4;\n  }\n  in_stack_ffffff98 = &pVVar4->pVtab;\n  pTab->azModuleArg[1] = *(char **)((int)&db->aDb->zDbSName + iVar5);\n  sCtx.bDeclared = 0;\n  sCtx.pPrior = db->pVtabCtx;\n  db->pVtabCtx = &sCtx;\n  sCtx.pVTable = pVVar4;\n  sCtx.pTab = pTab;\n  iVar26 = (*xConstruct)(db,pMod->pAux,iVar26,ppcVar27,in_stack_ffffff98,&zErr);\n  db->pVtabCtx = sCtx.pPrior;\n  if (iVar26 == 7) {\n    uVar23._0_1_ = db->temp_store;\n    uVar23._1_1_ = db->mallocFailed;\n    uVar23._2_1_ = db->bBenignMalloc;\n    uVar23._3_1_ = db->dfltLockMode;\n    if ((uVar23 & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(db);\n    }\nLAB_0009d750:\n    if (zErr == (char *)0x0) {\n      pMVar18 = pMVar3;\n      pcVar8 = sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);\n      *pzErr = pcVar8;\n    }\n    else {\n      pMVar18 = (Module *)zErr;\n      pcVar8 = sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);\n      puVar25 = PTR_sqlite3_free_0019096c;\n      *pzErr = pcVar8;\n      (*(code *)puVar25)(zErr);\n    }\n    pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    (*pcVar7)(db,pVVar4);\n  }\n  else {\n    if (iVar26 != 0) goto LAB_0009d750;\n    psVar6 = pVVar4->pVtab;\n    pMVar18 = (Module *)zErr;\n    if (psVar6 == (sqlite3_vtab *)0x0) {\nLAB_0009d70c:\n      pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n    else {\n      *(undefined1 *)&psVar6->pModule = 0;\n      *(undefined1 *)((int)&psVar6->pModule + 1) = 0;\n      *(undefined1 *)((int)&psVar6->pModule + 2) = 0;\n      *(undefined1 *)((int)&psVar6->pModule + 3) = 0;\n      *(undefined1 *)&psVar6->nRef = 0;\n      *(undefined1 *)((int)&psVar6->nRef + 1) = 0;\n      *(undefined1 *)((int)&psVar6->nRef + 2) = 0;\n      *(undefined1 *)((int)&psVar6->nRef + 3) = 0;\n      *(undefined1 *)&psVar6->zErrMsg = 0;\n      *(undefined1 *)((int)&psVar6->zErrMsg + 1) = 0;\n      *(undefined1 *)((int)&psVar6->zErrMsg + 2) = 0;\n      *(undefined1 *)((int)&psVar6->zErrMsg + 3) = 0;\n      pVVar4->pVtab->pModule = pMod->pModule;\n      pVVar4->nRef = 1;\n      if (sCtx.bDeclared != 0) {\n        pVVar4->pNext = pTab->pVTable;\n        pTab->pVTable = pVVar4;\n        iStack_50 = (int)pTab->nCol;\n        if (0 < iStack_50) {\n          iVar5 = 0;\n          pcVar7 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          uStack_48 = 0;\n          puVar25 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar24 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            if (((pTab->aCol[iVar5].colFlags & 4) != 0) &&\n               (pcVar8 = (char *)(*pcVar7)(pTab->aCol[iVar5].zName), pcVar8 != (char *)0x0)) {\n              uVar9 = (*(code *)PTR_strlen_00190d80)(pcVar8);\n              uVar9 = uVar9 & 0x3fffffff;\n              if (uVar9 != 0) {\n                uVar23 = 0;\n                pcVar22 = pcVar8;\nLAB_0009d63c:\n                pMVar18 = (Module *)&DAT_00000006;\n                if (((pcVar22 == (char *)0x0) || (iVar10 = (*pcVar24)(puVar25,pcVar22), iVar10 != 0)\n                    ) || ((uVar23 != 0 && (pcVar22[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar22[6] == '\0') {\n                  iVar10 = 6;\n                }\n                else {\n                  if (pcVar22[6] != ' ') goto LAB_0009d634;\n                  iVar10 = 7;\n                }\n                if ((int)(iVar10 + uVar23) <= (int)uVar9) {\n                  iVar14 = (int)(pcVar8 + uVar23) - uVar23;\n                  pcVar12 = pcVar8 + uVar23;\n                  do {\n                    pcVar11 = pcVar12 + 1;\n                    *pcVar12 = *(char *)(iVar14 + iVar10 + uVar23);\n                    iVar14 = (int)pcVar11 - uVar23;\n                    pcVar12 = pcVar11;\n                  } while ((int)(pcVar11 + (iVar10 - (int)pcVar8)) <= (int)uVar9);\n                }\n                if ((*pcVar22 == '\0') && (uVar23 != 0)) {\n                  pcVar8[uVar23 - 1] = '\0';\n                }\n                uStack_48 = 0x80;\n                pTab->aCol[iVar5].colFlags = pTab->aCol[iVar5].colFlags | 2;\n                iStack_50 = (int)pTab->nCol;\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            pTab->tabFlags = pTab->tabFlags | uStack_48;\nLAB_0009d6f8:\n            iVar5 = iVar5 + 1;\n          } while (iVar5 < iStack_50);\n        }\n        goto LAB_0009d70c;\n      }\n      iVar26 = 1;\n      pMVar18 = (Module *)pTab->zName;\n      pcVar8 = sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);\n      pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x1478);\n      *pzErr = pcVar8;\n      (*pcVar7)(pVVar4);\n      pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n  }\n  (*pcVar7)(db);\n  zFormat = pMVar3;\n  xConstruct = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *)\n               ppcVar27;\nLAB_0009d418:\n  if (pCtx == *(sqlite3_context **)puVar29) {\n    return iVar26;\n  }\n  puVar29 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  if ((char **)xConstruct == (char **)0x0) {\n    p_Var28 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *)\n              0x0;\n  }\n  else {\n    uVar9 = (**(code **)(puVar29 + 0xf34e4))(xConstruct);\n    p_Var28 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *)\n              (uVar9 & 0x3fffffff);\n  }\n  if (pMVar18 == (Module *)0x0) {\n    uVar9 = 0;\n  }\n  else {\n    uVar9 = (**(code **)(puVar29 + 0xf34e4))(pMVar18);\n    uVar9 = uVar9 & 0x3fffffff;\n  }\n  db_00 = pCtx->pOut->db;\n  ppcVar27 = (char **)sqlite3MPrintf(db_00,(char *)(*(int *)(puVar29 + 0xf30c0) + -0x56e8),\n                                     xConstruct);\n  if (ppcVar27 != (char **)0x0) {\n    if (in_stack_ffffff98 != (sqlite3_vtab **)0x0) {\n      xConstruct = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                    *)ppcVar27;\n    }\n    uVar23 = (**(code **)(puVar29 + 0xf34e4))(ppcVar27);\n    if (in_stack_ffffff98 != (sqlite3_vtab **)0x0) {\n      p_Var28 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *\n                )(uVar23 & 0x3fffffff);\n    }\n    iVar26 = (*(code *)(*(int *)(puVar29 + 0xf330c) + 0x924))(db_00);\n    if (iVar26 == 0) {\n      iVar5 = 7;\n    }\n    else {\n      (**(code **)(puVar29 + 0xf3590))(iVar26,pMVar18,uVar9);\n      psVar20 = zFormat->pModule;\n      iVar10 = *(int *)(puVar29 + 0xf330c);\n      if (psVar20 != (sqlite3_module *)0x0) {\n        iVar5 = *(int *)(puVar29 + 0xf32f8);\n        do {\n          psVar15 = (sqlite3_module *)psVar20->xBestIndex;\n          psVar13 = psVar15;\n          psVar30 = psVar20;\n          if (psVar15 == (sqlite3_module *)0x0) {\n            psVar13 = (sqlite3_module *)0x0;\n            pMVar3 = zFormat;\n          }\n          else {\n            do {\n              if (psVar30->xCreate < psVar13->xCreate) {\n                psVar30 = psVar13;\n              }\n              pp_Var1 = &psVar13->xBestIndex;\n              psVar13 = (sqlite3_module *)*pp_Var1;\n            } while ((sqlite3_module *)*pp_Var1 != (sqlite3_module *)0x0);\n            psVar13 = (sqlite3_module *)psVar30->xBestIndex;\n            if (psVar30 == psVar20) {\n              iVar26 = FUN_0009dbc4();\n              return iVar26;\n            }\n            while (psVar16 = psVar15, pMVar3 = (Module *)&psVar20->xBestIndex, psVar20 = psVar30,\n                  psVar16 != psVar30) {\n              psVar20 = psVar16;\n              psVar15 = (sqlite3_module *)psVar16->xBestIndex;\n            }\n          }\n          pMVar3->pModule = psVar13;\n          p_Var17 = psVar20->xCreate;\n          p_Var21 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                     *)(uVar23 & 0x3fffffff);\n          ppcVar19 = ppcVar27;\n          if ((*(byte *)(iVar5 + -0x3d18 + (uint)(byte)*p_Var17) & 0x46) != 0) {\n            p_Var21 = p_Var28;\n            ppcVar19 = (char **)xConstruct;\n          }\n          if (psVar20->xConnect != p_Var21) {\n            iVar26 = (**(code **)(puVar29 + 0xf35a0))\n                               (p_Var17 + (int)(p_Var21 + (iVar26 - (int)pMVar18)),\n                                p_Var17 + ((int)psVar20->xConnect - (int)pMVar18) + iVar26,\n                                uVar9 - (int)(p_Var17 + ((int)psVar20->xConnect - (int)pMVar18)));\n            return iVar26;\n          }\n          (**(code **)(puVar29 + 0xf3590))(p_Var17 + (iVar26 - (int)pMVar18),ppcVar19,p_Var21);\n          (*(code *)(iVar10 + -0x2368))(db_00,psVar20);\n          psVar20 = zFormat->pModule;\n        } while (psVar20 != (sqlite3_module *)0x0);\n      }\n      setResultStrOrError(pCtx,(char *)&pCtx->isError,iVar26,0xff,(_func_void_void_ptr *)0x1,\n                          (sqlite3_context *)0xffffffff);\n      iVar5 = 0;\n      (*(code *)(iVar10 + -0x2368))(db_00,iVar26);\n    }\n    (**(code **)(puVar29 + 0xf30d0))(ppcVar27);\n    return iVar5;\n  }\n  return 7;\nLAB_0009d634:\n  uVar23 = uVar23 + 1;\n  pcVar22 = pcVar22 + 1;\n  if (uVar23 == uVar9) goto LAB_0009d7b4;\n  goto LAB_0009d63c;\n}" { (declaration "_func_int_sqlite3_vtab_ptr_sqlite3_index_info_ptr **pp_Var1;" type_identifier (pointer_declarator "**pp_Var1" * (pointer_declarator "*pp_Var1" * identifier)) ;) (declaration "VtabCtx *pVVar2;" type_identifier (pointer_declarator "*pVVar2" * identifier) ;) (declaration "Module *pMVar3;" type_identifier (pointer_declarator "*pMVar3" * identifier) ;) (declaration "VTable *pVVar4;" type_identifier (pointer_declarator "*pVVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "sqlite3_vtab *psVar6;" type_identifier (pointer_declarator "*psVar6" * identifier) ;) (declaration "code *pcVar7;" type_identifier (pointer_declarator "*pcVar7" * identifier) ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "sqlite3_module *psVar13;" type_identifier (pointer_declarator "*psVar13" * identifier) ;) (declaration "sqlite3_context *pCtx;" type_identifier (pointer_declarator "*pCtx" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "sqlite3_module *psVar15;" type_identifier (pointer_declarator "*psVar15" * identifier) ;) (declaration "sqlite3_module *psVar16;" type_identifier (pointer_declarator "*psVar16" * identifier) ;) (declaration "_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *p_Var17;" type_identifier (pointer_declarator "*p_Var17" * identifier) ;) (declaration "Module *zFormat;" type_identifier (pointer_declarator "*zFormat" * identifier) ;) (declaration "Module *pMVar18;" type_identifier (pointer_declarator "*pMVar18" * identifier) ;) (declaration "char **ppcVar19;" primitive_type (pointer_declarator "**ppcVar19" * (pointer_declarator "*ppcVar19" * identifier)) ;) (declaration "sqlite3_module *psVar20;" type_identifier (pointer_declarator "*psVar20" * identifier) ;) (declaration "_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *p_Var21;" type_identifier (pointer_declarator "*p_Var21" * identifier) ;) (declaration "char *pcVar22;" primitive_type (pointer_declarator "*pcVar22" * identifier) ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "code *pcVar24;" type_identifier (pointer_declarator "*pcVar24" * identifier) ;) (declaration "undefined *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "sqlite3 *db_00;" type_identifier (pointer_declarator "*db_00" * identifier) ;) (declaration "int iVar26;" primitive_type identifier ;) (declaration "char **ppcVar27;" primitive_type (pointer_declarator "**ppcVar27" * (pointer_declarator "*ppcVar27" * identifier)) ;) (declaration "_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *p_Var28;" type_identifier (pointer_declarator "*p_Var28" * identifier) ;) (declaration "undefined *puVar29;" type_identifier (pointer_declarator "*puVar29" * identifier) ;) (declaration "sqlite3_module *psVar30;" type_identifier (pointer_declarator "*psVar30" * identifier) ;) (declaration "sqlite3_vtab **in_stack_ffffff98;" type_identifier (pointer_declarator "**in_stack_ffffff98" * (pointer_declarator "*in_stack_ffffff98" * identifier)) ;) (declaration "int iStack_50;" primitive_type identifier ;) (declaration "uint uStack_48;" type_identifier identifier ;) (declaration "char *zErr;" primitive_type (pointer_declarator "*zErr" * identifier) ;) (declaration "VtabCtx sCtx;" type_identifier identifier ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (expression_statement "puVar29 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar29 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "pVVar2 = db->pVtabCtx;" (assignment_expression "pVVar2 = db->pVtabCtx" identifier = (field_expression "db->pVtabCtx" identifier -> field_identifier)) ;) (expression_statement "ppcVar27 = pTab->azModuleArg;" (assignment_expression "ppcVar27 = pTab->azModuleArg" identifier = (field_expression "pTab->azModuleArg" identifier -> field_identifier)) ;) (expression_statement "pCtx = *(sqlite3_context **)PTR___stack_chk_guard_00190e24;" (assignment_expression "pCtx = *(sqlite3_context **)PTR___stack_chk_guard_00190e24" identifier = (pointer_expression "*(sqlite3_context **)PTR___stack_chk_guard_00190e24" * (cast_expression "(sqlite3_context **)PTR___stack_chk_guard_00190e24" ( (type_descriptor "sqlite3_context **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "iVar26 = pTab->nModuleArg;" (assignment_expression "iVar26 = pTab->nModuleArg" identifier = (field_expression "pTab->nModuleArg" identifier -> field_identifier)) ;) (expression_statement "zErr = (char *)0x0;" (assignment_expression "zErr = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (for_statement "for (; pVVar2 != (VtabCtx *)0x0; pVVar2 = pVVar2->pPrior) {\n    if (pVVar2->pTab == pTab) {\n      iVar26 = 6;\n      pMVar18 = (Module *)pTab->zName;\n      zFormat = (Module *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c);\n      pcVar8 = sqlite3MPrintf(db,(char *)zFormat);\n      *pzErr = pcVar8;\n      goto LAB_0009d418;\n    }\n  }" for ( ; (binary_expression "pVVar2 != (VtabCtx *)0x0" identifier != (cast_expression "(VtabCtx *)0x0" ( (type_descriptor "VtabCtx *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "pVVar2 = pVVar2->pPrior" identifier = (field_expression "pVVar2->pPrior" identifier -> field_identifier)) ) (compound_statement "{\n    if (pVVar2->pTab == pTab) {\n      iVar26 = 6;\n      pMVar18 = (Module *)pTab->zName;\n      zFormat = (Module *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c);\n      pcVar8 = sqlite3MPrintf(db,(char *)zFormat);\n      *pzErr = pcVar8;\n      goto LAB_0009d418;\n    }\n  }" { (if_statement "if (pVVar2->pTab == pTab) {\n      iVar26 = 6;\n      pMVar18 = (Module *)pTab->zName;\n      zFormat = (Module *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c);\n      pcVar8 = sqlite3MPrintf(db,(char *)zFormat);\n      *pzErr = pcVar8;\n      goto LAB_0009d418;\n    }" if (parenthesized_expression "(pVVar2->pTab == pTab)" ( (binary_expression "pVVar2->pTab == pTab" (field_expression "pVVar2->pTab" identifier -> field_identifier) == identifier) )) (compound_statement "{\n      iVar26 = 6;\n      pMVar18 = (Module *)pTab->zName;\n      zFormat = (Module *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c);\n      pcVar8 = sqlite3MPrintf(db,(char *)zFormat);\n      *pzErr = pcVar8;\n      goto LAB_0009d418;\n    }" { (expression_statement "iVar26 = 6;" (assignment_expression "iVar26 = 6" identifier = number_literal) ;) (expression_statement "pMVar18 = (Module *)pTab->zName;" (assignment_expression "pMVar18 = (Module *)pTab->zName" identifier = (cast_expression "(Module *)pTab->zName" ( (type_descriptor "Module *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pTab->zName" identifier -> field_identifier))) ;) (expression_statement "zFormat = (Module *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c);" (assignment_expression "zFormat = (Module *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c)" identifier = (cast_expression "(Module *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c)" ( (type_descriptor "Module *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c" identifier + number_literal) )))) ;) (expression_statement "pcVar8 = sqlite3MPrintf(db,(char *)zFormat);" (assignment_expression "pcVar8 = sqlite3MPrintf(db,(char *)zFormat)" identifier = (call_expression "sqlite3MPrintf(db,(char *)zFormat)" identifier (argument_list "(db,(char *)zFormat)" ( identifier , (cast_expression "(char *)zFormat" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "*pzErr = pcVar8;" (assignment_expression "*pzErr = pcVar8" (pointer_expression "*pzErr" * identifier) = identifier) ;) (goto_statement "goto LAB_0009d418;" goto statement_identifier ;) })) })) (expression_statement "zFormat = (Module *)pTab->zName;" (assignment_expression "zFormat = (Module *)pTab->zName" identifier = (cast_expression "(Module *)pTab->zName" ( (type_descriptor "Module *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pTab->zName" identifier -> field_identifier))) ;) (expression_statement "pMVar18 = pMod;" (assignment_expression "pMVar18 = pMod" identifier = identifier) ;) (expression_statement "ppcVar19 = (char **)xConstruct;" (assignment_expression "ppcVar19 = (char **)xConstruct" identifier = (cast_expression "(char **)xConstruct" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "pMVar3 = (Module *)(*(code *)(PTR_LAB_00190ba8 + 0xfc4))(db);" (assignment_expression "pMVar3 = (Module *)(*(code *)(PTR_LAB_00190ba8 + 0xfc4))(db)" identifier = (cast_expression "(Module *)(*(code *)(PTR_LAB_00190ba8 + 0xfc4))(db)" ( (type_descriptor "Module *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0xfc4))(db)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0xfc4))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0xfc4)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0xfc4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0xfc4)" ( (binary_expression "PTR_LAB_00190ba8 + 0xfc4" identifier + number_literal) )))) )) (argument_list "(db)" ( identifier ))))) ;) (if_statement "if (pMVar3 == (Module *)0x0) {\n    iVar26 = 7;\n    xConstruct = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                  *)ppcVar19;\n    goto LAB_0009d418;\n  }" if (parenthesized_expression "(pMVar3 == (Module *)0x0)" ( (binary_expression "pMVar3 == (Module *)0x0" identifier == (cast_expression "(Module *)0x0" ( (type_descriptor "Module *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar26 = 7;\n    xConstruct = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                  *)ppcVar19;\n    goto LAB_0009d418;\n  }" { (expression_statement "iVar26 = 7;" (assignment_expression "iVar26 = 7" identifier = number_literal) ;) (expression_statement "xConstruct = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                  *)ppcVar19;" (assignment_expression "xConstruct = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                  *)ppcVar19" identifier = (cast_expression "(_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                  *)ppcVar19" ( (type_descriptor "_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                  *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto LAB_0009d418;" goto statement_identifier ;) })) (expression_statement "pVVar4 = (VTable *)(*(code *)(PTR_LAB_00190ba8 + -0x2940))(0,0x1c);" (assignment_expression "pVVar4 = (VTable *)(*(code *)(PTR_LAB_00190ba8 + -0x2940))(0,0x1c)" identifier = (cast_expression "(VTable *)(*(code *)(PTR_LAB_00190ba8 + -0x2940))(0,0x1c)" ( (type_descriptor "VTable *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2940))(0,0x1c)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2940))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + -0x2940)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2940)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2940)" ( (binary_expression "PTR_LAB_00190ba8 + -0x2940" identifier + number_literal) )))) )) (argument_list "(0,0x1c)" ( number_literal , number_literal ))))) ;) (if_statement "if (pVVar4 == (VTable *)0x0) {\n    uVar9._0_1_ = db->temp_store;\n    uVar9._1_1_ = db->mallocFailed;\n    uVar9._2_1_ = db->bBenignMalloc;\n    uVar9._3_1_ = db->dfltLockMode;\n    if ((uVar9 & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(db);\n    }\n    iVar26 = 7;\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(db);\n    zFormat = pMVar3;\n    xConstruct = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                  *)ppcVar19;\n    goto LAB_0009d418;\n  }" if (parenthesized_expression "(pVVar4 == (VTable *)0x0)" ( (binary_expression "pVVar4 == (VTable *)0x0" identifier == (cast_expression "(VTable *)0x0" ( (type_descriptor "VTable *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar9._0_1_ = db->temp_store;\n    uVar9._1_1_ = db->mallocFailed;\n    uVar9._2_1_ = db->bBenignMalloc;\n    uVar9._3_1_ = db->dfltLockMode;\n    if ((uVar9 & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(db);\n    }\n    iVar26 = 7;\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(db);\n    zFormat = pMVar3;\n    xConstruct = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                  *)ppcVar19;\n    goto LAB_0009d418;\n  }" { (expression_statement "uVar9._0_1_ = db->temp_store;" (assignment_expression "uVar9._0_1_ = db->temp_store" (field_expression "uVar9._0_1_" identifier . field_identifier) = (field_expression "db->temp_store" identifier -> field_identifier)) ;) (expression_statement "uVar9._1_1_ = db->mallocFailed;" (assignment_expression "uVar9._1_1_ = db->mallocFailed" (field_expression "uVar9._1_1_" identifier . field_identifier) = (field_expression "db->mallocFailed" identifier -> field_identifier)) ;) (expression_statement "uVar9._2_1_ = db->bBenignMalloc;" (assignment_expression "uVar9._2_1_ = db->bBenignMalloc" (field_expression "uVar9._2_1_" identifier . field_identifier) = (field_expression "db->bBenignMalloc" identifier -> field_identifier)) ;) (expression_statement "uVar9._3_1_ = db->dfltLockMode;" (assignment_expression "uVar9._3_1_ = db->dfltLockMode" (field_expression "uVar9._3_1_" identifier . field_identifier) = (field_expression "db->dfltLockMode" identifier -> field_identifier)) ;) (if_statement "if ((uVar9 & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(db);\n    }" if (parenthesized_expression "((uVar9 & 0xffff00) == 0)" ( (binary_expression "(uVar9 & 0xffff00) == 0" (parenthesized_expression "(uVar9 & 0xffff00)" ( (binary_expression "uVar9 & 0xffff00" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(db);\n    }" { (expression_statement "(*(code *)(PTR_LAB_00190ba8 + 0x82c))(db);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x82c))(db)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x82c))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x82c)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x82c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x82c)" ( (binary_expression "PTR_LAB_00190ba8 + 0x82c" identifier + number_literal) )))) )) (argument_list "(db)" ( identifier ))) ;) })) (expression_statement "iVar26 = 7;" (assignment_expression "iVar26 = 7" identifier = number_literal) ;) (expression_statement "(*(code *)(PTR_LAB_00190ba8 + -0x2368))(db);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2368))(db)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2368))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + -0x2368)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2368)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2368)" ( (binary_expression "PTR_LAB_00190ba8 + -0x2368" identifier + number_literal) )))) )) (argument_list "(db)" ( identifier ))) ;) (expression_statement "zFormat = pMVar3;" (assignment_expression "zFormat = pMVar3" identifier = identifier) ;) (expression_statement "xConstruct = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                  *)ppcVar19;" (assignment_expression "xConstruct = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                  *)ppcVar19" identifier = (cast_expression "(_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                  *)ppcVar19" ( (type_descriptor "_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                  *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto LAB_0009d418;" goto statement_identifier ;) })) (expression_statement "pVVar4->db = db;" (assignment_expression "pVVar4->db = db" (field_expression "pVVar4->db" identifier -> field_identifier) = identifier) ;) (expression_statement "pVVar4->pMod = pMod;" (assignment_expression "pVVar4->pMod = pMod" (field_expression "pVVar4->pMod" identifier -> field_identifier) = identifier) ;) (if_statement "if (pTab->pSchema == (Schema *)0x0) {\n    iVar5 = -16000000;\n  }\n  else {\n    iVar5 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(db);\n    iVar5 = iVar5 << 4;\n  }" if (parenthesized_expression "(pTab->pSchema == (Schema *)0x0)" ( (binary_expression "pTab->pSchema == (Schema *)0x0" (field_expression "pTab->pSchema" identifier -> field_identifier) == (cast_expression "(Schema *)0x0" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar5 = -16000000;\n  }" { (expression_statement "iVar5 = -16000000;" (assignment_expression "iVar5 = -16000000" identifier = number_literal) ;) }) (else_clause "else {\n    iVar5 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(db);\n    iVar5 = iVar5 << 4;\n  }" else (compound_statement "{\n    iVar5 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(db);\n    iVar5 = iVar5 << 4;\n  }" { (expression_statement "iVar5 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(db);" (assignment_expression "iVar5 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(db)" identifier = (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(db)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x31a4))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x31a4)" * (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x31a4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x31a4)" ( (binary_expression "PTR_LAB_00190ba4 + -0x31a4" identifier + number_literal) )))) )) (argument_list "(db)" ( identifier )))) ;) (expression_statement "iVar5 = iVar5 << 4;" (assignment_expression "iVar5 = iVar5 << 4" identifier = (binary_expression "iVar5 << 4" identifier << number_literal)) ;) }))) (expression_statement "in_stack_ffffff98 = &pVVar4->pVtab;" (assignment_expression "in_stack_ffffff98 = &pVVar4->pVtab" identifier = (pointer_expression "&pVVar4->pVtab" & (field_expression "pVVar4->pVtab" identifier -> field_identifier))) ;) (expression_statement "pTab->azModuleArg[1] = *(char **)((int)&db->aDb->zDbSName + iVar5);" (assignment_expression "pTab->azModuleArg[1] = *(char **)((int)&db->aDb->zDbSName + iVar5)" (subscript_expression "pTab->azModuleArg[1]" (field_expression "pTab->azModuleArg" identifier -> field_identifier) [ number_literal ]) = (pointer_expression "*(char **)((int)&db->aDb->zDbSName + iVar5)" * (cast_expression "(char **)((int)&db->aDb->zDbSName + iVar5)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&db->aDb->zDbSName + iVar5)" ( (binary_expression "(int)&db->aDb->zDbSName + iVar5" (cast_expression "(int)&db->aDb->zDbSName" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&db->aDb->zDbSName" & (field_expression "db->aDb->zDbSName" (field_expression "db->aDb" identifier -> field_identifier) -> field_identifier))) + identifier) ))))) ;) (expression_statement "sCtx.bDeclared = 0;" (assignment_expression "sCtx.bDeclared = 0" (field_expression "sCtx.bDeclared" identifier . field_identifier) = number_literal) ;) (expression_statement "sCtx.pPrior = db->pVtabCtx;" (assignment_expression "sCtx.pPrior = db->pVtabCtx" (field_expression "sCtx.pPrior" identifier . field_identifier) = (field_expression "db->pVtabCtx" identifier -> field_identifier)) ;) (expression_statement "db->pVtabCtx = &sCtx;" (assignment_expression "db->pVtabCtx = &sCtx" (field_expression "db->pVtabCtx" identifier -> field_identifier) = (pointer_expression "&sCtx" & identifier)) ;) (expression_statement "sCtx.pVTable = pVVar4;" (assignment_expression "sCtx.pVTable = pVVar4" (field_expression "sCtx.pVTable" identifier . field_identifier) = identifier) ;) (expression_statement "sCtx.pTab = pTab;" (assignment_expression "sCtx.pTab = pTab" (field_expression "sCtx.pTab" identifier . field_identifier) = identifier) ;) (expression_statement "iVar26 = (*xConstruct)(db,pMod->pAux,iVar26,ppcVar27,in_stack_ffffff98,&zErr);" (assignment_expression "iVar26 = (*xConstruct)(db,pMod->pAux,iVar26,ppcVar27,in_stack_ffffff98,&zErr)" identifier = (call_expression "(*xConstruct)(db,pMod->pAux,iVar26,ppcVar27,in_stack_ffffff98,&zErr)" (parenthesized_expression "(*xConstruct)" ( (pointer_expression "*xConstruct" * identifier) )) (argument_list "(db,pMod->pAux,iVar26,ppcVar27,in_stack_ffffff98,&zErr)" ( identifier , (field_expression "pMod->pAux" identifier -> field_identifier) , identifier , identifier , identifier , (pointer_expression "&zErr" & identifier) )))) ;) (expression_statement "db->pVtabCtx = sCtx.pPrior;" (assignment_expression "db->pVtabCtx = sCtx.pPrior" (field_expression "db->pVtabCtx" identifier -> field_identifier) = (field_expression "sCtx.pPrior" identifier . field_identifier)) ;) (if_statement "if (iVar26 == 7) {\n    uVar23._0_1_ = db->temp_store;\n    uVar23._1_1_ = db->mallocFailed;\n    uVar23._2_1_ = db->bBenignMalloc;\n    uVar23._3_1_ = db->dfltLockMode;\n    if ((uVar23 & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(db);\n    }\nLAB_0009d750:\n    if (zErr == (char *)0x0) {\n      pMVar18 = pMVar3;\n      pcVar8 = sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);\n      *pzErr = pcVar8;\n    }\n    else {\n      pMVar18 = (Module *)zErr;\n      pcVar8 = sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);\n      puVar25 = PTR_sqlite3_free_0019096c;\n      *pzErr = pcVar8;\n      (*(code *)puVar25)(zErr);\n    }\n    pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    (*pcVar7)(db,pVVar4);\n  }\n  else {\n    if (iVar26 != 0) goto LAB_0009d750;\n    psVar6 = pVVar4->pVtab;\n    pMVar18 = (Module *)zErr;\n    if (psVar6 == (sqlite3_vtab *)0x0) {\nLAB_0009d70c:\n      pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n    else {\n      *(undefined1 *)&psVar6->pModule = 0;\n      *(undefined1 *)((int)&psVar6->pModule + 1) = 0;\n      *(undefined1 *)((int)&psVar6->pModule + 2) = 0;\n      *(undefined1 *)((int)&psVar6->pModule + 3) = 0;\n      *(undefined1 *)&psVar6->nRef = 0;\n      *(undefined1 *)((int)&psVar6->nRef + 1) = 0;\n      *(undefined1 *)((int)&psVar6->nRef + 2) = 0;\n      *(undefined1 *)((int)&psVar6->nRef + 3) = 0;\n      *(undefined1 *)&psVar6->zErrMsg = 0;\n      *(undefined1 *)((int)&psVar6->zErrMsg + 1) = 0;\n      *(undefined1 *)((int)&psVar6->zErrMsg + 2) = 0;\n      *(undefined1 *)((int)&psVar6->zErrMsg + 3) = 0;\n      pVVar4->pVtab->pModule = pMod->pModule;\n      pVVar4->nRef = 1;\n      if (sCtx.bDeclared != 0) {\n        pVVar4->pNext = pTab->pVTable;\n        pTab->pVTable = pVVar4;\n        iStack_50 = (int)pTab->nCol;\n        if (0 < iStack_50) {\n          iVar5 = 0;\n          pcVar7 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          uStack_48 = 0;\n          puVar25 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar24 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            if (((pTab->aCol[iVar5].colFlags & 4) != 0) &&\n               (pcVar8 = (char *)(*pcVar7)(pTab->aCol[iVar5].zName), pcVar8 != (char *)0x0)) {\n              uVar9 = (*(code *)PTR_strlen_00190d80)(pcVar8);\n              uVar9 = uVar9 & 0x3fffffff;\n              if (uVar9 != 0) {\n                uVar23 = 0;\n                pcVar22 = pcVar8;\nLAB_0009d63c:\n                pMVar18 = (Module *)&DAT_00000006;\n                if (((pcVar22 == (char *)0x0) || (iVar10 = (*pcVar24)(puVar25,pcVar22), iVar10 != 0)\n                    ) || ((uVar23 != 0 && (pcVar22[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar22[6] == '\0') {\n                  iVar10 = 6;\n                }\n                else {\n                  if (pcVar22[6] != ' ') goto LAB_0009d634;\n                  iVar10 = 7;\n                }\n                if ((int)(iVar10 + uVar23) <= (int)uVar9) {\n                  iVar14 = (int)(pcVar8 + uVar23) - uVar23;\n                  pcVar12 = pcVar8 + uVar23;\n                  do {\n                    pcVar11 = pcVar12 + 1;\n                    *pcVar12 = *(char *)(iVar14 + iVar10 + uVar23);\n                    iVar14 = (int)pcVar11 - uVar23;\n                    pcVar12 = pcVar11;\n                  } while ((int)(pcVar11 + (iVar10 - (int)pcVar8)) <= (int)uVar9);\n                }\n                if ((*pcVar22 == '\0') && (uVar23 != 0)) {\n                  pcVar8[uVar23 - 1] = '\0';\n                }\n                uStack_48 = 0x80;\n                pTab->aCol[iVar5].colFlags = pTab->aCol[iVar5].colFlags | 2;\n                iStack_50 = (int)pTab->nCol;\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            pTab->tabFlags = pTab->tabFlags | uStack_48;\nLAB_0009d6f8:\n            iVar5 = iVar5 + 1;\n          } while (iVar5 < iStack_50);\n        }\n        goto LAB_0009d70c;\n      }\n      iVar26 = 1;\n      pMVar18 = (Module *)pTab->zName;\n      pcVar8 = sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);\n      pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x1478);\n      *pzErr = pcVar8;\n      (*pcVar7)(pVVar4);\n      pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n  }" if (parenthesized_expression "(iVar26 == 7)" ( (binary_expression "iVar26 == 7" identifier == number_literal) )) (compound_statement "{\n    uVar23._0_1_ = db->temp_store;\n    uVar23._1_1_ = db->mallocFailed;\n    uVar23._2_1_ = db->bBenignMalloc;\n    uVar23._3_1_ = db->dfltLockMode;\n    if ((uVar23 & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(db);\n    }\nLAB_0009d750:\n    if (zErr == (char *)0x0) {\n      pMVar18 = pMVar3;\n      pcVar8 = sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);\n      *pzErr = pcVar8;\n    }\n    else {\n      pMVar18 = (Module *)zErr;\n      pcVar8 = sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);\n      puVar25 = PTR_sqlite3_free_0019096c;\n      *pzErr = pcVar8;\n      (*(code *)puVar25)(zErr);\n    }\n    pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    (*pcVar7)(db,pVVar4);\n  }" { (expression_statement "uVar23._0_1_ = db->temp_store;" (assignment_expression "uVar23._0_1_ = db->temp_store" (field_expression "uVar23._0_1_" identifier . field_identifier) = (field_expression "db->temp_store" identifier -> field_identifier)) ;) (expression_statement "uVar23._1_1_ = db->mallocFailed;" (assignment_expression "uVar23._1_1_ = db->mallocFailed" (field_expression "uVar23._1_1_" identifier . field_identifier) = (field_expression "db->mallocFailed" identifier -> field_identifier)) ;) (expression_statement "uVar23._2_1_ = db->bBenignMalloc;" (assignment_expression "uVar23._2_1_ = db->bBenignMalloc" (field_expression "uVar23._2_1_" identifier . field_identifier) = (field_expression "db->bBenignMalloc" identifier -> field_identifier)) ;) (expression_statement "uVar23._3_1_ = db->dfltLockMode;" (assignment_expression "uVar23._3_1_ = db->dfltLockMode" (field_expression "uVar23._3_1_" identifier . field_identifier) = (field_expression "db->dfltLockMode" identifier -> field_identifier)) ;) (if_statement "if ((uVar23 & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(db);\n    }" if (parenthesized_expression "((uVar23 & 0xffff00) == 0)" ( (binary_expression "(uVar23 & 0xffff00) == 0" (parenthesized_expression "(uVar23 & 0xffff00)" ( (binary_expression "uVar23 & 0xffff00" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(db);\n    }" { (expression_statement "(*(code *)(PTR_LAB_00190ba8 + 0x82c))(db);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x82c))(db)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x82c))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x82c)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x82c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x82c)" ( (binary_expression "PTR_LAB_00190ba8 + 0x82c" identifier + number_literal) )))) )) (argument_list "(db)" ( identifier ))) ;) })) (labeled_statement "LAB_0009d750:\n    if (zErr == (char *)0x0) {\n      pMVar18 = pMVar3;\n      pcVar8 = sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);\n      *pzErr = pcVar8;\n    }\n    else {\n      pMVar18 = (Module *)zErr;\n      pcVar8 = sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);\n      puVar25 = PTR_sqlite3_free_0019096c;\n      *pzErr = pcVar8;\n      (*(code *)puVar25)(zErr);\n    }" statement_identifier : (if_statement "if (zErr == (char *)0x0) {\n      pMVar18 = pMVar3;\n      pcVar8 = sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);\n      *pzErr = pcVar8;\n    }\n    else {\n      pMVar18 = (Module *)zErr;\n      pcVar8 = sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);\n      puVar25 = PTR_sqlite3_free_0019096c;\n      *pzErr = pcVar8;\n      (*(code *)puVar25)(zErr);\n    }" if (parenthesized_expression "(zErr == (char *)0x0)" ( (binary_expression "zErr == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pMVar18 = pMVar3;\n      pcVar8 = sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);\n      *pzErr = pcVar8;\n    }" { (expression_statement "pMVar18 = pMVar3;" (assignment_expression "pMVar18 = pMVar3" identifier = identifier) ;) (expression_statement "pcVar8 = sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);" (assignment_expression "pcVar8 = sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460)" identifier = (call_expression "sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460)" identifier (argument_list "(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460)" ( identifier , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460" identifier + number_literal) )))) ;) (expression_statement "*pzErr = pcVar8;" (assignment_expression "*pzErr = pcVar8" (pointer_expression "*pzErr" * identifier) = identifier) ;) }) (else_clause "else {\n      pMVar18 = (Module *)zErr;\n      pcVar8 = sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);\n      puVar25 = PTR_sqlite3_free_0019096c;\n      *pzErr = pcVar8;\n      (*(code *)puVar25)(zErr);\n    }" else (compound_statement "{\n      pMVar18 = (Module *)zErr;\n      pcVar8 = sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);\n      puVar25 = PTR_sqlite3_free_0019096c;\n      *pzErr = pcVar8;\n      (*(code *)puVar25)(zErr);\n    }" { (expression_statement "pMVar18 = (Module *)zErr;" (assignment_expression "pMVar18 = (Module *)zErr" identifier = (cast_expression "(Module *)zErr" ( (type_descriptor "Module *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcVar8 = sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);" (assignment_expression "pcVar8 = sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc)" identifier = (call_expression "sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc)" identifier (argument_list "(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc)" ( identifier , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc" identifier + number_literal) )))) ;) (expression_statement "puVar25 = PTR_sqlite3_free_0019096c;" (assignment_expression "puVar25 = PTR_sqlite3_free_0019096c" identifier = identifier) ;) (expression_statement "*pzErr = pcVar8;" (assignment_expression "*pzErr = pcVar8" (pointer_expression "*pzErr" * identifier) = identifier) ;) (expression_statement "(*(code *)puVar25)(zErr);" (call_expression "(*(code *)puVar25)(zErr)" (parenthesized_expression "(*(code *)puVar25)" ( (pointer_expression "*(code *)puVar25" * (cast_expression "(code *)puVar25" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(zErr)" ( identifier ))) ;) })))) (expression_statement "pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x2368);" (assignment_expression "pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x2368)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2368)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2368)" ( (binary_expression "PTR_LAB_00190ba8 + -0x2368" identifier + number_literal) )))) ;) (expression_statement "(*pcVar7)(db,pVVar4);" (call_expression "(*pcVar7)(db,pVVar4)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(db,pVVar4)" ( identifier , identifier ))) ;) }) (else_clause "else {\n    if (iVar26 != 0) goto LAB_0009d750;\n    psVar6 = pVVar4->pVtab;\n    pMVar18 = (Module *)zErr;\n    if (psVar6 == (sqlite3_vtab *)0x0) {\nLAB_0009d70c:\n      pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n    else {\n      *(undefined1 *)&psVar6->pModule = 0;\n      *(undefined1 *)((int)&psVar6->pModule + 1) = 0;\n      *(undefined1 *)((int)&psVar6->pModule + 2) = 0;\n      *(undefined1 *)((int)&psVar6->pModule + 3) = 0;\n      *(undefined1 *)&psVar6->nRef = 0;\n      *(undefined1 *)((int)&psVar6->nRef + 1) = 0;\n      *(undefined1 *)((int)&psVar6->nRef + 2) = 0;\n      *(undefined1 *)((int)&psVar6->nRef + 3) = 0;\n      *(undefined1 *)&psVar6->zErrMsg = 0;\n      *(undefined1 *)((int)&psVar6->zErrMsg + 1) = 0;\n      *(undefined1 *)((int)&psVar6->zErrMsg + 2) = 0;\n      *(undefined1 *)((int)&psVar6->zErrMsg + 3) = 0;\n      pVVar4->pVtab->pModule = pMod->pModule;\n      pVVar4->nRef = 1;\n      if (sCtx.bDeclared != 0) {\n        pVVar4->pNext = pTab->pVTable;\n        pTab->pVTable = pVVar4;\n        iStack_50 = (int)pTab->nCol;\n        if (0 < iStack_50) {\n          iVar5 = 0;\n          pcVar7 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          uStack_48 = 0;\n          puVar25 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar24 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            if (((pTab->aCol[iVar5].colFlags & 4) != 0) &&\n               (pcVar8 = (char *)(*pcVar7)(pTab->aCol[iVar5].zName), pcVar8 != (char *)0x0)) {\n              uVar9 = (*(code *)PTR_strlen_00190d80)(pcVar8);\n              uVar9 = uVar9 & 0x3fffffff;\n              if (uVar9 != 0) {\n                uVar23 = 0;\n                pcVar22 = pcVar8;\nLAB_0009d63c:\n                pMVar18 = (Module *)&DAT_00000006;\n                if (((pcVar22 == (char *)0x0) || (iVar10 = (*pcVar24)(puVar25,pcVar22), iVar10 != 0)\n                    ) || ((uVar23 != 0 && (pcVar22[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar22[6] == '\0') {\n                  iVar10 = 6;\n                }\n                else {\n                  if (pcVar22[6] != ' ') goto LAB_0009d634;\n                  iVar10 = 7;\n                }\n                if ((int)(iVar10 + uVar23) <= (int)uVar9) {\n                  iVar14 = (int)(pcVar8 + uVar23) - uVar23;\n                  pcVar12 = pcVar8 + uVar23;\n                  do {\n                    pcVar11 = pcVar12 + 1;\n                    *pcVar12 = *(char *)(iVar14 + iVar10 + uVar23);\n                    iVar14 = (int)pcVar11 - uVar23;\n                    pcVar12 = pcVar11;\n                  } while ((int)(pcVar11 + (iVar10 - (int)pcVar8)) <= (int)uVar9);\n                }\n                if ((*pcVar22 == '\0') && (uVar23 != 0)) {\n                  pcVar8[uVar23 - 1] = '\0';\n                }\n                uStack_48 = 0x80;\n                pTab->aCol[iVar5].colFlags = pTab->aCol[iVar5].colFlags | 2;\n                iStack_50 = (int)pTab->nCol;\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            pTab->tabFlags = pTab->tabFlags | uStack_48;\nLAB_0009d6f8:\n            iVar5 = iVar5 + 1;\n          } while (iVar5 < iStack_50);\n        }\n        goto LAB_0009d70c;\n      }\n      iVar26 = 1;\n      pMVar18 = (Module *)pTab->zName;\n      pcVar8 = sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);\n      pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x1478);\n      *pzErr = pcVar8;\n      (*pcVar7)(pVVar4);\n      pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n  }" else (compound_statement "{\n    if (iVar26 != 0) goto LAB_0009d750;\n    psVar6 = pVVar4->pVtab;\n    pMVar18 = (Module *)zErr;\n    if (psVar6 == (sqlite3_vtab *)0x0) {\nLAB_0009d70c:\n      pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n    else {\n      *(undefined1 *)&psVar6->pModule = 0;\n      *(undefined1 *)((int)&psVar6->pModule + 1) = 0;\n      *(undefined1 *)((int)&psVar6->pModule + 2) = 0;\n      *(undefined1 *)((int)&psVar6->pModule + 3) = 0;\n      *(undefined1 *)&psVar6->nRef = 0;\n      *(undefined1 *)((int)&psVar6->nRef + 1) = 0;\n      *(undefined1 *)((int)&psVar6->nRef + 2) = 0;\n      *(undefined1 *)((int)&psVar6->nRef + 3) = 0;\n      *(undefined1 *)&psVar6->zErrMsg = 0;\n      *(undefined1 *)((int)&psVar6->zErrMsg + 1) = 0;\n      *(undefined1 *)((int)&psVar6->zErrMsg + 2) = 0;\n      *(undefined1 *)((int)&psVar6->zErrMsg + 3) = 0;\n      pVVar4->pVtab->pModule = pMod->pModule;\n      pVVar4->nRef = 1;\n      if (sCtx.bDeclared != 0) {\n        pVVar4->pNext = pTab->pVTable;\n        pTab->pVTable = pVVar4;\n        iStack_50 = (int)pTab->nCol;\n        if (0 < iStack_50) {\n          iVar5 = 0;\n          pcVar7 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          uStack_48 = 0;\n          puVar25 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar24 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            if (((pTab->aCol[iVar5].colFlags & 4) != 0) &&\n               (pcVar8 = (char *)(*pcVar7)(pTab->aCol[iVar5].zName), pcVar8 != (char *)0x0)) {\n              uVar9 = (*(code *)PTR_strlen_00190d80)(pcVar8);\n              uVar9 = uVar9 & 0x3fffffff;\n              if (uVar9 != 0) {\n                uVar23 = 0;\n                pcVar22 = pcVar8;\nLAB_0009d63c:\n                pMVar18 = (Module *)&DAT_00000006;\n                if (((pcVar22 == (char *)0x0) || (iVar10 = (*pcVar24)(puVar25,pcVar22), iVar10 != 0)\n                    ) || ((uVar23 != 0 && (pcVar22[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar22[6] == '\0') {\n                  iVar10 = 6;\n                }\n                else {\n                  if (pcVar22[6] != ' ') goto LAB_0009d634;\n                  iVar10 = 7;\n                }\n                if ((int)(iVar10 + uVar23) <= (int)uVar9) {\n                  iVar14 = (int)(pcVar8 + uVar23) - uVar23;\n                  pcVar12 = pcVar8 + uVar23;\n                  do {\n                    pcVar11 = pcVar12 + 1;\n                    *pcVar12 = *(char *)(iVar14 + iVar10 + uVar23);\n                    iVar14 = (int)pcVar11 - uVar23;\n                    pcVar12 = pcVar11;\n                  } while ((int)(pcVar11 + (iVar10 - (int)pcVar8)) <= (int)uVar9);\n                }\n                if ((*pcVar22 == '\0') && (uVar23 != 0)) {\n                  pcVar8[uVar23 - 1] = '\0';\n                }\n                uStack_48 = 0x80;\n                pTab->aCol[iVar5].colFlags = pTab->aCol[iVar5].colFlags | 2;\n                iStack_50 = (int)pTab->nCol;\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            pTab->tabFlags = pTab->tabFlags | uStack_48;\nLAB_0009d6f8:\n            iVar5 = iVar5 + 1;\n          } while (iVar5 < iStack_50);\n        }\n        goto LAB_0009d70c;\n      }\n      iVar26 = 1;\n      pMVar18 = (Module *)pTab->zName;\n      pcVar8 = sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);\n      pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x1478);\n      *pzErr = pcVar8;\n      (*pcVar7)(pVVar4);\n      pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n  }" { (if_statement "if (iVar26 != 0) goto LAB_0009d750;" if (parenthesized_expression "(iVar26 != 0)" ( (binary_expression "iVar26 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0009d750;" goto statement_identifier ;)) (expression_statement "psVar6 = pVVar4->pVtab;" (assignment_expression "psVar6 = pVVar4->pVtab" identifier = (field_expression "pVVar4->pVtab" identifier -> field_identifier)) ;) (expression_statement "pMVar18 = (Module *)zErr;" (assignment_expression "pMVar18 = (Module *)zErr" identifier = (cast_expression "(Module *)zErr" ( (type_descriptor "Module *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (psVar6 == (sqlite3_vtab *)0x0) {\nLAB_0009d70c:\n      pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n    else {\n      *(undefined1 *)&psVar6->pModule = 0;\n      *(undefined1 *)((int)&psVar6->pModule + 1) = 0;\n      *(undefined1 *)((int)&psVar6->pModule + 2) = 0;\n      *(undefined1 *)((int)&psVar6->pModule + 3) = 0;\n      *(undefined1 *)&psVar6->nRef = 0;\n      *(undefined1 *)((int)&psVar6->nRef + 1) = 0;\n      *(undefined1 *)((int)&psVar6->nRef + 2) = 0;\n      *(undefined1 *)((int)&psVar6->nRef + 3) = 0;\n      *(undefined1 *)&psVar6->zErrMsg = 0;\n      *(undefined1 *)((int)&psVar6->zErrMsg + 1) = 0;\n      *(undefined1 *)((int)&psVar6->zErrMsg + 2) = 0;\n      *(undefined1 *)((int)&psVar6->zErrMsg + 3) = 0;\n      pVVar4->pVtab->pModule = pMod->pModule;\n      pVVar4->nRef = 1;\n      if (sCtx.bDeclared != 0) {\n        pVVar4->pNext = pTab->pVTable;\n        pTab->pVTable = pVVar4;\n        iStack_50 = (int)pTab->nCol;\n        if (0 < iStack_50) {\n          iVar5 = 0;\n          pcVar7 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          uStack_48 = 0;\n          puVar25 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar24 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            if (((pTab->aCol[iVar5].colFlags & 4) != 0) &&\n               (pcVar8 = (char *)(*pcVar7)(pTab->aCol[iVar5].zName), pcVar8 != (char *)0x0)) {\n              uVar9 = (*(code *)PTR_strlen_00190d80)(pcVar8);\n              uVar9 = uVar9 & 0x3fffffff;\n              if (uVar9 != 0) {\n                uVar23 = 0;\n                pcVar22 = pcVar8;\nLAB_0009d63c:\n                pMVar18 = (Module *)&DAT_00000006;\n                if (((pcVar22 == (char *)0x0) || (iVar10 = (*pcVar24)(puVar25,pcVar22), iVar10 != 0)\n                    ) || ((uVar23 != 0 && (pcVar22[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar22[6] == '\0') {\n                  iVar10 = 6;\n                }\n                else {\n                  if (pcVar22[6] != ' ') goto LAB_0009d634;\n                  iVar10 = 7;\n                }\n                if ((int)(iVar10 + uVar23) <= (int)uVar9) {\n                  iVar14 = (int)(pcVar8 + uVar23) - uVar23;\n                  pcVar12 = pcVar8 + uVar23;\n                  do {\n                    pcVar11 = pcVar12 + 1;\n                    *pcVar12 = *(char *)(iVar14 + iVar10 + uVar23);\n                    iVar14 = (int)pcVar11 - uVar23;\n                    pcVar12 = pcVar11;\n                  } while ((int)(pcVar11 + (iVar10 - (int)pcVar8)) <= (int)uVar9);\n                }\n                if ((*pcVar22 == '\0') && (uVar23 != 0)) {\n                  pcVar8[uVar23 - 1] = '\0';\n                }\n                uStack_48 = 0x80;\n                pTab->aCol[iVar5].colFlags = pTab->aCol[iVar5].colFlags | 2;\n                iStack_50 = (int)pTab->nCol;\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            pTab->tabFlags = pTab->tabFlags | uStack_48;\nLAB_0009d6f8:\n            iVar5 = iVar5 + 1;\n          } while (iVar5 < iStack_50);\n        }\n        goto LAB_0009d70c;\n      }\n      iVar26 = 1;\n      pMVar18 = (Module *)pTab->zName;\n      pcVar8 = sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);\n      pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x1478);\n      *pzErr = pcVar8;\n      (*pcVar7)(pVVar4);\n      pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }" if (parenthesized_expression "(psVar6 == (sqlite3_vtab *)0x0)" ( (binary_expression "psVar6 == (sqlite3_vtab *)0x0" identifier == (cast_expression "(sqlite3_vtab *)0x0" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0009d70c:\n      pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }" { (labeled_statement "LAB_0009d70c:\n      pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x2368);" statement_identifier : (expression_statement "pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x2368);" (assignment_expression "pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x2368)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2368)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2368)" ( (binary_expression "PTR_LAB_00190ba8 + -0x2368" identifier + number_literal) )))) ;)) }) (else_clause "else {\n      *(undefined1 *)&psVar6->pModule = 0;\n      *(undefined1 *)((int)&psVar6->pModule + 1) = 0;\n      *(undefined1 *)((int)&psVar6->pModule + 2) = 0;\n      *(undefined1 *)((int)&psVar6->pModule + 3) = 0;\n      *(undefined1 *)&psVar6->nRef = 0;\n      *(undefined1 *)((int)&psVar6->nRef + 1) = 0;\n      *(undefined1 *)((int)&psVar6->nRef + 2) = 0;\n      *(undefined1 *)((int)&psVar6->nRef + 3) = 0;\n      *(undefined1 *)&psVar6->zErrMsg = 0;\n      *(undefined1 *)((int)&psVar6->zErrMsg + 1) = 0;\n      *(undefined1 *)((int)&psVar6->zErrMsg + 2) = 0;\n      *(undefined1 *)((int)&psVar6->zErrMsg + 3) = 0;\n      pVVar4->pVtab->pModule = pMod->pModule;\n      pVVar4->nRef = 1;\n      if (sCtx.bDeclared != 0) {\n        pVVar4->pNext = pTab->pVTable;\n        pTab->pVTable = pVVar4;\n        iStack_50 = (int)pTab->nCol;\n        if (0 < iStack_50) {\n          iVar5 = 0;\n          pcVar7 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          uStack_48 = 0;\n          puVar25 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar24 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            if (((pTab->aCol[iVar5].colFlags & 4) != 0) &&\n               (pcVar8 = (char *)(*pcVar7)(pTab->aCol[iVar5].zName), pcVar8 != (char *)0x0)) {\n              uVar9 = (*(code *)PTR_strlen_00190d80)(pcVar8);\n              uVar9 = uVar9 & 0x3fffffff;\n              if (uVar9 != 0) {\n                uVar23 = 0;\n                pcVar22 = pcVar8;\nLAB_0009d63c:\n                pMVar18 = (Module *)&DAT_00000006;\n                if (((pcVar22 == (char *)0x0) || (iVar10 = (*pcVar24)(puVar25,pcVar22), iVar10 != 0)\n                    ) || ((uVar23 != 0 && (pcVar22[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar22[6] == '\0') {\n                  iVar10 = 6;\n                }\n                else {\n                  if (pcVar22[6] != ' ') goto LAB_0009d634;\n                  iVar10 = 7;\n                }\n                if ((int)(iVar10 + uVar23) <= (int)uVar9) {\n                  iVar14 = (int)(pcVar8 + uVar23) - uVar23;\n                  pcVar12 = pcVar8 + uVar23;\n                  do {\n                    pcVar11 = pcVar12 + 1;\n                    *pcVar12 = *(char *)(iVar14 + iVar10 + uVar23);\n                    iVar14 = (int)pcVar11 - uVar23;\n                    pcVar12 = pcVar11;\n                  } while ((int)(pcVar11 + (iVar10 - (int)pcVar8)) <= (int)uVar9);\n                }\n                if ((*pcVar22 == '\0') && (uVar23 != 0)) {\n                  pcVar8[uVar23 - 1] = '\0';\n                }\n                uStack_48 = 0x80;\n                pTab->aCol[iVar5].colFlags = pTab->aCol[iVar5].colFlags | 2;\n                iStack_50 = (int)pTab->nCol;\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            pTab->tabFlags = pTab->tabFlags | uStack_48;\nLAB_0009d6f8:\n            iVar5 = iVar5 + 1;\n          } while (iVar5 < iStack_50);\n        }\n        goto LAB_0009d70c;\n      }\n      iVar26 = 1;\n      pMVar18 = (Module *)pTab->zName;\n      pcVar8 = sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);\n      pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x1478);\n      *pzErr = pcVar8;\n      (*pcVar7)(pVVar4);\n      pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }" else (compound_statement "{\n      *(undefined1 *)&psVar6->pModule = 0;\n      *(undefined1 *)((int)&psVar6->pModule + 1) = 0;\n      *(undefined1 *)((int)&psVar6->pModule + 2) = 0;\n      *(undefined1 *)((int)&psVar6->pModule + 3) = 0;\n      *(undefined1 *)&psVar6->nRef = 0;\n      *(undefined1 *)((int)&psVar6->nRef + 1) = 0;\n      *(undefined1 *)((int)&psVar6->nRef + 2) = 0;\n      *(undefined1 *)((int)&psVar6->nRef + 3) = 0;\n      *(undefined1 *)&psVar6->zErrMsg = 0;\n      *(undefined1 *)((int)&psVar6->zErrMsg + 1) = 0;\n      *(undefined1 *)((int)&psVar6->zErrMsg + 2) = 0;\n      *(undefined1 *)((int)&psVar6->zErrMsg + 3) = 0;\n      pVVar4->pVtab->pModule = pMod->pModule;\n      pVVar4->nRef = 1;\n      if (sCtx.bDeclared != 0) {\n        pVVar4->pNext = pTab->pVTable;\n        pTab->pVTable = pVVar4;\n        iStack_50 = (int)pTab->nCol;\n        if (0 < iStack_50) {\n          iVar5 = 0;\n          pcVar7 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          uStack_48 = 0;\n          puVar25 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar24 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            if (((pTab->aCol[iVar5].colFlags & 4) != 0) &&\n               (pcVar8 = (char *)(*pcVar7)(pTab->aCol[iVar5].zName), pcVar8 != (char *)0x0)) {\n              uVar9 = (*(code *)PTR_strlen_00190d80)(pcVar8);\n              uVar9 = uVar9 & 0x3fffffff;\n              if (uVar9 != 0) {\n                uVar23 = 0;\n                pcVar22 = pcVar8;\nLAB_0009d63c:\n                pMVar18 = (Module *)&DAT_00000006;\n                if (((pcVar22 == (char *)0x0) || (iVar10 = (*pcVar24)(puVar25,pcVar22), iVar10 != 0)\n                    ) || ((uVar23 != 0 && (pcVar22[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar22[6] == '\0') {\n                  iVar10 = 6;\n                }\n                else {\n                  if (pcVar22[6] != ' ') goto LAB_0009d634;\n                  iVar10 = 7;\n                }\n                if ((int)(iVar10 + uVar23) <= (int)uVar9) {\n                  iVar14 = (int)(pcVar8 + uVar23) - uVar23;\n                  pcVar12 = pcVar8 + uVar23;\n                  do {\n                    pcVar11 = pcVar12 + 1;\n                    *pcVar12 = *(char *)(iVar14 + iVar10 + uVar23);\n                    iVar14 = (int)pcVar11 - uVar23;\n                    pcVar12 = pcVar11;\n                  } while ((int)(pcVar11 + (iVar10 - (int)pcVar8)) <= (int)uVar9);\n                }\n                if ((*pcVar22 == '\0') && (uVar23 != 0)) {\n                  pcVar8[uVar23 - 1] = '\0';\n                }\n                uStack_48 = 0x80;\n                pTab->aCol[iVar5].colFlags = pTab->aCol[iVar5].colFlags | 2;\n                iStack_50 = (int)pTab->nCol;\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            pTab->tabFlags = pTab->tabFlags | uStack_48;\nLAB_0009d6f8:\n            iVar5 = iVar5 + 1;\n          } while (iVar5 < iStack_50);\n        }\n        goto LAB_0009d70c;\n      }\n      iVar26 = 1;\n      pMVar18 = (Module *)pTab->zName;\n      pcVar8 = sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);\n      pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x1478);\n      *pzErr = pcVar8;\n      (*pcVar7)(pVVar4);\n      pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }" { (expression_statement "*(undefined1 *)&psVar6->pModule = 0;" (assignment_expression "*(undefined1 *)&psVar6->pModule = 0" (pointer_expression "*(undefined1 *)&psVar6->pModule" * (cast_expression "(undefined1 *)&psVar6->pModule" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar6->pModule" & (field_expression "psVar6->pModule" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)&psVar6->pModule + 1) = 0;" (assignment_expression "*(undefined1 *)((int)&psVar6->pModule + 1) = 0" (pointer_expression "*(undefined1 *)((int)&psVar6->pModule + 1)" * (cast_expression "(undefined1 *)((int)&psVar6->pModule + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar6->pModule + 1)" ( (binary_expression "(int)&psVar6->pModule + 1" (cast_expression "(int)&psVar6->pModule" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar6->pModule" & (field_expression "psVar6->pModule" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)&psVar6->pModule + 2) = 0;" (assignment_expression "*(undefined1 *)((int)&psVar6->pModule + 2) = 0" (pointer_expression "*(undefined1 *)((int)&psVar6->pModule + 2)" * (cast_expression "(undefined1 *)((int)&psVar6->pModule + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar6->pModule + 2)" ( (binary_expression "(int)&psVar6->pModule + 2" (cast_expression "(int)&psVar6->pModule" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar6->pModule" & (field_expression "psVar6->pModule" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)&psVar6->pModule + 3) = 0;" (assignment_expression "*(undefined1 *)((int)&psVar6->pModule + 3) = 0" (pointer_expression "*(undefined1 *)((int)&psVar6->pModule + 3)" * (cast_expression "(undefined1 *)((int)&psVar6->pModule + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar6->pModule + 3)" ( (binary_expression "(int)&psVar6->pModule + 3" (cast_expression "(int)&psVar6->pModule" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar6->pModule" & (field_expression "psVar6->pModule" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)&psVar6->nRef = 0;" (assignment_expression "*(undefined1 *)&psVar6->nRef = 0" (pointer_expression "*(undefined1 *)&psVar6->nRef" * (cast_expression "(undefined1 *)&psVar6->nRef" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar6->nRef" & (field_expression "psVar6->nRef" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)&psVar6->nRef + 1) = 0;" (assignment_expression "*(undefined1 *)((int)&psVar6->nRef + 1) = 0" (pointer_expression "*(undefined1 *)((int)&psVar6->nRef + 1)" * (cast_expression "(undefined1 *)((int)&psVar6->nRef + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar6->nRef + 1)" ( (binary_expression "(int)&psVar6->nRef + 1" (cast_expression "(int)&psVar6->nRef" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar6->nRef" & (field_expression "psVar6->nRef" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)&psVar6->nRef + 2) = 0;" (assignment_expression "*(undefined1 *)((int)&psVar6->nRef + 2) = 0" (pointer_expression "*(undefined1 *)((int)&psVar6->nRef + 2)" * (cast_expression "(undefined1 *)((int)&psVar6->nRef + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar6->nRef + 2)" ( (binary_expression "(int)&psVar6->nRef + 2" (cast_expression "(int)&psVar6->nRef" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar6->nRef" & (field_expression "psVar6->nRef" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)&psVar6->nRef + 3) = 0;" (assignment_expression "*(undefined1 *)((int)&psVar6->nRef + 3) = 0" (pointer_expression "*(undefined1 *)((int)&psVar6->nRef + 3)" * (cast_expression "(undefined1 *)((int)&psVar6->nRef + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar6->nRef + 3)" ( (binary_expression "(int)&psVar6->nRef + 3" (cast_expression "(int)&psVar6->nRef" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar6->nRef" & (field_expression "psVar6->nRef" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)&psVar6->zErrMsg = 0;" (assignment_expression "*(undefined1 *)&psVar6->zErrMsg = 0" (pointer_expression "*(undefined1 *)&psVar6->zErrMsg" * (cast_expression "(undefined1 *)&psVar6->zErrMsg" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar6->zErrMsg" & (field_expression "psVar6->zErrMsg" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)&psVar6->zErrMsg + 1) = 0;" (assignment_expression "*(undefined1 *)((int)&psVar6->zErrMsg + 1) = 0" (pointer_expression "*(undefined1 *)((int)&psVar6->zErrMsg + 1)" * (cast_expression "(undefined1 *)((int)&psVar6->zErrMsg + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar6->zErrMsg + 1)" ( (binary_expression "(int)&psVar6->zErrMsg + 1" (cast_expression "(int)&psVar6->zErrMsg" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar6->zErrMsg" & (field_expression "psVar6->zErrMsg" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)&psVar6->zErrMsg + 2) = 0;" (assignment_expression "*(undefined1 *)((int)&psVar6->zErrMsg + 2) = 0" (pointer_expression "*(undefined1 *)((int)&psVar6->zErrMsg + 2)" * (cast_expression "(undefined1 *)((int)&psVar6->zErrMsg + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar6->zErrMsg + 2)" ( (binary_expression "(int)&psVar6->zErrMsg + 2" (cast_expression "(int)&psVar6->zErrMsg" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar6->zErrMsg" & (field_expression "psVar6->zErrMsg" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)&psVar6->zErrMsg + 3) = 0;" (assignment_expression "*(undefined1 *)((int)&psVar6->zErrMsg + 3) = 0" (pointer_expression "*(undefined1 *)((int)&psVar6->zErrMsg + 3)" * (cast_expression "(undefined1 *)((int)&psVar6->zErrMsg + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar6->zErrMsg + 3)" ( (binary_expression "(int)&psVar6->zErrMsg + 3" (cast_expression "(int)&psVar6->zErrMsg" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar6->zErrMsg" & (field_expression "psVar6->zErrMsg" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "pVVar4->pVtab->pModule = pMod->pModule;" (assignment_expression "pVVar4->pVtab->pModule = pMod->pModule" (field_expression "pVVar4->pVtab->pModule" (field_expression "pVVar4->pVtab" identifier -> field_identifier) -> field_identifier) = (field_expression "pMod->pModule" identifier -> field_identifier)) ;) (expression_statement "pVVar4->nRef = 1;" (assignment_expression "pVVar4->nRef = 1" (field_expression "pVVar4->nRef" identifier -> field_identifier) = number_literal) ;) (if_statement "if (sCtx.bDeclared != 0) {\n        pVVar4->pNext = pTab->pVTable;\n        pTab->pVTable = pVVar4;\n        iStack_50 = (int)pTab->nCol;\n        if (0 < iStack_50) {\n          iVar5 = 0;\n          pcVar7 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          uStack_48 = 0;\n          puVar25 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar24 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            if (((pTab->aCol[iVar5].colFlags & 4) != 0) &&\n               (pcVar8 = (char *)(*pcVar7)(pTab->aCol[iVar5].zName), pcVar8 != (char *)0x0)) {\n              uVar9 = (*(code *)PTR_strlen_00190d80)(pcVar8);\n              uVar9 = uVar9 & 0x3fffffff;\n              if (uVar9 != 0) {\n                uVar23 = 0;\n                pcVar22 = pcVar8;\nLAB_0009d63c:\n                pMVar18 = (Module *)&DAT_00000006;\n                if (((pcVar22 == (char *)0x0) || (iVar10 = (*pcVar24)(puVar25,pcVar22), iVar10 != 0)\n                    ) || ((uVar23 != 0 && (pcVar22[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar22[6] == '\0') {\n                  iVar10 = 6;\n                }\n                else {\n                  if (pcVar22[6] != ' ') goto LAB_0009d634;\n                  iVar10 = 7;\n                }\n                if ((int)(iVar10 + uVar23) <= (int)uVar9) {\n                  iVar14 = (int)(pcVar8 + uVar23) - uVar23;\n                  pcVar12 = pcVar8 + uVar23;\n                  do {\n                    pcVar11 = pcVar12 + 1;\n                    *pcVar12 = *(char *)(iVar14 + iVar10 + uVar23);\n                    iVar14 = (int)pcVar11 - uVar23;\n                    pcVar12 = pcVar11;\n                  } while ((int)(pcVar11 + (iVar10 - (int)pcVar8)) <= (int)uVar9);\n                }\n                if ((*pcVar22 == '\0') && (uVar23 != 0)) {\n                  pcVar8[uVar23 - 1] = '\0';\n                }\n                uStack_48 = 0x80;\n                pTab->aCol[iVar5].colFlags = pTab->aCol[iVar5].colFlags | 2;\n                iStack_50 = (int)pTab->nCol;\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            pTab->tabFlags = pTab->tabFlags | uStack_48;\nLAB_0009d6f8:\n            iVar5 = iVar5 + 1;\n          } while (iVar5 < iStack_50);\n        }\n        goto LAB_0009d70c;\n      }" if (parenthesized_expression "(sCtx.bDeclared != 0)" ( (binary_expression "sCtx.bDeclared != 0" (field_expression "sCtx.bDeclared" identifier . field_identifier) != number_literal) )) (compound_statement "{\n        pVVar4->pNext = pTab->pVTable;\n        pTab->pVTable = pVVar4;\n        iStack_50 = (int)pTab->nCol;\n        if (0 < iStack_50) {\n          iVar5 = 0;\n          pcVar7 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          uStack_48 = 0;\n          puVar25 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar24 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            if (((pTab->aCol[iVar5].colFlags & 4) != 0) &&\n               (pcVar8 = (char *)(*pcVar7)(pTab->aCol[iVar5].zName), pcVar8 != (char *)0x0)) {\n              uVar9 = (*(code *)PTR_strlen_00190d80)(pcVar8);\n              uVar9 = uVar9 & 0x3fffffff;\n              if (uVar9 != 0) {\n                uVar23 = 0;\n                pcVar22 = pcVar8;\nLAB_0009d63c:\n                pMVar18 = (Module *)&DAT_00000006;\n                if (((pcVar22 == (char *)0x0) || (iVar10 = (*pcVar24)(puVar25,pcVar22), iVar10 != 0)\n                    ) || ((uVar23 != 0 && (pcVar22[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar22[6] == '\0') {\n                  iVar10 = 6;\n                }\n                else {\n                  if (pcVar22[6] != ' ') goto LAB_0009d634;\n                  iVar10 = 7;\n                }\n                if ((int)(iVar10 + uVar23) <= (int)uVar9) {\n                  iVar14 = (int)(pcVar8 + uVar23) - uVar23;\n                  pcVar12 = pcVar8 + uVar23;\n                  do {\n                    pcVar11 = pcVar12 + 1;\n                    *pcVar12 = *(char *)(iVar14 + iVar10 + uVar23);\n                    iVar14 = (int)pcVar11 - uVar23;\n                    pcVar12 = pcVar11;\n                  } while ((int)(pcVar11 + (iVar10 - (int)pcVar8)) <= (int)uVar9);\n                }\n                if ((*pcVar22 == '\0') && (uVar23 != 0)) {\n                  pcVar8[uVar23 - 1] = '\0';\n                }\n                uStack_48 = 0x80;\n                pTab->aCol[iVar5].colFlags = pTab->aCol[iVar5].colFlags | 2;\n                iStack_50 = (int)pTab->nCol;\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            pTab->tabFlags = pTab->tabFlags | uStack_48;\nLAB_0009d6f8:\n            iVar5 = iVar5 + 1;\n          } while (iVar5 < iStack_50);\n        }\n        goto LAB_0009d70c;\n      }" { (expression_statement "pVVar4->pNext = pTab->pVTable;" (assignment_expression "pVVar4->pNext = pTab->pVTable" (field_expression "pVVar4->pNext" identifier -> field_identifier) = (field_expression "pTab->pVTable" identifier -> field_identifier)) ;) (expression_statement "pTab->pVTable = pVVar4;" (assignment_expression "pTab->pVTable = pVVar4" (field_expression "pTab->pVTable" identifier -> field_identifier) = identifier) ;) (expression_statement "iStack_50 = (int)pTab->nCol;" (assignment_expression "iStack_50 = (int)pTab->nCol" identifier = (cast_expression "(int)pTab->nCol" ( (type_descriptor "int" primitive_type) ) (field_expression "pTab->nCol" identifier -> field_identifier))) ;) (if_statement "if (0 < iStack_50) {\n          iVar5 = 0;\n          pcVar7 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          uStack_48 = 0;\n          puVar25 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar24 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            if (((pTab->aCol[iVar5].colFlags & 4) != 0) &&\n               (pcVar8 = (char *)(*pcVar7)(pTab->aCol[iVar5].zName), pcVar8 != (char *)0x0)) {\n              uVar9 = (*(code *)PTR_strlen_00190d80)(pcVar8);\n              uVar9 = uVar9 & 0x3fffffff;\n              if (uVar9 != 0) {\n                uVar23 = 0;\n                pcVar22 = pcVar8;\nLAB_0009d63c:\n                pMVar18 = (Module *)&DAT_00000006;\n                if (((pcVar22 == (char *)0x0) || (iVar10 = (*pcVar24)(puVar25,pcVar22), iVar10 != 0)\n                    ) || ((uVar23 != 0 && (pcVar22[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar22[6] == '\0') {\n                  iVar10 = 6;\n                }\n                else {\n                  if (pcVar22[6] != ' ') goto LAB_0009d634;\n                  iVar10 = 7;\n                }\n                if ((int)(iVar10 + uVar23) <= (int)uVar9) {\n                  iVar14 = (int)(pcVar8 + uVar23) - uVar23;\n                  pcVar12 = pcVar8 + uVar23;\n                  do {\n                    pcVar11 = pcVar12 + 1;\n                    *pcVar12 = *(char *)(iVar14 + iVar10 + uVar23);\n                    iVar14 = (int)pcVar11 - uVar23;\n                    pcVar12 = pcVar11;\n                  } while ((int)(pcVar11 + (iVar10 - (int)pcVar8)) <= (int)uVar9);\n                }\n                if ((*pcVar22 == '\0') && (uVar23 != 0)) {\n                  pcVar8[uVar23 - 1] = '\0';\n                }\n                uStack_48 = 0x80;\n                pTab->aCol[iVar5].colFlags = pTab->aCol[iVar5].colFlags | 2;\n                iStack_50 = (int)pTab->nCol;\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            pTab->tabFlags = pTab->tabFlags | uStack_48;\nLAB_0009d6f8:\n            iVar5 = iVar5 + 1;\n          } while (iVar5 < iStack_50);\n        }" if (parenthesized_expression "(0 < iStack_50)" ( (binary_expression "0 < iStack_50" number_literal < identifier) )) (compound_statement "{\n          iVar5 = 0;\n          pcVar7 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          uStack_48 = 0;\n          puVar25 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar24 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            if (((pTab->aCol[iVar5].colFlags & 4) != 0) &&\n               (pcVar8 = (char *)(*pcVar7)(pTab->aCol[iVar5].zName), pcVar8 != (char *)0x0)) {\n              uVar9 = (*(code *)PTR_strlen_00190d80)(pcVar8);\n              uVar9 = uVar9 & 0x3fffffff;\n              if (uVar9 != 0) {\n                uVar23 = 0;\n                pcVar22 = pcVar8;\nLAB_0009d63c:\n                pMVar18 = (Module *)&DAT_00000006;\n                if (((pcVar22 == (char *)0x0) || (iVar10 = (*pcVar24)(puVar25,pcVar22), iVar10 != 0)\n                    ) || ((uVar23 != 0 && (pcVar22[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar22[6] == '\0') {\n                  iVar10 = 6;\n                }\n                else {\n                  if (pcVar22[6] != ' ') goto LAB_0009d634;\n                  iVar10 = 7;\n                }\n                if ((int)(iVar10 + uVar23) <= (int)uVar9) {\n                  iVar14 = (int)(pcVar8 + uVar23) - uVar23;\n                  pcVar12 = pcVar8 + uVar23;\n                  do {\n                    pcVar11 = pcVar12 + 1;\n                    *pcVar12 = *(char *)(iVar14 + iVar10 + uVar23);\n                    iVar14 = (int)pcVar11 - uVar23;\n                    pcVar12 = pcVar11;\n                  } while ((int)(pcVar11 + (iVar10 - (int)pcVar8)) <= (int)uVar9);\n                }\n                if ((*pcVar22 == '\0') && (uVar23 != 0)) {\n                  pcVar8[uVar23 - 1] = '\0';\n                }\n                uStack_48 = 0x80;\n                pTab->aCol[iVar5].colFlags = pTab->aCol[iVar5].colFlags | 2;\n                iStack_50 = (int)pTab->nCol;\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            pTab->tabFlags = pTab->tabFlags | uStack_48;\nLAB_0009d6f8:\n            iVar5 = iVar5 + 1;\n          } while (iVar5 < iStack_50);\n        }" { (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (expression_statement "pcVar7 = (code *)(PTR_LAB_00190bb8 + -0x7f24);" (assignment_expression "pcVar7 = (code *)(PTR_LAB_00190bb8 + -0x7f24)" identifier = (cast_expression "(code *)(PTR_LAB_00190bb8 + -0x7f24)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bb8 + -0x7f24)" ( (binary_expression "PTR_LAB_00190bb8 + -0x7f24" identifier + number_literal) )))) ;) (expression_statement "uStack_48 = 0;" (assignment_expression "uStack_48 = 0" identifier = number_literal) ;) (expression_statement "puVar25 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;" (assignment_expression "puVar25 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410" identifier = (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410" identifier + number_literal)) ;) (expression_statement "pcVar24 = (code *)(PTR_LAB_00190ba8 + 0x27e4);" (assignment_expression "pcVar24 = (code *)(PTR_LAB_00190ba8 + 0x27e4)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x27e4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x27e4)" ( (binary_expression "PTR_LAB_00190ba8 + 0x27e4" identifier + number_literal) )))) ;) (do_statement "do {\n            if (((pTab->aCol[iVar5].colFlags & 4) != 0) &&\n               (pcVar8 = (char *)(*pcVar7)(pTab->aCol[iVar5].zName), pcVar8 != (char *)0x0)) {\n              uVar9 = (*(code *)PTR_strlen_00190d80)(pcVar8);\n              uVar9 = uVar9 & 0x3fffffff;\n              if (uVar9 != 0) {\n                uVar23 = 0;\n                pcVar22 = pcVar8;\nLAB_0009d63c:\n                pMVar18 = (Module *)&DAT_00000006;\n                if (((pcVar22 == (char *)0x0) || (iVar10 = (*pcVar24)(puVar25,pcVar22), iVar10 != 0)\n                    ) || ((uVar23 != 0 && (pcVar22[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar22[6] == '\0') {\n                  iVar10 = 6;\n                }\n                else {\n                  if (pcVar22[6] != ' ') goto LAB_0009d634;\n                  iVar10 = 7;\n                }\n                if ((int)(iVar10 + uVar23) <= (int)uVar9) {\n                  iVar14 = (int)(pcVar8 + uVar23) - uVar23;\n                  pcVar12 = pcVar8 + uVar23;\n                  do {\n                    pcVar11 = pcVar12 + 1;\n                    *pcVar12 = *(char *)(iVar14 + iVar10 + uVar23);\n                    iVar14 = (int)pcVar11 - uVar23;\n                    pcVar12 = pcVar11;\n                  } while ((int)(pcVar11 + (iVar10 - (int)pcVar8)) <= (int)uVar9);\n                }\n                if ((*pcVar22 == '\0') && (uVar23 != 0)) {\n                  pcVar8[uVar23 - 1] = '\0';\n                }\n                uStack_48 = 0x80;\n                pTab->aCol[iVar5].colFlags = pTab->aCol[iVar5].colFlags | 2;\n                iStack_50 = (int)pTab->nCol;\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            pTab->tabFlags = pTab->tabFlags | uStack_48;\nLAB_0009d6f8:\n            iVar5 = iVar5 + 1;\n          } while (iVar5 < iStack_50);" do (compound_statement "{\n            if (((pTab->aCol[iVar5].colFlags & 4) != 0) &&\n               (pcVar8 = (char *)(*pcVar7)(pTab->aCol[iVar5].zName), pcVar8 != (char *)0x0)) {\n              uVar9 = (*(code *)PTR_strlen_00190d80)(pcVar8);\n              uVar9 = uVar9 & 0x3fffffff;\n              if (uVar9 != 0) {\n                uVar23 = 0;\n                pcVar22 = pcVar8;\nLAB_0009d63c:\n                pMVar18 = (Module *)&DAT_00000006;\n                if (((pcVar22 == (char *)0x0) || (iVar10 = (*pcVar24)(puVar25,pcVar22), iVar10 != 0)\n                    ) || ((uVar23 != 0 && (pcVar22[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar22[6] == '\0') {\n                  iVar10 = 6;\n                }\n                else {\n                  if (pcVar22[6] != ' ') goto LAB_0009d634;\n                  iVar10 = 7;\n                }\n                if ((int)(iVar10 + uVar23) <= (int)uVar9) {\n                  iVar14 = (int)(pcVar8 + uVar23) - uVar23;\n                  pcVar12 = pcVar8 + uVar23;\n                  do {\n                    pcVar11 = pcVar12 + 1;\n                    *pcVar12 = *(char *)(iVar14 + iVar10 + uVar23);\n                    iVar14 = (int)pcVar11 - uVar23;\n                    pcVar12 = pcVar11;\n                  } while ((int)(pcVar11 + (iVar10 - (int)pcVar8)) <= (int)uVar9);\n                }\n                if ((*pcVar22 == '\0') && (uVar23 != 0)) {\n                  pcVar8[uVar23 - 1] = '\0';\n                }\n                uStack_48 = 0x80;\n                pTab->aCol[iVar5].colFlags = pTab->aCol[iVar5].colFlags | 2;\n                iStack_50 = (int)pTab->nCol;\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            pTab->tabFlags = pTab->tabFlags | uStack_48;\nLAB_0009d6f8:\n            iVar5 = iVar5 + 1;\n          }" { (if_statement "if (((pTab->aCol[iVar5].colFlags & 4) != 0) &&\n               (pcVar8 = (char *)(*pcVar7)(pTab->aCol[iVar5].zName), pcVar8 != (char *)0x0)) {\n              uVar9 = (*(code *)PTR_strlen_00190d80)(pcVar8);\n              uVar9 = uVar9 & 0x3fffffff;\n              if (uVar9 != 0) {\n                uVar23 = 0;\n                pcVar22 = pcVar8;\nLAB_0009d63c:\n                pMVar18 = (Module *)&DAT_00000006;\n                if (((pcVar22 == (char *)0x0) || (iVar10 = (*pcVar24)(puVar25,pcVar22), iVar10 != 0)\n                    ) || ((uVar23 != 0 && (pcVar22[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar22[6] == '\0') {\n                  iVar10 = 6;\n                }\n                else {\n                  if (pcVar22[6] != ' ') goto LAB_0009d634;\n                  iVar10 = 7;\n                }\n                if ((int)(iVar10 + uVar23) <= (int)uVar9) {\n                  iVar14 = (int)(pcVar8 + uVar23) - uVar23;\n                  pcVar12 = pcVar8 + uVar23;\n                  do {\n                    pcVar11 = pcVar12 + 1;\n                    *pcVar12 = *(char *)(iVar14 + iVar10 + uVar23);\n                    iVar14 = (int)pcVar11 - uVar23;\n                    pcVar12 = pcVar11;\n                  } while ((int)(pcVar11 + (iVar10 - (int)pcVar8)) <= (int)uVar9);\n                }\n                if ((*pcVar22 == '\0') && (uVar23 != 0)) {\n                  pcVar8[uVar23 - 1] = '\0';\n                }\n                uStack_48 = 0x80;\n                pTab->aCol[iVar5].colFlags = pTab->aCol[iVar5].colFlags | 2;\n                iStack_50 = (int)pTab->nCol;\n                goto LAB_0009d6f8;\n              }\n            }" if (parenthesized_expression "(((pTab->aCol[iVar5].colFlags & 4) != 0) &&\n               (pcVar8 = (char *)(*pcVar7)(pTab->aCol[iVar5].zName), pcVar8 != (char *)0x0))" ( (binary_expression "((pTab->aCol[iVar5].colFlags & 4) != 0) &&\n               (pcVar8 = (char *)(*pcVar7)(pTab->aCol[iVar5].zName), pcVar8 != (char *)0x0)" (parenthesized_expression "((pTab->aCol[iVar5].colFlags & 4) != 0)" ( (binary_expression "(pTab->aCol[iVar5].colFlags & 4) != 0" (parenthesized_expression "(pTab->aCol[iVar5].colFlags & 4)" ( (binary_expression "pTab->aCol[iVar5].colFlags & 4" (field_expression "pTab->aCol[iVar5].colFlags" (subscript_expression "pTab->aCol[iVar5]" (field_expression "pTab->aCol" identifier -> field_identifier) [ identifier ]) . field_identifier) & number_literal) )) != number_literal) )) && (parenthesized_expression "(pcVar8 = (char *)(*pcVar7)(pTab->aCol[iVar5].zName), pcVar8 != (char *)0x0)" ( (comma_expression "pcVar8 = (char *)(*pcVar7)(pTab->aCol[iVar5].zName), pcVar8 != (char *)0x0" (assignment_expression "pcVar8 = (char *)(*pcVar7)(pTab->aCol[iVar5].zName)" identifier = (cast_expression "(char *)(*pcVar7)(pTab->aCol[iVar5].zName)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar7)(pTab->aCol[iVar5].zName)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(pTab->aCol[iVar5].zName)" ( (field_expression "pTab->aCol[iVar5].zName" (subscript_expression "pTab->aCol[iVar5]" (field_expression "pTab->aCol" identifier -> field_identifier) [ identifier ]) . field_identifier) ))))) , (binary_expression "pcVar8 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n              uVar9 = (*(code *)PTR_strlen_00190d80)(pcVar8);\n              uVar9 = uVar9 & 0x3fffffff;\n              if (uVar9 != 0) {\n                uVar23 = 0;\n                pcVar22 = pcVar8;\nLAB_0009d63c:\n                pMVar18 = (Module *)&DAT_00000006;\n                if (((pcVar22 == (char *)0x0) || (iVar10 = (*pcVar24)(puVar25,pcVar22), iVar10 != 0)\n                    ) || ((uVar23 != 0 && (pcVar22[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar22[6] == '\0') {\n                  iVar10 = 6;\n                }\n                else {\n                  if (pcVar22[6] != ' ') goto LAB_0009d634;\n                  iVar10 = 7;\n                }\n                if ((int)(iVar10 + uVar23) <= (int)uVar9) {\n                  iVar14 = (int)(pcVar8 + uVar23) - uVar23;\n                  pcVar12 = pcVar8 + uVar23;\n                  do {\n                    pcVar11 = pcVar12 + 1;\n                    *pcVar12 = *(char *)(iVar14 + iVar10 + uVar23);\n                    iVar14 = (int)pcVar11 - uVar23;\n                    pcVar12 = pcVar11;\n                  } while ((int)(pcVar11 + (iVar10 - (int)pcVar8)) <= (int)uVar9);\n                }\n                if ((*pcVar22 == '\0') && (uVar23 != 0)) {\n                  pcVar8[uVar23 - 1] = '\0';\n                }\n                uStack_48 = 0x80;\n                pTab->aCol[iVar5].colFlags = pTab->aCol[iVar5].colFlags | 2;\n                iStack_50 = (int)pTab->nCol;\n                goto LAB_0009d6f8;\n              }\n            }" { (expression_statement "uVar9 = (*(code *)PTR_strlen_00190d80)(pcVar8);" (assignment_expression "uVar9 = (*(code *)PTR_strlen_00190d80)(pcVar8)" identifier = (call_expression "(*(code *)PTR_strlen_00190d80)(pcVar8)" (parenthesized_expression "(*(code *)PTR_strlen_00190d80)" ( (pointer_expression "*(code *)PTR_strlen_00190d80" * (cast_expression "(code *)PTR_strlen_00190d80" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar8)" ( identifier )))) ;) (expression_statement "uVar9 = uVar9 & 0x3fffffff;" (assignment_expression "uVar9 = uVar9 & 0x3fffffff" identifier = (binary_expression "uVar9 & 0x3fffffff" identifier & number_literal)) ;) (if_statement "if (uVar9 != 0) {\n                uVar23 = 0;\n                pcVar22 = pcVar8;\nLAB_0009d63c:\n                pMVar18 = (Module *)&DAT_00000006;\n                if (((pcVar22 == (char *)0x0) || (iVar10 = (*pcVar24)(puVar25,pcVar22), iVar10 != 0)\n                    ) || ((uVar23 != 0 && (pcVar22[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar22[6] == '\0') {\n                  iVar10 = 6;\n                }\n                else {\n                  if (pcVar22[6] != ' ') goto LAB_0009d634;\n                  iVar10 = 7;\n                }\n                if ((int)(iVar10 + uVar23) <= (int)uVar9) {\n                  iVar14 = (int)(pcVar8 + uVar23) - uVar23;\n                  pcVar12 = pcVar8 + uVar23;\n                  do {\n                    pcVar11 = pcVar12 + 1;\n                    *pcVar12 = *(char *)(iVar14 + iVar10 + uVar23);\n                    iVar14 = (int)pcVar11 - uVar23;\n                    pcVar12 = pcVar11;\n                  } while ((int)(pcVar11 + (iVar10 - (int)pcVar8)) <= (int)uVar9);\n                }\n                if ((*pcVar22 == '\0') && (uVar23 != 0)) {\n                  pcVar8[uVar23 - 1] = '\0';\n                }\n                uStack_48 = 0x80;\n                pTab->aCol[iVar5].colFlags = pTab->aCol[iVar5].colFlags | 2;\n                iStack_50 = (int)pTab->nCol;\n                goto LAB_0009d6f8;\n              }" if (parenthesized_expression "(uVar9 != 0)" ( (binary_expression "uVar9 != 0" identifier != number_literal) )) (compound_statement "{\n                uVar23 = 0;\n                pcVar22 = pcVar8;\nLAB_0009d63c:\n                pMVar18 = (Module *)&DAT_00000006;\n                if (((pcVar22 == (char *)0x0) || (iVar10 = (*pcVar24)(puVar25,pcVar22), iVar10 != 0)\n                    ) || ((uVar23 != 0 && (pcVar22[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar22[6] == '\0') {\n                  iVar10 = 6;\n                }\n                else {\n                  if (pcVar22[6] != ' ') goto LAB_0009d634;\n                  iVar10 = 7;\n                }\n                if ((int)(iVar10 + uVar23) <= (int)uVar9) {\n                  iVar14 = (int)(pcVar8 + uVar23) - uVar23;\n                  pcVar12 = pcVar8 + uVar23;\n                  do {\n                    pcVar11 = pcVar12 + 1;\n                    *pcVar12 = *(char *)(iVar14 + iVar10 + uVar23);\n                    iVar14 = (int)pcVar11 - uVar23;\n                    pcVar12 = pcVar11;\n                  } while ((int)(pcVar11 + (iVar10 - (int)pcVar8)) <= (int)uVar9);\n                }\n                if ((*pcVar22 == '\0') && (uVar23 != 0)) {\n                  pcVar8[uVar23 - 1] = '\0';\n                }\n                uStack_48 = 0x80;\n                pTab->aCol[iVar5].colFlags = pTab->aCol[iVar5].colFlags | 2;\n                iStack_50 = (int)pTab->nCol;\n                goto LAB_0009d6f8;\n              }" { (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (expression_statement "pcVar22 = pcVar8;" (assignment_expression "pcVar22 = pcVar8" identifier = identifier) ;) (labeled_statement "LAB_0009d63c:\n                pMVar18 = (Module *)&DAT_00000006;" statement_identifier : (expression_statement "pMVar18 = (Module *)&DAT_00000006;" (assignment_expression "pMVar18 = (Module *)&DAT_00000006" identifier = (cast_expression "(Module *)&DAT_00000006" ( (type_descriptor "Module *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000006" & identifier))) ;)) (if_statement "if (((pcVar22 == (char *)0x0) || (iVar10 = (*pcVar24)(puVar25,pcVar22), iVar10 != 0)\n                    ) || ((uVar23 != 0 && (pcVar22[-1] != ' ')))) goto LAB_0009d634;" if (parenthesized_expression "(((pcVar22 == (char *)0x0) || (iVar10 = (*pcVar24)(puVar25,pcVar22), iVar10 != 0)\n                    ) || ((uVar23 != 0 && (pcVar22[-1] != ' '))))" ( (binary_expression "((pcVar22 == (char *)0x0) || (iVar10 = (*pcVar24)(puVar25,pcVar22), iVar10 != 0)\n                    ) || ((uVar23 != 0 && (pcVar22[-1] != ' ')))" (parenthesized_expression "((pcVar22 == (char *)0x0) || (iVar10 = (*pcVar24)(puVar25,pcVar22), iVar10 != 0)\n                    )" ( (binary_expression "(pcVar22 == (char *)0x0) || (iVar10 = (*pcVar24)(puVar25,pcVar22), iVar10 != 0)" (parenthesized_expression "(pcVar22 == (char *)0x0)" ( (binary_expression "pcVar22 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(iVar10 = (*pcVar24)(puVar25,pcVar22), iVar10 != 0)" ( (comma_expression "iVar10 = (*pcVar24)(puVar25,pcVar22), iVar10 != 0" (assignment_expression "iVar10 = (*pcVar24)(puVar25,pcVar22)" identifier = (call_expression "(*pcVar24)(puVar25,pcVar22)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(puVar25,pcVar22)" ( identifier , identifier )))) , (binary_expression "iVar10 != 0" identifier != number_literal)) ))) )) || (parenthesized_expression "((uVar23 != 0 && (pcVar22[-1] != ' ')))" ( (parenthesized_expression "(uVar23 != 0 && (pcVar22[-1] != ' '))" ( (binary_expression "uVar23 != 0 && (pcVar22[-1] != ' ')" (binary_expression "uVar23 != 0" identifier != number_literal) && (parenthesized_expression "(pcVar22[-1] != ' ')" ( (binary_expression "pcVar22[-1] != ' '" (subscript_expression "pcVar22[-1]" identifier [ number_literal ]) != (char_literal "' '" ' character ')) ))) )) ))) )) (goto_statement "goto LAB_0009d634;" goto statement_identifier ;)) (if_statement "if (pcVar22[6] == '\0') {\n                  iVar10 = 6;\n                }\n                else {\n                  if (pcVar22[6] != ' ') goto LAB_0009d634;\n                  iVar10 = 7;\n                }" if (parenthesized_expression "(pcVar22[6] == '\0')" ( (binary_expression "pcVar22[6] == '\0'" (subscript_expression "pcVar22[6]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  iVar10 = 6;\n                }" { (expression_statement "iVar10 = 6;" (assignment_expression "iVar10 = 6" identifier = number_literal) ;) }) (else_clause "else {\n                  if (pcVar22[6] != ' ') goto LAB_0009d634;\n                  iVar10 = 7;\n                }" else (compound_statement "{\n                  if (pcVar22[6] != ' ') goto LAB_0009d634;\n                  iVar10 = 7;\n                }" { (if_statement "if (pcVar22[6] != ' ') goto LAB_0009d634;" if (parenthesized_expression "(pcVar22[6] != ' ')" ( (binary_expression "pcVar22[6] != ' '" (subscript_expression "pcVar22[6]" identifier [ number_literal ]) != (char_literal "' '" ' character ')) )) (goto_statement "goto LAB_0009d634;" goto statement_identifier ;)) (expression_statement "iVar10 = 7;" (assignment_expression "iVar10 = 7" identifier = number_literal) ;) }))) (if_statement "if ((int)(iVar10 + uVar23) <= (int)uVar9) {\n                  iVar14 = (int)(pcVar8 + uVar23) - uVar23;\n                  pcVar12 = pcVar8 + uVar23;\n                  do {\n                    pcVar11 = pcVar12 + 1;\n                    *pcVar12 = *(char *)(iVar14 + iVar10 + uVar23);\n                    iVar14 = (int)pcVar11 - uVar23;\n                    pcVar12 = pcVar11;\n                  } while ((int)(pcVar11 + (iVar10 - (int)pcVar8)) <= (int)uVar9);\n                }" if (parenthesized_expression "((int)(iVar10 + uVar23) <= (int)uVar9)" ( (binary_expression "(int)(iVar10 + uVar23) <= (int)uVar9" (cast_expression "(int)(iVar10 + uVar23)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar10 + uVar23)" ( (binary_expression "iVar10 + uVar23" identifier + identifier) ))) <= (cast_expression "(int)uVar9" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                  iVar14 = (int)(pcVar8 + uVar23) - uVar23;\n                  pcVar12 = pcVar8 + uVar23;\n                  do {\n                    pcVar11 = pcVar12 + 1;\n                    *pcVar12 = *(char *)(iVar14 + iVar10 + uVar23);\n                    iVar14 = (int)pcVar11 - uVar23;\n                    pcVar12 = pcVar11;\n                  } while ((int)(pcVar11 + (iVar10 - (int)pcVar8)) <= (int)uVar9);\n                }" { (expression_statement "iVar14 = (int)(pcVar8 + uVar23) - uVar23;" (assignment_expression "iVar14 = (int)(pcVar8 + uVar23) - uVar23" identifier = (binary_expression "(int)(pcVar8 + uVar23) - uVar23" (cast_expression "(int)(pcVar8 + uVar23)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar8 + uVar23)" ( (binary_expression "pcVar8 + uVar23" identifier + identifier) ))) - identifier)) ;) (expression_statement "pcVar12 = pcVar8 + uVar23;" (assignment_expression "pcVar12 = pcVar8 + uVar23" identifier = (binary_expression "pcVar8 + uVar23" identifier + identifier)) ;) (do_statement "do {\n                    pcVar11 = pcVar12 + 1;\n                    *pcVar12 = *(char *)(iVar14 + iVar10 + uVar23);\n                    iVar14 = (int)pcVar11 - uVar23;\n                    pcVar12 = pcVar11;\n                  } while ((int)(pcVar11 + (iVar10 - (int)pcVar8)) <= (int)uVar9);" do (compound_statement "{\n                    pcVar11 = pcVar12 + 1;\n                    *pcVar12 = *(char *)(iVar14 + iVar10 + uVar23);\n                    iVar14 = (int)pcVar11 - uVar23;\n                    pcVar12 = pcVar11;\n                  }" { (expression_statement "pcVar11 = pcVar12 + 1;" (assignment_expression "pcVar11 = pcVar12 + 1" identifier = (binary_expression "pcVar12 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar12 = *(char *)(iVar14 + iVar10 + uVar23);" (assignment_expression "*pcVar12 = *(char *)(iVar14 + iVar10 + uVar23)" (pointer_expression "*pcVar12" * identifier) = (pointer_expression "*(char *)(iVar14 + iVar10 + uVar23)" * (cast_expression "(char *)(iVar14 + iVar10 + uVar23)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + iVar10 + uVar23)" ( (binary_expression "iVar14 + iVar10 + uVar23" (binary_expression "iVar14 + iVar10" identifier + identifier) + identifier) ))))) ;) (expression_statement "iVar14 = (int)pcVar11 - uVar23;" (assignment_expression "iVar14 = (int)pcVar11 - uVar23" identifier = (binary_expression "(int)pcVar11 - uVar23" (cast_expression "(int)pcVar11" ( (type_descriptor "int" primitive_type) ) identifier) - identifier)) ;) (expression_statement "pcVar12 = pcVar11;" (assignment_expression "pcVar12 = pcVar11" identifier = identifier) ;) }) while (parenthesized_expression "((int)(pcVar11 + (iVar10 - (int)pcVar8)) <= (int)uVar9)" ( (binary_expression "(int)(pcVar11 + (iVar10 - (int)pcVar8)) <= (int)uVar9" (cast_expression "(int)(pcVar11 + (iVar10 - (int)pcVar8))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar11 + (iVar10 - (int)pcVar8))" ( (binary_expression "pcVar11 + (iVar10 - (int)pcVar8)" identifier + (parenthesized_expression "(iVar10 - (int)pcVar8)" ( (binary_expression "iVar10 - (int)pcVar8" identifier - (cast_expression "(int)pcVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) <= (cast_expression "(int)uVar9" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (if_statement "if ((*pcVar22 == '\0') && (uVar23 != 0)) {\n                  pcVar8[uVar23 - 1] = '\0';\n                }" if (parenthesized_expression "((*pcVar22 == '\0') && (uVar23 != 0))" ( (binary_expression "(*pcVar22 == '\0') && (uVar23 != 0)" (parenthesized_expression "(*pcVar22 == '\0')" ( (binary_expression "*pcVar22 == '\0'" (pointer_expression "*pcVar22" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(uVar23 != 0)" ( (binary_expression "uVar23 != 0" identifier != number_literal) ))) )) (compound_statement "{\n                  pcVar8[uVar23 - 1] = '\0';\n                }" { (expression_statement "pcVar8[uVar23 - 1] = '\0';" (assignment_expression "pcVar8[uVar23 - 1] = '\0'" (subscript_expression "pcVar8[uVar23 - 1]" identifier [ (binary_expression "uVar23 - 1" identifier - number_literal) ]) = (char_literal "'\0'" ' escape_sequence ')) ;) })) (expression_statement "uStack_48 = 0x80;" (assignment_expression "uStack_48 = 0x80" identifier = number_literal) ;) (expression_statement "pTab->aCol[iVar5].colFlags = pTab->aCol[iVar5].colFlags | 2;" (assignment_expression "pTab->aCol[iVar5].colFlags = pTab->aCol[iVar5].colFlags | 2" (field_expression "pTab->aCol[iVar5].colFlags" (subscript_expression "pTab->aCol[iVar5]" (field_expression "pTab->aCol" identifier -> field_identifier) [ identifier ]) . field_identifier) = (binary_expression "pTab->aCol[iVar5].colFlags | 2" (field_expression "pTab->aCol[iVar5].colFlags" (subscript_expression "pTab->aCol[iVar5]" (field_expression "pTab->aCol" identifier -> field_identifier) [ identifier ]) . field_identifier) | number_literal)) ;) (expression_statement "iStack_50 = (int)pTab->nCol;" (assignment_expression "iStack_50 = (int)pTab->nCol" identifier = (cast_expression "(int)pTab->nCol" ( (type_descriptor "int" primitive_type) ) (field_expression "pTab->nCol" identifier -> field_identifier))) ;) (goto_statement "goto LAB_0009d6f8;" goto statement_identifier ;) })) })) (labeled_statement "LAB_0009d7b4:\n            pTab->tabFlags = pTab->tabFlags | uStack_48;" statement_identifier : (expression_statement "pTab->tabFlags = pTab->tabFlags | uStack_48;" (assignment_expression "pTab->tabFlags = pTab->tabFlags | uStack_48" (field_expression "pTab->tabFlags" identifier -> field_identifier) = (binary_expression "pTab->tabFlags | uStack_48" (field_expression "pTab->tabFlags" identifier -> field_identifier) | identifier)) ;)) (labeled_statement "LAB_0009d6f8:\n            iVar5 = iVar5 + 1;" statement_identifier : (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;)) }) while (parenthesized_expression "(iVar5 < iStack_50)" ( (binary_expression "iVar5 < iStack_50" identifier < identifier) )) ;) })) (goto_statement "goto LAB_0009d70c;" goto statement_identifier ;) })) (expression_statement "iVar26 = 1;" (assignment_expression "iVar26 = 1" identifier = number_literal) ;) (expression_statement "pMVar18 = (Module *)pTab->zName;" (assignment_expression "pMVar18 = (Module *)pTab->zName" identifier = (cast_expression "(Module *)pTab->zName" ( (type_descriptor "Module *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pTab->zName" identifier -> field_identifier))) ;) (expression_statement "pcVar8 = sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);" (assignment_expression "pcVar8 = sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440)" identifier = (call_expression "sqlite3MPrintf(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440)" identifier (argument_list "(db,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440)" ( identifier , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440" identifier + number_literal) )))) ;) (expression_statement "pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x1478);" (assignment_expression "pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x1478)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x1478)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x1478)" ( (binary_expression "PTR_LAB_00190ba8 + -0x1478" identifier + number_literal) )))) ;) (expression_statement "*pzErr = pcVar8;" (assignment_expression "*pzErr = pcVar8" (pointer_expression "*pzErr" * identifier) = identifier) ;) (expression_statement "(*pcVar7)(pVVar4);" (call_expression "(*pcVar7)(pVVar4)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(pVVar4)" ( identifier ))) ;) (expression_statement "pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x2368);" (assignment_expression "pcVar7 = (code *)(PTR_LAB_00190ba8 + -0x2368)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2368)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2368)" ( (binary_expression "PTR_LAB_00190ba8 + -0x2368" identifier + number_literal) )))) ;) }))) }))) (expression_statement "(*pcVar7)(db);" (call_expression "(*pcVar7)(db)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(db)" ( identifier ))) ;) (expression_statement "zFormat = pMVar3;" (assignment_expression "zFormat = pMVar3" identifier = identifier) ;) (expression_statement "xConstruct = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *)\n               ppcVar27;" (assignment_expression "xConstruct = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *)\n               ppcVar27" identifier = (cast_expression "(_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *)\n               ppcVar27" ( (type_descriptor "_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (labeled_statement "LAB_0009d418:\n  if (pCtx == *(sqlite3_context **)puVar29) {\n    return iVar26;\n  }" statement_identifier : (if_statement "if (pCtx == *(sqlite3_context **)puVar29) {\n    return iVar26;\n  }" if (parenthesized_expression "(pCtx == *(sqlite3_context **)puVar29)" ( (binary_expression "pCtx == *(sqlite3_context **)puVar29" identifier == (pointer_expression "*(sqlite3_context **)puVar29" * (cast_expression "(sqlite3_context **)puVar29" ( (type_descriptor "sqlite3_context **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return iVar26;\n  }" { (return_statement "return iVar26;" return identifier ;) }))) (expression_statement "puVar29 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar29 = PTR___stack_chk_fail_00190df8" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00190df8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" * (cast_expression "(code *)PTR___stack_chk_fail_00190df8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if ((char **)xConstruct == (char **)0x0) {\n    p_Var28 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *)\n              0x0;\n  }\n  else {\n    uVar9 = (**(code **)(puVar29 + 0xf34e4))(xConstruct);\n    p_Var28 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *)\n              (uVar9 & 0x3fffffff);\n  }" if (parenthesized_expression "((char **)xConstruct == (char **)0x0)" ( (binary_expression "(char **)xConstruct == (char **)0x0" (cast_expression "(char **)xConstruct" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) == (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n    p_Var28 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *)\n              0x0;\n  }" { (expression_statement "p_Var28 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *)\n              0x0;" (assignment_expression "p_Var28 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *)\n              0x0" identifier = (cast_expression "(_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *)\n              0x0" ( (type_descriptor "_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    uVar9 = (**(code **)(puVar29 + 0xf34e4))(xConstruct);\n    p_Var28 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *)\n              (uVar9 & 0x3fffffff);\n  }" else (compound_statement "{\n    uVar9 = (**(code **)(puVar29 + 0xf34e4))(xConstruct);\n    p_Var28 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *)\n              (uVar9 & 0x3fffffff);\n  }" { (expression_statement "uVar9 = (**(code **)(puVar29 + 0xf34e4))(xConstruct);" (assignment_expression "uVar9 = (**(code **)(puVar29 + 0xf34e4))(xConstruct)" identifier = (call_expression "(**(code **)(puVar29 + 0xf34e4))(xConstruct)" (parenthesized_expression "(**(code **)(puVar29 + 0xf34e4))" ( (pointer_expression "**(code **)(puVar29 + 0xf34e4)" * (pointer_expression "*(code **)(puVar29 + 0xf34e4)" * (cast_expression "(code **)(puVar29 + 0xf34e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0xf34e4)" ( (binary_expression "puVar29 + 0xf34e4" identifier + number_literal) ))))) )) (argument_list "(xConstruct)" ( identifier )))) ;) (expression_statement "p_Var28 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *)\n              (uVar9 & 0x3fffffff);" (assignment_expression "p_Var28 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *)\n              (uVar9 & 0x3fffffff)" identifier = (cast_expression "(_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *)\n              (uVar9 & 0x3fffffff)" ( (type_descriptor "_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar9 & 0x3fffffff)" ( (binary_expression "uVar9 & 0x3fffffff" identifier & number_literal) )))) ;) }))) (if_statement "if (pMVar18 == (Module *)0x0) {\n    uVar9 = 0;\n  }\n  else {\n    uVar9 = (**(code **)(puVar29 + 0xf34e4))(pMVar18);\n    uVar9 = uVar9 & 0x3fffffff;\n  }" if (parenthesized_expression "(pMVar18 == (Module *)0x0)" ( (binary_expression "pMVar18 == (Module *)0x0" identifier == (cast_expression "(Module *)0x0" ( (type_descriptor "Module *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar9 = 0;\n  }" { (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    uVar9 = (**(code **)(puVar29 + 0xf34e4))(pMVar18);\n    uVar9 = uVar9 & 0x3fffffff;\n  }" else (compound_statement "{\n    uVar9 = (**(code **)(puVar29 + 0xf34e4))(pMVar18);\n    uVar9 = uVar9 & 0x3fffffff;\n  }" { (expression_statement "uVar9 = (**(code **)(puVar29 + 0xf34e4))(pMVar18);" (assignment_expression "uVar9 = (**(code **)(puVar29 + 0xf34e4))(pMVar18)" identifier = (call_expression "(**(code **)(puVar29 + 0xf34e4))(pMVar18)" (parenthesized_expression "(**(code **)(puVar29 + 0xf34e4))" ( (pointer_expression "**(code **)(puVar29 + 0xf34e4)" * (pointer_expression "*(code **)(puVar29 + 0xf34e4)" * (cast_expression "(code **)(puVar29 + 0xf34e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0xf34e4)" ( (binary_expression "puVar29 + 0xf34e4" identifier + number_literal) ))))) )) (argument_list "(pMVar18)" ( identifier )))) ;) (expression_statement "uVar9 = uVar9 & 0x3fffffff;" (assignment_expression "uVar9 = uVar9 & 0x3fffffff" identifier = (binary_expression "uVar9 & 0x3fffffff" identifier & number_literal)) ;) }))) (expression_statement "db_00 = pCtx->pOut->db;" (assignment_expression "db_00 = pCtx->pOut->db" identifier = (field_expression "pCtx->pOut->db" (field_expression "pCtx->pOut" identifier -> field_identifier) -> field_identifier)) ;) (expression_statement "ppcVar27 = (char **)sqlite3MPrintf(db_00,(char *)(*(int *)(puVar29 + 0xf30c0) + -0x56e8),\n                                     xConstruct);" (assignment_expression "ppcVar27 = (char **)sqlite3MPrintf(db_00,(char *)(*(int *)(puVar29 + 0xf30c0) + -0x56e8),\n                                     xConstruct)" identifier = (cast_expression "(char **)sqlite3MPrintf(db_00,(char *)(*(int *)(puVar29 + 0xf30c0) + -0x56e8),\n                                     xConstruct)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "sqlite3MPrintf(db_00,(char *)(*(int *)(puVar29 + 0xf30c0) + -0x56e8),\n                                     xConstruct)" identifier (argument_list "(db_00,(char *)(*(int *)(puVar29 + 0xf30c0) + -0x56e8),\n                                     xConstruct)" ( identifier , (cast_expression "(char *)(*(int *)(puVar29 + 0xf30c0) + -0x56e8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar29 + 0xf30c0) + -0x56e8)" ( (binary_expression "*(int *)(puVar29 + 0xf30c0) + -0x56e8" (pointer_expression "*(int *)(puVar29 + 0xf30c0)" * (cast_expression "(int *)(puVar29 + 0xf30c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + 0xf30c0)" ( (binary_expression "puVar29 + 0xf30c0" identifier + number_literal) )))) + number_literal) ))) , identifier ))))) ;) (if_statement "if (ppcVar27 != (char **)0x0) {\n    if (in_stack_ffffff98 != (sqlite3_vtab **)0x0) {\n      xConstruct = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                    *)ppcVar27;\n    }\n    uVar23 = (**(code **)(puVar29 + 0xf34e4))(ppcVar27);\n    if (in_stack_ffffff98 != (sqlite3_vtab **)0x0) {\n      p_Var28 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *\n                )(uVar23 & 0x3fffffff);\n    }\n    iVar26 = (*(code *)(*(int *)(puVar29 + 0xf330c) + 0x924))(db_00);\n    if (iVar26 == 0) {\n      iVar5 = 7;\n    }\n    else {\n      (**(code **)(puVar29 + 0xf3590))(iVar26,pMVar18,uVar9);\n      psVar20 = zFormat->pModule;\n      iVar10 = *(int *)(puVar29 + 0xf330c);\n      if (psVar20 != (sqlite3_module *)0x0) {\n        iVar5 = *(int *)(puVar29 + 0xf32f8);\n        do {\n          psVar15 = (sqlite3_module *)psVar20->xBestIndex;\n          psVar13 = psVar15;\n          psVar30 = psVar20;\n          if (psVar15 == (sqlite3_module *)0x0) {\n            psVar13 = (sqlite3_module *)0x0;\n            pMVar3 = zFormat;\n          }\n          else {\n            do {\n              if (psVar30->xCreate < psVar13->xCreate) {\n                psVar30 = psVar13;\n              }\n              pp_Var1 = &psVar13->xBestIndex;\n              psVar13 = (sqlite3_module *)*pp_Var1;\n            } while ((sqlite3_module *)*pp_Var1 != (sqlite3_module *)0x0);\n            psVar13 = (sqlite3_module *)psVar30->xBestIndex;\n            if (psVar30 == psVar20) {\n              iVar26 = FUN_0009dbc4();\n              return iVar26;\n            }\n            while (psVar16 = psVar15, pMVar3 = (Module *)&psVar20->xBestIndex, psVar20 = psVar30,\n                  psVar16 != psVar30) {\n              psVar20 = psVar16;\n              psVar15 = (sqlite3_module *)psVar16->xBestIndex;\n            }\n          }\n          pMVar3->pModule = psVar13;\n          p_Var17 = psVar20->xCreate;\n          p_Var21 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                     *)(uVar23 & 0x3fffffff);\n          ppcVar19 = ppcVar27;\n          if ((*(byte *)(iVar5 + -0x3d18 + (uint)(byte)*p_Var17) & 0x46) != 0) {\n            p_Var21 = p_Var28;\n            ppcVar19 = (char **)xConstruct;\n          }\n          if (psVar20->xConnect != p_Var21) {\n            iVar26 = (**(code **)(puVar29 + 0xf35a0))\n                               (p_Var17 + (int)(p_Var21 + (iVar26 - (int)pMVar18)),\n                                p_Var17 + ((int)psVar20->xConnect - (int)pMVar18) + iVar26,\n                                uVar9 - (int)(p_Var17 + ((int)psVar20->xConnect - (int)pMVar18)));\n            return iVar26;\n          }\n          (**(code **)(puVar29 + 0xf3590))(p_Var17 + (iVar26 - (int)pMVar18),ppcVar19,p_Var21);\n          (*(code *)(iVar10 + -0x2368))(db_00,psVar20);\n          psVar20 = zFormat->pModule;\n        } while (psVar20 != (sqlite3_module *)0x0);\n      }\n      setResultStrOrError(pCtx,(char *)&pCtx->isError,iVar26,0xff,(_func_void_void_ptr *)0x1,\n                          (sqlite3_context *)0xffffffff);\n      iVar5 = 0;\n      (*(code *)(iVar10 + -0x2368))(db_00,iVar26);\n    }\n    (**(code **)(puVar29 + 0xf30d0))(ppcVar27);\n    return iVar5;\n  }" if (parenthesized_expression "(ppcVar27 != (char **)0x0)" ( (binary_expression "ppcVar27 != (char **)0x0" identifier != (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n    if (in_stack_ffffff98 != (sqlite3_vtab **)0x0) {\n      xConstruct = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                    *)ppcVar27;\n    }\n    uVar23 = (**(code **)(puVar29 + 0xf34e4))(ppcVar27);\n    if (in_stack_ffffff98 != (sqlite3_vtab **)0x0) {\n      p_Var28 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *\n                )(uVar23 & 0x3fffffff);\n    }\n    iVar26 = (*(code *)(*(int *)(puVar29 + 0xf330c) + 0x924))(db_00);\n    if (iVar26 == 0) {\n      iVar5 = 7;\n    }\n    else {\n      (**(code **)(puVar29 + 0xf3590))(iVar26,pMVar18,uVar9);\n      psVar20 = zFormat->pModule;\n      iVar10 = *(int *)(puVar29 + 0xf330c);\n      if (psVar20 != (sqlite3_module *)0x0) {\n        iVar5 = *(int *)(puVar29 + 0xf32f8);\n        do {\n          psVar15 = (sqlite3_module *)psVar20->xBestIndex;\n          psVar13 = psVar15;\n          psVar30 = psVar20;\n          if (psVar15 == (sqlite3_module *)0x0) {\n            psVar13 = (sqlite3_module *)0x0;\n            pMVar3 = zFormat;\n          }\n          else {\n            do {\n              if (psVar30->xCreate < psVar13->xCreate) {\n                psVar30 = psVar13;\n              }\n              pp_Var1 = &psVar13->xBestIndex;\n              psVar13 = (sqlite3_module *)*pp_Var1;\n            } while ((sqlite3_module *)*pp_Var1 != (sqlite3_module *)0x0);\n            psVar13 = (sqlite3_module *)psVar30->xBestIndex;\n            if (psVar30 == psVar20) {\n              iVar26 = FUN_0009dbc4();\n              return iVar26;\n            }\n            while (psVar16 = psVar15, pMVar3 = (Module *)&psVar20->xBestIndex, psVar20 = psVar30,\n                  psVar16 != psVar30) {\n              psVar20 = psVar16;\n              psVar15 = (sqlite3_module *)psVar16->xBestIndex;\n            }\n          }\n          pMVar3->pModule = psVar13;\n          p_Var17 = psVar20->xCreate;\n          p_Var21 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                     *)(uVar23 & 0x3fffffff);\n          ppcVar19 = ppcVar27;\n          if ((*(byte *)(iVar5 + -0x3d18 + (uint)(byte)*p_Var17) & 0x46) != 0) {\n            p_Var21 = p_Var28;\n            ppcVar19 = (char **)xConstruct;\n          }\n          if (psVar20->xConnect != p_Var21) {\n            iVar26 = (**(code **)(puVar29 + 0xf35a0))\n                               (p_Var17 + (int)(p_Var21 + (iVar26 - (int)pMVar18)),\n                                p_Var17 + ((int)psVar20->xConnect - (int)pMVar18) + iVar26,\n                                uVar9 - (int)(p_Var17 + ((int)psVar20->xConnect - (int)pMVar18)));\n            return iVar26;\n          }\n          (**(code **)(puVar29 + 0xf3590))(p_Var17 + (iVar26 - (int)pMVar18),ppcVar19,p_Var21);\n          (*(code *)(iVar10 + -0x2368))(db_00,psVar20);\n          psVar20 = zFormat->pModule;\n        } while (psVar20 != (sqlite3_module *)0x0);\n      }\n      setResultStrOrError(pCtx,(char *)&pCtx->isError,iVar26,0xff,(_func_void_void_ptr *)0x1,\n                          (sqlite3_context *)0xffffffff);\n      iVar5 = 0;\n      (*(code *)(iVar10 + -0x2368))(db_00,iVar26);\n    }\n    (**(code **)(puVar29 + 0xf30d0))(ppcVar27);\n    return iVar5;\n  }" { (if_statement "if (in_stack_ffffff98 != (sqlite3_vtab **)0x0) {\n      xConstruct = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                    *)ppcVar27;\n    }" if (parenthesized_expression "(in_stack_ffffff98 != (sqlite3_vtab **)0x0)" ( (binary_expression "in_stack_ffffff98 != (sqlite3_vtab **)0x0" identifier != (cast_expression "(sqlite3_vtab **)0x0" ( (type_descriptor "sqlite3_vtab **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n      xConstruct = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                    *)ppcVar27;\n    }" { (expression_statement "xConstruct = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                    *)ppcVar27;" (assignment_expression "xConstruct = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                    *)ppcVar27" identifier = (cast_expression "(_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                    *)ppcVar27" ( (type_descriptor "_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                    *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (expression_statement "uVar23 = (**(code **)(puVar29 + 0xf34e4))(ppcVar27);" (assignment_expression "uVar23 = (**(code **)(puVar29 + 0xf34e4))(ppcVar27)" identifier = (call_expression "(**(code **)(puVar29 + 0xf34e4))(ppcVar27)" (parenthesized_expression "(**(code **)(puVar29 + 0xf34e4))" ( (pointer_expression "**(code **)(puVar29 + 0xf34e4)" * (pointer_expression "*(code **)(puVar29 + 0xf34e4)" * (cast_expression "(code **)(puVar29 + 0xf34e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0xf34e4)" ( (binary_expression "puVar29 + 0xf34e4" identifier + number_literal) ))))) )) (argument_list "(ppcVar27)" ( identifier )))) ;) (if_statement "if (in_stack_ffffff98 != (sqlite3_vtab **)0x0) {\n      p_Var28 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *\n                )(uVar23 & 0x3fffffff);\n    }" if (parenthesized_expression "(in_stack_ffffff98 != (sqlite3_vtab **)0x0)" ( (binary_expression "in_stack_ffffff98 != (sqlite3_vtab **)0x0" identifier != (cast_expression "(sqlite3_vtab **)0x0" ( (type_descriptor "sqlite3_vtab **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n      p_Var28 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *\n                )(uVar23 & 0x3fffffff);\n    }" { (expression_statement "p_Var28 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *\n                )(uVar23 & 0x3fffffff);" (assignment_expression "p_Var28 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *\n                )(uVar23 & 0x3fffffff)" identifier = (cast_expression "(_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *\n                )(uVar23 & 0x3fffffff)" ( (type_descriptor "_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar23 & 0x3fffffff)" ( (binary_expression "uVar23 & 0x3fffffff" identifier & number_literal) )))) ;) })) (expression_statement "iVar26 = (*(code *)(*(int *)(puVar29 + 0xf330c) + 0x924))(db_00);" (assignment_expression "iVar26 = (*(code *)(*(int *)(puVar29 + 0xf330c) + 0x924))(db_00)" identifier = (call_expression "(*(code *)(*(int *)(puVar29 + 0xf330c) + 0x924))(db_00)" (parenthesized_expression "(*(code *)(*(int *)(puVar29 + 0xf330c) + 0x924))" ( (pointer_expression "*(code *)(*(int *)(puVar29 + 0xf330c) + 0x924)" * (cast_expression "(code *)(*(int *)(puVar29 + 0xf330c) + 0x924)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar29 + 0xf330c) + 0x924)" ( (binary_expression "*(int *)(puVar29 + 0xf330c) + 0x924" (pointer_expression "*(int *)(puVar29 + 0xf330c)" * (cast_expression "(int *)(puVar29 + 0xf330c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + 0xf330c)" ( (binary_expression "puVar29 + 0xf330c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(db_00)" ( identifier )))) ;) (if_statement "if (iVar26 == 0) {\n      iVar5 = 7;\n    }\n    else {\n      (**(code **)(puVar29 + 0xf3590))(iVar26,pMVar18,uVar9);\n      psVar20 = zFormat->pModule;\n      iVar10 = *(int *)(puVar29 + 0xf330c);\n      if (psVar20 != (sqlite3_module *)0x0) {\n        iVar5 = *(int *)(puVar29 + 0xf32f8);\n        do {\n          psVar15 = (sqlite3_module *)psVar20->xBestIndex;\n          psVar13 = psVar15;\n          psVar30 = psVar20;\n          if (psVar15 == (sqlite3_module *)0x0) {\n            psVar13 = (sqlite3_module *)0x0;\n            pMVar3 = zFormat;\n          }\n          else {\n            do {\n              if (psVar30->xCreate < psVar13->xCreate) {\n                psVar30 = psVar13;\n              }\n              pp_Var1 = &psVar13->xBestIndex;\n              psVar13 = (sqlite3_module *)*pp_Var1;\n            } while ((sqlite3_module *)*pp_Var1 != (sqlite3_module *)0x0);\n            psVar13 = (sqlite3_module *)psVar30->xBestIndex;\n            if (psVar30 == psVar20) {\n              iVar26 = FUN_0009dbc4();\n              return iVar26;\n            }\n            while (psVar16 = psVar15, pMVar3 = (Module *)&psVar20->xBestIndex, psVar20 = psVar30,\n                  psVar16 != psVar30) {\n              psVar20 = psVar16;\n              psVar15 = (sqlite3_module *)psVar16->xBestIndex;\n            }\n          }\n          pMVar3->pModule = psVar13;\n          p_Var17 = psVar20->xCreate;\n          p_Var21 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                     *)(uVar23 & 0x3fffffff);\n          ppcVar19 = ppcVar27;\n          if ((*(byte *)(iVar5 + -0x3d18 + (uint)(byte)*p_Var17) & 0x46) != 0) {\n            p_Var21 = p_Var28;\n            ppcVar19 = (char **)xConstruct;\n          }\n          if (psVar20->xConnect != p_Var21) {\n            iVar26 = (**(code **)(puVar29 + 0xf35a0))\n                               (p_Var17 + (int)(p_Var21 + (iVar26 - (int)pMVar18)),\n                                p_Var17 + ((int)psVar20->xConnect - (int)pMVar18) + iVar26,\n                                uVar9 - (int)(p_Var17 + ((int)psVar20->xConnect - (int)pMVar18)));\n            return iVar26;\n          }\n          (**(code **)(puVar29 + 0xf3590))(p_Var17 + (iVar26 - (int)pMVar18),ppcVar19,p_Var21);\n          (*(code *)(iVar10 + -0x2368))(db_00,psVar20);\n          psVar20 = zFormat->pModule;\n        } while (psVar20 != (sqlite3_module *)0x0);\n      }\n      setResultStrOrError(pCtx,(char *)&pCtx->isError,iVar26,0xff,(_func_void_void_ptr *)0x1,\n                          (sqlite3_context *)0xffffffff);\n      iVar5 = 0;\n      (*(code *)(iVar10 + -0x2368))(db_00,iVar26);\n    }" if (parenthesized_expression "(iVar26 == 0)" ( (binary_expression "iVar26 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar5 = 7;\n    }" { (expression_statement "iVar5 = 7;" (assignment_expression "iVar5 = 7" identifier = number_literal) ;) }) (else_clause "else {\n      (**(code **)(puVar29 + 0xf3590))(iVar26,pMVar18,uVar9);\n      psVar20 = zFormat->pModule;\n      iVar10 = *(int *)(puVar29 + 0xf330c);\n      if (psVar20 != (sqlite3_module *)0x0) {\n        iVar5 = *(int *)(puVar29 + 0xf32f8);\n        do {\n          psVar15 = (sqlite3_module *)psVar20->xBestIndex;\n          psVar13 = psVar15;\n          psVar30 = psVar20;\n          if (psVar15 == (sqlite3_module *)0x0) {\n            psVar13 = (sqlite3_module *)0x0;\n            pMVar3 = zFormat;\n          }\n          else {\n            do {\n              if (psVar30->xCreate < psVar13->xCreate) {\n                psVar30 = psVar13;\n              }\n              pp_Var1 = &psVar13->xBestIndex;\n              psVar13 = (sqlite3_module *)*pp_Var1;\n            } while ((sqlite3_module *)*pp_Var1 != (sqlite3_module *)0x0);\n            psVar13 = (sqlite3_module *)psVar30->xBestIndex;\n            if (psVar30 == psVar20) {\n              iVar26 = FUN_0009dbc4();\n              return iVar26;\n            }\n            while (psVar16 = psVar15, pMVar3 = (Module *)&psVar20->xBestIndex, psVar20 = psVar30,\n                  psVar16 != psVar30) {\n              psVar20 = psVar16;\n              psVar15 = (sqlite3_module *)psVar16->xBestIndex;\n            }\n          }\n          pMVar3->pModule = psVar13;\n          p_Var17 = psVar20->xCreate;\n          p_Var21 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                     *)(uVar23 & 0x3fffffff);\n          ppcVar19 = ppcVar27;\n          if ((*(byte *)(iVar5 + -0x3d18 + (uint)(byte)*p_Var17) & 0x46) != 0) {\n            p_Var21 = p_Var28;\n            ppcVar19 = (char **)xConstruct;\n          }\n          if (psVar20->xConnect != p_Var21) {\n            iVar26 = (**(code **)(puVar29 + 0xf35a0))\n                               (p_Var17 + (int)(p_Var21 + (iVar26 - (int)pMVar18)),\n                                p_Var17 + ((int)psVar20->xConnect - (int)pMVar18) + iVar26,\n                                uVar9 - (int)(p_Var17 + ((int)psVar20->xConnect - (int)pMVar18)));\n            return iVar26;\n          }\n          (**(code **)(puVar29 + 0xf3590))(p_Var17 + (iVar26 - (int)pMVar18),ppcVar19,p_Var21);\n          (*(code *)(iVar10 + -0x2368))(db_00,psVar20);\n          psVar20 = zFormat->pModule;\n        } while (psVar20 != (sqlite3_module *)0x0);\n      }\n      setResultStrOrError(pCtx,(char *)&pCtx->isError,iVar26,0xff,(_func_void_void_ptr *)0x1,\n                          (sqlite3_context *)0xffffffff);\n      iVar5 = 0;\n      (*(code *)(iVar10 + -0x2368))(db_00,iVar26);\n    }" else (compound_statement "{\n      (**(code **)(puVar29 + 0xf3590))(iVar26,pMVar18,uVar9);\n      psVar20 = zFormat->pModule;\n      iVar10 = *(int *)(puVar29 + 0xf330c);\n      if (psVar20 != (sqlite3_module *)0x0) {\n        iVar5 = *(int *)(puVar29 + 0xf32f8);\n        do {\n          psVar15 = (sqlite3_module *)psVar20->xBestIndex;\n          psVar13 = psVar15;\n          psVar30 = psVar20;\n          if (psVar15 == (sqlite3_module *)0x0) {\n            psVar13 = (sqlite3_module *)0x0;\n            pMVar3 = zFormat;\n          }\n          else {\n            do {\n              if (psVar30->xCreate < psVar13->xCreate) {\n                psVar30 = psVar13;\n              }\n              pp_Var1 = &psVar13->xBestIndex;\n              psVar13 = (sqlite3_module *)*pp_Var1;\n            } while ((sqlite3_module *)*pp_Var1 != (sqlite3_module *)0x0);\n            psVar13 = (sqlite3_module *)psVar30->xBestIndex;\n            if (psVar30 == psVar20) {\n              iVar26 = FUN_0009dbc4();\n              return iVar26;\n            }\n            while (psVar16 = psVar15, pMVar3 = (Module *)&psVar20->xBestIndex, psVar20 = psVar30,\n                  psVar16 != psVar30) {\n              psVar20 = psVar16;\n              psVar15 = (sqlite3_module *)psVar16->xBestIndex;\n            }\n          }\n          pMVar3->pModule = psVar13;\n          p_Var17 = psVar20->xCreate;\n          p_Var21 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                     *)(uVar23 & 0x3fffffff);\n          ppcVar19 = ppcVar27;\n          if ((*(byte *)(iVar5 + -0x3d18 + (uint)(byte)*p_Var17) & 0x46) != 0) {\n            p_Var21 = p_Var28;\n            ppcVar19 = (char **)xConstruct;\n          }\n          if (psVar20->xConnect != p_Var21) {\n            iVar26 = (**(code **)(puVar29 + 0xf35a0))\n                               (p_Var17 + (int)(p_Var21 + (iVar26 - (int)pMVar18)),\n                                p_Var17 + ((int)psVar20->xConnect - (int)pMVar18) + iVar26,\n                                uVar9 - (int)(p_Var17 + ((int)psVar20->xConnect - (int)pMVar18)));\n            return iVar26;\n          }\n          (**(code **)(puVar29 + 0xf3590))(p_Var17 + (iVar26 - (int)pMVar18),ppcVar19,p_Var21);\n          (*(code *)(iVar10 + -0x2368))(db_00,psVar20);\n          psVar20 = zFormat->pModule;\n        } while (psVar20 != (sqlite3_module *)0x0);\n      }\n      setResultStrOrError(pCtx,(char *)&pCtx->isError,iVar26,0xff,(_func_void_void_ptr *)0x1,\n                          (sqlite3_context *)0xffffffff);\n      iVar5 = 0;\n      (*(code *)(iVar10 + -0x2368))(db_00,iVar26);\n    }" { (expression_statement "(**(code **)(puVar29 + 0xf3590))(iVar26,pMVar18,uVar9);" (call_expression "(**(code **)(puVar29 + 0xf3590))(iVar26,pMVar18,uVar9)" (parenthesized_expression "(**(code **)(puVar29 + 0xf3590))" ( (pointer_expression "**(code **)(puVar29 + 0xf3590)" * (pointer_expression "*(code **)(puVar29 + 0xf3590)" * (cast_expression "(code **)(puVar29 + 0xf3590)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0xf3590)" ( (binary_expression "puVar29 + 0xf3590" identifier + number_literal) ))))) )) (argument_list "(iVar26,pMVar18,uVar9)" ( identifier , identifier , identifier ))) ;) (expression_statement "psVar20 = zFormat->pModule;" (assignment_expression "psVar20 = zFormat->pModule" identifier = (field_expression "zFormat->pModule" identifier -> field_identifier)) ;) (expression_statement "iVar10 = *(int *)(puVar29 + 0xf330c);" (assignment_expression "iVar10 = *(int *)(puVar29 + 0xf330c)" identifier = (pointer_expression "*(int *)(puVar29 + 0xf330c)" * (cast_expression "(int *)(puVar29 + 0xf330c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + 0xf330c)" ( (binary_expression "puVar29 + 0xf330c" identifier + number_literal) ))))) ;) (if_statement "if (psVar20 != (sqlite3_module *)0x0) {\n        iVar5 = *(int *)(puVar29 + 0xf32f8);\n        do {\n          psVar15 = (sqlite3_module *)psVar20->xBestIndex;\n          psVar13 = psVar15;\n          psVar30 = psVar20;\n          if (psVar15 == (sqlite3_module *)0x0) {\n            psVar13 = (sqlite3_module *)0x0;\n            pMVar3 = zFormat;\n          }\n          else {\n            do {\n              if (psVar30->xCreate < psVar13->xCreate) {\n                psVar30 = psVar13;\n              }\n              pp_Var1 = &psVar13->xBestIndex;\n              psVar13 = (sqlite3_module *)*pp_Var1;\n            } while ((sqlite3_module *)*pp_Var1 != (sqlite3_module *)0x0);\n            psVar13 = (sqlite3_module *)psVar30->xBestIndex;\n            if (psVar30 == psVar20) {\n              iVar26 = FUN_0009dbc4();\n              return iVar26;\n            }\n            while (psVar16 = psVar15, pMVar3 = (Module *)&psVar20->xBestIndex, psVar20 = psVar30,\n                  psVar16 != psVar30) {\n              psVar20 = psVar16;\n              psVar15 = (sqlite3_module *)psVar16->xBestIndex;\n            }\n          }\n          pMVar3->pModule = psVar13;\n          p_Var17 = psVar20->xCreate;\n          p_Var21 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                     *)(uVar23 & 0x3fffffff);\n          ppcVar19 = ppcVar27;\n          if ((*(byte *)(iVar5 + -0x3d18 + (uint)(byte)*p_Var17) & 0x46) != 0) {\n            p_Var21 = p_Var28;\n            ppcVar19 = (char **)xConstruct;\n          }\n          if (psVar20->xConnect != p_Var21) {\n            iVar26 = (**(code **)(puVar29 + 0xf35a0))\n                               (p_Var17 + (int)(p_Var21 + (iVar26 - (int)pMVar18)),\n                                p_Var17 + ((int)psVar20->xConnect - (int)pMVar18) + iVar26,\n                                uVar9 - (int)(p_Var17 + ((int)psVar20->xConnect - (int)pMVar18)));\n            return iVar26;\n          }\n          (**(code **)(puVar29 + 0xf3590))(p_Var17 + (iVar26 - (int)pMVar18),ppcVar19,p_Var21);\n          (*(code *)(iVar10 + -0x2368))(db_00,psVar20);\n          psVar20 = zFormat->pModule;\n        } while (psVar20 != (sqlite3_module *)0x0);\n      }" if (parenthesized_expression "(psVar20 != (sqlite3_module *)0x0)" ( (binary_expression "psVar20 != (sqlite3_module *)0x0" identifier != (cast_expression "(sqlite3_module *)0x0" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar5 = *(int *)(puVar29 + 0xf32f8);\n        do {\n          psVar15 = (sqlite3_module *)psVar20->xBestIndex;\n          psVar13 = psVar15;\n          psVar30 = psVar20;\n          if (psVar15 == (sqlite3_module *)0x0) {\n            psVar13 = (sqlite3_module *)0x0;\n            pMVar3 = zFormat;\n          }\n          else {\n            do {\n              if (psVar30->xCreate < psVar13->xCreate) {\n                psVar30 = psVar13;\n              }\n              pp_Var1 = &psVar13->xBestIndex;\n              psVar13 = (sqlite3_module *)*pp_Var1;\n            } while ((sqlite3_module *)*pp_Var1 != (sqlite3_module *)0x0);\n            psVar13 = (sqlite3_module *)psVar30->xBestIndex;\n            if (psVar30 == psVar20) {\n              iVar26 = FUN_0009dbc4();\n              return iVar26;\n            }\n            while (psVar16 = psVar15, pMVar3 = (Module *)&psVar20->xBestIndex, psVar20 = psVar30,\n                  psVar16 != psVar30) {\n              psVar20 = psVar16;\n              psVar15 = (sqlite3_module *)psVar16->xBestIndex;\n            }\n          }\n          pMVar3->pModule = psVar13;\n          p_Var17 = psVar20->xCreate;\n          p_Var21 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                     *)(uVar23 & 0x3fffffff);\n          ppcVar19 = ppcVar27;\n          if ((*(byte *)(iVar5 + -0x3d18 + (uint)(byte)*p_Var17) & 0x46) != 0) {\n            p_Var21 = p_Var28;\n            ppcVar19 = (char **)xConstruct;\n          }\n          if (psVar20->xConnect != p_Var21) {\n            iVar26 = (**(code **)(puVar29 + 0xf35a0))\n                               (p_Var17 + (int)(p_Var21 + (iVar26 - (int)pMVar18)),\n                                p_Var17 + ((int)psVar20->xConnect - (int)pMVar18) + iVar26,\n                                uVar9 - (int)(p_Var17 + ((int)psVar20->xConnect - (int)pMVar18)));\n            return iVar26;\n          }\n          (**(code **)(puVar29 + 0xf3590))(p_Var17 + (iVar26 - (int)pMVar18),ppcVar19,p_Var21);\n          (*(code *)(iVar10 + -0x2368))(db_00,psVar20);\n          psVar20 = zFormat->pModule;\n        } while (psVar20 != (sqlite3_module *)0x0);\n      }" { (expression_statement "iVar5 = *(int *)(puVar29 + 0xf32f8);" (assignment_expression "iVar5 = *(int *)(puVar29 + 0xf32f8)" identifier = (pointer_expression "*(int *)(puVar29 + 0xf32f8)" * (cast_expression "(int *)(puVar29 + 0xf32f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + 0xf32f8)" ( (binary_expression "puVar29 + 0xf32f8" identifier + number_literal) ))))) ;) (do_statement "do {\n          psVar15 = (sqlite3_module *)psVar20->xBestIndex;\n          psVar13 = psVar15;\n          psVar30 = psVar20;\n          if (psVar15 == (sqlite3_module *)0x0) {\n            psVar13 = (sqlite3_module *)0x0;\n            pMVar3 = zFormat;\n          }\n          else {\n            do {\n              if (psVar30->xCreate < psVar13->xCreate) {\n                psVar30 = psVar13;\n              }\n              pp_Var1 = &psVar13->xBestIndex;\n              psVar13 = (sqlite3_module *)*pp_Var1;\n            } while ((sqlite3_module *)*pp_Var1 != (sqlite3_module *)0x0);\n            psVar13 = (sqlite3_module *)psVar30->xBestIndex;\n            if (psVar30 == psVar20) {\n              iVar26 = FUN_0009dbc4();\n              return iVar26;\n            }\n            while (psVar16 = psVar15, pMVar3 = (Module *)&psVar20->xBestIndex, psVar20 = psVar30,\n                  psVar16 != psVar30) {\n              psVar20 = psVar16;\n              psVar15 = (sqlite3_module *)psVar16->xBestIndex;\n            }\n          }\n          pMVar3->pModule = psVar13;\n          p_Var17 = psVar20->xCreate;\n          p_Var21 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                     *)(uVar23 & 0x3fffffff);\n          ppcVar19 = ppcVar27;\n          if ((*(byte *)(iVar5 + -0x3d18 + (uint)(byte)*p_Var17) & 0x46) != 0) {\n            p_Var21 = p_Var28;\n            ppcVar19 = (char **)xConstruct;\n          }\n          if (psVar20->xConnect != p_Var21) {\n            iVar26 = (**(code **)(puVar29 + 0xf35a0))\n                               (p_Var17 + (int)(p_Var21 + (iVar26 - (int)pMVar18)),\n                                p_Var17 + ((int)psVar20->xConnect - (int)pMVar18) + iVar26,\n                                uVar9 - (int)(p_Var17 + ((int)psVar20->xConnect - (int)pMVar18)));\n            return iVar26;\n          }\n          (**(code **)(puVar29 + 0xf3590))(p_Var17 + (iVar26 - (int)pMVar18),ppcVar19,p_Var21);\n          (*(code *)(iVar10 + -0x2368))(db_00,psVar20);\n          psVar20 = zFormat->pModule;\n        } while (psVar20 != (sqlite3_module *)0x0);" do (compound_statement "{\n          psVar15 = (sqlite3_module *)psVar20->xBestIndex;\n          psVar13 = psVar15;\n          psVar30 = psVar20;\n          if (psVar15 == (sqlite3_module *)0x0) {\n            psVar13 = (sqlite3_module *)0x0;\n            pMVar3 = zFormat;\n          }\n          else {\n            do {\n              if (psVar30->xCreate < psVar13->xCreate) {\n                psVar30 = psVar13;\n              }\n              pp_Var1 = &psVar13->xBestIndex;\n              psVar13 = (sqlite3_module *)*pp_Var1;\n            } while ((sqlite3_module *)*pp_Var1 != (sqlite3_module *)0x0);\n            psVar13 = (sqlite3_module *)psVar30->xBestIndex;\n            if (psVar30 == psVar20) {\n              iVar26 = FUN_0009dbc4();\n              return iVar26;\n            }\n            while (psVar16 = psVar15, pMVar3 = (Module *)&psVar20->xBestIndex, psVar20 = psVar30,\n                  psVar16 != psVar30) {\n              psVar20 = psVar16;\n              psVar15 = (sqlite3_module *)psVar16->xBestIndex;\n            }\n          }\n          pMVar3->pModule = psVar13;\n          p_Var17 = psVar20->xCreate;\n          p_Var21 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                     *)(uVar23 & 0x3fffffff);\n          ppcVar19 = ppcVar27;\n          if ((*(byte *)(iVar5 + -0x3d18 + (uint)(byte)*p_Var17) & 0x46) != 0) {\n            p_Var21 = p_Var28;\n            ppcVar19 = (char **)xConstruct;\n          }\n          if (psVar20->xConnect != p_Var21) {\n            iVar26 = (**(code **)(puVar29 + 0xf35a0))\n                               (p_Var17 + (int)(p_Var21 + (iVar26 - (int)pMVar18)),\n                                p_Var17 + ((int)psVar20->xConnect - (int)pMVar18) + iVar26,\n                                uVar9 - (int)(p_Var17 + ((int)psVar20->xConnect - (int)pMVar18)));\n            return iVar26;\n          }\n          (**(code **)(puVar29 + 0xf3590))(p_Var17 + (iVar26 - (int)pMVar18),ppcVar19,p_Var21);\n          (*(code *)(iVar10 + -0x2368))(db_00,psVar20);\n          psVar20 = zFormat->pModule;\n        }" { (expression_statement "psVar15 = (sqlite3_module *)psVar20->xBestIndex;" (assignment_expression "psVar15 = (sqlite3_module *)psVar20->xBestIndex" identifier = (cast_expression "(sqlite3_module *)psVar20->xBestIndex" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar20->xBestIndex" identifier -> field_identifier))) ;) (expression_statement "psVar13 = psVar15;" (assignment_expression "psVar13 = psVar15" identifier = identifier) ;) (expression_statement "psVar30 = psVar20;" (assignment_expression "psVar30 = psVar20" identifier = identifier) ;) (if_statement "if (psVar15 == (sqlite3_module *)0x0) {\n            psVar13 = (sqlite3_module *)0x0;\n            pMVar3 = zFormat;\n          }\n          else {\n            do {\n              if (psVar30->xCreate < psVar13->xCreate) {\n                psVar30 = psVar13;\n              }\n              pp_Var1 = &psVar13->xBestIndex;\n              psVar13 = (sqlite3_module *)*pp_Var1;\n            } while ((sqlite3_module *)*pp_Var1 != (sqlite3_module *)0x0);\n            psVar13 = (sqlite3_module *)psVar30->xBestIndex;\n            if (psVar30 == psVar20) {\n              iVar26 = FUN_0009dbc4();\n              return iVar26;\n            }\n            while (psVar16 = psVar15, pMVar3 = (Module *)&psVar20->xBestIndex, psVar20 = psVar30,\n                  psVar16 != psVar30) {\n              psVar20 = psVar16;\n              psVar15 = (sqlite3_module *)psVar16->xBestIndex;\n            }\n          }" if (parenthesized_expression "(psVar15 == (sqlite3_module *)0x0)" ( (binary_expression "psVar15 == (sqlite3_module *)0x0" identifier == (cast_expression "(sqlite3_module *)0x0" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            psVar13 = (sqlite3_module *)0x0;\n            pMVar3 = zFormat;\n          }" { (expression_statement "psVar13 = (sqlite3_module *)0x0;" (assignment_expression "psVar13 = (sqlite3_module *)0x0" identifier = (cast_expression "(sqlite3_module *)0x0" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pMVar3 = zFormat;" (assignment_expression "pMVar3 = zFormat" identifier = identifier) ;) }) (else_clause "else {\n            do {\n              if (psVar30->xCreate < psVar13->xCreate) {\n                psVar30 = psVar13;\n              }\n              pp_Var1 = &psVar13->xBestIndex;\n              psVar13 = (sqlite3_module *)*pp_Var1;\n            } while ((sqlite3_module *)*pp_Var1 != (sqlite3_module *)0x0);\n            psVar13 = (sqlite3_module *)psVar30->xBestIndex;\n            if (psVar30 == psVar20) {\n              iVar26 = FUN_0009dbc4();\n              return iVar26;\n            }\n            while (psVar16 = psVar15, pMVar3 = (Module *)&psVar20->xBestIndex, psVar20 = psVar30,\n                  psVar16 != psVar30) {\n              psVar20 = psVar16;\n              psVar15 = (sqlite3_module *)psVar16->xBestIndex;\n            }\n          }" else (compound_statement "{\n            do {\n              if (psVar30->xCreate < psVar13->xCreate) {\n                psVar30 = psVar13;\n              }\n              pp_Var1 = &psVar13->xBestIndex;\n              psVar13 = (sqlite3_module *)*pp_Var1;\n            } while ((sqlite3_module *)*pp_Var1 != (sqlite3_module *)0x0);\n            psVar13 = (sqlite3_module *)psVar30->xBestIndex;\n            if (psVar30 == psVar20) {\n              iVar26 = FUN_0009dbc4();\n              return iVar26;\n            }\n            while (psVar16 = psVar15, pMVar3 = (Module *)&psVar20->xBestIndex, psVar20 = psVar30,\n                  psVar16 != psVar30) {\n              psVar20 = psVar16;\n              psVar15 = (sqlite3_module *)psVar16->xBestIndex;\n            }\n          }" { (do_statement "do {\n              if (psVar30->xCreate < psVar13->xCreate) {\n                psVar30 = psVar13;\n              }\n              pp_Var1 = &psVar13->xBestIndex;\n              psVar13 = (sqlite3_module *)*pp_Var1;\n            } while ((sqlite3_module *)*pp_Var1 != (sqlite3_module *)0x0);" do (compound_statement "{\n              if (psVar30->xCreate < psVar13->xCreate) {\n                psVar30 = psVar13;\n              }\n              pp_Var1 = &psVar13->xBestIndex;\n              psVar13 = (sqlite3_module *)*pp_Var1;\n            }" { (if_statement "if (psVar30->xCreate < psVar13->xCreate) {\n                psVar30 = psVar13;\n              }" if (parenthesized_expression "(psVar30->xCreate < psVar13->xCreate)" ( (binary_expression "psVar30->xCreate < psVar13->xCreate" (field_expression "psVar30->xCreate" identifier -> field_identifier) < (field_expression "psVar13->xCreate" identifier -> field_identifier)) )) (compound_statement "{\n                psVar30 = psVar13;\n              }" { (expression_statement "psVar30 = psVar13;" (assignment_expression "psVar30 = psVar13" identifier = identifier) ;) })) (expression_statement "pp_Var1 = &psVar13->xBestIndex;" (assignment_expression "pp_Var1 = &psVar13->xBestIndex" identifier = (pointer_expression "&psVar13->xBestIndex" & (field_expression "psVar13->xBestIndex" identifier -> field_identifier))) ;) (expression_statement "psVar13 = (sqlite3_module *)*pp_Var1;" (assignment_expression "psVar13 = (sqlite3_module *)*pp_Var1" identifier = (cast_expression "(sqlite3_module *)*pp_Var1" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*pp_Var1" * identifier))) ;) }) while (parenthesized_expression "((sqlite3_module *)*pp_Var1 != (sqlite3_module *)0x0)" ( (binary_expression "(sqlite3_module *)*pp_Var1 != (sqlite3_module *)0x0" (cast_expression "(sqlite3_module *)*pp_Var1" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*pp_Var1" * identifier)) != (cast_expression "(sqlite3_module *)0x0" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "psVar13 = (sqlite3_module *)psVar30->xBestIndex;" (assignment_expression "psVar13 = (sqlite3_module *)psVar30->xBestIndex" identifier = (cast_expression "(sqlite3_module *)psVar30->xBestIndex" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar30->xBestIndex" identifier -> field_identifier))) ;) (if_statement "if (psVar30 == psVar20) {\n              iVar26 = FUN_0009dbc4();\n              return iVar26;\n            }" if (parenthesized_expression "(psVar30 == psVar20)" ( (binary_expression "psVar30 == psVar20" identifier == identifier) )) (compound_statement "{\n              iVar26 = FUN_0009dbc4();\n              return iVar26;\n            }" { (expression_statement "iVar26 = FUN_0009dbc4();" (assignment_expression "iVar26 = FUN_0009dbc4()" identifier = (call_expression "FUN_0009dbc4()" identifier (argument_list "()" ( )))) ;) (return_statement "return iVar26;" return identifier ;) })) (while_statement "while (psVar16 = psVar15, pMVar3 = (Module *)&psVar20->xBestIndex, psVar20 = psVar30,\n                  psVar16 != psVar30) {\n              psVar20 = psVar16;\n              psVar15 = (sqlite3_module *)psVar16->xBestIndex;\n            }" while (parenthesized_expression "(psVar16 = psVar15, pMVar3 = (Module *)&psVar20->xBestIndex, psVar20 = psVar30,\n                  psVar16 != psVar30)" ( (comma_expression "psVar16 = psVar15, pMVar3 = (Module *)&psVar20->xBestIndex, psVar20 = psVar30,\n                  psVar16 != psVar30" (assignment_expression "psVar16 = psVar15" identifier = identifier) , (comma_expression "pMVar3 = (Module *)&psVar20->xBestIndex, psVar20 = psVar30,\n                  psVar16 != psVar30" (assignment_expression "pMVar3 = (Module *)&psVar20->xBestIndex" identifier = (cast_expression "(Module *)&psVar20->xBestIndex" ( (type_descriptor "Module *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar20->xBestIndex" & (field_expression "psVar20->xBestIndex" identifier -> field_identifier)))) , (comma_expression "psVar20 = psVar30,\n                  psVar16 != psVar30" (assignment_expression "psVar20 = psVar30" identifier = identifier) , (binary_expression "psVar16 != psVar30" identifier != identifier)))) )) (compound_statement "{\n              psVar20 = psVar16;\n              psVar15 = (sqlite3_module *)psVar16->xBestIndex;\n            }" { (expression_statement "psVar20 = psVar16;" (assignment_expression "psVar20 = psVar16" identifier = identifier) ;) (expression_statement "psVar15 = (sqlite3_module *)psVar16->xBestIndex;" (assignment_expression "psVar15 = (sqlite3_module *)psVar16->xBestIndex" identifier = (cast_expression "(sqlite3_module *)psVar16->xBestIndex" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar16->xBestIndex" identifier -> field_identifier))) ;) })) }))) (expression_statement "pMVar3->pModule = psVar13;" (assignment_expression "pMVar3->pModule = psVar13" (field_expression "pMVar3->pModule" identifier -> field_identifier) = identifier) ;) (expression_statement "p_Var17 = psVar20->xCreate;" (assignment_expression "p_Var17 = psVar20->xCreate" identifier = (field_expression "psVar20->xCreate" identifier -> field_identifier)) ;) (expression_statement "p_Var21 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                     *)(uVar23 & 0x3fffffff);" (assignment_expression "p_Var21 = (_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                     *)(uVar23 & 0x3fffffff)" identifier = (cast_expression "(_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                     *)(uVar23 & 0x3fffffff)" ( (type_descriptor "_func_int_sqlite3_ptr_void_ptr_int_char_ptr_ptr_sqlite3_vtab_ptr_ptr_char_ptr_ptr\n                     *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar23 & 0x3fffffff)" ( (binary_expression "uVar23 & 0x3fffffff" identifier & number_literal) )))) ;) (expression_statement "ppcVar19 = ppcVar27;" (assignment_expression "ppcVar19 = ppcVar27" identifier = identifier) ;) (if_statement "if ((*(byte *)(iVar5 + -0x3d18 + (uint)(byte)*p_Var17) & 0x46) != 0) {\n            p_Var21 = p_Var28;\n            ppcVar19 = (char **)xConstruct;\n          }" if (parenthesized_expression "((*(byte *)(iVar5 + -0x3d18 + (uint)(byte)*p_Var17) & 0x46) != 0)" ( (binary_expression "(*(byte *)(iVar5 + -0x3d18 + (uint)(byte)*p_Var17) & 0x46) != 0" (parenthesized_expression "(*(byte *)(iVar5 + -0x3d18 + (uint)(byte)*p_Var17) & 0x46)" ( (binary_expression "*(byte *)(iVar5 + -0x3d18 + (uint)(byte)*p_Var17) & 0x46" (pointer_expression "*(byte *)(iVar5 + -0x3d18 + (uint)(byte)*p_Var17)" * (cast_expression "(byte *)(iVar5 + -0x3d18 + (uint)(byte)*p_Var17)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -0x3d18 + (uint)(byte)*p_Var17)" ( (binary_expression "iVar5 + -0x3d18 + (uint)(byte)*p_Var17" (binary_expression "iVar5 + -0x3d18" identifier + number_literal) + (binary_expression "(uint)(byte)*p_Var17" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) * identifier)) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            p_Var21 = p_Var28;\n            ppcVar19 = (char **)xConstruct;\n          }" { (expression_statement "p_Var21 = p_Var28;" (assignment_expression "p_Var21 = p_Var28" identifier = identifier) ;) (expression_statement "ppcVar19 = (char **)xConstruct;" (assignment_expression "ppcVar19 = (char **)xConstruct" identifier = (cast_expression "(char **)xConstruct" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) })) (if_statement "if (psVar20->xConnect != p_Var21) {\n            iVar26 = (**(code **)(puVar29 + 0xf35a0))\n                               (p_Var17 + (int)(p_Var21 + (iVar26 - (int)pMVar18)),\n                                p_Var17 + ((int)psVar20->xConnect - (int)pMVar18) + iVar26,\n                                uVar9 - (int)(p_Var17 + ((int)psVar20->xConnect - (int)pMVar18)));\n            return iVar26;\n          }" if (parenthesized_expression "(psVar20->xConnect != p_Var21)" ( (binary_expression "psVar20->xConnect != p_Var21" (field_expression "psVar20->xConnect" identifier -> field_identifier) != identifier) )) (compound_statement "{\n            iVar26 = (**(code **)(puVar29 + 0xf35a0))\n                               (p_Var17 + (int)(p_Var21 + (iVar26 - (int)pMVar18)),\n                                p_Var17 + ((int)psVar20->xConnect - (int)pMVar18) + iVar26,\n                                uVar9 - (int)(p_Var17 + ((int)psVar20->xConnect - (int)pMVar18)));\n            return iVar26;\n          }" { (expression_statement "iVar26 = (**(code **)(puVar29 + 0xf35a0))\n                               (p_Var17 + (int)(p_Var21 + (iVar26 - (int)pMVar18)),\n                                p_Var17 + ((int)psVar20->xConnect - (int)pMVar18) + iVar26,\n                                uVar9 - (int)(p_Var17 + ((int)psVar20->xConnect - (int)pMVar18)));" (assignment_expression "iVar26 = (**(code **)(puVar29 + 0xf35a0))\n                               (p_Var17 + (int)(p_Var21 + (iVar26 - (int)pMVar18)),\n                                p_Var17 + ((int)psVar20->xConnect - (int)pMVar18) + iVar26,\n                                uVar9 - (int)(p_Var17 + ((int)psVar20->xConnect - (int)pMVar18)))" identifier = (call_expression "(**(code **)(puVar29 + 0xf35a0))\n                               (p_Var17 + (int)(p_Var21 + (iVar26 - (int)pMVar18)),\n                                p_Var17 + ((int)psVar20->xConnect - (int)pMVar18) + iVar26,\n                                uVar9 - (int)(p_Var17 + ((int)psVar20->xConnect - (int)pMVar18)))" (parenthesized_expression "(**(code **)(puVar29 + 0xf35a0))" ( (pointer_expression "**(code **)(puVar29 + 0xf35a0)" * (pointer_expression "*(code **)(puVar29 + 0xf35a0)" * (cast_expression "(code **)(puVar29 + 0xf35a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0xf35a0)" ( (binary_expression "puVar29 + 0xf35a0" identifier + number_literal) ))))) )) (argument_list "(p_Var17 + (int)(p_Var21 + (iVar26 - (int)pMVar18)),\n                                p_Var17 + ((int)psVar20->xConnect - (int)pMVar18) + iVar26,\n                                uVar9 - (int)(p_Var17 + ((int)psVar20->xConnect - (int)pMVar18)))" ( (binary_expression "p_Var17 + (int)(p_Var21 + (iVar26 - (int)pMVar18))" identifier + (cast_expression "(int)(p_Var21 + (iVar26 - (int)pMVar18))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(p_Var21 + (iVar26 - (int)pMVar18))" ( (binary_expression "p_Var21 + (iVar26 - (int)pMVar18)" identifier + (parenthesized_expression "(iVar26 - (int)pMVar18)" ( (binary_expression "iVar26 - (int)pMVar18" identifier - (cast_expression "(int)pMVar18" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) , (binary_expression "p_Var17 + ((int)psVar20->xConnect - (int)pMVar18) + iVar26" (binary_expression "p_Var17 + ((int)psVar20->xConnect - (int)pMVar18)" identifier + (parenthesized_expression "((int)psVar20->xConnect - (int)pMVar18)" ( (binary_expression "(int)psVar20->xConnect - (int)pMVar18" (cast_expression "(int)psVar20->xConnect" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar20->xConnect" identifier -> field_identifier)) - (cast_expression "(int)pMVar18" ( (type_descriptor "int" primitive_type) ) identifier)) ))) + identifier) , (binary_expression "uVar9 - (int)(p_Var17 + ((int)psVar20->xConnect - (int)pMVar18))" identifier - (cast_expression "(int)(p_Var17 + ((int)psVar20->xConnect - (int)pMVar18))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(p_Var17 + ((int)psVar20->xConnect - (int)pMVar18))" ( (binary_expression "p_Var17 + ((int)psVar20->xConnect - (int)pMVar18)" identifier + (parenthesized_expression "((int)psVar20->xConnect - (int)pMVar18)" ( (binary_expression "(int)psVar20->xConnect - (int)pMVar18" (cast_expression "(int)psVar20->xConnect" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar20->xConnect" identifier -> field_identifier)) - (cast_expression "(int)pMVar18" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) )))) ;) (return_statement "return iVar26;" return identifier ;) })) (expression_statement "(**(code **)(puVar29 + 0xf3590))(p_Var17 + (iVar26 - (int)pMVar18),ppcVar19,p_Var21);" (call_expression "(**(code **)(puVar29 + 0xf3590))(p_Var17 + (iVar26 - (int)pMVar18),ppcVar19,p_Var21)" (parenthesized_expression "(**(code **)(puVar29 + 0xf3590))" ( (pointer_expression "**(code **)(puVar29 + 0xf3590)" * (pointer_expression "*(code **)(puVar29 + 0xf3590)" * (cast_expression "(code **)(puVar29 + 0xf3590)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0xf3590)" ( (binary_expression "puVar29 + 0xf3590" identifier + number_literal) ))))) )) (argument_list "(p_Var17 + (iVar26 - (int)pMVar18),ppcVar19,p_Var21)" ( (binary_expression "p_Var17 + (iVar26 - (int)pMVar18)" identifier + (parenthesized_expression "(iVar26 - (int)pMVar18)" ( (binary_expression "iVar26 - (int)pMVar18" identifier - (cast_expression "(int)pMVar18" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , identifier , identifier ))) ;) (expression_statement "(*(code *)(iVar10 + -0x2368))(db_00,psVar20);" (call_expression "(*(code *)(iVar10 + -0x2368))(db_00,psVar20)" (parenthesized_expression "(*(code *)(iVar10 + -0x2368))" ( (pointer_expression "*(code *)(iVar10 + -0x2368)" * (cast_expression "(code *)(iVar10 + -0x2368)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + -0x2368)" ( (binary_expression "iVar10 + -0x2368" identifier + number_literal) )))) )) (argument_list "(db_00,psVar20)" ( identifier , identifier ))) ;) (expression_statement "psVar20 = zFormat->pModule;" (assignment_expression "psVar20 = zFormat->pModule" identifier = (field_expression "zFormat->pModule" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(psVar20 != (sqlite3_module *)0x0)" ( (binary_expression "psVar20 != (sqlite3_module *)0x0" identifier != (cast_expression "(sqlite3_module *)0x0" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (expression_statement "setResultStrOrError(pCtx,(char *)&pCtx->isError,iVar26,0xff,(_func_void_void_ptr *)0x1,\n                          (sqlite3_context *)0xffffffff);" (call_expression "setResultStrOrError(pCtx,(char *)&pCtx->isError,iVar26,0xff,(_func_void_void_ptr *)0x1,\n                          (sqlite3_context *)0xffffffff)" identifier (argument_list "(pCtx,(char *)&pCtx->isError,iVar26,0xff,(_func_void_void_ptr *)0x1,\n                          (sqlite3_context *)0xffffffff)" ( identifier , (cast_expression "(char *)&pCtx->isError" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pCtx->isError" & (field_expression "pCtx->isError" identifier -> field_identifier))) , identifier , number_literal , (cast_expression "(_func_void_void_ptr *)0x1" ( (type_descriptor "_func_void_void_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(sqlite3_context *)0xffffffff" ( (type_descriptor "sqlite3_context *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (expression_statement "(*(code *)(iVar10 + -0x2368))(db_00,iVar26);" (call_expression "(*(code *)(iVar10 + -0x2368))(db_00,iVar26)" (parenthesized_expression "(*(code *)(iVar10 + -0x2368))" ( (pointer_expression "*(code *)(iVar10 + -0x2368)" * (cast_expression "(code *)(iVar10 + -0x2368)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + -0x2368)" ( (binary_expression "iVar10 + -0x2368" identifier + number_literal) )))) )) (argument_list "(db_00,iVar26)" ( identifier , identifier ))) ;) }))) (expression_statement "(**(code **)(puVar29 + 0xf30d0))(ppcVar27);" (call_expression "(**(code **)(puVar29 + 0xf30d0))(ppcVar27)" (parenthesized_expression "(**(code **)(puVar29 + 0xf30d0))" ( (pointer_expression "**(code **)(puVar29 + 0xf30d0)" * (pointer_expression "*(code **)(puVar29 + 0xf30d0)" * (cast_expression "(code **)(puVar29 + 0xf30d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0xf30d0)" ( (binary_expression "puVar29 + 0xf30d0" identifier + number_literal) ))))) )) (argument_list "(ppcVar27)" ( identifier ))) ;) (return_statement "return iVar5;" return identifier ;) })) (return_statement "return 7;" return number_literal ;) (labeled_statement "LAB_0009d634:\n  uVar23 = uVar23 + 1;" statement_identifier : (expression_statement "uVar23 = uVar23 + 1;" (assignment_expression "uVar23 = uVar23 + 1" identifier = (binary_expression "uVar23 + 1" identifier + number_literal)) ;)) (expression_statement "pcVar22 = pcVar22 + 1;" (assignment_expression "pcVar22 = pcVar22 + 1" identifier = (binary_expression "pcVar22 + 1" identifier + number_literal)) ;) (if_statement "if (uVar23 == uVar9) goto LAB_0009d7b4;" if (parenthesized_expression "(uVar23 == uVar9)" ( (binary_expression "uVar23 == uVar9" identifier == identifier) )) (goto_statement "goto LAB_0009d7b4;" goto statement_identifier ;)) (goto_statement "goto LAB_0009d63c;" goto statement_identifier ;) })))
(translation_unit "int FUN_0009d360(int param_1,undefined4 *param_2,int *param_3,code *param_4,undefined4 *param_5)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined1 *puVar3;\n  code *pcVar4;\n  undefined4 *puVar5;\n  char *pcVar6;\n  uint uVar7;\n  int iVar8;\n  char *pcVar9;\n  uint uVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  byte *pbVar16;\n  int *piVar17;\n  int *piVar18;\n  int *piVar19;\n  uint uVar20;\n  char *pcVar21;\n  uint uVar22;\n  code *pcVar23;\n  undefined *puVar24;\n  undefined4 uVar25;\n  code *pcVar26;\n  int iVar27;\n  undefined *puVar28;\n  int iVar29;\n  int *in_stack_ffffff98;\n  int local_50;\n  uint local_48;\n  int *local_40;\n  int *local_3c;\n  undefined4 *local_38;\n  undefined4 local_34;\n  int local_30;\n  int *local_2c;\n  char *pcVar10;\n  \n  puVar28 = PTR___stack_chk_guard_00190e24;\n  iVar1 = *(int *)(param_1 + 0x168);\n  pcVar26 = (code *)param_2[0xf];\n  local_2c = *(int **)PTR___stack_chk_guard_00190e24;\n  uVar25 = param_2[0xe];\n  local_40 = (int *)0x0;\n  for (; iVar1 != 0; iVar1 = *(int *)(iVar1 + 8)) {\n    if (*(undefined4 **)(iVar1 + 4) == param_2) {\n      iVar1 = 6;\n      piVar18 = (int *)*param_2;\n      piVar17 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c);\n      uVar25 = FUN_0009d164(param_1);\n      *param_5 = uVar25;\n      goto LAB_0009d418;\n    }\n  }\n  piVar17 = (int *)*param_2;\n  piVar18 = param_3;\n  pcVar4 = param_4;\n  piVar2 = (int *)(*(code *)(PTR_LAB_00190ba8 + 0xfc4))(param_1);\n  if (piVar2 == (int *)0x0) {\n    iVar1 = 7;\n    param_4 = pcVar4;\n    goto LAB_0009d418;\n  }\n  piVar17 = (int *)(*(code *)(PTR_LAB_00190ba8 + -0x2940))(0,0x1c);\n  if (piVar17 == (int *)0x0) {\n    if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }\n    iVar1 = 7;\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(param_1);\n    piVar17 = piVar2;\n    param_4 = pcVar4;\n    goto LAB_0009d418;\n  }\n  *piVar17 = param_1;\n  piVar17[1] = (int)param_3;\n  if (param_2[0x12] == 0) {\n    iVar1 = -16000000;\n  }\n  else {\n    iVar1 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(param_1);\n    iVar1 = iVar1 << 4;\n  }\n  in_stack_ffffff98 = piVar17 + 2;\n  *(undefined4 *)(param_2[0xf] + 4) = *(undefined4 *)(*(int *)(param_1 + 0x10) + iVar1);\n  local_30 = 0;\n  local_34 = *(undefined4 *)(param_1 + 0x168);\n  *(int ***)(param_1 + 0x168) = &local_3c;\n  local_3c = piVar17;\n  local_38 = param_2;\n  iVar1 = (*param_4)(param_1,param_3[2],uVar25,pcVar26,in_stack_ffffff98,&local_40);\n  *(undefined4 *)(param_1 + 0x168) = local_34;\n  if (iVar1 == 7) {\n    if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }\nLAB_0009d750:\n    if (local_40 == (int *)0x0) {\n      piVar18 = piVar2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);\n      *param_5 = uVar25;\n    }\n    else {\n      piVar18 = local_40;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);\n      puVar24 = PTR_sqlite3_free_0019096c;\n      *param_5 = uVar25;\n      (*(code *)puVar24)(local_40);\n    }\n    pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    (*pcVar4)(param_1,piVar17);\n  }\n  else {\n    if (iVar1 != 0) goto LAB_0009d750;\n    puVar3 = (undefined1 *)piVar17[2];\n    piVar18 = local_40;\n    if (puVar3 == (undefined1 *)0x0) {\nLAB_0009d70c:\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n    else {\n      *puVar3 = 0;\n      puVar3[1] = 0;\n      puVar3[2] = 0;\n      puVar3[3] = 0;\n      puVar3[4] = 0;\n      puVar3[5] = 0;\n      puVar3[6] = 0;\n      puVar3[7] = 0;\n      puVar3[8] = 0;\n      puVar3[9] = 0;\n      puVar3[10] = 0;\n      puVar3[0xb] = 0;\n      *(int *)piVar17[2] = *param_3;\n      piVar17[3] = 1;\n      if (local_30 != 0) {\n        piVar17[6] = param_2[0x10];\n        param_2[0x10] = piVar17;\n        local_50 = (int)*(short *)((int)param_2 + 0x2a);\n        if (0 < local_50) {\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }\n        goto LAB_0009d70c;\n      }\n      iVar1 = 1;\n      piVar18 = (int *)*param_2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x1478);\n      *param_5 = uVar25;\n      (*pcVar4)(piVar17);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n  }\n  (*pcVar4)(param_1);\n  piVar17 = piVar2;\n  param_4 = pcVar26;\nLAB_0009d418:\n  if (local_2c == *(int **)puVar28) {\n    return iVar1;\n  }\n  piVar2 = local_2c;\n  puVar28 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  if (param_4 == (code *)0x0) {\n    uVar7 = 0;\n  }\n  else {\n    uVar7 = (**(code **)(puVar28 + 0xf34e4))(param_4);\n    uVar7 = uVar7 & 0x3fffffff;\n  }\n  if (piVar18 == (int *)0x0) {\n    uVar22 = 0;\n  }\n  else {\n    uVar22 = (**(code **)(puVar28 + 0xf34e4))(piVar18);\n    uVar22 = uVar22 & 0x3fffffff;\n  }\n  uVar25 = *(undefined4 *)(*piVar2 + 0x20);\n  pcVar26 = (code *)FUN_0009d164(uVar25,*(int *)(puVar28 + 0xf30c0) + -0x56e8,param_4);\n  if (pcVar26 == (code *)0x0) {\n    return 7;\n  }\n  if (in_stack_ffffff98 != (int *)0x0) {\n    param_4 = pcVar26;\n  }\n  uVar11 = (**(code **)(puVar28 + 0xf34e4))(pcVar26);\n  if (in_stack_ffffff98 != (int *)0x0) {\n    uVar7 = uVar11 & 0x3fffffff;\n  }\n  iVar1 = (*(code *)(*(int *)(puVar28 + 0xf330c) + 0x924))(uVar25);\n  if (iVar1 == 0) {\n    iVar27 = 7;\n  }\n  else {\n    (**(code **)(puVar28 + 0xf3590))(iVar1,piVar18,uVar22);\n    iVar27 = *piVar17;\n    iVar8 = *(int *)(puVar28 + 0xf330c);\n    if (iVar27 != 0) {\n      iVar13 = *(int *)(puVar28 + 0xf32f8);\n      do {\n        iVar14 = *(int *)(iVar27 + 0xc);\n        iVar12 = iVar14;\n        iVar29 = iVar27;\n        if (iVar14 == 0) {\n          iVar12 = 0;\n          piVar19 = piVar17;\nLAB_0009da24:\n          *piVar19 = iVar12;\n        }\n        else {\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }\n        pbVar16 = *(byte **)(iVar27 + 4);\n        uVar20 = uVar11 & 0x3fffffff;\n        pcVar4 = pcVar26;\n        if ((*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0) {\n          uVar20 = uVar7;\n          pcVar4 = param_4;\n        }\n        if (*(uint *)(iVar27 + 8) != uVar20) {\n          (**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));\n          uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;\n          *(undefined1 *)(iVar1 + uVar22) = 0;\n        }\n        (**(code **)(puVar28 + 0xf3590))(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20);\n        (*(code *)(iVar8 + -0x2368))(uVar25,iVar27);\n        iVar27 = *piVar17;\n      } while (iVar27 != 0);\n    }\n    FUN_0007ec40(piVar2,piVar2 + 5,iVar1,0xffffffff,1,0xffffffff);\n    iVar27 = 0;\n    (*(code *)(iVar8 + -0x2368))(uVar25,iVar1);\n  }\n  (**(code **)(puVar28 + 0xf30d0))(pcVar26);\n  return iVar27;\nLAB_0009d634:\n  uVar22 = uVar22 + 1;\n  pcVar21 = pcVar21 + 1;\n  if (uVar22 == uVar7) goto LAB_0009d7b4;\n  goto LAB_0009d63c;\n}\n\n" (function_definition "int FUN_0009d360(int param_1,undefined4 *param_2,int *param_3,code *param_4,undefined4 *param_5)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined1 *puVar3;\n  code *pcVar4;\n  undefined4 *puVar5;\n  char *pcVar6;\n  uint uVar7;\n  int iVar8;\n  char *pcVar9;\n  uint uVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  byte *pbVar16;\n  int *piVar17;\n  int *piVar18;\n  int *piVar19;\n  uint uVar20;\n  char *pcVar21;\n  uint uVar22;\n  code *pcVar23;\n  undefined *puVar24;\n  undefined4 uVar25;\n  code *pcVar26;\n  int iVar27;\n  undefined *puVar28;\n  int iVar29;\n  int *in_stack_ffffff98;\n  int local_50;\n  uint local_48;\n  int *local_40;\n  int *local_3c;\n  undefined4 *local_38;\n  undefined4 local_34;\n  int local_30;\n  int *local_2c;\n  char *pcVar10;\n  \n  puVar28 = PTR___stack_chk_guard_00190e24;\n  iVar1 = *(int *)(param_1 + 0x168);\n  pcVar26 = (code *)param_2[0xf];\n  local_2c = *(int **)PTR___stack_chk_guard_00190e24;\n  uVar25 = param_2[0xe];\n  local_40 = (int *)0x0;\n  for (; iVar1 != 0; iVar1 = *(int *)(iVar1 + 8)) {\n    if (*(undefined4 **)(iVar1 + 4) == param_2) {\n      iVar1 = 6;\n      piVar18 = (int *)*param_2;\n      piVar17 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c);\n      uVar25 = FUN_0009d164(param_1);\n      *param_5 = uVar25;\n      goto LAB_0009d418;\n    }\n  }\n  piVar17 = (int *)*param_2;\n  piVar18 = param_3;\n  pcVar4 = param_4;\n  piVar2 = (int *)(*(code *)(PTR_LAB_00190ba8 + 0xfc4))(param_1);\n  if (piVar2 == (int *)0x0) {\n    iVar1 = 7;\n    param_4 = pcVar4;\n    goto LAB_0009d418;\n  }\n  piVar17 = (int *)(*(code *)(PTR_LAB_00190ba8 + -0x2940))(0,0x1c);\n  if (piVar17 == (int *)0x0) {\n    if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }\n    iVar1 = 7;\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(param_1);\n    piVar17 = piVar2;\n    param_4 = pcVar4;\n    goto LAB_0009d418;\n  }\n  *piVar17 = param_1;\n  piVar17[1] = (int)param_3;\n  if (param_2[0x12] == 0) {\n    iVar1 = -16000000;\n  }\n  else {\n    iVar1 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(param_1);\n    iVar1 = iVar1 << 4;\n  }\n  in_stack_ffffff98 = piVar17 + 2;\n  *(undefined4 *)(param_2[0xf] + 4) = *(undefined4 *)(*(int *)(param_1 + 0x10) + iVar1);\n  local_30 = 0;\n  local_34 = *(undefined4 *)(param_1 + 0x168);\n  *(int ***)(param_1 + 0x168) = &local_3c;\n  local_3c = piVar17;\n  local_38 = param_2;\n  iVar1 = (*param_4)(param_1,param_3[2],uVar25,pcVar26,in_stack_ffffff98,&local_40);\n  *(undefined4 *)(param_1 + 0x168) = local_34;\n  if (iVar1 == 7) {\n    if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }\nLAB_0009d750:\n    if (local_40 == (int *)0x0) {\n      piVar18 = piVar2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);\n      *param_5 = uVar25;\n    }\n    else {\n      piVar18 = local_40;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);\n      puVar24 = PTR_sqlite3_free_0019096c;\n      *param_5 = uVar25;\n      (*(code *)puVar24)(local_40);\n    }\n    pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    (*pcVar4)(param_1,piVar17);\n  }\n  else {\n    if (iVar1 != 0) goto LAB_0009d750;\n    puVar3 = (undefined1 *)piVar17[2];\n    piVar18 = local_40;\n    if (puVar3 == (undefined1 *)0x0) {\nLAB_0009d70c:\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n    else {\n      *puVar3 = 0;\n      puVar3[1] = 0;\n      puVar3[2] = 0;\n      puVar3[3] = 0;\n      puVar3[4] = 0;\n      puVar3[5] = 0;\n      puVar3[6] = 0;\n      puVar3[7] = 0;\n      puVar3[8] = 0;\n      puVar3[9] = 0;\n      puVar3[10] = 0;\n      puVar3[0xb] = 0;\n      *(int *)piVar17[2] = *param_3;\n      piVar17[3] = 1;\n      if (local_30 != 0) {\n        piVar17[6] = param_2[0x10];\n        param_2[0x10] = piVar17;\n        local_50 = (int)*(short *)((int)param_2 + 0x2a);\n        if (0 < local_50) {\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }\n        goto LAB_0009d70c;\n      }\n      iVar1 = 1;\n      piVar18 = (int *)*param_2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x1478);\n      *param_5 = uVar25;\n      (*pcVar4)(piVar17);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n  }\n  (*pcVar4)(param_1);\n  piVar17 = piVar2;\n  param_4 = pcVar26;\nLAB_0009d418:\n  if (local_2c == *(int **)puVar28) {\n    return iVar1;\n  }\n  piVar2 = local_2c;\n  puVar28 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  if (param_4 == (code *)0x0) {\n    uVar7 = 0;\n  }\n  else {\n    uVar7 = (**(code **)(puVar28 + 0xf34e4))(param_4);\n    uVar7 = uVar7 & 0x3fffffff;\n  }\n  if (piVar18 == (int *)0x0) {\n    uVar22 = 0;\n  }\n  else {\n    uVar22 = (**(code **)(puVar28 + 0xf34e4))(piVar18);\n    uVar22 = uVar22 & 0x3fffffff;\n  }\n  uVar25 = *(undefined4 *)(*piVar2 + 0x20);\n  pcVar26 = (code *)FUN_0009d164(uVar25,*(int *)(puVar28 + 0xf30c0) + -0x56e8,param_4);\n  if (pcVar26 == (code *)0x0) {\n    return 7;\n  }\n  if (in_stack_ffffff98 != (int *)0x0) {\n    param_4 = pcVar26;\n  }\n  uVar11 = (**(code **)(puVar28 + 0xf34e4))(pcVar26);\n  if (in_stack_ffffff98 != (int *)0x0) {\n    uVar7 = uVar11 & 0x3fffffff;\n  }\n  iVar1 = (*(code *)(*(int *)(puVar28 + 0xf330c) + 0x924))(uVar25);\n  if (iVar1 == 0) {\n    iVar27 = 7;\n  }\n  else {\n    (**(code **)(puVar28 + 0xf3590))(iVar1,piVar18,uVar22);\n    iVar27 = *piVar17;\n    iVar8 = *(int *)(puVar28 + 0xf330c);\n    if (iVar27 != 0) {\n      iVar13 = *(int *)(puVar28 + 0xf32f8);\n      do {\n        iVar14 = *(int *)(iVar27 + 0xc);\n        iVar12 = iVar14;\n        iVar29 = iVar27;\n        if (iVar14 == 0) {\n          iVar12 = 0;\n          piVar19 = piVar17;\nLAB_0009da24:\n          *piVar19 = iVar12;\n        }\n        else {\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }\n        pbVar16 = *(byte **)(iVar27 + 4);\n        uVar20 = uVar11 & 0x3fffffff;\n        pcVar4 = pcVar26;\n        if ((*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0) {\n          uVar20 = uVar7;\n          pcVar4 = param_4;\n        }\n        if (*(uint *)(iVar27 + 8) != uVar20) {\n          (**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));\n          uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;\n          *(undefined1 *)(iVar1 + uVar22) = 0;\n        }\n        (**(code **)(puVar28 + 0xf3590))(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20);\n        (*(code *)(iVar8 + -0x2368))(uVar25,iVar27);\n        iVar27 = *piVar17;\n      } while (iVar27 != 0);\n    }\n    FUN_0007ec40(piVar2,piVar2 + 5,iVar1,0xffffffff,1,0xffffffff);\n    iVar27 = 0;\n    (*(code *)(iVar8 + -0x2368))(uVar25,iVar1);\n  }\n  (**(code **)(puVar28 + 0xf30d0))(pcVar26);\n  return iVar27;\nLAB_0009d634:\n  uVar22 = uVar22 + 1;\n  pcVar21 = pcVar21 + 1;\n  if (uVar22 == uVar7) goto LAB_0009d7b4;\n  goto LAB_0009d63c;\n}" primitive_type (function_declarator "FUN_0009d360(int param_1,undefined4 *param_2,int *param_3,code *param_4,undefined4 *param_5)" identifier (parameter_list "(int param_1,undefined4 *param_2,int *param_3,code *param_4,undefined4 *param_5)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "code *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "undefined4 *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  undefined1 *puVar3;\n  code *pcVar4;\n  undefined4 *puVar5;\n  char *pcVar6;\n  uint uVar7;\n  int iVar8;\n  char *pcVar9;\n  uint uVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  byte *pbVar16;\n  int *piVar17;\n  int *piVar18;\n  int *piVar19;\n  uint uVar20;\n  char *pcVar21;\n  uint uVar22;\n  code *pcVar23;\n  undefined *puVar24;\n  undefined4 uVar25;\n  code *pcVar26;\n  int iVar27;\n  undefined *puVar28;\n  int iVar29;\n  int *in_stack_ffffff98;\n  int local_50;\n  uint local_48;\n  int *local_40;\n  int *local_3c;\n  undefined4 *local_38;\n  undefined4 local_34;\n  int local_30;\n  int *local_2c;\n  char *pcVar10;\n  \n  puVar28 = PTR___stack_chk_guard_00190e24;\n  iVar1 = *(int *)(param_1 + 0x168);\n  pcVar26 = (code *)param_2[0xf];\n  local_2c = *(int **)PTR___stack_chk_guard_00190e24;\n  uVar25 = param_2[0xe];\n  local_40 = (int *)0x0;\n  for (; iVar1 != 0; iVar1 = *(int *)(iVar1 + 8)) {\n    if (*(undefined4 **)(iVar1 + 4) == param_2) {\n      iVar1 = 6;\n      piVar18 = (int *)*param_2;\n      piVar17 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c);\n      uVar25 = FUN_0009d164(param_1);\n      *param_5 = uVar25;\n      goto LAB_0009d418;\n    }\n  }\n  piVar17 = (int *)*param_2;\n  piVar18 = param_3;\n  pcVar4 = param_4;\n  piVar2 = (int *)(*(code *)(PTR_LAB_00190ba8 + 0xfc4))(param_1);\n  if (piVar2 == (int *)0x0) {\n    iVar1 = 7;\n    param_4 = pcVar4;\n    goto LAB_0009d418;\n  }\n  piVar17 = (int *)(*(code *)(PTR_LAB_00190ba8 + -0x2940))(0,0x1c);\n  if (piVar17 == (int *)0x0) {\n    if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }\n    iVar1 = 7;\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(param_1);\n    piVar17 = piVar2;\n    param_4 = pcVar4;\n    goto LAB_0009d418;\n  }\n  *piVar17 = param_1;\n  piVar17[1] = (int)param_3;\n  if (param_2[0x12] == 0) {\n    iVar1 = -16000000;\n  }\n  else {\n    iVar1 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(param_1);\n    iVar1 = iVar1 << 4;\n  }\n  in_stack_ffffff98 = piVar17 + 2;\n  *(undefined4 *)(param_2[0xf] + 4) = *(undefined4 *)(*(int *)(param_1 + 0x10) + iVar1);\n  local_30 = 0;\n  local_34 = *(undefined4 *)(param_1 + 0x168);\n  *(int ***)(param_1 + 0x168) = &local_3c;\n  local_3c = piVar17;\n  local_38 = param_2;\n  iVar1 = (*param_4)(param_1,param_3[2],uVar25,pcVar26,in_stack_ffffff98,&local_40);\n  *(undefined4 *)(param_1 + 0x168) = local_34;\n  if (iVar1 == 7) {\n    if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }\nLAB_0009d750:\n    if (local_40 == (int *)0x0) {\n      piVar18 = piVar2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);\n      *param_5 = uVar25;\n    }\n    else {\n      piVar18 = local_40;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);\n      puVar24 = PTR_sqlite3_free_0019096c;\n      *param_5 = uVar25;\n      (*(code *)puVar24)(local_40);\n    }\n    pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    (*pcVar4)(param_1,piVar17);\n  }\n  else {\n    if (iVar1 != 0) goto LAB_0009d750;\n    puVar3 = (undefined1 *)piVar17[2];\n    piVar18 = local_40;\n    if (puVar3 == (undefined1 *)0x0) {\nLAB_0009d70c:\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n    else {\n      *puVar3 = 0;\n      puVar3[1] = 0;\n      puVar3[2] = 0;\n      puVar3[3] = 0;\n      puVar3[4] = 0;\n      puVar3[5] = 0;\n      puVar3[6] = 0;\n      puVar3[7] = 0;\n      puVar3[8] = 0;\n      puVar3[9] = 0;\n      puVar3[10] = 0;\n      puVar3[0xb] = 0;\n      *(int *)piVar17[2] = *param_3;\n      piVar17[3] = 1;\n      if (local_30 != 0) {\n        piVar17[6] = param_2[0x10];\n        param_2[0x10] = piVar17;\n        local_50 = (int)*(short *)((int)param_2 + 0x2a);\n        if (0 < local_50) {\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }\n        goto LAB_0009d70c;\n      }\n      iVar1 = 1;\n      piVar18 = (int *)*param_2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x1478);\n      *param_5 = uVar25;\n      (*pcVar4)(piVar17);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n  }\n  (*pcVar4)(param_1);\n  piVar17 = piVar2;\n  param_4 = pcVar26;\nLAB_0009d418:\n  if (local_2c == *(int **)puVar28) {\n    return iVar1;\n  }\n  piVar2 = local_2c;\n  puVar28 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  if (param_4 == (code *)0x0) {\n    uVar7 = 0;\n  }\n  else {\n    uVar7 = (**(code **)(puVar28 + 0xf34e4))(param_4);\n    uVar7 = uVar7 & 0x3fffffff;\n  }\n  if (piVar18 == (int *)0x0) {\n    uVar22 = 0;\n  }\n  else {\n    uVar22 = (**(code **)(puVar28 + 0xf34e4))(piVar18);\n    uVar22 = uVar22 & 0x3fffffff;\n  }\n  uVar25 = *(undefined4 *)(*piVar2 + 0x20);\n  pcVar26 = (code *)FUN_0009d164(uVar25,*(int *)(puVar28 + 0xf30c0) + -0x56e8,param_4);\n  if (pcVar26 == (code *)0x0) {\n    return 7;\n  }\n  if (in_stack_ffffff98 != (int *)0x0) {\n    param_4 = pcVar26;\n  }\n  uVar11 = (**(code **)(puVar28 + 0xf34e4))(pcVar26);\n  if (in_stack_ffffff98 != (int *)0x0) {\n    uVar7 = uVar11 & 0x3fffffff;\n  }\n  iVar1 = (*(code *)(*(int *)(puVar28 + 0xf330c) + 0x924))(uVar25);\n  if (iVar1 == 0) {\n    iVar27 = 7;\n  }\n  else {\n    (**(code **)(puVar28 + 0xf3590))(iVar1,piVar18,uVar22);\n    iVar27 = *piVar17;\n    iVar8 = *(int *)(puVar28 + 0xf330c);\n    if (iVar27 != 0) {\n      iVar13 = *(int *)(puVar28 + 0xf32f8);\n      do {\n        iVar14 = *(int *)(iVar27 + 0xc);\n        iVar12 = iVar14;\n        iVar29 = iVar27;\n        if (iVar14 == 0) {\n          iVar12 = 0;\n          piVar19 = piVar17;\nLAB_0009da24:\n          *piVar19 = iVar12;\n        }\n        else {\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }\n        pbVar16 = *(byte **)(iVar27 + 4);\n        uVar20 = uVar11 & 0x3fffffff;\n        pcVar4 = pcVar26;\n        if ((*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0) {\n          uVar20 = uVar7;\n          pcVar4 = param_4;\n        }\n        if (*(uint *)(iVar27 + 8) != uVar20) {\n          (**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));\n          uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;\n          *(undefined1 *)(iVar1 + uVar22) = 0;\n        }\n        (**(code **)(puVar28 + 0xf3590))(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20);\n        (*(code *)(iVar8 + -0x2368))(uVar25,iVar27);\n        iVar27 = *piVar17;\n      } while (iVar27 != 0);\n    }\n    FUN_0007ec40(piVar2,piVar2 + 5,iVar1,0xffffffff,1,0xffffffff);\n    iVar27 = 0;\n    (*(code *)(iVar8 + -0x2368))(uVar25,iVar1);\n  }\n  (**(code **)(puVar28 + 0xf30d0))(pcVar26);\n  return iVar27;\nLAB_0009d634:\n  uVar22 = uVar22 + 1;\n  pcVar21 = pcVar21 + 1;\n  if (uVar22 == uVar7) goto LAB_0009d7b4;\n  goto LAB_0009d63c;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "undefined1 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "code *pcVar4;" type_identifier (pointer_declarator "*pcVar4" * identifier) ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "byte *pbVar16;" type_identifier (pointer_declarator "*pbVar16" * identifier) ;) (declaration "int *piVar17;" primitive_type (pointer_declarator "*piVar17" * identifier) ;) (declaration "int *piVar18;" primitive_type (pointer_declarator "*piVar18" * identifier) ;) (declaration "int *piVar19;" primitive_type (pointer_declarator "*piVar19" * identifier) ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "char *pcVar21;" primitive_type (pointer_declarator "*pcVar21" * identifier) ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "code *pcVar23;" type_identifier (pointer_declarator "*pcVar23" * identifier) ;) (declaration "undefined *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "undefined4 uVar25;" type_identifier identifier ;) (declaration "code *pcVar26;" type_identifier (pointer_declarator "*pcVar26" * identifier) ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "undefined *puVar28;" type_identifier (pointer_declarator "*puVar28" * identifier) ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "int *in_stack_ffffff98;" primitive_type (pointer_declarator "*in_stack_ffffff98" * identifier) ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "uint local_48;" type_identifier identifier ;) (declaration "int *local_40;" primitive_type (pointer_declarator "*local_40" * identifier) ;) (declaration "int *local_3c;" primitive_type (pointer_declarator "*local_3c" * identifier) ;) (declaration "undefined4 *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "int *local_2c;" primitive_type (pointer_declarator "*local_2c" * identifier) ;) (declaration "char *pcVar10;" primitive_type (pointer_declarator "*pcVar10" * identifier) ;) (expression_statement "puVar28 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar28 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "iVar1 = *(int *)(param_1 + 0x168);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x168)" identifier = (pointer_expression "*(int *)(param_1 + 0x168)" * (cast_expression "(int *)(param_1 + 0x168)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x168)" ( (binary_expression "param_1 + 0x168" identifier + number_literal) ))))) ;) (expression_statement "pcVar26 = (code *)param_2[0xf];" (assignment_expression "pcVar26 = (code *)param_2[0xf]" identifier = (cast_expression "(code *)param_2[0xf]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[0xf]" identifier [ number_literal ]))) ;) (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 "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "uVar25 = param_2[0xe];" (assignment_expression "uVar25 = param_2[0xe]" identifier = (subscript_expression "param_2[0xe]" identifier [ number_literal ])) ;) (expression_statement "local_40 = (int *)0x0;" (assignment_expression "local_40 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (for_statement "for (; iVar1 != 0; iVar1 = *(int *)(iVar1 + 8)) {\n    if (*(undefined4 **)(iVar1 + 4) == param_2) {\n      iVar1 = 6;\n      piVar18 = (int *)*param_2;\n      piVar17 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c);\n      uVar25 = FUN_0009d164(param_1);\n      *param_5 = uVar25;\n      goto LAB_0009d418;\n    }\n  }" for ( ; (binary_expression "iVar1 != 0" identifier != number_literal) ; (assignment_expression "iVar1 = *(int *)(iVar1 + 8)" identifier = (pointer_expression "*(int *)(iVar1 + 8)" * (cast_expression "(int *)(iVar1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 8)" ( (binary_expression "iVar1 + 8" identifier + number_literal) ))))) ) (compound_statement "{\n    if (*(undefined4 **)(iVar1 + 4) == param_2) {\n      iVar1 = 6;\n      piVar18 = (int *)*param_2;\n      piVar17 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c);\n      uVar25 = FUN_0009d164(param_1);\n      *param_5 = uVar25;\n      goto LAB_0009d418;\n    }\n  }" { (if_statement "if (*(undefined4 **)(iVar1 + 4) == param_2) {\n      iVar1 = 6;\n      piVar18 = (int *)*param_2;\n      piVar17 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c);\n      uVar25 = FUN_0009d164(param_1);\n      *param_5 = uVar25;\n      goto LAB_0009d418;\n    }" if (parenthesized_expression "(*(undefined4 **)(iVar1 + 4) == param_2)" ( (binary_expression "*(undefined4 **)(iVar1 + 4) == param_2" (pointer_expression "*(undefined4 **)(iVar1 + 4)" * (cast_expression "(undefined4 **)(iVar1 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 4)" ( (binary_expression "iVar1 + 4" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n      iVar1 = 6;\n      piVar18 = (int *)*param_2;\n      piVar17 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c);\n      uVar25 = FUN_0009d164(param_1);\n      *param_5 = uVar25;\n      goto LAB_0009d418;\n    }" { (expression_statement "iVar1 = 6;" (assignment_expression "iVar1 = 6" identifier = number_literal) ;) (expression_statement "piVar18 = (int *)*param_2;" (assignment_expression "piVar18 = (int *)*param_2" identifier = (cast_expression "(int *)*param_2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier))) ;) (expression_statement "piVar17 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c);" (assignment_expression "piVar17 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c)" identifier = (cast_expression "(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c" identifier + number_literal) )))) ;) (expression_statement "uVar25 = FUN_0009d164(param_1);" (assignment_expression "uVar25 = FUN_0009d164(param_1)" identifier = (call_expression "FUN_0009d164(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "*param_5 = uVar25;" (assignment_expression "*param_5 = uVar25" (pointer_expression "*param_5" * identifier) = identifier) ;) (goto_statement "goto LAB_0009d418;" goto statement_identifier ;) })) })) (expression_statement "piVar17 = (int *)*param_2;" (assignment_expression "piVar17 = (int *)*param_2" identifier = (cast_expression "(int *)*param_2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier))) ;) (expression_statement "piVar18 = param_3;" (assignment_expression "piVar18 = param_3" identifier = identifier) ;) (expression_statement "pcVar4 = param_4;" (assignment_expression "pcVar4 = param_4" identifier = identifier) ;) (expression_statement "piVar2 = (int *)(*(code *)(PTR_LAB_00190ba8 + 0xfc4))(param_1);" (assignment_expression "piVar2 = (int *)(*(code *)(PTR_LAB_00190ba8 + 0xfc4))(param_1)" identifier = (cast_expression "(int *)(*(code *)(PTR_LAB_00190ba8 + 0xfc4))(param_1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0xfc4))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0xfc4))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0xfc4)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0xfc4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0xfc4)" ( (binary_expression "PTR_LAB_00190ba8 + 0xfc4" identifier + number_literal) )))) )) (argument_list "(param_1)" ( identifier ))))) ;) (if_statement "if (piVar2 == (int *)0x0) {\n    iVar1 = 7;\n    param_4 = pcVar4;\n    goto LAB_0009d418;\n  }" if (parenthesized_expression "(piVar2 == (int *)0x0)" ( (binary_expression "piVar2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar1 = 7;\n    param_4 = pcVar4;\n    goto LAB_0009d418;\n  }" { (expression_statement "iVar1 = 7;" (assignment_expression "iVar1 = 7" identifier = number_literal) ;) (expression_statement "param_4 = pcVar4;" (assignment_expression "param_4 = pcVar4" identifier = identifier) ;) (goto_statement "goto LAB_0009d418;" goto statement_identifier ;) })) (expression_statement "piVar17 = (int *)(*(code *)(PTR_LAB_00190ba8 + -0x2940))(0,0x1c);" (assignment_expression "piVar17 = (int *)(*(code *)(PTR_LAB_00190ba8 + -0x2940))(0,0x1c)" identifier = (cast_expression "(int *)(*(code *)(PTR_LAB_00190ba8 + -0x2940))(0,0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2940))(0,0x1c)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2940))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + -0x2940)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2940)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2940)" ( (binary_expression "PTR_LAB_00190ba8 + -0x2940" identifier + number_literal) )))) )) (argument_list "(0,0x1c)" ( number_literal , number_literal ))))) ;) (if_statement "if (piVar17 == (int *)0x0) {\n    if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }\n    iVar1 = 7;\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(param_1);\n    piVar17 = piVar2;\n    param_4 = pcVar4;\n    goto LAB_0009d418;\n  }" if (parenthesized_expression "(piVar17 == (int *)0x0)" ( (binary_expression "piVar17 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }\n    iVar1 = 7;\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(param_1);\n    piVar17 = piVar2;\n    param_4 = pcVar4;\n    goto LAB_0009d418;\n  }" { (if_statement "if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }" if (parenthesized_expression "((*(uint *)(param_1 + 0x50) & 0xffff00) == 0)" ( (binary_expression "(*(uint *)(param_1 + 0x50) & 0xffff00) == 0" (parenthesized_expression "(*(uint *)(param_1 + 0x50) & 0xffff00)" ( (binary_expression "*(uint *)(param_1 + 0x50) & 0xffff00" (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) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }" { (expression_statement "(*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x82c))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x82c)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x82c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x82c)" ( (binary_expression "PTR_LAB_00190ba8 + 0x82c" identifier + number_literal) )))) )) (argument_list "(param_1)" ( identifier ))) ;) })) (expression_statement "iVar1 = 7;" (assignment_expression "iVar1 = 7" identifier = number_literal) ;) (expression_statement "(*(code *)(PTR_LAB_00190ba8 + -0x2368))(param_1);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2368))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2368))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + -0x2368)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2368)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2368)" ( (binary_expression "PTR_LAB_00190ba8 + -0x2368" identifier + number_literal) )))) )) (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "piVar17 = piVar2;" (assignment_expression "piVar17 = piVar2" identifier = identifier) ;) (expression_statement "param_4 = pcVar4;" (assignment_expression "param_4 = pcVar4" identifier = identifier) ;) (goto_statement "goto LAB_0009d418;" goto statement_identifier ;) })) (expression_statement "*piVar17 = param_1;" (assignment_expression "*piVar17 = param_1" (pointer_expression "*piVar17" * identifier) = identifier) ;) (expression_statement "piVar17[1] = (int)param_3;" (assignment_expression "piVar17[1] = (int)param_3" (subscript_expression "piVar17[1]" identifier [ number_literal ]) = (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (param_2[0x12] == 0) {\n    iVar1 = -16000000;\n  }\n  else {\n    iVar1 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(param_1);\n    iVar1 = iVar1 << 4;\n  }" if (parenthesized_expression "(param_2[0x12] == 0)" ( (binary_expression "param_2[0x12] == 0" (subscript_expression "param_2[0x12]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    iVar1 = -16000000;\n  }" { (expression_statement "iVar1 = -16000000;" (assignment_expression "iVar1 = -16000000" identifier = number_literal) ;) }) (else_clause "else {\n    iVar1 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(param_1);\n    iVar1 = iVar1 << 4;\n  }" else (compound_statement "{\n    iVar1 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(param_1);\n    iVar1 = iVar1 << 4;\n  }" { (expression_statement "iVar1 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(param_1);" (assignment_expression "iVar1 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(param_1)" identifier = (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x31a4))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x31a4)" * (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x31a4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x31a4)" ( (binary_expression "PTR_LAB_00190ba4 + -0x31a4" identifier + number_literal) )))) )) (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "iVar1 = iVar1 << 4;" (assignment_expression "iVar1 = iVar1 << 4" identifier = (binary_expression "iVar1 << 4" identifier << number_literal)) ;) }))) (expression_statement "in_stack_ffffff98 = piVar17 + 2;" (assignment_expression "in_stack_ffffff98 = piVar17 + 2" identifier = (binary_expression "piVar17 + 2" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(param_2[0xf] + 4) = *(undefined4 *)(*(int *)(param_1 + 0x10) + iVar1);" (assignment_expression "*(undefined4 *)(param_2[0xf] + 4) = *(undefined4 *)(*(int *)(param_1 + 0x10) + iVar1)" (pointer_expression "*(undefined4 *)(param_2[0xf] + 4)" * (cast_expression "(undefined4 *)(param_2[0xf] + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[0xf] + 4)" ( (binary_expression "param_2[0xf] + 4" (subscript_expression "param_2[0xf]" identifier [ number_literal ]) + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x10) + iVar1)" * (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x10) + iVar1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x10) + iVar1)" ( (binary_expression "*(int *)(param_1 + 0x10) + iVar1" (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) + identifier) ))))) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "local_34 = *(undefined4 *)(param_1 + 0x168);" (assignment_expression "local_34 = *(undefined4 *)(param_1 + 0x168)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x168)" * (cast_expression "(undefined4 *)(param_1 + 0x168)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x168)" ( (binary_expression "param_1 + 0x168" identifier + number_literal) ))))) ;) (expression_statement "*(int ***)(param_1 + 0x168) = &local_3c;" (assignment_expression "*(int ***)(param_1 + 0x168) = &local_3c" (pointer_expression "*(int ***)(param_1 + 0x168)" * (cast_expression "(int ***)(param_1 + 0x168)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(param_1 + 0x168)" ( (binary_expression "param_1 + 0x168" identifier + number_literal) )))) = (pointer_expression "&local_3c" & identifier)) ;) (expression_statement "local_3c = piVar17;" (assignment_expression "local_3c = piVar17" identifier = identifier) ;) (expression_statement "local_38 = param_2;" (assignment_expression "local_38 = param_2" identifier = identifier) ;) (expression_statement "iVar1 = (*param_4)(param_1,param_3[2],uVar25,pcVar26,in_stack_ffffff98,&local_40);" (assignment_expression "iVar1 = (*param_4)(param_1,param_3[2],uVar25,pcVar26,in_stack_ffffff98,&local_40)" identifier = (call_expression "(*param_4)(param_1,param_3[2],uVar25,pcVar26,in_stack_ffffff98,&local_40)" (parenthesized_expression "(*param_4)" ( (pointer_expression "*param_4" * identifier) )) (argument_list "(param_1,param_3[2],uVar25,pcVar26,in_stack_ffffff98,&local_40)" ( identifier , (subscript_expression "param_3[2]" identifier [ number_literal ]) , identifier , identifier , identifier , (pointer_expression "&local_40" & identifier) )))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x168) = local_34;" (assignment_expression "*(undefined4 *)(param_1 + 0x168) = local_34" (pointer_expression "*(undefined4 *)(param_1 + 0x168)" * (cast_expression "(undefined4 *)(param_1 + 0x168)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x168)" ( (binary_expression "param_1 + 0x168" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar1 == 7) {\n    if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }\nLAB_0009d750:\n    if (local_40 == (int *)0x0) {\n      piVar18 = piVar2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);\n      *param_5 = uVar25;\n    }\n    else {\n      piVar18 = local_40;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);\n      puVar24 = PTR_sqlite3_free_0019096c;\n      *param_5 = uVar25;\n      (*(code *)puVar24)(local_40);\n    }\n    pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    (*pcVar4)(param_1,piVar17);\n  }\n  else {\n    if (iVar1 != 0) goto LAB_0009d750;\n    puVar3 = (undefined1 *)piVar17[2];\n    piVar18 = local_40;\n    if (puVar3 == (undefined1 *)0x0) {\nLAB_0009d70c:\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n    else {\n      *puVar3 = 0;\n      puVar3[1] = 0;\n      puVar3[2] = 0;\n      puVar3[3] = 0;\n      puVar3[4] = 0;\n      puVar3[5] = 0;\n      puVar3[6] = 0;\n      puVar3[7] = 0;\n      puVar3[8] = 0;\n      puVar3[9] = 0;\n      puVar3[10] = 0;\n      puVar3[0xb] = 0;\n      *(int *)piVar17[2] = *param_3;\n      piVar17[3] = 1;\n      if (local_30 != 0) {\n        piVar17[6] = param_2[0x10];\n        param_2[0x10] = piVar17;\n        local_50 = (int)*(short *)((int)param_2 + 0x2a);\n        if (0 < local_50) {\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }\n        goto LAB_0009d70c;\n      }\n      iVar1 = 1;\n      piVar18 = (int *)*param_2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x1478);\n      *param_5 = uVar25;\n      (*pcVar4)(piVar17);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n  }" if (parenthesized_expression "(iVar1 == 7)" ( (binary_expression "iVar1 == 7" identifier == number_literal) )) (compound_statement "{\n    if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }\nLAB_0009d750:\n    if (local_40 == (int *)0x0) {\n      piVar18 = piVar2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);\n      *param_5 = uVar25;\n    }\n    else {\n      piVar18 = local_40;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);\n      puVar24 = PTR_sqlite3_free_0019096c;\n      *param_5 = uVar25;\n      (*(code *)puVar24)(local_40);\n    }\n    pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    (*pcVar4)(param_1,piVar17);\n  }" { (if_statement "if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }" if (parenthesized_expression "((*(uint *)(param_1 + 0x50) & 0xffff00) == 0)" ( (binary_expression "(*(uint *)(param_1 + 0x50) & 0xffff00) == 0" (parenthesized_expression "(*(uint *)(param_1 + 0x50) & 0xffff00)" ( (binary_expression "*(uint *)(param_1 + 0x50) & 0xffff00" (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) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }" { (expression_statement "(*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x82c))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x82c)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x82c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x82c)" ( (binary_expression "PTR_LAB_00190ba8 + 0x82c" identifier + number_literal) )))) )) (argument_list "(param_1)" ( identifier ))) ;) })) (labeled_statement "LAB_0009d750:\n    if (local_40 == (int *)0x0) {\n      piVar18 = piVar2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);\n      *param_5 = uVar25;\n    }\n    else {\n      piVar18 = local_40;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);\n      puVar24 = PTR_sqlite3_free_0019096c;\n      *param_5 = uVar25;\n      (*(code *)puVar24)(local_40);\n    }" statement_identifier : (if_statement "if (local_40 == (int *)0x0) {\n      piVar18 = piVar2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);\n      *param_5 = uVar25;\n    }\n    else {\n      piVar18 = local_40;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);\n      puVar24 = PTR_sqlite3_free_0019096c;\n      *param_5 = uVar25;\n      (*(code *)puVar24)(local_40);\n    }" if (parenthesized_expression "(local_40 == (int *)0x0)" ( (binary_expression "local_40 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      piVar18 = piVar2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);\n      *param_5 = uVar25;\n    }" { (expression_statement "piVar18 = piVar2;" (assignment_expression "piVar18 = piVar2" identifier = identifier) ;) (expression_statement "uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);" (assignment_expression "uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460)" identifier = (call_expression "FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460)" identifier (argument_list "(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460)" ( identifier , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460" identifier + number_literal) )))) ;) (expression_statement "*param_5 = uVar25;" (assignment_expression "*param_5 = uVar25" (pointer_expression "*param_5" * identifier) = identifier) ;) }) (else_clause "else {\n      piVar18 = local_40;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);\n      puVar24 = PTR_sqlite3_free_0019096c;\n      *param_5 = uVar25;\n      (*(code *)puVar24)(local_40);\n    }" else (compound_statement "{\n      piVar18 = local_40;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);\n      puVar24 = PTR_sqlite3_free_0019096c;\n      *param_5 = uVar25;\n      (*(code *)puVar24)(local_40);\n    }" { (expression_statement "piVar18 = local_40;" (assignment_expression "piVar18 = local_40" identifier = identifier) ;) (expression_statement "uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);" (assignment_expression "uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc)" identifier = (call_expression "FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc)" identifier (argument_list "(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc)" ( identifier , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc" identifier + number_literal) )))) ;) (expression_statement "puVar24 = PTR_sqlite3_free_0019096c;" (assignment_expression "puVar24 = PTR_sqlite3_free_0019096c" identifier = identifier) ;) (expression_statement "*param_5 = uVar25;" (assignment_expression "*param_5 = uVar25" (pointer_expression "*param_5" * identifier) = identifier) ;) (expression_statement "(*(code *)puVar24)(local_40);" (call_expression "(*(code *)puVar24)(local_40)" (parenthesized_expression "(*(code *)puVar24)" ( (pointer_expression "*(code *)puVar24" * (cast_expression "(code *)puVar24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_40)" ( identifier ))) ;) })))) (expression_statement "pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);" (assignment_expression "pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2368)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2368)" ( (binary_expression "PTR_LAB_00190ba8 + -0x2368" identifier + number_literal) )))) ;) (expression_statement "(*pcVar4)(param_1,piVar17);" (call_expression "(*pcVar4)(param_1,piVar17)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(param_1,piVar17)" ( identifier , identifier ))) ;) }) (else_clause "else {\n    if (iVar1 != 0) goto LAB_0009d750;\n    puVar3 = (undefined1 *)piVar17[2];\n    piVar18 = local_40;\n    if (puVar3 == (undefined1 *)0x0) {\nLAB_0009d70c:\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n    else {\n      *puVar3 = 0;\n      puVar3[1] = 0;\n      puVar3[2] = 0;\n      puVar3[3] = 0;\n      puVar3[4] = 0;\n      puVar3[5] = 0;\n      puVar3[6] = 0;\n      puVar3[7] = 0;\n      puVar3[8] = 0;\n      puVar3[9] = 0;\n      puVar3[10] = 0;\n      puVar3[0xb] = 0;\n      *(int *)piVar17[2] = *param_3;\n      piVar17[3] = 1;\n      if (local_30 != 0) {\n        piVar17[6] = param_2[0x10];\n        param_2[0x10] = piVar17;\n        local_50 = (int)*(short *)((int)param_2 + 0x2a);\n        if (0 < local_50) {\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }\n        goto LAB_0009d70c;\n      }\n      iVar1 = 1;\n      piVar18 = (int *)*param_2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x1478);\n      *param_5 = uVar25;\n      (*pcVar4)(piVar17);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n  }" else (compound_statement "{\n    if (iVar1 != 0) goto LAB_0009d750;\n    puVar3 = (undefined1 *)piVar17[2];\n    piVar18 = local_40;\n    if (puVar3 == (undefined1 *)0x0) {\nLAB_0009d70c:\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n    else {\n      *puVar3 = 0;\n      puVar3[1] = 0;\n      puVar3[2] = 0;\n      puVar3[3] = 0;\n      puVar3[4] = 0;\n      puVar3[5] = 0;\n      puVar3[6] = 0;\n      puVar3[7] = 0;\n      puVar3[8] = 0;\n      puVar3[9] = 0;\n      puVar3[10] = 0;\n      puVar3[0xb] = 0;\n      *(int *)piVar17[2] = *param_3;\n      piVar17[3] = 1;\n      if (local_30 != 0) {\n        piVar17[6] = param_2[0x10];\n        param_2[0x10] = piVar17;\n        local_50 = (int)*(short *)((int)param_2 + 0x2a);\n        if (0 < local_50) {\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }\n        goto LAB_0009d70c;\n      }\n      iVar1 = 1;\n      piVar18 = (int *)*param_2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x1478);\n      *param_5 = uVar25;\n      (*pcVar4)(piVar17);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n  }" { (if_statement "if (iVar1 != 0) goto LAB_0009d750;" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0009d750;" goto statement_identifier ;)) (expression_statement "puVar3 = (undefined1 *)piVar17[2];" (assignment_expression "puVar3 = (undefined1 *)piVar17[2]" identifier = (cast_expression "(undefined1 *)piVar17[2]" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar17[2]" identifier [ number_literal ]))) ;) (expression_statement "piVar18 = local_40;" (assignment_expression "piVar18 = local_40" identifier = identifier) ;) (if_statement "if (puVar3 == (undefined1 *)0x0) {\nLAB_0009d70c:\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n    else {\n      *puVar3 = 0;\n      puVar3[1] = 0;\n      puVar3[2] = 0;\n      puVar3[3] = 0;\n      puVar3[4] = 0;\n      puVar3[5] = 0;\n      puVar3[6] = 0;\n      puVar3[7] = 0;\n      puVar3[8] = 0;\n      puVar3[9] = 0;\n      puVar3[10] = 0;\n      puVar3[0xb] = 0;\n      *(int *)piVar17[2] = *param_3;\n      piVar17[3] = 1;\n      if (local_30 != 0) {\n        piVar17[6] = param_2[0x10];\n        param_2[0x10] = piVar17;\n        local_50 = (int)*(short *)((int)param_2 + 0x2a);\n        if (0 < local_50) {\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }\n        goto LAB_0009d70c;\n      }\n      iVar1 = 1;\n      piVar18 = (int *)*param_2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x1478);\n      *param_5 = uVar25;\n      (*pcVar4)(piVar17);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }" if (parenthesized_expression "(puVar3 == (undefined1 *)0x0)" ( (binary_expression "puVar3 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0009d70c:\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }" { (labeled_statement "LAB_0009d70c:\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);" statement_identifier : (expression_statement "pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);" (assignment_expression "pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2368)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2368)" ( (binary_expression "PTR_LAB_00190ba8 + -0x2368" identifier + number_literal) )))) ;)) }) (else_clause "else {\n      *puVar3 = 0;\n      puVar3[1] = 0;\n      puVar3[2] = 0;\n      puVar3[3] = 0;\n      puVar3[4] = 0;\n      puVar3[5] = 0;\n      puVar3[6] = 0;\n      puVar3[7] = 0;\n      puVar3[8] = 0;\n      puVar3[9] = 0;\n      puVar3[10] = 0;\n      puVar3[0xb] = 0;\n      *(int *)piVar17[2] = *param_3;\n      piVar17[3] = 1;\n      if (local_30 != 0) {\n        piVar17[6] = param_2[0x10];\n        param_2[0x10] = piVar17;\n        local_50 = (int)*(short *)((int)param_2 + 0x2a);\n        if (0 < local_50) {\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }\n        goto LAB_0009d70c;\n      }\n      iVar1 = 1;\n      piVar18 = (int *)*param_2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x1478);\n      *param_5 = uVar25;\n      (*pcVar4)(piVar17);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }" else (compound_statement "{\n      *puVar3 = 0;\n      puVar3[1] = 0;\n      puVar3[2] = 0;\n      puVar3[3] = 0;\n      puVar3[4] = 0;\n      puVar3[5] = 0;\n      puVar3[6] = 0;\n      puVar3[7] = 0;\n      puVar3[8] = 0;\n      puVar3[9] = 0;\n      puVar3[10] = 0;\n      puVar3[0xb] = 0;\n      *(int *)piVar17[2] = *param_3;\n      piVar17[3] = 1;\n      if (local_30 != 0) {\n        piVar17[6] = param_2[0x10];\n        param_2[0x10] = piVar17;\n        local_50 = (int)*(short *)((int)param_2 + 0x2a);\n        if (0 < local_50) {\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }\n        goto LAB_0009d70c;\n      }\n      iVar1 = 1;\n      piVar18 = (int *)*param_2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x1478);\n      *param_5 = uVar25;\n      (*pcVar4)(piVar17);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }" { (expression_statement "*puVar3 = 0;" (assignment_expression "*puVar3 = 0" (pointer_expression "*puVar3" * identifier) = number_literal) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[2] = 0;" (assignment_expression "puVar3[2] = 0" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[3] = 0;" (assignment_expression "puVar3[3] = 0" (subscript_expression "puVar3[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[4] = 0;" (assignment_expression "puVar3[4] = 0" (subscript_expression "puVar3[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[5] = 0;" (assignment_expression "puVar3[5] = 0" (subscript_expression "puVar3[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[6] = 0;" (assignment_expression "puVar3[6] = 0" (subscript_expression "puVar3[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[7] = 0;" (assignment_expression "puVar3[7] = 0" (subscript_expression "puVar3[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[8] = 0;" (assignment_expression "puVar3[8] = 0" (subscript_expression "puVar3[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[9] = 0;" (assignment_expression "puVar3[9] = 0" (subscript_expression "puVar3[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[10] = 0;" (assignment_expression "puVar3[10] = 0" (subscript_expression "puVar3[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[0xb] = 0;" (assignment_expression "puVar3[0xb] = 0" (subscript_expression "puVar3[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int *)piVar17[2] = *param_3;" (assignment_expression "*(int *)piVar17[2] = *param_3" (pointer_expression "*(int *)piVar17[2]" * (cast_expression "(int *)piVar17[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar17[2]" identifier [ number_literal ]))) = (pointer_expression "*param_3" * identifier)) ;) (expression_statement "piVar17[3] = 1;" (assignment_expression "piVar17[3] = 1" (subscript_expression "piVar17[3]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (local_30 != 0) {\n        piVar17[6] = param_2[0x10];\n        param_2[0x10] = piVar17;\n        local_50 = (int)*(short *)((int)param_2 + 0x2a);\n        if (0 < local_50) {\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }\n        goto LAB_0009d70c;\n      }" if (parenthesized_expression "(local_30 != 0)" ( (binary_expression "local_30 != 0" identifier != number_literal) )) (compound_statement "{\n        piVar17[6] = param_2[0x10];\n        param_2[0x10] = piVar17;\n        local_50 = (int)*(short *)((int)param_2 + 0x2a);\n        if (0 < local_50) {\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }\n        goto LAB_0009d70c;\n      }" { (expression_statement "piVar17[6] = param_2[0x10];" (assignment_expression "piVar17[6] = param_2[0x10]" (subscript_expression "piVar17[6]" identifier [ number_literal ]) = (subscript_expression "param_2[0x10]" identifier [ number_literal ])) ;) (expression_statement "param_2[0x10] = piVar17;" (assignment_expression "param_2[0x10] = piVar17" (subscript_expression "param_2[0x10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_50 = (int)*(short *)((int)param_2 + 0x2a);" (assignment_expression "local_50 = (int)*(short *)((int)param_2 + 0x2a)" identifier = (cast_expression "(int)*(short *)((int)param_2 + 0x2a)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)((int)param_2 + 0x2a)" * (cast_expression "(short *)((int)param_2 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x2a)" ( (binary_expression "(int)param_2 + 0x2a" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))) ;) (if_statement "if (0 < local_50) {\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }" if (parenthesized_expression "(0 < local_50)" ( (binary_expression "0 < local_50" number_literal < identifier) )) (compound_statement "{\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }" { (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" identifier = number_literal) ;) (expression_statement "pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);" (assignment_expression "pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24)" identifier = (cast_expression "(code *)(PTR_LAB_00190bb8 + -0x7f24)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bb8 + -0x7f24)" ( (binary_expression "PTR_LAB_00190bb8 + -0x7f24" identifier + number_literal) )))) ;) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (expression_statement "puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;" (assignment_expression "puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410" identifier = (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410" identifier + number_literal)) ;) (expression_statement "pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);" (assignment_expression "pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x27e4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x27e4)" ( (binary_expression "PTR_LAB_00190ba8 + 0x27e4" identifier + number_literal) )))) ;) (do_statement "do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);" do (compound_statement "{\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          }" { (expression_statement "puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);" (assignment_expression "puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10)" identifier = (cast_expression "(undefined4 *)(param_2[1] + iVar27 * 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[1] + iVar27 * 0x10)" ( (binary_expression "param_2[1] + iVar27 * 0x10" (subscript_expression "param_2[1]" identifier [ number_literal ]) + (binary_expression "iVar27 * 0x10" identifier * number_literal)) )))) ;) (if_statement "if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }" if (parenthesized_expression "(((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0))" ( (binary_expression "((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)" (parenthesized_expression "((*(byte *)((int)puVar5 + 0xf) & 4) != 0)" ( (binary_expression "(*(byte *)((int)puVar5 + 0xf) & 4) != 0" (parenthesized_expression "(*(byte *)((int)puVar5 + 0xf) & 4)" ( (binary_expression "*(byte *)((int)puVar5 + 0xf) & 4" (pointer_expression "*(byte *)((int)puVar5 + 0xf)" * (cast_expression "(byte *)((int)puVar5 + 0xf)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + 0xf)" ( (binary_expression "(int)puVar5 + 0xf" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "(pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)" ( (comma_expression "pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0" (assignment_expression "pcVar6 = (char *)(*pcVar4)(*puVar5)" identifier = (cast_expression "(char *)(*pcVar4)(*puVar5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar4)(*puVar5)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(*puVar5)" ( (pointer_expression "*puVar5" * identifier) ))))) , (binary_expression "pcVar6 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }" { (expression_statement "uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);" (assignment_expression "uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6)" identifier = (call_expression "(*(code *)PTR_strlen_00190d80)(pcVar6)" (parenthesized_expression "(*(code *)PTR_strlen_00190d80)" ( (pointer_expression "*(code *)PTR_strlen_00190d80" * (cast_expression "(code *)PTR_strlen_00190d80" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar6)" ( identifier )))) ;) (expression_statement "uVar7 = uVar7 & 0x3fffffff;" (assignment_expression "uVar7 = uVar7 & 0x3fffffff" identifier = (binary_expression "uVar7 & 0x3fffffff" identifier & number_literal)) ;) (if_statement "if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }" if (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) (compound_statement "{\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }" { (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) (expression_statement "pcVar21 = pcVar6;" (assignment_expression "pcVar21 = pcVar6" identifier = identifier) ;) (labeled_statement "LAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;" statement_identifier : (expression_statement "piVar18 = (int *)&DAT_00000006;" (assignment_expression "piVar18 = (int *)&DAT_00000006" identifier = (cast_expression "(int *)&DAT_00000006" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000006" & identifier))) ;)) (if_statement "if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;" if (parenthesized_expression "(((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' '))))" ( (binary_expression "((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))" (parenthesized_expression "((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))" ( (binary_expression "(pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0)" (parenthesized_expression "(pcVar21 == (char *)0x0)" ( (binary_expression "pcVar21 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0)" ( (comma_expression "iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0" (assignment_expression "iVar8 = (*pcVar23)(puVar24,pcVar21)" identifier = (call_expression "(*pcVar23)(puVar24,pcVar21)" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "(puVar24,pcVar21)" ( identifier , identifier )))) , (binary_expression "iVar8 != 0" identifier != number_literal)) ))) )) || (parenthesized_expression "((uVar22 != 0 && (pcVar21[-1] != ' ')))" ( (parenthesized_expression "(uVar22 != 0 && (pcVar21[-1] != ' '))" ( (binary_expression "uVar22 != 0 && (pcVar21[-1] != ' ')" (binary_expression "uVar22 != 0" identifier != number_literal) && (parenthesized_expression "(pcVar21[-1] != ' ')" ( (binary_expression "pcVar21[-1] != ' '" (subscript_expression "pcVar21[-1]" identifier [ number_literal ]) != (char_literal "' '" ' character ')) ))) )) ))) )) (goto_statement "goto LAB_0009d634;" goto statement_identifier ;)) (if_statement "if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }" if (parenthesized_expression "(pcVar21[6] == '\0')" ( (binary_expression "pcVar21[6] == '\0'" (subscript_expression "pcVar21[6]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  iVar8 = 6;\n                }" { (expression_statement "iVar8 = 6;" (assignment_expression "iVar8 = 6" identifier = number_literal) ;) }) (else_clause "else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }" else (compound_statement "{\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }" { (if_statement "if (pcVar21[6] != ' ') goto LAB_0009d634;" if (parenthesized_expression "(pcVar21[6] != ' ')" ( (binary_expression "pcVar21[6] != ' '" (subscript_expression "pcVar21[6]" identifier [ number_literal ]) != (char_literal "' '" ' character ')) )) (goto_statement "goto LAB_0009d634;" goto statement_identifier ;)) (expression_statement "iVar8 = 7;" (assignment_expression "iVar8 = 7" identifier = number_literal) ;) }))) (if_statement "if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }" if (parenthesized_expression "((int)(iVar8 + uVar22) <= (int)uVar7)" ( (binary_expression "(int)(iVar8 + uVar22) <= (int)uVar7" (cast_expression "(int)(iVar8 + uVar22)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar8 + uVar22)" ( (binary_expression "iVar8 + uVar22" identifier + identifier) ))) <= (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }" { (expression_statement "iVar13 = (int)(pcVar6 + uVar22) - uVar22;" (assignment_expression "iVar13 = (int)(pcVar6 + uVar22) - uVar22" identifier = (binary_expression "(int)(pcVar6 + uVar22) - uVar22" (cast_expression "(int)(pcVar6 + uVar22)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar6 + uVar22)" ( (binary_expression "pcVar6 + uVar22" identifier + identifier) ))) - identifier)) ;) (expression_statement "pcVar10 = pcVar6 + uVar22;" (assignment_expression "pcVar10 = pcVar6 + uVar22" identifier = (binary_expression "pcVar6 + uVar22" identifier + identifier)) ;) (do_statement "do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);" do (compound_statement "{\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  }" { (expression_statement "pcVar9 = pcVar10 + 1;" (assignment_expression "pcVar9 = pcVar10 + 1" identifier = (binary_expression "pcVar10 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);" (assignment_expression "*pcVar10 = *(char *)(iVar13 + iVar8 + uVar22)" (pointer_expression "*pcVar10" * identifier) = (pointer_expression "*(char *)(iVar13 + iVar8 + uVar22)" * (cast_expression "(char *)(iVar13 + iVar8 + uVar22)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + iVar8 + uVar22)" ( (binary_expression "iVar13 + iVar8 + uVar22" (binary_expression "iVar13 + iVar8" identifier + identifier) + identifier) ))))) ;) (expression_statement "iVar13 = (int)pcVar9 - uVar22;" (assignment_expression "iVar13 = (int)pcVar9 - uVar22" identifier = (binary_expression "(int)pcVar9 - uVar22" (cast_expression "(int)pcVar9" ( (type_descriptor "int" primitive_type) ) identifier) - identifier)) ;) (expression_statement "pcVar10 = pcVar9;" (assignment_expression "pcVar10 = pcVar9" identifier = identifier) ;) }) while (parenthesized_expression "((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7)" ( (binary_expression "(int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7" (cast_expression "(int)(pcVar9 + (iVar8 - (int)pcVar6))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar9 + (iVar8 - (int)pcVar6))" ( (binary_expression "pcVar9 + (iVar8 - (int)pcVar6)" identifier + (parenthesized_expression "(iVar8 - (int)pcVar6)" ( (binary_expression "iVar8 - (int)pcVar6" identifier - (cast_expression "(int)pcVar6" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) <= (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (if_statement "if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }" if (parenthesized_expression "((*pcVar21 == '\0') && (uVar22 != 0))" ( (binary_expression "(*pcVar21 == '\0') && (uVar22 != 0)" (parenthesized_expression "(*pcVar21 == '\0')" ( (binary_expression "*pcVar21 == '\0'" (pointer_expression "*pcVar21" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(uVar22 != 0)" ( (binary_expression "uVar22 != 0" identifier != number_literal) ))) )) (compound_statement "{\n                  pcVar6[uVar22 - 1] = '\0';\n                }" { (expression_statement "pcVar6[uVar22 - 1] = '\0';" (assignment_expression "pcVar6[uVar22 - 1] = '\0'" (subscript_expression "pcVar6[uVar22 - 1]" identifier [ (binary_expression "uVar22 - 1" identifier - number_literal) ]) = (char_literal "'\0'" ' escape_sequence ')) ;) })) (expression_statement "local_48 = 0x80;" (assignment_expression "local_48 = 0x80" identifier = number_literal) ;) (expression_statement "iVar8 = param_2[1] + iVar27 * 0x10;" (assignment_expression "iVar8 = param_2[1] + iVar27 * 0x10" identifier = (binary_expression "param_2[1] + iVar27 * 0x10" (subscript_expression "param_2[1]" identifier [ number_literal ]) + (binary_expression "iVar27 * 0x10" identifier * number_literal))) ;) (expression_statement "*(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;" (assignment_expression "*(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2" (pointer_expression "*(byte *)(iVar8 + 0xf)" * (cast_expression "(byte *)(iVar8 + 0xf)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xf)" ( (binary_expression "iVar8 + 0xf" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar8 + 0xf) | 2" (pointer_expression "*(byte *)(iVar8 + 0xf)" * (cast_expression "(byte *)(iVar8 + 0xf)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xf)" ( (binary_expression "iVar8 + 0xf" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "local_50 = (int)*(short *)((int)param_2 + 0x2a);" (assignment_expression "local_50 = (int)*(short *)((int)param_2 + 0x2a)" identifier = (cast_expression "(int)*(short *)((int)param_2 + 0x2a)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)((int)param_2 + 0x2a)" * (cast_expression "(short *)((int)param_2 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x2a)" ( (binary_expression "(int)param_2 + 0x2a" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))) ;) (goto_statement "goto LAB_0009d6f8;" goto statement_identifier ;) })) })) (labeled_statement "LAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;" statement_identifier : (expression_statement "param_2[9] = param_2[9] | local_48;" (assignment_expression "param_2[9] = param_2[9] | local_48" (subscript_expression "param_2[9]" identifier [ number_literal ]) = (binary_expression "param_2[9] | local_48" (subscript_expression "param_2[9]" identifier [ number_literal ]) | identifier)) ;)) (labeled_statement "LAB_0009d6f8:\n            iVar27 = iVar27 + 1;" statement_identifier : (expression_statement "iVar27 = iVar27 + 1;" (assignment_expression "iVar27 = iVar27 + 1" identifier = (binary_expression "iVar27 + 1" identifier + number_literal)) ;)) }) while (parenthesized_expression "(iVar27 < local_50)" ( (binary_expression "iVar27 < local_50" identifier < identifier) )) ;) })) (goto_statement "goto LAB_0009d70c;" goto statement_identifier ;) })) (expression_statement "iVar1 = 1;" (assignment_expression "iVar1 = 1" identifier = number_literal) ;) (expression_statement "piVar18 = (int *)*param_2;" (assignment_expression "piVar18 = (int *)*param_2" identifier = (cast_expression "(int *)*param_2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier))) ;) (expression_statement "uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);" (assignment_expression "uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440)" identifier = (call_expression "FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440)" identifier (argument_list "(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440)" ( identifier , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440" identifier + number_literal) )))) ;) (expression_statement "pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x1478);" (assignment_expression "pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x1478)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x1478)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x1478)" ( (binary_expression "PTR_LAB_00190ba8 + -0x1478" identifier + number_literal) )))) ;) (expression_statement "*param_5 = uVar25;" (assignment_expression "*param_5 = uVar25" (pointer_expression "*param_5" * identifier) = identifier) ;) (expression_statement "(*pcVar4)(piVar17);" (call_expression "(*pcVar4)(piVar17)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(piVar17)" ( identifier ))) ;) (expression_statement "pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);" (assignment_expression "pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2368)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2368)" ( (binary_expression "PTR_LAB_00190ba8 + -0x2368" identifier + number_literal) )))) ;) }))) }))) (expression_statement "(*pcVar4)(param_1);" (call_expression "(*pcVar4)(param_1)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "piVar17 = piVar2;" (assignment_expression "piVar17 = piVar2" identifier = identifier) ;) (expression_statement "param_4 = pcVar26;" (assignment_expression "param_4 = pcVar26" identifier = identifier) ;) (labeled_statement "LAB_0009d418:\n  if (local_2c == *(int **)puVar28) {\n    return iVar1;\n  }" statement_identifier : (if_statement "if (local_2c == *(int **)puVar28) {\n    return iVar1;\n  }" if (parenthesized_expression "(local_2c == *(int **)puVar28)" ( (binary_expression "local_2c == *(int **)puVar28" identifier == (pointer_expression "*(int **)puVar28" * (cast_expression "(int **)puVar28" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return iVar1;\n  }" { (return_statement "return iVar1;" return identifier ;) }))) (expression_statement "piVar2 = local_2c;" (assignment_expression "piVar2 = local_2c" identifier = identifier) ;) (expression_statement "puVar28 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar28 = PTR___stack_chk_fail_00190df8" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00190df8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" * (cast_expression "(code *)PTR___stack_chk_fail_00190df8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (param_4 == (code *)0x0) {\n    uVar7 = 0;\n  }\n  else {\n    uVar7 = (**(code **)(puVar28 + 0xf34e4))(param_4);\n    uVar7 = uVar7 & 0x3fffffff;\n  }" if (parenthesized_expression "(param_4 == (code *)0x0)" ( (binary_expression "param_4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar7 = 0;\n  }" { (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    uVar7 = (**(code **)(puVar28 + 0xf34e4))(param_4);\n    uVar7 = uVar7 & 0x3fffffff;\n  }" else (compound_statement "{\n    uVar7 = (**(code **)(puVar28 + 0xf34e4))(param_4);\n    uVar7 = uVar7 & 0x3fffffff;\n  }" { (expression_statement "uVar7 = (**(code **)(puVar28 + 0xf34e4))(param_4);" (assignment_expression "uVar7 = (**(code **)(puVar28 + 0xf34e4))(param_4)" identifier = (call_expression "(**(code **)(puVar28 + 0xf34e4))(param_4)" (parenthesized_expression "(**(code **)(puVar28 + 0xf34e4))" ( (pointer_expression "**(code **)(puVar28 + 0xf34e4)" * (pointer_expression "*(code **)(puVar28 + 0xf34e4)" * (cast_expression "(code **)(puVar28 + 0xf34e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0xf34e4)" ( (binary_expression "puVar28 + 0xf34e4" identifier + number_literal) ))))) )) (argument_list "(param_4)" ( identifier )))) ;) (expression_statement "uVar7 = uVar7 & 0x3fffffff;" (assignment_expression "uVar7 = uVar7 & 0x3fffffff" identifier = (binary_expression "uVar7 & 0x3fffffff" identifier & number_literal)) ;) }))) (if_statement "if (piVar18 == (int *)0x0) {\n    uVar22 = 0;\n  }\n  else {\n    uVar22 = (**(code **)(puVar28 + 0xf34e4))(piVar18);\n    uVar22 = uVar22 & 0x3fffffff;\n  }" if (parenthesized_expression "(piVar18 == (int *)0x0)" ( (binary_expression "piVar18 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar22 = 0;\n  }" { (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    uVar22 = (**(code **)(puVar28 + 0xf34e4))(piVar18);\n    uVar22 = uVar22 & 0x3fffffff;\n  }" else (compound_statement "{\n    uVar22 = (**(code **)(puVar28 + 0xf34e4))(piVar18);\n    uVar22 = uVar22 & 0x3fffffff;\n  }" { (expression_statement "uVar22 = (**(code **)(puVar28 + 0xf34e4))(piVar18);" (assignment_expression "uVar22 = (**(code **)(puVar28 + 0xf34e4))(piVar18)" identifier = (call_expression "(**(code **)(puVar28 + 0xf34e4))(piVar18)" (parenthesized_expression "(**(code **)(puVar28 + 0xf34e4))" ( (pointer_expression "**(code **)(puVar28 + 0xf34e4)" * (pointer_expression "*(code **)(puVar28 + 0xf34e4)" * (cast_expression "(code **)(puVar28 + 0xf34e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0xf34e4)" ( (binary_expression "puVar28 + 0xf34e4" identifier + number_literal) ))))) )) (argument_list "(piVar18)" ( identifier )))) ;) (expression_statement "uVar22 = uVar22 & 0x3fffffff;" (assignment_expression "uVar22 = uVar22 & 0x3fffffff" identifier = (binary_expression "uVar22 & 0x3fffffff" identifier & number_literal)) ;) }))) (expression_statement "uVar25 = *(undefined4 *)(*piVar2 + 0x20);" (assignment_expression "uVar25 = *(undefined4 *)(*piVar2 + 0x20)" identifier = (pointer_expression "*(undefined4 *)(*piVar2 + 0x20)" * (cast_expression "(undefined4 *)(*piVar2 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar2 + 0x20)" ( (binary_expression "*piVar2 + 0x20" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) ;) (expression_statement "pcVar26 = (code *)FUN_0009d164(uVar25,*(int *)(puVar28 + 0xf30c0) + -0x56e8,param_4);" (assignment_expression "pcVar26 = (code *)FUN_0009d164(uVar25,*(int *)(puVar28 + 0xf30c0) + -0x56e8,param_4)" identifier = (cast_expression "(code *)FUN_0009d164(uVar25,*(int *)(puVar28 + 0xf30c0) + -0x56e8,param_4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0009d164(uVar25,*(int *)(puVar28 + 0xf30c0) + -0x56e8,param_4)" identifier (argument_list "(uVar25,*(int *)(puVar28 + 0xf30c0) + -0x56e8,param_4)" ( identifier , (binary_expression "*(int *)(puVar28 + 0xf30c0) + -0x56e8" (pointer_expression "*(int *)(puVar28 + 0xf30c0)" * (cast_expression "(int *)(puVar28 + 0xf30c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + 0xf30c0)" ( (binary_expression "puVar28 + 0xf30c0" identifier + number_literal) )))) + number_literal) , identifier ))))) ;) (if_statement "if (pcVar26 == (code *)0x0) {\n    return 7;\n  }" if (parenthesized_expression "(pcVar26 == (code *)0x0)" ( (binary_expression "pcVar26 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    return 7;\n  }" { (return_statement "return 7;" return number_literal ;) })) (if_statement "if (in_stack_ffffff98 != (int *)0x0) {\n    param_4 = pcVar26;\n  }" if (parenthesized_expression "(in_stack_ffffff98 != (int *)0x0)" ( (binary_expression "in_stack_ffffff98 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    param_4 = pcVar26;\n  }" { (expression_statement "param_4 = pcVar26;" (assignment_expression "param_4 = pcVar26" identifier = identifier) ;) })) (expression_statement "uVar11 = (**(code **)(puVar28 + 0xf34e4))(pcVar26);" (assignment_expression "uVar11 = (**(code **)(puVar28 + 0xf34e4))(pcVar26)" identifier = (call_expression "(**(code **)(puVar28 + 0xf34e4))(pcVar26)" (parenthesized_expression "(**(code **)(puVar28 + 0xf34e4))" ( (pointer_expression "**(code **)(puVar28 + 0xf34e4)" * (pointer_expression "*(code **)(puVar28 + 0xf34e4)" * (cast_expression "(code **)(puVar28 + 0xf34e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0xf34e4)" ( (binary_expression "puVar28 + 0xf34e4" identifier + number_literal) ))))) )) (argument_list "(pcVar26)" ( identifier )))) ;) (if_statement "if (in_stack_ffffff98 != (int *)0x0) {\n    uVar7 = uVar11 & 0x3fffffff;\n  }" if (parenthesized_expression "(in_stack_ffffff98 != (int *)0x0)" ( (binary_expression "in_stack_ffffff98 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar7 = uVar11 & 0x3fffffff;\n  }" { (expression_statement "uVar7 = uVar11 & 0x3fffffff;" (assignment_expression "uVar7 = uVar11 & 0x3fffffff" identifier = (binary_expression "uVar11 & 0x3fffffff" identifier & number_literal)) ;) })) (expression_statement "iVar1 = (*(code *)(*(int *)(puVar28 + 0xf330c) + 0x924))(uVar25);" (assignment_expression "iVar1 = (*(code *)(*(int *)(puVar28 + 0xf330c) + 0x924))(uVar25)" identifier = (call_expression "(*(code *)(*(int *)(puVar28 + 0xf330c) + 0x924))(uVar25)" (parenthesized_expression "(*(code *)(*(int *)(puVar28 + 0xf330c) + 0x924))" ( (pointer_expression "*(code *)(*(int *)(puVar28 + 0xf330c) + 0x924)" * (cast_expression "(code *)(*(int *)(puVar28 + 0xf330c) + 0x924)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar28 + 0xf330c) + 0x924)" ( (binary_expression "*(int *)(puVar28 + 0xf330c) + 0x924" (pointer_expression "*(int *)(puVar28 + 0xf330c)" * (cast_expression "(int *)(puVar28 + 0xf330c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + 0xf330c)" ( (binary_expression "puVar28 + 0xf330c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(uVar25)" ( identifier )))) ;) (if_statement "if (iVar1 == 0) {\n    iVar27 = 7;\n  }\n  else {\n    (**(code **)(puVar28 + 0xf3590))(iVar1,piVar18,uVar22);\n    iVar27 = *piVar17;\n    iVar8 = *(int *)(puVar28 + 0xf330c);\n    if (iVar27 != 0) {\n      iVar13 = *(int *)(puVar28 + 0xf32f8);\n      do {\n        iVar14 = *(int *)(iVar27 + 0xc);\n        iVar12 = iVar14;\n        iVar29 = iVar27;\n        if (iVar14 == 0) {\n          iVar12 = 0;\n          piVar19 = piVar17;\nLAB_0009da24:\n          *piVar19 = iVar12;\n        }\n        else {\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }\n        pbVar16 = *(byte **)(iVar27 + 4);\n        uVar20 = uVar11 & 0x3fffffff;\n        pcVar4 = pcVar26;\n        if ((*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0) {\n          uVar20 = uVar7;\n          pcVar4 = param_4;\n        }\n        if (*(uint *)(iVar27 + 8) != uVar20) {\n          (**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));\n          uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;\n          *(undefined1 *)(iVar1 + uVar22) = 0;\n        }\n        (**(code **)(puVar28 + 0xf3590))(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20);\n        (*(code *)(iVar8 + -0x2368))(uVar25,iVar27);\n        iVar27 = *piVar17;\n      } while (iVar27 != 0);\n    }\n    FUN_0007ec40(piVar2,piVar2 + 5,iVar1,0xffffffff,1,0xffffffff);\n    iVar27 = 0;\n    (*(code *)(iVar8 + -0x2368))(uVar25,iVar1);\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar27 = 7;\n  }" { (expression_statement "iVar27 = 7;" (assignment_expression "iVar27 = 7" identifier = number_literal) ;) }) (else_clause "else {\n    (**(code **)(puVar28 + 0xf3590))(iVar1,piVar18,uVar22);\n    iVar27 = *piVar17;\n    iVar8 = *(int *)(puVar28 + 0xf330c);\n    if (iVar27 != 0) {\n      iVar13 = *(int *)(puVar28 + 0xf32f8);\n      do {\n        iVar14 = *(int *)(iVar27 + 0xc);\n        iVar12 = iVar14;\n        iVar29 = iVar27;\n        if (iVar14 == 0) {\n          iVar12 = 0;\n          piVar19 = piVar17;\nLAB_0009da24:\n          *piVar19 = iVar12;\n        }\n        else {\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }\n        pbVar16 = *(byte **)(iVar27 + 4);\n        uVar20 = uVar11 & 0x3fffffff;\n        pcVar4 = pcVar26;\n        if ((*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0) {\n          uVar20 = uVar7;\n          pcVar4 = param_4;\n        }\n        if (*(uint *)(iVar27 + 8) != uVar20) {\n          (**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));\n          uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;\n          *(undefined1 *)(iVar1 + uVar22) = 0;\n        }\n        (**(code **)(puVar28 + 0xf3590))(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20);\n        (*(code *)(iVar8 + -0x2368))(uVar25,iVar27);\n        iVar27 = *piVar17;\n      } while (iVar27 != 0);\n    }\n    FUN_0007ec40(piVar2,piVar2 + 5,iVar1,0xffffffff,1,0xffffffff);\n    iVar27 = 0;\n    (*(code *)(iVar8 + -0x2368))(uVar25,iVar1);\n  }" else (compound_statement "{\n    (**(code **)(puVar28 + 0xf3590))(iVar1,piVar18,uVar22);\n    iVar27 = *piVar17;\n    iVar8 = *(int *)(puVar28 + 0xf330c);\n    if (iVar27 != 0) {\n      iVar13 = *(int *)(puVar28 + 0xf32f8);\n      do {\n        iVar14 = *(int *)(iVar27 + 0xc);\n        iVar12 = iVar14;\n        iVar29 = iVar27;\n        if (iVar14 == 0) {\n          iVar12 = 0;\n          piVar19 = piVar17;\nLAB_0009da24:\n          *piVar19 = iVar12;\n        }\n        else {\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }\n        pbVar16 = *(byte **)(iVar27 + 4);\n        uVar20 = uVar11 & 0x3fffffff;\n        pcVar4 = pcVar26;\n        if ((*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0) {\n          uVar20 = uVar7;\n          pcVar4 = param_4;\n        }\n        if (*(uint *)(iVar27 + 8) != uVar20) {\n          (**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));\n          uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;\n          *(undefined1 *)(iVar1 + uVar22) = 0;\n        }\n        (**(code **)(puVar28 + 0xf3590))(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20);\n        (*(code *)(iVar8 + -0x2368))(uVar25,iVar27);\n        iVar27 = *piVar17;\n      } while (iVar27 != 0);\n    }\n    FUN_0007ec40(piVar2,piVar2 + 5,iVar1,0xffffffff,1,0xffffffff);\n    iVar27 = 0;\n    (*(code *)(iVar8 + -0x2368))(uVar25,iVar1);\n  }" { (expression_statement "(**(code **)(puVar28 + 0xf3590))(iVar1,piVar18,uVar22);" (call_expression "(**(code **)(puVar28 + 0xf3590))(iVar1,piVar18,uVar22)" (parenthesized_expression "(**(code **)(puVar28 + 0xf3590))" ( (pointer_expression "**(code **)(puVar28 + 0xf3590)" * (pointer_expression "*(code **)(puVar28 + 0xf3590)" * (cast_expression "(code **)(puVar28 + 0xf3590)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0xf3590)" ( (binary_expression "puVar28 + 0xf3590" identifier + number_literal) ))))) )) (argument_list "(iVar1,piVar18,uVar22)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar27 = *piVar17;" (assignment_expression "iVar27 = *piVar17" identifier = (pointer_expression "*piVar17" * identifier)) ;) (expression_statement "iVar8 = *(int *)(puVar28 + 0xf330c);" (assignment_expression "iVar8 = *(int *)(puVar28 + 0xf330c)" identifier = (pointer_expression "*(int *)(puVar28 + 0xf330c)" * (cast_expression "(int *)(puVar28 + 0xf330c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + 0xf330c)" ( (binary_expression "puVar28 + 0xf330c" identifier + number_literal) ))))) ;) (if_statement "if (iVar27 != 0) {\n      iVar13 = *(int *)(puVar28 + 0xf32f8);\n      do {\n        iVar14 = *(int *)(iVar27 + 0xc);\n        iVar12 = iVar14;\n        iVar29 = iVar27;\n        if (iVar14 == 0) {\n          iVar12 = 0;\n          piVar19 = piVar17;\nLAB_0009da24:\n          *piVar19 = iVar12;\n        }\n        else {\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }\n        pbVar16 = *(byte **)(iVar27 + 4);\n        uVar20 = uVar11 & 0x3fffffff;\n        pcVar4 = pcVar26;\n        if ((*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0) {\n          uVar20 = uVar7;\n          pcVar4 = param_4;\n        }\n        if (*(uint *)(iVar27 + 8) != uVar20) {\n          (**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));\n          uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;\n          *(undefined1 *)(iVar1 + uVar22) = 0;\n        }\n        (**(code **)(puVar28 + 0xf3590))(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20);\n        (*(code *)(iVar8 + -0x2368))(uVar25,iVar27);\n        iVar27 = *piVar17;\n      } while (iVar27 != 0);\n    }" if (parenthesized_expression "(iVar27 != 0)" ( (binary_expression "iVar27 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar13 = *(int *)(puVar28 + 0xf32f8);\n      do {\n        iVar14 = *(int *)(iVar27 + 0xc);\n        iVar12 = iVar14;\n        iVar29 = iVar27;\n        if (iVar14 == 0) {\n          iVar12 = 0;\n          piVar19 = piVar17;\nLAB_0009da24:\n          *piVar19 = iVar12;\n        }\n        else {\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }\n        pbVar16 = *(byte **)(iVar27 + 4);\n        uVar20 = uVar11 & 0x3fffffff;\n        pcVar4 = pcVar26;\n        if ((*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0) {\n          uVar20 = uVar7;\n          pcVar4 = param_4;\n        }\n        if (*(uint *)(iVar27 + 8) != uVar20) {\n          (**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));\n          uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;\n          *(undefined1 *)(iVar1 + uVar22) = 0;\n        }\n        (**(code **)(puVar28 + 0xf3590))(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20);\n        (*(code *)(iVar8 + -0x2368))(uVar25,iVar27);\n        iVar27 = *piVar17;\n      } while (iVar27 != 0);\n    }" { (expression_statement "iVar13 = *(int *)(puVar28 + 0xf32f8);" (assignment_expression "iVar13 = *(int *)(puVar28 + 0xf32f8)" identifier = (pointer_expression "*(int *)(puVar28 + 0xf32f8)" * (cast_expression "(int *)(puVar28 + 0xf32f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + 0xf32f8)" ( (binary_expression "puVar28 + 0xf32f8" identifier + number_literal) ))))) ;) (do_statement "do {\n        iVar14 = *(int *)(iVar27 + 0xc);\n        iVar12 = iVar14;\n        iVar29 = iVar27;\n        if (iVar14 == 0) {\n          iVar12 = 0;\n          piVar19 = piVar17;\nLAB_0009da24:\n          *piVar19 = iVar12;\n        }\n        else {\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }\n        pbVar16 = *(byte **)(iVar27 + 4);\n        uVar20 = uVar11 & 0x3fffffff;\n        pcVar4 = pcVar26;\n        if ((*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0) {\n          uVar20 = uVar7;\n          pcVar4 = param_4;\n        }\n        if (*(uint *)(iVar27 + 8) != uVar20) {\n          (**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));\n          uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;\n          *(undefined1 *)(iVar1 + uVar22) = 0;\n        }\n        (**(code **)(puVar28 + 0xf3590))(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20);\n        (*(code *)(iVar8 + -0x2368))(uVar25,iVar27);\n        iVar27 = *piVar17;\n      } while (iVar27 != 0);" do (compound_statement "{\n        iVar14 = *(int *)(iVar27 + 0xc);\n        iVar12 = iVar14;\n        iVar29 = iVar27;\n        if (iVar14 == 0) {\n          iVar12 = 0;\n          piVar19 = piVar17;\nLAB_0009da24:\n          *piVar19 = iVar12;\n        }\n        else {\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }\n        pbVar16 = *(byte **)(iVar27 + 4);\n        uVar20 = uVar11 & 0x3fffffff;\n        pcVar4 = pcVar26;\n        if ((*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0) {\n          uVar20 = uVar7;\n          pcVar4 = param_4;\n        }\n        if (*(uint *)(iVar27 + 8) != uVar20) {\n          (**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));\n          uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;\n          *(undefined1 *)(iVar1 + uVar22) = 0;\n        }\n        (**(code **)(puVar28 + 0xf3590))(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20);\n        (*(code *)(iVar8 + -0x2368))(uVar25,iVar27);\n        iVar27 = *piVar17;\n      }" { (expression_statement "iVar14 = *(int *)(iVar27 + 0xc);" (assignment_expression "iVar14 = *(int *)(iVar27 + 0xc)" identifier = (pointer_expression "*(int *)(iVar27 + 0xc)" * (cast_expression "(int *)(iVar27 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0xc)" ( (binary_expression "iVar27 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = iVar14;" (assignment_expression "iVar12 = iVar14" identifier = identifier) ;) (expression_statement "iVar29 = iVar27;" (assignment_expression "iVar29 = iVar27" identifier = identifier) ;) (if_statement "if (iVar14 == 0) {\n          iVar12 = 0;\n          piVar19 = piVar17;\nLAB_0009da24:\n          *piVar19 = iVar12;\n        }\n        else {\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar12 = 0;\n          piVar19 = piVar17;\nLAB_0009da24:\n          *piVar19 = iVar12;\n        }" { (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (expression_statement "piVar19 = piVar17;" (assignment_expression "piVar19 = piVar17" identifier = identifier) ;) (labeled_statement "LAB_0009da24:\n          *piVar19 = iVar12;" statement_identifier : (expression_statement "*piVar19 = iVar12;" (assignment_expression "*piVar19 = iVar12" (pointer_expression "*piVar19" * identifier) = identifier) ;)) }) (else_clause "else {\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }" else (compound_statement "{\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }" { (do_statement "do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);" do (compound_statement "{\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          }" { (if_statement "if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }" if (parenthesized_expression "(*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4))" ( (binary_expression "*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)" (pointer_expression "*(uint *)(iVar29 + 4)" * (cast_expression "(uint *)(iVar29 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 4)" ( (binary_expression "iVar29 + 4" identifier + number_literal) )))) < (pointer_expression "*(uint *)(iVar12 + 4)" * (cast_expression "(uint *)(iVar12 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 4)" ( (binary_expression "iVar12 + 4" identifier + number_literal) ))))) )) (compound_statement "{\n              iVar29 = iVar12;\n            }" { (expression_statement "iVar29 = iVar12;" (assignment_expression "iVar29 = iVar12" identifier = identifier) ;) })) (expression_statement "piVar19 = (int *)(iVar12 + 0xc);" (assignment_expression "piVar19 = (int *)(iVar12 + 0xc)" identifier = (cast_expression "(int *)(iVar12 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0xc)" ( (binary_expression "iVar12 + 0xc" identifier + number_literal) )))) ;) (expression_statement "iVar12 = *piVar19;" (assignment_expression "iVar12 = *piVar19" identifier = (pointer_expression "*piVar19" * identifier)) ;) }) while (parenthesized_expression "(*piVar19 != 0)" ( (binary_expression "*piVar19 != 0" (pointer_expression "*piVar19" * identifier) != number_literal) )) ;) (expression_statement "iVar12 = *(int *)(iVar29 + 0xc);" (assignment_expression "iVar12 = *(int *)(iVar29 + 0xc)" identifier = (pointer_expression "*(int *)(iVar29 + 0xc)" * (cast_expression "(int *)(iVar29 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xc)" ( (binary_expression "iVar29 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }" if (parenthesized_expression "(iVar29 != iVar27)" ( (binary_expression "iVar29 != iVar27" identifier != identifier) )) (compound_statement "{\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }" { (while_statement "while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }" while (parenthesized_expression "(iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29)" ( (comma_expression "iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29" (assignment_expression "iVar15 = iVar14" identifier = identifier) , (comma_expression "piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29" (assignment_expression "piVar19 = (int *)(iVar27 + 0xc)" identifier = (cast_expression "(int *)(iVar27 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0xc)" ( (binary_expression "iVar27 + 0xc" identifier + number_literal) )))) , (comma_expression "iVar27 = iVar29,\n                  iVar15 != iVar29" (assignment_expression "iVar27 = iVar29" identifier = identifier) , (binary_expression "iVar15 != iVar29" identifier != identifier)))) )) (compound_statement "{\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }" { (expression_statement "iVar27 = iVar15;" (assignment_expression "iVar27 = iVar15" identifier = identifier) ;) (expression_statement "iVar14 = *(int *)(iVar15 + 0xc);" (assignment_expression "iVar14 = *(int *)(iVar15 + 0xc)" identifier = (pointer_expression "*(int *)(iVar15 + 0xc)" * (cast_expression "(int *)(iVar15 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0xc)" ( (binary_expression "iVar15 + 0xc" identifier + number_literal) ))))) ;) })) (goto_statement "goto LAB_0009da24;" goto statement_identifier ;) })) (expression_statement "*piVar17 = iVar12;" (assignment_expression "*piVar17 = iVar12" (pointer_expression "*piVar17" * identifier) = identifier) ;) (expression_statement "iVar27 = iVar29;" (assignment_expression "iVar27 = iVar29" identifier = identifier) ;) }))) (expression_statement "pbVar16 = *(byte **)(iVar27 + 4);" (assignment_expression "pbVar16 = *(byte **)(iVar27 + 4)" identifier = (pointer_expression "*(byte **)(iVar27 + 4)" * (cast_expression "(byte **)(iVar27 + 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar27 + 4)" ( (binary_expression "iVar27 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar20 = uVar11 & 0x3fffffff;" (assignment_expression "uVar20 = uVar11 & 0x3fffffff" identifier = (binary_expression "uVar11 & 0x3fffffff" identifier & number_literal)) ;) (expression_statement "pcVar4 = pcVar26;" (assignment_expression "pcVar4 = pcVar26" identifier = identifier) ;) (if_statement "if ((*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0) {\n          uVar20 = uVar7;\n          pcVar4 = param_4;\n        }" if (parenthesized_expression "((*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0)" ( (binary_expression "(*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0" (parenthesized_expression "(*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46)" ( (binary_expression "*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46" (pointer_expression "*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16)" * (cast_expression "(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + -0x3d18 + (uint)*pbVar16)" ( (binary_expression "iVar13 + -0x3d18 + (uint)*pbVar16" (binary_expression "iVar13 + -0x3d18" identifier + number_literal) + (binary_expression "(uint)*pbVar16" (parenthesized_expression "(uint)" ( identifier )) * identifier)) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          uVar20 = uVar7;\n          pcVar4 = param_4;\n        }" { (expression_statement "uVar20 = uVar7;" (assignment_expression "uVar20 = uVar7" identifier = identifier) ;) (expression_statement "pcVar4 = param_4;" (assignment_expression "pcVar4 = param_4" identifier = identifier) ;) })) (if_statement "if (*(uint *)(iVar27 + 8) != uVar20) {\n          (**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));\n          uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;\n          *(undefined1 *)(iVar1 + uVar22) = 0;\n        }" if (parenthesized_expression "(*(uint *)(iVar27 + 8) != uVar20)" ( (binary_expression "*(uint *)(iVar27 + 8) != uVar20" (pointer_expression "*(uint *)(iVar27 + 8)" * (cast_expression "(uint *)(iVar27 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 8)" ( (binary_expression "iVar27 + 8" identifier + number_literal) )))) != identifier) )) (compound_statement "{\n          (**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));\n          uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;\n          *(undefined1 *)(iVar1 + uVar22) = 0;\n        }" { (expression_statement "(**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));" (call_expression "(**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)))" (parenthesized_expression "(**(code **)(puVar28 + 0xf35a0))" ( (pointer_expression "**(code **)(puVar28 + 0xf35a0)" * (pointer_expression "*(code **)(puVar28 + 0xf35a0)" * (cast_expression "(code **)(puVar28 + 0xf35a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0xf35a0)" ( (binary_expression "puVar28 + 0xf35a0" identifier + number_literal) ))))) )) (argument_list "(pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)))" ( (binary_expression "pbVar16 + iVar1 + (uVar20 - (int)piVar18)" (binary_expression "pbVar16 + iVar1" identifier + identifier) + (parenthesized_expression "(uVar20 - (int)piVar18)" ( (binary_expression "uVar20 - (int)piVar18" identifier - (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , (binary_expression "pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1" (binary_expression "pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)" identifier + (parenthesized_expression "(*(uint *)(iVar27 + 8) - (int)piVar18)" ( (binary_expression "*(uint *)(iVar27 + 8) - (int)piVar18" (pointer_expression "*(uint *)(iVar27 + 8)" * (cast_expression "(uint *)(iVar27 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 8)" ( (binary_expression "iVar27 + 8" identifier + number_literal) )))) - (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier)) ))) + identifier) , (binary_expression "uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18))" identifier - (cast_expression "(int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18))" ( (binary_expression "pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)" identifier + (parenthesized_expression "(*(uint *)(iVar27 + 8) - (int)piVar18)" ( (binary_expression "*(uint *)(iVar27 + 8) - (int)piVar18" (pointer_expression "*(uint *)(iVar27 + 8)" * (cast_expression "(uint *)(iVar27 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 8)" ( (binary_expression "iVar27 + 8" identifier + number_literal) )))) - (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ))) ;) (expression_statement "uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;" (assignment_expression "uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20" identifier = (binary_expression "(uVar22 - *(int *)(iVar27 + 8)) + uVar20" (parenthesized_expression "(uVar22 - *(int *)(iVar27 + 8))" ( (binary_expression "uVar22 - *(int *)(iVar27 + 8)" identifier - (pointer_expression "*(int *)(iVar27 + 8)" * (cast_expression "(int *)(iVar27 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 8)" ( (binary_expression "iVar27 + 8" identifier + number_literal) ))))) )) + identifier)) ;) (expression_statement "*(undefined1 *)(iVar1 + uVar22) = 0;" (assignment_expression "*(undefined1 *)(iVar1 + uVar22) = 0" (pointer_expression "*(undefined1 *)(iVar1 + uVar22)" * (cast_expression "(undefined1 *)(iVar1 + uVar22)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + uVar22)" ( (binary_expression "iVar1 + uVar22" identifier + identifier) )))) = number_literal) ;) })) (expression_statement "(**(code **)(puVar28 + 0xf3590))(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20);" (call_expression "(**(code **)(puVar28 + 0xf3590))(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20)" (parenthesized_expression "(**(code **)(puVar28 + 0xf3590))" ( (pointer_expression "**(code **)(puVar28 + 0xf3590)" * (pointer_expression "*(code **)(puVar28 + 0xf3590)" * (cast_expression "(code **)(puVar28 + 0xf3590)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0xf3590)" ( (binary_expression "puVar28 + 0xf3590" identifier + number_literal) ))))) )) (argument_list "(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20)" ( (binary_expression "pbVar16 + (iVar1 - (int)piVar18)" identifier + (parenthesized_expression "(iVar1 - (int)piVar18)" ( (binary_expression "iVar1 - (int)piVar18" identifier - (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , identifier , identifier ))) ;) (expression_statement "(*(code *)(iVar8 + -0x2368))(uVar25,iVar27);" (call_expression "(*(code *)(iVar8 + -0x2368))(uVar25,iVar27)" (parenthesized_expression "(*(code *)(iVar8 + -0x2368))" ( (pointer_expression "*(code *)(iVar8 + -0x2368)" * (cast_expression "(code *)(iVar8 + -0x2368)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + -0x2368)" ( (binary_expression "iVar8 + -0x2368" identifier + number_literal) )))) )) (argument_list "(uVar25,iVar27)" ( identifier , identifier ))) ;) (expression_statement "iVar27 = *piVar17;" (assignment_expression "iVar27 = *piVar17" identifier = (pointer_expression "*piVar17" * identifier)) ;) }) while (parenthesized_expression "(iVar27 != 0)" ( (binary_expression "iVar27 != 0" identifier != number_literal) )) ;) })) (expression_statement "FUN_0007ec40(piVar2,piVar2 + 5,iVar1,0xffffffff,1,0xffffffff);" (call_expression "FUN_0007ec40(piVar2,piVar2 + 5,iVar1,0xffffffff,1,0xffffffff)" identifier (argument_list "(piVar2,piVar2 + 5,iVar1,0xffffffff,1,0xffffffff)" ( identifier , (binary_expression "piVar2 + 5" identifier + number_literal) , identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" identifier = number_literal) ;) (expression_statement "(*(code *)(iVar8 + -0x2368))(uVar25,iVar1);" (call_expression "(*(code *)(iVar8 + -0x2368))(uVar25,iVar1)" (parenthesized_expression "(*(code *)(iVar8 + -0x2368))" ( (pointer_expression "*(code *)(iVar8 + -0x2368)" * (cast_expression "(code *)(iVar8 + -0x2368)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + -0x2368)" ( (binary_expression "iVar8 + -0x2368" identifier + number_literal) )))) )) (argument_list "(uVar25,iVar1)" ( identifier , identifier ))) ;) }))) (expression_statement "(**(code **)(puVar28 + 0xf30d0))(pcVar26);" (call_expression "(**(code **)(puVar28 + 0xf30d0))(pcVar26)" (parenthesized_expression "(**(code **)(puVar28 + 0xf30d0))" ( (pointer_expression "**(code **)(puVar28 + 0xf30d0)" * (pointer_expression "*(code **)(puVar28 + 0xf30d0)" * (cast_expression "(code **)(puVar28 + 0xf30d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0xf30d0)" ( (binary_expression "puVar28 + 0xf30d0" identifier + number_literal) ))))) )) (argument_list "(pcVar26)" ( identifier ))) ;) (return_statement "return iVar27;" return identifier ;) (labeled_statement "LAB_0009d634:\n  uVar22 = uVar22 + 1;" statement_identifier : (expression_statement "uVar22 = uVar22 + 1;" (assignment_expression "uVar22 = uVar22 + 1" identifier = (binary_expression "uVar22 + 1" identifier + number_literal)) ;)) (expression_statement "pcVar21 = pcVar21 + 1;" (assignment_expression "pcVar21 = pcVar21 + 1" identifier = (binary_expression "pcVar21 + 1" identifier + number_literal)) ;) (if_statement "if (uVar22 == uVar7) goto LAB_0009d7b4;" if (parenthesized_expression "(uVar22 == uVar7)" ( (binary_expression "uVar22 == uVar7" identifier == identifier) )) (goto_statement "goto LAB_0009d7b4;" goto statement_identifier ;)) (goto_statement "goto LAB_0009d63c;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (for_statement for ( ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( LIT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (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 = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT << LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) ))))) ;) (expression_statement (assignment_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 * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) , IDENT , IDENT , IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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) )))) & LIT) )) == LIT) )) (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 ( IDENT ))) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) })))) (expression_statement (assignment_expression IDENT = (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 ( IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (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 = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression * IDENT) ))))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) , (binary_expression IDENT != LIT)) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' character ')) ))) )) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' character ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))) - IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + (parenthesized_expression ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ))) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT - LIT) ]) = (char_literal ' escape_sequence ')) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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) ) (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))))) ;) (goto_statement goto statement_identifier ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) | IDENT)) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) }))) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;)) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != IDENT)))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (binary_expression IDENT + IDENT) + (parenthesized_expression ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) , (binary_expression (binary_expression IDENT + (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) + IDENT) , (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )))) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - (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 + IDENT) )))) = LIT) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + (parenthesized_expression ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) , IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT , LIT , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , IDENT ))) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (return_statement return IDENT ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })))
(function_definition "int FUN_0009d360(int param_1,undefined4 *param_2,int *param_3,code *param_4,undefined4 *param_5)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined1 *puVar3;\n  code *pcVar4;\n  undefined4 *puVar5;\n  char *pcVar6;\n  uint uVar7;\n  int iVar8;\n  char *pcVar9;\n  uint uVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  byte *pbVar16;\n  int *piVar17;\n  int *piVar18;\n  int *piVar19;\n  uint uVar20;\n  char *pcVar21;\n  uint uVar22;\n  code *pcVar23;\n  undefined *puVar24;\n  undefined4 uVar25;\n  code *pcVar26;\n  int iVar27;\n  undefined *puVar28;\n  int iVar29;\n  int *in_stack_ffffff98;\n  int local_50;\n  uint local_48;\n  int *local_40;\n  int *local_3c;\n  undefined4 *local_38;\n  undefined4 local_34;\n  int local_30;\n  int *local_2c;\n  char *pcVar10;\n  \n  puVar28 = PTR___stack_chk_guard_00190e24;\n  iVar1 = *(int *)(param_1 + 0x168);\n  pcVar26 = (code *)param_2[0xf];\n  local_2c = *(int **)PTR___stack_chk_guard_00190e24;\n  uVar25 = param_2[0xe];\n  local_40 = (int *)0x0;\n  for (; iVar1 != 0; iVar1 = *(int *)(iVar1 + 8)) {\n    if (*(undefined4 **)(iVar1 + 4) == param_2) {\n      iVar1 = 6;\n      piVar18 = (int *)*param_2;\n      piVar17 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c);\n      uVar25 = FUN_0009d164(param_1);\n      *param_5 = uVar25;\n      goto LAB_0009d418;\n    }\n  }\n  piVar17 = (int *)*param_2;\n  piVar18 = param_3;\n  pcVar4 = param_4;\n  piVar2 = (int *)(*(code *)(PTR_LAB_00190ba8 + 0xfc4))(param_1);\n  if (piVar2 == (int *)0x0) {\n    iVar1 = 7;\n    param_4 = pcVar4;\n    goto LAB_0009d418;\n  }\n  piVar17 = (int *)(*(code *)(PTR_LAB_00190ba8 + -0x2940))(0,0x1c);\n  if (piVar17 == (int *)0x0) {\n    if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }\n    iVar1 = 7;\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(param_1);\n    piVar17 = piVar2;\n    param_4 = pcVar4;\n    goto LAB_0009d418;\n  }\n  *piVar17 = param_1;\n  piVar17[1] = (int)param_3;\n  if (param_2[0x12] == 0) {\n    iVar1 = -16000000;\n  }\n  else {\n    iVar1 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(param_1);\n    iVar1 = iVar1 << 4;\n  }\n  in_stack_ffffff98 = piVar17 + 2;\n  *(undefined4 *)(param_2[0xf] + 4) = *(undefined4 *)(*(int *)(param_1 + 0x10) + iVar1);\n  local_30 = 0;\n  local_34 = *(undefined4 *)(param_1 + 0x168);\n  *(int ***)(param_1 + 0x168) = &local_3c;\n  local_3c = piVar17;\n  local_38 = param_2;\n  iVar1 = (*param_4)(param_1,param_3[2],uVar25,pcVar26,in_stack_ffffff98,&local_40);\n  *(undefined4 *)(param_1 + 0x168) = local_34;\n  if (iVar1 == 7) {\n    if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }\nLAB_0009d750:\n    if (local_40 == (int *)0x0) {\n      piVar18 = piVar2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);\n      *param_5 = uVar25;\n    }\n    else {\n      piVar18 = local_40;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);\n      puVar24 = PTR_sqlite3_free_0019096c;\n      *param_5 = uVar25;\n      (*(code *)puVar24)(local_40);\n    }\n    pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    (*pcVar4)(param_1,piVar17);\n  }\n  else {\n    if (iVar1 != 0) goto LAB_0009d750;\n    puVar3 = (undefined1 *)piVar17[2];\n    piVar18 = local_40;\n    if (puVar3 == (undefined1 *)0x0) {\nLAB_0009d70c:\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n    else {\n      *puVar3 = 0;\n      puVar3[1] = 0;\n      puVar3[2] = 0;\n      puVar3[3] = 0;\n      puVar3[4] = 0;\n      puVar3[5] = 0;\n      puVar3[6] = 0;\n      puVar3[7] = 0;\n      puVar3[8] = 0;\n      puVar3[9] = 0;\n      puVar3[10] = 0;\n      puVar3[0xb] = 0;\n      *(int *)piVar17[2] = *param_3;\n      piVar17[3] = 1;\n      if (local_30 != 0) {\n        piVar17[6] = param_2[0x10];\n        param_2[0x10] = piVar17;\n        local_50 = (int)*(short *)((int)param_2 + 0x2a);\n        if (0 < local_50) {\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }\n        goto LAB_0009d70c;\n      }\n      iVar1 = 1;\n      piVar18 = (int *)*param_2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x1478);\n      *param_5 = uVar25;\n      (*pcVar4)(piVar17);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n  }\n  (*pcVar4)(param_1);\n  piVar17 = piVar2;\n  param_4 = pcVar26;\nLAB_0009d418:\n  if (local_2c == *(int **)puVar28) {\n    return iVar1;\n  }\n  piVar2 = local_2c;\n  puVar28 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  if (param_4 == (code *)0x0) {\n    uVar7 = 0;\n  }\n  else {\n    uVar7 = (**(code **)(puVar28 + 0xf34e4))(param_4);\n    uVar7 = uVar7 & 0x3fffffff;\n  }\n  if (piVar18 == (int *)0x0) {\n    uVar22 = 0;\n  }\n  else {\n    uVar22 = (**(code **)(puVar28 + 0xf34e4))(piVar18);\n    uVar22 = uVar22 & 0x3fffffff;\n  }\n  uVar25 = *(undefined4 *)(*piVar2 + 0x20);\n  pcVar26 = (code *)FUN_0009d164(uVar25,*(int *)(puVar28 + 0xf30c0) + -0x56e8,param_4);\n  if (pcVar26 == (code *)0x0) {\n    return 7;\n  }\n  if (in_stack_ffffff98 != (int *)0x0) {\n    param_4 = pcVar26;\n  }\n  uVar11 = (**(code **)(puVar28 + 0xf34e4))(pcVar26);\n  if (in_stack_ffffff98 != (int *)0x0) {\n    uVar7 = uVar11 & 0x3fffffff;\n  }\n  iVar1 = (*(code *)(*(int *)(puVar28 + 0xf330c) + 0x924))(uVar25);\n  if (iVar1 == 0) {\n    iVar27 = 7;\n  }\n  else {\n    (**(code **)(puVar28 + 0xf3590))(iVar1,piVar18,uVar22);\n    iVar27 = *piVar17;\n    iVar8 = *(int *)(puVar28 + 0xf330c);\n    if (iVar27 != 0) {\n      iVar13 = *(int *)(puVar28 + 0xf32f8);\n      do {\n        iVar14 = *(int *)(iVar27 + 0xc);\n        iVar12 = iVar14;\n        iVar29 = iVar27;\n        if (iVar14 == 0) {\n          iVar12 = 0;\n          piVar19 = piVar17;\nLAB_0009da24:\n          *piVar19 = iVar12;\n        }\n        else {\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }\n        pbVar16 = *(byte **)(iVar27 + 4);\n        uVar20 = uVar11 & 0x3fffffff;\n        pcVar4 = pcVar26;\n        if ((*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0) {\n          uVar20 = uVar7;\n          pcVar4 = param_4;\n        }\n        if (*(uint *)(iVar27 + 8) != uVar20) {\n          (**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));\n          uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;\n          *(undefined1 *)(iVar1 + uVar22) = 0;\n        }\n        (**(code **)(puVar28 + 0xf3590))(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20);\n        (*(code *)(iVar8 + -0x2368))(uVar25,iVar27);\n        iVar27 = *piVar17;\n      } while (iVar27 != 0);\n    }\n    FUN_0007ec40(piVar2,piVar2 + 5,iVar1,0xffffffff,1,0xffffffff);\n    iVar27 = 0;\n    (*(code *)(iVar8 + -0x2368))(uVar25,iVar1);\n  }\n  (**(code **)(puVar28 + 0xf30d0))(pcVar26);\n  return iVar27;\nLAB_0009d634:\n  uVar22 = uVar22 + 1;\n  pcVar21 = pcVar21 + 1;\n  if (uVar22 == uVar7) goto LAB_0009d7b4;\n  goto LAB_0009d63c;\n}" (primitive_type "int") (function_declarator "FUN_0009d360(int param_1,undefined4 *param_2,int *param_3,code *param_4,undefined4 *param_5)" (identifier "FUN_0009d360") (parameter_list "(int param_1,undefined4 *param_2,int *param_3,code *param_4,undefined4 *param_5)" (( "(") (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"))) (, ",") (parameter_declaration "int *param_3" (primitive_type "int") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "code *param_4" (type_identifier "code") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) (, ",") (parameter_declaration "undefined4 *param_5" (type_identifier "undefined4") (pointer_declarator "*param_5" (* "*") (identifier "param_5"))) () ")"))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  undefined1 *puVar3;\n  code *pcVar4;\n  undefined4 *puVar5;\n  char *pcVar6;\n  uint uVar7;\n  int iVar8;\n  char *pcVar9;\n  uint uVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  byte *pbVar16;\n  int *piVar17;\n  int *piVar18;\n  int *piVar19;\n  uint uVar20;\n  char *pcVar21;\n  uint uVar22;\n  code *pcVar23;\n  undefined *puVar24;\n  undefined4 uVar25;\n  code *pcVar26;\n  int iVar27;\n  undefined *puVar28;\n  int iVar29;\n  int *in_stack_ffffff98;\n  int local_50;\n  uint local_48;\n  int *local_40;\n  int *local_3c;\n  undefined4 *local_38;\n  undefined4 local_34;\n  int local_30;\n  int *local_2c;\n  char *pcVar10;\n  \n  puVar28 = PTR___stack_chk_guard_00190e24;\n  iVar1 = *(int *)(param_1 + 0x168);\n  pcVar26 = (code *)param_2[0xf];\n  local_2c = *(int **)PTR___stack_chk_guard_00190e24;\n  uVar25 = param_2[0xe];\n  local_40 = (int *)0x0;\n  for (; iVar1 != 0; iVar1 = *(int *)(iVar1 + 8)) {\n    if (*(undefined4 **)(iVar1 + 4) == param_2) {\n      iVar1 = 6;\n      piVar18 = (int *)*param_2;\n      piVar17 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c);\n      uVar25 = FUN_0009d164(param_1);\n      *param_5 = uVar25;\n      goto LAB_0009d418;\n    }\n  }\n  piVar17 = (int *)*param_2;\n  piVar18 = param_3;\n  pcVar4 = param_4;\n  piVar2 = (int *)(*(code *)(PTR_LAB_00190ba8 + 0xfc4))(param_1);\n  if (piVar2 == (int *)0x0) {\n    iVar1 = 7;\n    param_4 = pcVar4;\n    goto LAB_0009d418;\n  }\n  piVar17 = (int *)(*(code *)(PTR_LAB_00190ba8 + -0x2940))(0,0x1c);\n  if (piVar17 == (int *)0x0) {\n    if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }\n    iVar1 = 7;\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(param_1);\n    piVar17 = piVar2;\n    param_4 = pcVar4;\n    goto LAB_0009d418;\n  }\n  *piVar17 = param_1;\n  piVar17[1] = (int)param_3;\n  if (param_2[0x12] == 0) {\n    iVar1 = -16000000;\n  }\n  else {\n    iVar1 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(param_1);\n    iVar1 = iVar1 << 4;\n  }\n  in_stack_ffffff98 = piVar17 + 2;\n  *(undefined4 *)(param_2[0xf] + 4) = *(undefined4 *)(*(int *)(param_1 + 0x10) + iVar1);\n  local_30 = 0;\n  local_34 = *(undefined4 *)(param_1 + 0x168);\n  *(int ***)(param_1 + 0x168) = &local_3c;\n  local_3c = piVar17;\n  local_38 = param_2;\n  iVar1 = (*param_4)(param_1,param_3[2],uVar25,pcVar26,in_stack_ffffff98,&local_40);\n  *(undefined4 *)(param_1 + 0x168) = local_34;\n  if (iVar1 == 7) {\n    if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }\nLAB_0009d750:\n    if (local_40 == (int *)0x0) {\n      piVar18 = piVar2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);\n      *param_5 = uVar25;\n    }\n    else {\n      piVar18 = local_40;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);\n      puVar24 = PTR_sqlite3_free_0019096c;\n      *param_5 = uVar25;\n      (*(code *)puVar24)(local_40);\n    }\n    pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    (*pcVar4)(param_1,piVar17);\n  }\n  else {\n    if (iVar1 != 0) goto LAB_0009d750;\n    puVar3 = (undefined1 *)piVar17[2];\n    piVar18 = local_40;\n    if (puVar3 == (undefined1 *)0x0) {\nLAB_0009d70c:\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n    else {\n      *puVar3 = 0;\n      puVar3[1] = 0;\n      puVar3[2] = 0;\n      puVar3[3] = 0;\n      puVar3[4] = 0;\n      puVar3[5] = 0;\n      puVar3[6] = 0;\n      puVar3[7] = 0;\n      puVar3[8] = 0;\n      puVar3[9] = 0;\n      puVar3[10] = 0;\n      puVar3[0xb] = 0;\n      *(int *)piVar17[2] = *param_3;\n      piVar17[3] = 1;\n      if (local_30 != 0) {\n        piVar17[6] = param_2[0x10];\n        param_2[0x10] = piVar17;\n        local_50 = (int)*(short *)((int)param_2 + 0x2a);\n        if (0 < local_50) {\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }\n        goto LAB_0009d70c;\n      }\n      iVar1 = 1;\n      piVar18 = (int *)*param_2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x1478);\n      *param_5 = uVar25;\n      (*pcVar4)(piVar17);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n  }\n  (*pcVar4)(param_1);\n  piVar17 = piVar2;\n  param_4 = pcVar26;\nLAB_0009d418:\n  if (local_2c == *(int **)puVar28) {\n    return iVar1;\n  }\n  piVar2 = local_2c;\n  puVar28 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  if (param_4 == (code *)0x0) {\n    uVar7 = 0;\n  }\n  else {\n    uVar7 = (**(code **)(puVar28 + 0xf34e4))(param_4);\n    uVar7 = uVar7 & 0x3fffffff;\n  }\n  if (piVar18 == (int *)0x0) {\n    uVar22 = 0;\n  }\n  else {\n    uVar22 = (**(code **)(puVar28 + 0xf34e4))(piVar18);\n    uVar22 = uVar22 & 0x3fffffff;\n  }\n  uVar25 = *(undefined4 *)(*piVar2 + 0x20);\n  pcVar26 = (code *)FUN_0009d164(uVar25,*(int *)(puVar28 + 0xf30c0) + -0x56e8,param_4);\n  if (pcVar26 == (code *)0x0) {\n    return 7;\n  }\n  if (in_stack_ffffff98 != (int *)0x0) {\n    param_4 = pcVar26;\n  }\n  uVar11 = (**(code **)(puVar28 + 0xf34e4))(pcVar26);\n  if (in_stack_ffffff98 != (int *)0x0) {\n    uVar7 = uVar11 & 0x3fffffff;\n  }\n  iVar1 = (*(code *)(*(int *)(puVar28 + 0xf330c) + 0x924))(uVar25);\n  if (iVar1 == 0) {\n    iVar27 = 7;\n  }\n  else {\n    (**(code **)(puVar28 + 0xf3590))(iVar1,piVar18,uVar22);\n    iVar27 = *piVar17;\n    iVar8 = *(int *)(puVar28 + 0xf330c);\n    if (iVar27 != 0) {\n      iVar13 = *(int *)(puVar28 + 0xf32f8);\n      do {\n        iVar14 = *(int *)(iVar27 + 0xc);\n        iVar12 = iVar14;\n        iVar29 = iVar27;\n        if (iVar14 == 0) {\n          iVar12 = 0;\n          piVar19 = piVar17;\nLAB_0009da24:\n          *piVar19 = iVar12;\n        }\n        else {\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }\n        pbVar16 = *(byte **)(iVar27 + 4);\n        uVar20 = uVar11 & 0x3fffffff;\n        pcVar4 = pcVar26;\n        if ((*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0) {\n          uVar20 = uVar7;\n          pcVar4 = param_4;\n        }\n        if (*(uint *)(iVar27 + 8) != uVar20) {\n          (**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));\n          uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;\n          *(undefined1 *)(iVar1 + uVar22) = 0;\n        }\n        (**(code **)(puVar28 + 0xf3590))(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20);\n        (*(code *)(iVar8 + -0x2368))(uVar25,iVar27);\n        iVar27 = *piVar17;\n      } while (iVar27 != 0);\n    }\n    FUN_0007ec40(piVar2,piVar2 + 5,iVar1,0xffffffff,1,0xffffffff);\n    iVar27 = 0;\n    (*(code *)(iVar8 + -0x2368))(uVar25,iVar1);\n  }\n  (**(code **)(puVar28 + 0xf30d0))(pcVar26);\n  return iVar27;\nLAB_0009d634:\n  uVar22 = uVar22 + 1;\n  pcVar21 = pcVar21 + 1;\n  if (uVar22 == uVar7) goto LAB_0009d7b4;\n  goto LAB_0009d63c;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (declaration "undefined1 *puVar3;" (type_identifier "undefined1") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "code *pcVar4;" (type_identifier "code") (pointer_declarator "*pcVar4" (* "*") (identifier "pcVar4")) (; ";")) (declaration "undefined4 *puVar5;" (type_identifier "undefined4") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "char *pcVar6;" (primitive_type "char") (pointer_declarator "*pcVar6" (* "*") (identifier "pcVar6")) (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "char *pcVar9;" (primitive_type "char") (pointer_declarator "*pcVar9" (* "*") (identifier "pcVar9")) (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "int iVar15;" (primitive_type "int") (identifier "iVar15") (; ";")) (declaration "byte *pbVar16;" (type_identifier "byte") (pointer_declarator "*pbVar16" (* "*") (identifier "pbVar16")) (; ";")) (declaration "int *piVar17;" (primitive_type "int") (pointer_declarator "*piVar17" (* "*") (identifier "piVar17")) (; ";")) (declaration "int *piVar18;" (primitive_type "int") (pointer_declarator "*piVar18" (* "*") (identifier "piVar18")) (; ";")) (declaration "int *piVar19;" (primitive_type "int") (pointer_declarator "*piVar19" (* "*") (identifier "piVar19")) (; ";")) (declaration "uint uVar20;" (type_identifier "uint") (identifier "uVar20") (; ";")) (declaration "char *pcVar21;" (primitive_type "char") (pointer_declarator "*pcVar21" (* "*") (identifier "pcVar21")) (; ";")) (declaration "uint uVar22;" (type_identifier "uint") (identifier "uVar22") (; ";")) (declaration "code *pcVar23;" (type_identifier "code") (pointer_declarator "*pcVar23" (* "*") (identifier "pcVar23")) (; ";")) (declaration "undefined *puVar24;" (type_identifier "undefined") (pointer_declarator "*puVar24" (* "*") (identifier "puVar24")) (; ";")) (declaration "undefined4 uVar25;" (type_identifier "undefined4") (identifier "uVar25") (; ";")) (declaration "code *pcVar26;" (type_identifier "code") (pointer_declarator "*pcVar26" (* "*") (identifier "pcVar26")) (; ";")) (declaration "int iVar27;" (primitive_type "int") (identifier "iVar27") (; ";")) (declaration "undefined *puVar28;" (type_identifier "undefined") (pointer_declarator "*puVar28" (* "*") (identifier "puVar28")) (; ";")) (declaration "int iVar29;" (primitive_type "int") (identifier "iVar29") (; ";")) (declaration "int *in_stack_ffffff98;" (primitive_type "int") (pointer_declarator "*in_stack_ffffff98" (* "*") (identifier "in_stack_ffffff98")) (; ";")) (declaration "int local_50;" (primitive_type "int") (identifier "local_50") (; ";")) (declaration "uint local_48;" (type_identifier "uint") (identifier "local_48") (; ";")) (declaration "int *local_40;" (primitive_type "int") (pointer_declarator "*local_40" (* "*") (identifier "local_40")) (; ";")) (declaration "int *local_3c;" (primitive_type "int") (pointer_declarator "*local_3c" (* "*") (identifier "local_3c")) (; ";")) (declaration "undefined4 *local_38;" (type_identifier "undefined4") (pointer_declarator "*local_38" (* "*") (identifier "local_38")) (; ";")) (declaration "undefined4 local_34;" (type_identifier "undefined4") (identifier "local_34") (; ";")) (declaration "int local_30;" (primitive_type "int") (identifier "local_30") (; ";")) (declaration "int *local_2c;" (primitive_type "int") (pointer_declarator "*local_2c" (* "*") (identifier "local_2c")) (; ";")) (declaration "char *pcVar10;" (primitive_type "char") (pointer_declarator "*pcVar10" (* "*") (identifier "pcVar10")) (; ";")) (expression_statement "puVar28 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar28 = PTR___stack_chk_guard_00190e24" (identifier "puVar28") (= "=") (identifier "PTR___stack_chk_guard_00190e24")) (; ";")) (expression_statement "iVar1 = *(int *)(param_1 + 0x168);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x168)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(param_1 + 0x168)" (* "*") (cast_expression "(int *)(param_1 + 0x168)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x168)" (( "(") (binary_expression "param_1 + 0x168" (identifier "param_1") (+ "+") (number_literal "0x168")) () ")"))))) (; ";")) (expression_statement "pcVar26 = (code *)param_2[0xf];" (assignment_expression "pcVar26 = (code *)param_2[0xf]" (identifier "pcVar26") (= "=") (cast_expression "(code *)param_2[0xf]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[0xf]" (identifier "param_2") ([ "[") (number_literal "0xf") (] "]")))) (; ";")) (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 "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR___stack_chk_guard_00190e24")))) (; ";")) (expression_statement "uVar25 = param_2[0xe];" (assignment_expression "uVar25 = param_2[0xe]" (identifier "uVar25") (= "=") (subscript_expression "param_2[0xe]" (identifier "param_2") ([ "[") (number_literal "0xe") (] "]"))) (; ";")) (expression_statement "local_40 = (int *)0x0;" (assignment_expression "local_40 = (int *)0x0" (identifier "local_40") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (for_statement "for (; iVar1 != 0; iVar1 = *(int *)(iVar1 + 8)) {\n    if (*(undefined4 **)(iVar1 + 4) == param_2) {\n      iVar1 = 6;\n      piVar18 = (int *)*param_2;\n      piVar17 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c);\n      uVar25 = FUN_0009d164(param_1);\n      *param_5 = uVar25;\n      goto LAB_0009d418;\n    }\n  }" (for "for") (( "(") (; ";") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar1 = *(int *)(iVar1 + 8)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(iVar1 + 8)" (* "*") (cast_expression "(int *)(iVar1 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 8)" (( "(") (binary_expression "iVar1 + 8" (identifier "iVar1") (+ "+") (number_literal "8")) () ")"))))) () ")") (compound_statement "{\n    if (*(undefined4 **)(iVar1 + 4) == param_2) {\n      iVar1 = 6;\n      piVar18 = (int *)*param_2;\n      piVar17 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c);\n      uVar25 = FUN_0009d164(param_1);\n      *param_5 = uVar25;\n      goto LAB_0009d418;\n    }\n  }" ({ "{") (if_statement "if (*(undefined4 **)(iVar1 + 4) == param_2) {\n      iVar1 = 6;\n      piVar18 = (int *)*param_2;\n      piVar17 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c);\n      uVar25 = FUN_0009d164(param_1);\n      *param_5 = uVar25;\n      goto LAB_0009d418;\n    }" (if "if") (parenthesized_expression "(*(undefined4 **)(iVar1 + 4) == param_2)" (( "(") (binary_expression "*(undefined4 **)(iVar1 + 4) == param_2" (pointer_expression "*(undefined4 **)(iVar1 + 4)" (* "*") (cast_expression "(undefined4 **)(iVar1 + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar1 + 4)" (( "(") (binary_expression "iVar1 + 4" (identifier "iVar1") (+ "+") (number_literal "4")) () ")")))) (== "==") (identifier "param_2")) () ")")) (compound_statement "{\n      iVar1 = 6;\n      piVar18 = (int *)*param_2;\n      piVar17 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c);\n      uVar25 = FUN_0009d164(param_1);\n      *param_5 = uVar25;\n      goto LAB_0009d418;\n    }" ({ "{") (expression_statement "iVar1 = 6;" (assignment_expression "iVar1 = 6" (identifier "iVar1") (= "=") (number_literal "6")) (; ";")) (expression_statement "piVar18 = (int *)*param_2;" (assignment_expression "piVar18 = (int *)*param_2" (identifier "piVar18") (= "=") (cast_expression "(int *)*param_2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_2" (* "*") (identifier "param_2")))) (; ";")) (expression_statement "piVar17 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c);" (assignment_expression "piVar17 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c)" (identifier "piVar17") (= "=") (cast_expression "(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c)" (( "(") (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c" (identifier "PTR_s_o_page_from_root____pageno_INTEG_0019095c") (+ "+") (number_literal "-0x548c")) () ")")))) (; ";")) (expression_statement "uVar25 = FUN_0009d164(param_1);" (assignment_expression "uVar25 = FUN_0009d164(param_1)" (identifier "uVar25") (= "=") (call_expression "FUN_0009d164(param_1)" (identifier "FUN_0009d164") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "*param_5 = uVar25;" (assignment_expression "*param_5 = uVar25" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (= "=") (identifier "uVar25")) (; ";")) (goto_statement "goto LAB_0009d418;" (goto "goto") (statement_identifier "LAB_0009d418") (; ";")) (} "}"))) (} "}"))) (expression_statement "piVar17 = (int *)*param_2;" (assignment_expression "piVar17 = (int *)*param_2" (identifier "piVar17") (= "=") (cast_expression "(int *)*param_2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_2" (* "*") (identifier "param_2")))) (; ";")) (expression_statement "piVar18 = param_3;" (assignment_expression "piVar18 = param_3" (identifier "piVar18") (= "=") (identifier "param_3")) (; ";")) (expression_statement "pcVar4 = param_4;" (assignment_expression "pcVar4 = param_4" (identifier "pcVar4") (= "=") (identifier "param_4")) (; ";")) (expression_statement "piVar2 = (int *)(*(code *)(PTR_LAB_00190ba8 + 0xfc4))(param_1);" (assignment_expression "piVar2 = (int *)(*(code *)(PTR_LAB_00190ba8 + 0xfc4))(param_1)" (identifier "piVar2") (= "=") (cast_expression "(int *)(*(code *)(PTR_LAB_00190ba8 + 0xfc4))(param_1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0xfc4))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0xfc4))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0xfc4)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba8 + 0xfc4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + 0xfc4)" (( "(") (binary_expression "PTR_LAB_00190ba8 + 0xfc4" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "0xfc4")) () ")")))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))))) (; ";")) (if_statement "if (piVar2 == (int *)0x0) {\n    iVar1 = 7;\n    param_4 = pcVar4;\n    goto LAB_0009d418;\n  }" (if "if") (parenthesized_expression "(piVar2 == (int *)0x0)" (( "(") (binary_expression "piVar2 == (int *)0x0" (identifier "piVar2") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    iVar1 = 7;\n    param_4 = pcVar4;\n    goto LAB_0009d418;\n  }" ({ "{") (expression_statement "iVar1 = 7;" (assignment_expression "iVar1 = 7" (identifier "iVar1") (= "=") (number_literal "7")) (; ";")) (expression_statement "param_4 = pcVar4;" (assignment_expression "param_4 = pcVar4" (identifier "param_4") (= "=") (identifier "pcVar4")) (; ";")) (goto_statement "goto LAB_0009d418;" (goto "goto") (statement_identifier "LAB_0009d418") (; ";")) (} "}"))) (expression_statement "piVar17 = (int *)(*(code *)(PTR_LAB_00190ba8 + -0x2940))(0,0x1c);" (assignment_expression "piVar17 = (int *)(*(code *)(PTR_LAB_00190ba8 + -0x2940))(0,0x1c)" (identifier "piVar17") (= "=") (cast_expression "(int *)(*(code *)(PTR_LAB_00190ba8 + -0x2940))(0,0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2940))(0,0x1c)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2940))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba8 + -0x2940)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2940)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2940)" (( "(") (binary_expression "PTR_LAB_00190ba8 + -0x2940" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "-0x2940")) () ")")))) () ")")) (argument_list "(0,0x1c)" (( "(") (number_literal "0") (, ",") (number_literal "0x1c") () ")"))))) (; ";")) (if_statement "if (piVar17 == (int *)0x0) {\n    if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }\n    iVar1 = 7;\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(param_1);\n    piVar17 = piVar2;\n    param_4 = pcVar4;\n    goto LAB_0009d418;\n  }" (if "if") (parenthesized_expression "(piVar17 == (int *)0x0)" (( "(") (binary_expression "piVar17 == (int *)0x0" (identifier "piVar17") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }\n    iVar1 = 7;\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(param_1);\n    piVar17 = piVar2;\n    param_4 = pcVar4;\n    goto LAB_0009d418;\n  }" ({ "{") (if_statement "if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }" (if "if") (parenthesized_expression "((*(uint *)(param_1 + 0x50) & 0xffff00) == 0)" (( "(") (binary_expression "(*(uint *)(param_1 + 0x50) & 0xffff00) == 0" (parenthesized_expression "(*(uint *)(param_1 + 0x50) & 0xffff00)" (( "(") (binary_expression "*(uint *)(param_1 + 0x50) & 0xffff00" (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")) () ")")))) (& "&") (number_literal "0xffff00")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }" ({ "{") (expression_statement "(*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x82c))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x82c)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x82c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + 0x82c)" (( "(") (binary_expression "PTR_LAB_00190ba8 + 0x82c" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "0x82c")) () ")")))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar1 = 7;" (assignment_expression "iVar1 = 7" (identifier "iVar1") (= "=") (number_literal "7")) (; ";")) (expression_statement "(*(code *)(PTR_LAB_00190ba8 + -0x2368))(param_1);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2368))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2368))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba8 + -0x2368)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2368)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2368)" (( "(") (binary_expression "PTR_LAB_00190ba8 + -0x2368" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "-0x2368")) () ")")))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (expression_statement "piVar17 = piVar2;" (assignment_expression "piVar17 = piVar2" (identifier "piVar17") (= "=") (identifier "piVar2")) (; ";")) (expression_statement "param_4 = pcVar4;" (assignment_expression "param_4 = pcVar4" (identifier "param_4") (= "=") (identifier "pcVar4")) (; ";")) (goto_statement "goto LAB_0009d418;" (goto "goto") (statement_identifier "LAB_0009d418") (; ";")) (} "}"))) (expression_statement "*piVar17 = param_1;" (assignment_expression "*piVar17 = param_1" (pointer_expression "*piVar17" (* "*") (identifier "piVar17")) (= "=") (identifier "param_1")) (; ";")) (expression_statement "piVar17[1] = (int)param_3;" (assignment_expression "piVar17[1] = (int)param_3" (subscript_expression "piVar17[1]" (identifier "piVar17") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3"))) (; ";")) (if_statement "if (param_2[0x12] == 0) {\n    iVar1 = -16000000;\n  }\n  else {\n    iVar1 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(param_1);\n    iVar1 = iVar1 << 4;\n  }" (if "if") (parenthesized_expression "(param_2[0x12] == 0)" (( "(") (binary_expression "param_2[0x12] == 0" (subscript_expression "param_2[0x12]" (identifier "param_2") ([ "[") (number_literal "0x12") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar1 = -16000000;\n  }" ({ "{") (expression_statement "iVar1 = -16000000;" (assignment_expression "iVar1 = -16000000" (identifier "iVar1") (= "=") (number_literal "-16000000")) (; ";")) (} "}")) (else_clause "else {\n    iVar1 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(param_1);\n    iVar1 = iVar1 << 4;\n  }" (else "else") (compound_statement "{\n    iVar1 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(param_1);\n    iVar1 = iVar1 << 4;\n  }" ({ "{") (expression_statement "iVar1 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(param_1);" (assignment_expression "iVar1 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(param_1)" (identifier "iVar1") (= "=") (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x31a4))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x31a4)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x31a4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba4 + -0x31a4)" (( "(") (binary_expression "PTR_LAB_00190ba4 + -0x31a4" (identifier "PTR_LAB_00190ba4") (+ "+") (number_literal "-0x31a4")) () ")")))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "iVar1 = iVar1 << 4;" (assignment_expression "iVar1 = iVar1 << 4" (identifier "iVar1") (= "=") (binary_expression "iVar1 << 4" (identifier "iVar1") (<< "<<") (number_literal "4"))) (; ";")) (} "}")))) (expression_statement "in_stack_ffffff98 = piVar17 + 2;" (assignment_expression "in_stack_ffffff98 = piVar17 + 2" (identifier "in_stack_ffffff98") (= "=") (binary_expression "piVar17 + 2" (identifier "piVar17") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "*(undefined4 *)(param_2[0xf] + 4) = *(undefined4 *)(*(int *)(param_1 + 0x10) + iVar1);" (assignment_expression "*(undefined4 *)(param_2[0xf] + 4) = *(undefined4 *)(*(int *)(param_1 + 0x10) + iVar1)" (pointer_expression "*(undefined4 *)(param_2[0xf] + 4)" (* "*") (cast_expression "(undefined4 *)(param_2[0xf] + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2[0xf] + 4)" (( "(") (binary_expression "param_2[0xf] + 4" (subscript_expression "param_2[0xf]" (identifier "param_2") ([ "[") (number_literal "0xf") (] "]")) (+ "+") (number_literal "4")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x10) + iVar1)" (* "*") (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x10) + iVar1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x10) + iVar1)" (( "(") (binary_expression "*(int *)(param_1 + 0x10) + iVar1" (pointer_expression "*(int *)(param_1 + 0x10)" (* "*") (cast_expression "(int *)(param_1 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (identifier "iVar1")) () ")"))))) (; ";")) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_34 = *(undefined4 *)(param_1 + 0x168);" (assignment_expression "local_34 = *(undefined4 *)(param_1 + 0x168)" (identifier "local_34") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x168)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x168)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x168)" (( "(") (binary_expression "param_1 + 0x168" (identifier "param_1") (+ "+") (number_literal "0x168")) () ")"))))) (; ";")) (expression_statement "*(int ***)(param_1 + 0x168) = &local_3c;" (assignment_expression "*(int ***)(param_1 + 0x168) = &local_3c" (pointer_expression "*(int ***)(param_1 + 0x168)" (* "*") (cast_expression "(int ***)(param_1 + 0x168)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(param_1 + 0x168)" (( "(") (binary_expression "param_1 + 0x168" (identifier "param_1") (+ "+") (number_literal "0x168")) () ")")))) (= "=") (pointer_expression "&local_3c" (& "&") (identifier "local_3c"))) (; ";")) (expression_statement "local_3c = piVar17;" (assignment_expression "local_3c = piVar17" (identifier "local_3c") (= "=") (identifier "piVar17")) (; ";")) (expression_statement "local_38 = param_2;" (assignment_expression "local_38 = param_2" (identifier "local_38") (= "=") (identifier "param_2")) (; ";")) (expression_statement "iVar1 = (*param_4)(param_1,param_3[2],uVar25,pcVar26,in_stack_ffffff98,&local_40);" (assignment_expression "iVar1 = (*param_4)(param_1,param_3[2],uVar25,pcVar26,in_stack_ffffff98,&local_40)" (identifier "iVar1") (= "=") (call_expression "(*param_4)(param_1,param_3[2],uVar25,pcVar26,in_stack_ffffff98,&local_40)" (parenthesized_expression "(*param_4)" (( "(") (pointer_expression "*param_4" (* "*") (identifier "param_4")) () ")")) (argument_list "(param_1,param_3[2],uVar25,pcVar26,in_stack_ffffff98,&local_40)" (( "(") (identifier "param_1") (, ",") (subscript_expression "param_3[2]" (identifier "param_3") ([ "[") (number_literal "2") (] "]")) (, ",") (identifier "uVar25") (, ",") (identifier "pcVar26") (, ",") (identifier "in_stack_ffffff98") (, ",") (pointer_expression "&local_40" (& "&") (identifier "local_40")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x168) = local_34;" (assignment_expression "*(undefined4 *)(param_1 + 0x168) = local_34" (pointer_expression "*(undefined4 *)(param_1 + 0x168)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x168)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x168)" (( "(") (binary_expression "param_1 + 0x168" (identifier "param_1") (+ "+") (number_literal "0x168")) () ")")))) (= "=") (identifier "local_34")) (; ";")) (if_statement "if (iVar1 == 7) {\n    if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }\nLAB_0009d750:\n    if (local_40 == (int *)0x0) {\n      piVar18 = piVar2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);\n      *param_5 = uVar25;\n    }\n    else {\n      piVar18 = local_40;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);\n      puVar24 = PTR_sqlite3_free_0019096c;\n      *param_5 = uVar25;\n      (*(code *)puVar24)(local_40);\n    }\n    pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    (*pcVar4)(param_1,piVar17);\n  }\n  else {\n    if (iVar1 != 0) goto LAB_0009d750;\n    puVar3 = (undefined1 *)piVar17[2];\n    piVar18 = local_40;\n    if (puVar3 == (undefined1 *)0x0) {\nLAB_0009d70c:\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n    else {\n      *puVar3 = 0;\n      puVar3[1] = 0;\n      puVar3[2] = 0;\n      puVar3[3] = 0;\n      puVar3[4] = 0;\n      puVar3[5] = 0;\n      puVar3[6] = 0;\n      puVar3[7] = 0;\n      puVar3[8] = 0;\n      puVar3[9] = 0;\n      puVar3[10] = 0;\n      puVar3[0xb] = 0;\n      *(int *)piVar17[2] = *param_3;\n      piVar17[3] = 1;\n      if (local_30 != 0) {\n        piVar17[6] = param_2[0x10];\n        param_2[0x10] = piVar17;\n        local_50 = (int)*(short *)((int)param_2 + 0x2a);\n        if (0 < local_50) {\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }\n        goto LAB_0009d70c;\n      }\n      iVar1 = 1;\n      piVar18 = (int *)*param_2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x1478);\n      *param_5 = uVar25;\n      (*pcVar4)(piVar17);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n  }" (if "if") (parenthesized_expression "(iVar1 == 7)" (( "(") (binary_expression "iVar1 == 7" (identifier "iVar1") (== "==") (number_literal "7")) () ")")) (compound_statement "{\n    if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }\nLAB_0009d750:\n    if (local_40 == (int *)0x0) {\n      piVar18 = piVar2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);\n      *param_5 = uVar25;\n    }\n    else {\n      piVar18 = local_40;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);\n      puVar24 = PTR_sqlite3_free_0019096c;\n      *param_5 = uVar25;\n      (*(code *)puVar24)(local_40);\n    }\n    pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    (*pcVar4)(param_1,piVar17);\n  }" ({ "{") (if_statement "if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }" (if "if") (parenthesized_expression "((*(uint *)(param_1 + 0x50) & 0xffff00) == 0)" (( "(") (binary_expression "(*(uint *)(param_1 + 0x50) & 0xffff00) == 0" (parenthesized_expression "(*(uint *)(param_1 + 0x50) & 0xffff00)" (( "(") (binary_expression "*(uint *)(param_1 + 0x50) & 0xffff00" (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")) () ")")))) (& "&") (number_literal "0xffff00")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);\n    }" ({ "{") (expression_statement "(*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x82c))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x82c)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x82c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + 0x82c)" (( "(") (binary_expression "PTR_LAB_00190ba8 + 0x82c" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "0x82c")) () ")")))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_0009d750:\n    if (local_40 == (int *)0x0) {\n      piVar18 = piVar2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);\n      *param_5 = uVar25;\n    }\n    else {\n      piVar18 = local_40;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);\n      puVar24 = PTR_sqlite3_free_0019096c;\n      *param_5 = uVar25;\n      (*(code *)puVar24)(local_40);\n    }" (statement_identifier "LAB_0009d750") (: ":") (if_statement "if (local_40 == (int *)0x0) {\n      piVar18 = piVar2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);\n      *param_5 = uVar25;\n    }\n    else {\n      piVar18 = local_40;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);\n      puVar24 = PTR_sqlite3_free_0019096c;\n      *param_5 = uVar25;\n      (*(code *)puVar24)(local_40);\n    }" (if "if") (parenthesized_expression "(local_40 == (int *)0x0)" (( "(") (binary_expression "local_40 == (int *)0x0" (identifier "local_40") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      piVar18 = piVar2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);\n      *param_5 = uVar25;\n    }" ({ "{") (expression_statement "piVar18 = piVar2;" (assignment_expression "piVar18 = piVar2" (identifier "piVar18") (= "=") (identifier "piVar2")) (; ";")) (expression_statement "uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);" (assignment_expression "uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460)" (identifier "uVar25") (= "=") (call_expression "FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460)" (identifier "FUN_0009d164") (argument_list "(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460)" (( "(") (identifier "param_1") (, ",") (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460" (identifier "PTR_s_o_page_from_root____pageno_INTEG_0019095c") (+ "+") (number_literal "-0x5460")) () ")")))) (; ";")) (expression_statement "*param_5 = uVar25;" (assignment_expression "*param_5 = uVar25" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (= "=") (identifier "uVar25")) (; ";")) (} "}")) (else_clause "else {\n      piVar18 = local_40;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);\n      puVar24 = PTR_sqlite3_free_0019096c;\n      *param_5 = uVar25;\n      (*(code *)puVar24)(local_40);\n    }" (else "else") (compound_statement "{\n      piVar18 = local_40;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);\n      puVar24 = PTR_sqlite3_free_0019096c;\n      *param_5 = uVar25;\n      (*(code *)puVar24)(local_40);\n    }" ({ "{") (expression_statement "piVar18 = local_40;" (assignment_expression "piVar18 = local_40" (identifier "piVar18") (= "=") (identifier "local_40")) (; ";")) (expression_statement "uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);" (assignment_expression "uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc)" (identifier "uVar25") (= "=") (call_expression "FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc)" (identifier "FUN_0009d164") (argument_list "(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc)" (( "(") (identifier "param_1") (, ",") (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc" (identifier "PTR_s_o_page_from_root____pageno_INTEG_0019095c") (+ "+") (number_literal "-0x5dfc")) () ")")))) (; ";")) (expression_statement "puVar24 = PTR_sqlite3_free_0019096c;" (assignment_expression "puVar24 = PTR_sqlite3_free_0019096c" (identifier "puVar24") (= "=") (identifier "PTR_sqlite3_free_0019096c")) (; ";")) (expression_statement "*param_5 = uVar25;" (assignment_expression "*param_5 = uVar25" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (= "=") (identifier "uVar25")) (; ";")) (expression_statement "(*(code *)puVar24)(local_40);" (call_expression "(*(code *)puVar24)(local_40)" (parenthesized_expression "(*(code *)puVar24)" (( "(") (pointer_expression "*(code *)puVar24" (* "*") (cast_expression "(code *)puVar24" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar24"))) () ")")) (argument_list "(local_40)" (( "(") (identifier "local_40") () ")"))) (; ";")) (} "}"))))) (expression_statement "pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);" (assignment_expression "pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368)" (identifier "pcVar4") (= "=") (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2368)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2368)" (( "(") (binary_expression "PTR_LAB_00190ba8 + -0x2368" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "-0x2368")) () ")")))) (; ";")) (expression_statement "(*pcVar4)(param_1,piVar17);" (call_expression "(*pcVar4)(param_1,piVar17)" (parenthesized_expression "(*pcVar4)" (( "(") (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) () ")")) (argument_list "(param_1,piVar17)" (( "(") (identifier "param_1") (, ",") (identifier "piVar17") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    if (iVar1 != 0) goto LAB_0009d750;\n    puVar3 = (undefined1 *)piVar17[2];\n    piVar18 = local_40;\n    if (puVar3 == (undefined1 *)0x0) {\nLAB_0009d70c:\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n    else {\n      *puVar3 = 0;\n      puVar3[1] = 0;\n      puVar3[2] = 0;\n      puVar3[3] = 0;\n      puVar3[4] = 0;\n      puVar3[5] = 0;\n      puVar3[6] = 0;\n      puVar3[7] = 0;\n      puVar3[8] = 0;\n      puVar3[9] = 0;\n      puVar3[10] = 0;\n      puVar3[0xb] = 0;\n      *(int *)piVar17[2] = *param_3;\n      piVar17[3] = 1;\n      if (local_30 != 0) {\n        piVar17[6] = param_2[0x10];\n        param_2[0x10] = piVar17;\n        local_50 = (int)*(short *)((int)param_2 + 0x2a);\n        if (0 < local_50) {\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }\n        goto LAB_0009d70c;\n      }\n      iVar1 = 1;\n      piVar18 = (int *)*param_2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x1478);\n      *param_5 = uVar25;\n      (*pcVar4)(piVar17);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n  }" (else "else") (compound_statement "{\n    if (iVar1 != 0) goto LAB_0009d750;\n    puVar3 = (undefined1 *)piVar17[2];\n    piVar18 = local_40;\n    if (puVar3 == (undefined1 *)0x0) {\nLAB_0009d70c:\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n    else {\n      *puVar3 = 0;\n      puVar3[1] = 0;\n      puVar3[2] = 0;\n      puVar3[3] = 0;\n      puVar3[4] = 0;\n      puVar3[5] = 0;\n      puVar3[6] = 0;\n      puVar3[7] = 0;\n      puVar3[8] = 0;\n      puVar3[9] = 0;\n      puVar3[10] = 0;\n      puVar3[0xb] = 0;\n      *(int *)piVar17[2] = *param_3;\n      piVar17[3] = 1;\n      if (local_30 != 0) {\n        piVar17[6] = param_2[0x10];\n        param_2[0x10] = piVar17;\n        local_50 = (int)*(short *)((int)param_2 + 0x2a);\n        if (0 < local_50) {\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }\n        goto LAB_0009d70c;\n      }\n      iVar1 = 1;\n      piVar18 = (int *)*param_2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x1478);\n      *param_5 = uVar25;\n      (*pcVar4)(piVar17);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n  }" ({ "{") (if_statement "if (iVar1 != 0) goto LAB_0009d750;" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009d750;" (goto "goto") (statement_identifier "LAB_0009d750") (; ";"))) (expression_statement "puVar3 = (undefined1 *)piVar17[2];" (assignment_expression "puVar3 = (undefined1 *)piVar17[2]" (identifier "puVar3") (= "=") (cast_expression "(undefined1 *)piVar17[2]" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar17[2]" (identifier "piVar17") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "piVar18 = local_40;" (assignment_expression "piVar18 = local_40" (identifier "piVar18") (= "=") (identifier "local_40")) (; ";")) (if_statement "if (puVar3 == (undefined1 *)0x0) {\nLAB_0009d70c:\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }\n    else {\n      *puVar3 = 0;\n      puVar3[1] = 0;\n      puVar3[2] = 0;\n      puVar3[3] = 0;\n      puVar3[4] = 0;\n      puVar3[5] = 0;\n      puVar3[6] = 0;\n      puVar3[7] = 0;\n      puVar3[8] = 0;\n      puVar3[9] = 0;\n      puVar3[10] = 0;\n      puVar3[0xb] = 0;\n      *(int *)piVar17[2] = *param_3;\n      piVar17[3] = 1;\n      if (local_30 != 0) {\n        piVar17[6] = param_2[0x10];\n        param_2[0x10] = piVar17;\n        local_50 = (int)*(short *)((int)param_2 + 0x2a);\n        if (0 < local_50) {\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }\n        goto LAB_0009d70c;\n      }\n      iVar1 = 1;\n      piVar18 = (int *)*param_2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x1478);\n      *param_5 = uVar25;\n      (*pcVar4)(piVar17);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }" (if "if") (parenthesized_expression "(puVar3 == (undefined1 *)0x0)" (( "(") (binary_expression "puVar3 == (undefined1 *)0x0" (identifier "puVar3") (== "==") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_0009d70c:\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }" ({ "{") (labeled_statement "LAB_0009d70c:\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);" (statement_identifier "LAB_0009d70c") (: ":") (expression_statement "pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);" (assignment_expression "pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368)" (identifier "pcVar4") (= "=") (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2368)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2368)" (( "(") (binary_expression "PTR_LAB_00190ba8 + -0x2368" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "-0x2368")) () ")")))) (; ";"))) (} "}")) (else_clause "else {\n      *puVar3 = 0;\n      puVar3[1] = 0;\n      puVar3[2] = 0;\n      puVar3[3] = 0;\n      puVar3[4] = 0;\n      puVar3[5] = 0;\n      puVar3[6] = 0;\n      puVar3[7] = 0;\n      puVar3[8] = 0;\n      puVar3[9] = 0;\n      puVar3[10] = 0;\n      puVar3[0xb] = 0;\n      *(int *)piVar17[2] = *param_3;\n      piVar17[3] = 1;\n      if (local_30 != 0) {\n        piVar17[6] = param_2[0x10];\n        param_2[0x10] = piVar17;\n        local_50 = (int)*(short *)((int)param_2 + 0x2a);\n        if (0 < local_50) {\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }\n        goto LAB_0009d70c;\n      }\n      iVar1 = 1;\n      piVar18 = (int *)*param_2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x1478);\n      *param_5 = uVar25;\n      (*pcVar4)(piVar17);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }" (else "else") (compound_statement "{\n      *puVar3 = 0;\n      puVar3[1] = 0;\n      puVar3[2] = 0;\n      puVar3[3] = 0;\n      puVar3[4] = 0;\n      puVar3[5] = 0;\n      puVar3[6] = 0;\n      puVar3[7] = 0;\n      puVar3[8] = 0;\n      puVar3[9] = 0;\n      puVar3[10] = 0;\n      puVar3[0xb] = 0;\n      *(int *)piVar17[2] = *param_3;\n      piVar17[3] = 1;\n      if (local_30 != 0) {\n        piVar17[6] = param_2[0x10];\n        param_2[0x10] = piVar17;\n        local_50 = (int)*(short *)((int)param_2 + 0x2a);\n        if (0 < local_50) {\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }\n        goto LAB_0009d70c;\n      }\n      iVar1 = 1;\n      piVar18 = (int *)*param_2;\n      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x1478);\n      *param_5 = uVar25;\n      (*pcVar4)(piVar17);\n      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);\n    }" ({ "{") (expression_statement "*puVar3 = 0;" (assignment_expression "*puVar3 = 0" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar3[2] = 0;" (assignment_expression "puVar3[2] = 0" (subscript_expression "puVar3[2]" (identifier "puVar3") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar3[3] = 0;" (assignment_expression "puVar3[3] = 0" (subscript_expression "puVar3[3]" (identifier "puVar3") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar3[4] = 0;" (assignment_expression "puVar3[4] = 0" (subscript_expression "puVar3[4]" (identifier "puVar3") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar3[5] = 0;" (assignment_expression "puVar3[5] = 0" (subscript_expression "puVar3[5]" (identifier "puVar3") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar3[6] = 0;" (assignment_expression "puVar3[6] = 0" (subscript_expression "puVar3[6]" (identifier "puVar3") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar3[7] = 0;" (assignment_expression "puVar3[7] = 0" (subscript_expression "puVar3[7]" (identifier "puVar3") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar3[8] = 0;" (assignment_expression "puVar3[8] = 0" (subscript_expression "puVar3[8]" (identifier "puVar3") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar3[9] = 0;" (assignment_expression "puVar3[9] = 0" (subscript_expression "puVar3[9]" (identifier "puVar3") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar3[10] = 0;" (assignment_expression "puVar3[10] = 0" (subscript_expression "puVar3[10]" (identifier "puVar3") ([ "[") (number_literal "10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar3[0xb] = 0;" (assignment_expression "puVar3[0xb] = 0" (subscript_expression "puVar3[0xb]" (identifier "puVar3") ([ "[") (number_literal "0xb") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)piVar17[2] = *param_3;" (assignment_expression "*(int *)piVar17[2] = *param_3" (pointer_expression "*(int *)piVar17[2]" (* "*") (cast_expression "(int *)piVar17[2]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar17[2]" (identifier "piVar17") ([ "[") (number_literal "2") (] "]")))) (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (expression_statement "piVar17[3] = 1;" (assignment_expression "piVar17[3] = 1" (subscript_expression "piVar17[3]" (identifier "piVar17") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "1")) (; ";")) (if_statement "if (local_30 != 0) {\n        piVar17[6] = param_2[0x10];\n        param_2[0x10] = piVar17;\n        local_50 = (int)*(short *)((int)param_2 + 0x2a);\n        if (0 < local_50) {\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }\n        goto LAB_0009d70c;\n      }" (if "if") (parenthesized_expression "(local_30 != 0)" (( "(") (binary_expression "local_30 != 0" (identifier "local_30") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        piVar17[6] = param_2[0x10];\n        param_2[0x10] = piVar17;\n        local_50 = (int)*(short *)((int)param_2 + 0x2a);\n        if (0 < local_50) {\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }\n        goto LAB_0009d70c;\n      }" ({ "{") (expression_statement "piVar17[6] = param_2[0x10];" (assignment_expression "piVar17[6] = param_2[0x10]" (subscript_expression "piVar17[6]" (identifier "piVar17") ([ "[") (number_literal "6") (] "]")) (= "=") (subscript_expression "param_2[0x10]" (identifier "param_2") ([ "[") (number_literal "0x10") (] "]"))) (; ";")) (expression_statement "param_2[0x10] = piVar17;" (assignment_expression "param_2[0x10] = piVar17" (subscript_expression "param_2[0x10]" (identifier "param_2") ([ "[") (number_literal "0x10") (] "]")) (= "=") (identifier "piVar17")) (; ";")) (expression_statement "local_50 = (int)*(short *)((int)param_2 + 0x2a);" (assignment_expression "local_50 = (int)*(short *)((int)param_2 + 0x2a)" (identifier "local_50") (= "=") (cast_expression "(int)*(short *)((int)param_2 + 0x2a)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(short *)((int)param_2 + 0x2a)" (* "*") (cast_expression "(short *)((int)param_2 + 0x2a)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0x2a)" (( "(") (binary_expression "(int)param_2 + 0x2a" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0x2a")) () ")")))))) (; ";")) (if_statement "if (0 < local_50) {\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }" (if "if") (parenthesized_expression "(0 < local_50)" (( "(") (binary_expression "0 < local_50" (number_literal "0") (< "<") (identifier "local_50")) () ")")) (compound_statement "{\n          iVar27 = 0;\n          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);\n          local_48 = 0;\n          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;\n          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);\n          do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);\n        }" ({ "{") (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" (identifier "iVar27") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);" (assignment_expression "pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24)" (identifier "pcVar4") (= "=") (cast_expression "(code *)(PTR_LAB_00190bb8 + -0x7f24)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bb8 + -0x7f24)" (( "(") (binary_expression "PTR_LAB_00190bb8 + -0x7f24" (identifier "PTR_LAB_00190bb8") (+ "+") (number_literal "-0x7f24")) () ")")))) (; ";")) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" (identifier "local_48") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;" (assignment_expression "puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410" (identifier "puVar24") (= "=") (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410" (identifier "PTR_s_o_page_from_root____pageno_INTEG_0019095c") (+ "+") (number_literal "-0x5410"))) (; ";")) (expression_statement "pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);" (assignment_expression "pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4)" (identifier "pcVar23") (= "=") (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x27e4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + 0x27e4)" (( "(") (binary_expression "PTR_LAB_00190ba8 + 0x27e4" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "0x27e4")) () ")")))) (; ";")) (do_statement "do {\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          } while (iVar27 < local_50);" (do "do") (compound_statement "{\n            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);\n            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }\nLAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;\nLAB_0009d6f8:\n            iVar27 = iVar27 + 1;\n          }" ({ "{") (expression_statement "puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);" (assignment_expression "puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10)" (identifier "puVar5") (= "=") (cast_expression "(undefined4 *)(param_2[1] + iVar27 * 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2[1] + iVar27 * 0x10)" (( "(") (binary_expression "param_2[1] + iVar27 * 0x10" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (+ "+") (binary_expression "iVar27 * 0x10" (identifier "iVar27") (* "*") (number_literal "0x10"))) () ")")))) (; ";")) (if_statement "if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }" (if "if") (parenthesized_expression "(((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0))" (( "(") (binary_expression "((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&\n               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)" (parenthesized_expression "((*(byte *)((int)puVar5 + 0xf) & 4) != 0)" (( "(") (binary_expression "(*(byte *)((int)puVar5 + 0xf) & 4) != 0" (parenthesized_expression "(*(byte *)((int)puVar5 + 0xf) & 4)" (( "(") (binary_expression "*(byte *)((int)puVar5 + 0xf) & 4" (pointer_expression "*(byte *)((int)puVar5 + 0xf)" (* "*") (cast_expression "(byte *)((int)puVar5 + 0xf)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar5 + 0xf)" (( "(") (binary_expression "(int)puVar5 + 0xf" (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5")) (+ "+") (number_literal "0xf")) () ")")))) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)" (( "(") (comma_expression "pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0" (assignment_expression "pcVar6 = (char *)(*pcVar4)(*puVar5)" (identifier "pcVar6") (= "=") (cast_expression "(char *)(*pcVar4)(*puVar5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar4)(*puVar5)" (parenthesized_expression "(*pcVar4)" (( "(") (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) () ")")) (argument_list "(*puVar5)" (( "(") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) () ")"))))) (, ",") (binary_expression "pcVar6 != (char *)0x0" (identifier "pcVar6") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);\n              uVar7 = uVar7 & 0x3fffffff;\n              if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }\n            }" ({ "{") (expression_statement "uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);" (assignment_expression "uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6)" (identifier "uVar7") (= "=") (call_expression "(*(code *)PTR_strlen_00190d80)(pcVar6)" (parenthesized_expression "(*(code *)PTR_strlen_00190d80)" (( "(") (pointer_expression "*(code *)PTR_strlen_00190d80" (* "*") (cast_expression "(code *)PTR_strlen_00190d80" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_00190d80"))) () ")")) (argument_list "(pcVar6)" (( "(") (identifier "pcVar6") () ")")))) (; ";")) (expression_statement "uVar7 = uVar7 & 0x3fffffff;" (assignment_expression "uVar7 = uVar7 & 0x3fffffff" (identifier "uVar7") (= "=") (binary_expression "uVar7 & 0x3fffffff" (identifier "uVar7") (& "&") (number_literal "0x3fffffff"))) (; ";")) (if_statement "if (uVar7 != 0) {\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }" (if "if") (parenthesized_expression "(uVar7 != 0)" (( "(") (binary_expression "uVar7 != 0" (identifier "uVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                uVar22 = 0;\n                pcVar21 = pcVar6;\nLAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;\n                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;\n                if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }\n                if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }\n                if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }\n                local_48 = 0x80;\n                iVar8 = param_2[1] + iVar27 * 0x10;\n                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;\n                local_50 = (int)*(short *)((int)param_2 + 0x2a);\n                goto LAB_0009d6f8;\n              }" ({ "{") (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" (identifier "uVar22") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar21 = pcVar6;" (assignment_expression "pcVar21 = pcVar6" (identifier "pcVar21") (= "=") (identifier "pcVar6")) (; ";")) (labeled_statement "LAB_0009d63c:\n                piVar18 = (int *)&DAT_00000006;" (statement_identifier "LAB_0009d63c") (: ":") (expression_statement "piVar18 = (int *)&DAT_00000006;" (assignment_expression "piVar18 = (int *)&DAT_00000006" (identifier "piVar18") (= "=") (cast_expression "(int *)&DAT_00000006" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000006" (& "&") (identifier "DAT_00000006")))) (; ";"))) (if_statement "if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;" (if "if") (parenthesized_expression "(((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' '))))" (( "(") (binary_expression "((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))\n                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))" (parenthesized_expression "((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))" (( "(") (binary_expression "(pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0)" (parenthesized_expression "(pcVar21 == (char *)0x0)" (( "(") (binary_expression "pcVar21 == (char *)0x0" (identifier "pcVar21") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0)" (( "(") (comma_expression "iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0" (assignment_expression "iVar8 = (*pcVar23)(puVar24,pcVar21)" (identifier "iVar8") (= "=") (call_expression "(*pcVar23)(puVar24,pcVar21)" (parenthesized_expression "(*pcVar23)" (( "(") (pointer_expression "*pcVar23" (* "*") (identifier "pcVar23")) () ")")) (argument_list "(puVar24,pcVar21)" (( "(") (identifier "puVar24") (, ",") (identifier "pcVar21") () ")")))) (, ",") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "((uVar22 != 0 && (pcVar21[-1] != ' ')))" (( "(") (parenthesized_expression "(uVar22 != 0 && (pcVar21[-1] != ' '))" (( "(") (binary_expression "uVar22 != 0 && (pcVar21[-1] != ' ')" (binary_expression "uVar22 != 0" (identifier "uVar22") (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "(pcVar21[-1] != ' ')" (( "(") (binary_expression "pcVar21[-1] != ' '" (subscript_expression "pcVar21[-1]" (identifier "pcVar21") ([ "[") (number_literal "-1") (] "]")) (!= "!=") (char_literal "' '" (' "'") (character " ") (' "'"))) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_0009d634;" (goto "goto") (statement_identifier "LAB_0009d634") (; ";"))) (if_statement "if (pcVar21[6] == '\0') {\n                  iVar8 = 6;\n                }\n                else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }" (if "if") (parenthesized_expression "(pcVar21[6] == '\0')" (( "(") (binary_expression "pcVar21[6] == '\0'" (subscript_expression "pcVar21[6]" (identifier "pcVar21") ([ "[") (number_literal "6") (] "]")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                  iVar8 = 6;\n                }" ({ "{") (expression_statement "iVar8 = 6;" (assignment_expression "iVar8 = 6" (identifier "iVar8") (= "=") (number_literal "6")) (; ";")) (} "}")) (else_clause "else {\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }" (else "else") (compound_statement "{\n                  if (pcVar21[6] != ' ') goto LAB_0009d634;\n                  iVar8 = 7;\n                }" ({ "{") (if_statement "if (pcVar21[6] != ' ') goto LAB_0009d634;" (if "if") (parenthesized_expression "(pcVar21[6] != ' ')" (( "(") (binary_expression "pcVar21[6] != ' '" (subscript_expression "pcVar21[6]" (identifier "pcVar21") ([ "[") (number_literal "6") (] "]")) (!= "!=") (char_literal "' '" (' "'") (character " ") (' "'"))) () ")")) (goto_statement "goto LAB_0009d634;" (goto "goto") (statement_identifier "LAB_0009d634") (; ";"))) (expression_statement "iVar8 = 7;" (assignment_expression "iVar8 = 7" (identifier "iVar8") (= "=") (number_literal "7")) (; ";")) (} "}")))) (if_statement "if ((int)(iVar8 + uVar22) <= (int)uVar7) {\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }" (if "if") (parenthesized_expression "((int)(iVar8 + uVar22) <= (int)uVar7)" (( "(") (binary_expression "(int)(iVar8 + uVar22) <= (int)uVar7" (cast_expression "(int)(iVar8 + uVar22)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(iVar8 + uVar22)" (( "(") (binary_expression "iVar8 + uVar22" (identifier "iVar8") (+ "+") (identifier "uVar22")) () ")"))) (<= "<=") (cast_expression "(int)uVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar7"))) () ")")) (compound_statement "{\n                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;\n                  pcVar10 = pcVar6 + uVar22;\n                  do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);\n                }" ({ "{") (expression_statement "iVar13 = (int)(pcVar6 + uVar22) - uVar22;" (assignment_expression "iVar13 = (int)(pcVar6 + uVar22) - uVar22" (identifier "iVar13") (= "=") (binary_expression "(int)(pcVar6 + uVar22) - uVar22" (cast_expression "(int)(pcVar6 + uVar22)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pcVar6 + uVar22)" (( "(") (binary_expression "pcVar6 + uVar22" (identifier "pcVar6") (+ "+") (identifier "uVar22")) () ")"))) (- "-") (identifier "uVar22"))) (; ";")) (expression_statement "pcVar10 = pcVar6 + uVar22;" (assignment_expression "pcVar10 = pcVar6 + uVar22" (identifier "pcVar10") (= "=") (binary_expression "pcVar6 + uVar22" (identifier "pcVar6") (+ "+") (identifier "uVar22"))) (; ";")) (do_statement "do {\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);" (do "do") (compound_statement "{\n                    pcVar9 = pcVar10 + 1;\n                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);\n                    iVar13 = (int)pcVar9 - uVar22;\n                    pcVar10 = pcVar9;\n                  }" ({ "{") (expression_statement "pcVar9 = pcVar10 + 1;" (assignment_expression "pcVar9 = pcVar10 + 1" (identifier "pcVar9") (= "=") (binary_expression "pcVar10 + 1" (identifier "pcVar10") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);" (assignment_expression "*pcVar10 = *(char *)(iVar13 + iVar8 + uVar22)" (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10")) (= "=") (pointer_expression "*(char *)(iVar13 + iVar8 + uVar22)" (* "*") (cast_expression "(char *)(iVar13 + iVar8 + uVar22)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + iVar8 + uVar22)" (( "(") (binary_expression "iVar13 + iVar8 + uVar22" (binary_expression "iVar13 + iVar8" (identifier "iVar13") (+ "+") (identifier "iVar8")) (+ "+") (identifier "uVar22")) () ")"))))) (; ";")) (expression_statement "iVar13 = (int)pcVar9 - uVar22;" (assignment_expression "iVar13 = (int)pcVar9 - uVar22" (identifier "iVar13") (= "=") (binary_expression "(int)pcVar9 - uVar22" (cast_expression "(int)pcVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar9")) (- "-") (identifier "uVar22"))) (; ";")) (expression_statement "pcVar10 = pcVar9;" (assignment_expression "pcVar10 = pcVar9" (identifier "pcVar10") (= "=") (identifier "pcVar9")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7)" (( "(") (binary_expression "(int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7" (cast_expression "(int)(pcVar9 + (iVar8 - (int)pcVar6))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pcVar9 + (iVar8 - (int)pcVar6))" (( "(") (binary_expression "pcVar9 + (iVar8 - (int)pcVar6)" (identifier "pcVar9") (+ "+") (parenthesized_expression "(iVar8 - (int)pcVar6)" (( "(") (binary_expression "iVar8 - (int)pcVar6" (identifier "iVar8") (- "-") (cast_expression "(int)pcVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar6"))) () ")"))) () ")"))) (<= "<=") (cast_expression "(int)uVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar7"))) () ")")) (; ";")) (} "}"))) (if_statement "if ((*pcVar21 == '\0') && (uVar22 != 0)) {\n                  pcVar6[uVar22 - 1] = '\0';\n                }" (if "if") (parenthesized_expression "((*pcVar21 == '\0') && (uVar22 != 0))" (( "(") (binary_expression "(*pcVar21 == '\0') && (uVar22 != 0)" (parenthesized_expression "(*pcVar21 == '\0')" (( "(") (binary_expression "*pcVar21 == '\0'" (pointer_expression "*pcVar21" (* "*") (identifier "pcVar21")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(uVar22 != 0)" (( "(") (binary_expression "uVar22 != 0" (identifier "uVar22") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                  pcVar6[uVar22 - 1] = '\0';\n                }" ({ "{") (expression_statement "pcVar6[uVar22 - 1] = '\0';" (assignment_expression "pcVar6[uVar22 - 1] = '\0'" (subscript_expression "pcVar6[uVar22 - 1]" (identifier "pcVar6") ([ "[") (binary_expression "uVar22 - 1" (identifier "uVar22") (- "-") (number_literal "1")) (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (} "}"))) (expression_statement "local_48 = 0x80;" (assignment_expression "local_48 = 0x80" (identifier "local_48") (= "=") (number_literal "0x80")) (; ";")) (expression_statement "iVar8 = param_2[1] + iVar27 * 0x10;" (assignment_expression "iVar8 = param_2[1] + iVar27 * 0x10" (identifier "iVar8") (= "=") (binary_expression "param_2[1] + iVar27 * 0x10" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (+ "+") (binary_expression "iVar27 * 0x10" (identifier "iVar27") (* "*") (number_literal "0x10")))) (; ";")) (expression_statement "*(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;" (assignment_expression "*(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2" (pointer_expression "*(byte *)(iVar8 + 0xf)" (* "*") (cast_expression "(byte *)(iVar8 + 0xf)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0xf)" (( "(") (binary_expression "iVar8 + 0xf" (identifier "iVar8") (+ "+") (number_literal "0xf")) () ")")))) (= "=") (binary_expression "*(byte *)(iVar8 + 0xf) | 2" (pointer_expression "*(byte *)(iVar8 + 0xf)" (* "*") (cast_expression "(byte *)(iVar8 + 0xf)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0xf)" (( "(") (binary_expression "iVar8 + 0xf" (identifier "iVar8") (+ "+") (number_literal "0xf")) () ")")))) (| "|") (number_literal "2"))) (; ";")) (expression_statement "local_50 = (int)*(short *)((int)param_2 + 0x2a);" (assignment_expression "local_50 = (int)*(short *)((int)param_2 + 0x2a)" (identifier "local_50") (= "=") (cast_expression "(int)*(short *)((int)param_2 + 0x2a)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(short *)((int)param_2 + 0x2a)" (* "*") (cast_expression "(short *)((int)param_2 + 0x2a)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0x2a)" (( "(") (binary_expression "(int)param_2 + 0x2a" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0x2a")) () ")")))))) (; ";")) (goto_statement "goto LAB_0009d6f8;" (goto "goto") (statement_identifier "LAB_0009d6f8") (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_0009d7b4:\n            param_2[9] = param_2[9] | local_48;" (statement_identifier "LAB_0009d7b4") (: ":") (expression_statement "param_2[9] = param_2[9] | local_48;" (assignment_expression "param_2[9] = param_2[9] | local_48" (subscript_expression "param_2[9]" (identifier "param_2") ([ "[") (number_literal "9") (] "]")) (= "=") (binary_expression "param_2[9] | local_48" (subscript_expression "param_2[9]" (identifier "param_2") ([ "[") (number_literal "9") (] "]")) (| "|") (identifier "local_48"))) (; ";"))) (labeled_statement "LAB_0009d6f8:\n            iVar27 = iVar27 + 1;" (statement_identifier "LAB_0009d6f8") (: ":") (expression_statement "iVar27 = iVar27 + 1;" (assignment_expression "iVar27 = iVar27 + 1" (identifier "iVar27") (= "=") (binary_expression "iVar27 + 1" (identifier "iVar27") (+ "+") (number_literal "1"))) (; ";"))) (} "}")) (while "while") (parenthesized_expression "(iVar27 < local_50)" (( "(") (binary_expression "iVar27 < local_50" (identifier "iVar27") (< "<") (identifier "local_50")) () ")")) (; ";")) (} "}"))) (goto_statement "goto LAB_0009d70c;" (goto "goto") (statement_identifier "LAB_0009d70c") (; ";")) (} "}"))) (expression_statement "iVar1 = 1;" (assignment_expression "iVar1 = 1" (identifier "iVar1") (= "=") (number_literal "1")) (; ";")) (expression_statement "piVar18 = (int *)*param_2;" (assignment_expression "piVar18 = (int *)*param_2" (identifier "piVar18") (= "=") (cast_expression "(int *)*param_2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_2" (* "*") (identifier "param_2")))) (; ";")) (expression_statement "uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);" (assignment_expression "uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440)" (identifier "uVar25") (= "=") (call_expression "FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440)" (identifier "FUN_0009d164") (argument_list "(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440)" (( "(") (identifier "param_1") (, ",") (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440" (identifier "PTR_s_o_page_from_root____pageno_INTEG_0019095c") (+ "+") (number_literal "-0x5440")) () ")")))) (; ";")) (expression_statement "pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x1478);" (assignment_expression "pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x1478)" (identifier "pcVar4") (= "=") (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x1478)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + -0x1478)" (( "(") (binary_expression "PTR_LAB_00190ba8 + -0x1478" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "-0x1478")) () ")")))) (; ";")) (expression_statement "*param_5 = uVar25;" (assignment_expression "*param_5 = uVar25" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (= "=") (identifier "uVar25")) (; ";")) (expression_statement "(*pcVar4)(piVar17);" (call_expression "(*pcVar4)(piVar17)" (parenthesized_expression "(*pcVar4)" (( "(") (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) () ")")) (argument_list "(piVar17)" (( "(") (identifier "piVar17") () ")"))) (; ";")) (expression_statement "pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);" (assignment_expression "pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368)" (identifier "pcVar4") (= "=") (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2368)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2368)" (( "(") (binary_expression "PTR_LAB_00190ba8 + -0x2368" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "-0x2368")) () ")")))) (; ";")) (} "}")))) (} "}")))) (expression_statement "(*pcVar4)(param_1);" (call_expression "(*pcVar4)(param_1)" (parenthesized_expression "(*pcVar4)" (( "(") (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (expression_statement "piVar17 = piVar2;" (assignment_expression "piVar17 = piVar2" (identifier "piVar17") (= "=") (identifier "piVar2")) (; ";")) (expression_statement "param_4 = pcVar26;" (assignment_expression "param_4 = pcVar26" (identifier "param_4") (= "=") (identifier "pcVar26")) (; ";")) (labeled_statement "LAB_0009d418:\n  if (local_2c == *(int **)puVar28) {\n    return iVar1;\n  }" (statement_identifier "LAB_0009d418") (: ":") (if_statement "if (local_2c == *(int **)puVar28) {\n    return iVar1;\n  }" (if "if") (parenthesized_expression "(local_2c == *(int **)puVar28)" (( "(") (binary_expression "local_2c == *(int **)puVar28" (identifier "local_2c") (== "==") (pointer_expression "*(int **)puVar28" (* "*") (cast_expression "(int **)puVar28" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar28")))) () ")")) (compound_statement "{\n    return iVar1;\n  }" ({ "{") (return_statement "return iVar1;" (return "return") (identifier "iVar1") (; ";")) (} "}")))) (expression_statement "piVar2 = local_2c;" (assignment_expression "piVar2 = local_2c" (identifier "piVar2") (= "=") (identifier "local_2c")) (; ";")) (expression_statement "puVar28 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar28 = PTR___stack_chk_fail_00190df8" (identifier "puVar28") (= "=") (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 "()" (( "(") () ")"))) (; ";")) (if_statement "if (param_4 == (code *)0x0) {\n    uVar7 = 0;\n  }\n  else {\n    uVar7 = (**(code **)(puVar28 + 0xf34e4))(param_4);\n    uVar7 = uVar7 & 0x3fffffff;\n  }" (if "if") (parenthesized_expression "(param_4 == (code *)0x0)" (( "(") (binary_expression "param_4 == (code *)0x0" (identifier "param_4") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    uVar7 = 0;\n  }" ({ "{") (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" (identifier "uVar7") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    uVar7 = (**(code **)(puVar28 + 0xf34e4))(param_4);\n    uVar7 = uVar7 & 0x3fffffff;\n  }" (else "else") (compound_statement "{\n    uVar7 = (**(code **)(puVar28 + 0xf34e4))(param_4);\n    uVar7 = uVar7 & 0x3fffffff;\n  }" ({ "{") (expression_statement "uVar7 = (**(code **)(puVar28 + 0xf34e4))(param_4);" (assignment_expression "uVar7 = (**(code **)(puVar28 + 0xf34e4))(param_4)" (identifier "uVar7") (= "=") (call_expression "(**(code **)(puVar28 + 0xf34e4))(param_4)" (parenthesized_expression "(**(code **)(puVar28 + 0xf34e4))" (( "(") (pointer_expression "**(code **)(puVar28 + 0xf34e4)" (* "*") (pointer_expression "*(code **)(puVar28 + 0xf34e4)" (* "*") (cast_expression "(code **)(puVar28 + 0xf34e4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar28 + 0xf34e4)" (( "(") (binary_expression "puVar28 + 0xf34e4" (identifier "puVar28") (+ "+") (number_literal "0xf34e4")) () ")"))))) () ")")) (argument_list "(param_4)" (( "(") (identifier "param_4") () ")")))) (; ";")) (expression_statement "uVar7 = uVar7 & 0x3fffffff;" (assignment_expression "uVar7 = uVar7 & 0x3fffffff" (identifier "uVar7") (= "=") (binary_expression "uVar7 & 0x3fffffff" (identifier "uVar7") (& "&") (number_literal "0x3fffffff"))) (; ";")) (} "}")))) (if_statement "if (piVar18 == (int *)0x0) {\n    uVar22 = 0;\n  }\n  else {\n    uVar22 = (**(code **)(puVar28 + 0xf34e4))(piVar18);\n    uVar22 = uVar22 & 0x3fffffff;\n  }" (if "if") (parenthesized_expression "(piVar18 == (int *)0x0)" (( "(") (binary_expression "piVar18 == (int *)0x0" (identifier "piVar18") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    uVar22 = 0;\n  }" ({ "{") (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" (identifier "uVar22") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    uVar22 = (**(code **)(puVar28 + 0xf34e4))(piVar18);\n    uVar22 = uVar22 & 0x3fffffff;\n  }" (else "else") (compound_statement "{\n    uVar22 = (**(code **)(puVar28 + 0xf34e4))(piVar18);\n    uVar22 = uVar22 & 0x3fffffff;\n  }" ({ "{") (expression_statement "uVar22 = (**(code **)(puVar28 + 0xf34e4))(piVar18);" (assignment_expression "uVar22 = (**(code **)(puVar28 + 0xf34e4))(piVar18)" (identifier "uVar22") (= "=") (call_expression "(**(code **)(puVar28 + 0xf34e4))(piVar18)" (parenthesized_expression "(**(code **)(puVar28 + 0xf34e4))" (( "(") (pointer_expression "**(code **)(puVar28 + 0xf34e4)" (* "*") (pointer_expression "*(code **)(puVar28 + 0xf34e4)" (* "*") (cast_expression "(code **)(puVar28 + 0xf34e4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar28 + 0xf34e4)" (( "(") (binary_expression "puVar28 + 0xf34e4" (identifier "puVar28") (+ "+") (number_literal "0xf34e4")) () ")"))))) () ")")) (argument_list "(piVar18)" (( "(") (identifier "piVar18") () ")")))) (; ";")) (expression_statement "uVar22 = uVar22 & 0x3fffffff;" (assignment_expression "uVar22 = uVar22 & 0x3fffffff" (identifier "uVar22") (= "=") (binary_expression "uVar22 & 0x3fffffff" (identifier "uVar22") (& "&") (number_literal "0x3fffffff"))) (; ";")) (} "}")))) (expression_statement "uVar25 = *(undefined4 *)(*piVar2 + 0x20);" (assignment_expression "uVar25 = *(undefined4 *)(*piVar2 + 0x20)" (identifier "uVar25") (= "=") (pointer_expression "*(undefined4 *)(*piVar2 + 0x20)" (* "*") (cast_expression "(undefined4 *)(*piVar2 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar2 + 0x20)" (( "(") (binary_expression "*piVar2 + 0x20" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "pcVar26 = (code *)FUN_0009d164(uVar25,*(int *)(puVar28 + 0xf30c0) + -0x56e8,param_4);" (assignment_expression "pcVar26 = (code *)FUN_0009d164(uVar25,*(int *)(puVar28 + 0xf30c0) + -0x56e8,param_4)" (identifier "pcVar26") (= "=") (cast_expression "(code *)FUN_0009d164(uVar25,*(int *)(puVar28 + 0xf30c0) + -0x56e8,param_4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0009d164(uVar25,*(int *)(puVar28 + 0xf30c0) + -0x56e8,param_4)" (identifier "FUN_0009d164") (argument_list "(uVar25,*(int *)(puVar28 + 0xf30c0) + -0x56e8,param_4)" (( "(") (identifier "uVar25") (, ",") (binary_expression "*(int *)(puVar28 + 0xf30c0) + -0x56e8" (pointer_expression "*(int *)(puVar28 + 0xf30c0)" (* "*") (cast_expression "(int *)(puVar28 + 0xf30c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar28 + 0xf30c0)" (( "(") (binary_expression "puVar28 + 0xf30c0" (identifier "puVar28") (+ "+") (number_literal "0xf30c0")) () ")")))) (+ "+") (number_literal "-0x56e8")) (, ",") (identifier "param_4") () ")"))))) (; ";")) (if_statement "if (pcVar26 == (code *)0x0) {\n    return 7;\n  }" (if "if") (parenthesized_expression "(pcVar26 == (code *)0x0)" (( "(") (binary_expression "pcVar26 == (code *)0x0" (identifier "pcVar26") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    return 7;\n  }" ({ "{") (return_statement "return 7;" (return "return") (number_literal "7") (; ";")) (} "}"))) (if_statement "if (in_stack_ffffff98 != (int *)0x0) {\n    param_4 = pcVar26;\n  }" (if "if") (parenthesized_expression "(in_stack_ffffff98 != (int *)0x0)" (( "(") (binary_expression "in_stack_ffffff98 != (int *)0x0" (identifier "in_stack_ffffff98") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    param_4 = pcVar26;\n  }" ({ "{") (expression_statement "param_4 = pcVar26;" (assignment_expression "param_4 = pcVar26" (identifier "param_4") (= "=") (identifier "pcVar26")) (; ";")) (} "}"))) (expression_statement "uVar11 = (**(code **)(puVar28 + 0xf34e4))(pcVar26);" (assignment_expression "uVar11 = (**(code **)(puVar28 + 0xf34e4))(pcVar26)" (identifier "uVar11") (= "=") (call_expression "(**(code **)(puVar28 + 0xf34e4))(pcVar26)" (parenthesized_expression "(**(code **)(puVar28 + 0xf34e4))" (( "(") (pointer_expression "**(code **)(puVar28 + 0xf34e4)" (* "*") (pointer_expression "*(code **)(puVar28 + 0xf34e4)" (* "*") (cast_expression "(code **)(puVar28 + 0xf34e4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar28 + 0xf34e4)" (( "(") (binary_expression "puVar28 + 0xf34e4" (identifier "puVar28") (+ "+") (number_literal "0xf34e4")) () ")"))))) () ")")) (argument_list "(pcVar26)" (( "(") (identifier "pcVar26") () ")")))) (; ";")) (if_statement "if (in_stack_ffffff98 != (int *)0x0) {\n    uVar7 = uVar11 & 0x3fffffff;\n  }" (if "if") (parenthesized_expression "(in_stack_ffffff98 != (int *)0x0)" (( "(") (binary_expression "in_stack_ffffff98 != (int *)0x0" (identifier "in_stack_ffffff98") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    uVar7 = uVar11 & 0x3fffffff;\n  }" ({ "{") (expression_statement "uVar7 = uVar11 & 0x3fffffff;" (assignment_expression "uVar7 = uVar11 & 0x3fffffff" (identifier "uVar7") (= "=") (binary_expression "uVar11 & 0x3fffffff" (identifier "uVar11") (& "&") (number_literal "0x3fffffff"))) (; ";")) (} "}"))) (expression_statement "iVar1 = (*(code *)(*(int *)(puVar28 + 0xf330c) + 0x924))(uVar25);" (assignment_expression "iVar1 = (*(code *)(*(int *)(puVar28 + 0xf330c) + 0x924))(uVar25)" (identifier "iVar1") (= "=") (call_expression "(*(code *)(*(int *)(puVar28 + 0xf330c) + 0x924))(uVar25)" (parenthesized_expression "(*(code *)(*(int *)(puVar28 + 0xf330c) + 0x924))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar28 + 0xf330c) + 0x924)" (* "*") (cast_expression "(code *)(*(int *)(puVar28 + 0xf330c) + 0x924)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar28 + 0xf330c) + 0x924)" (( "(") (binary_expression "*(int *)(puVar28 + 0xf330c) + 0x924" (pointer_expression "*(int *)(puVar28 + 0xf330c)" (* "*") (cast_expression "(int *)(puVar28 + 0xf330c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar28 + 0xf330c)" (( "(") (binary_expression "puVar28 + 0xf330c" (identifier "puVar28") (+ "+") (number_literal "0xf330c")) () ")")))) (+ "+") (number_literal "0x924")) () ")")))) () ")")) (argument_list "(uVar25)" (( "(") (identifier "uVar25") () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\n    iVar27 = 7;\n  }\n  else {\n    (**(code **)(puVar28 + 0xf3590))(iVar1,piVar18,uVar22);\n    iVar27 = *piVar17;\n    iVar8 = *(int *)(puVar28 + 0xf330c);\n    if (iVar27 != 0) {\n      iVar13 = *(int *)(puVar28 + 0xf32f8);\n      do {\n        iVar14 = *(int *)(iVar27 + 0xc);\n        iVar12 = iVar14;\n        iVar29 = iVar27;\n        if (iVar14 == 0) {\n          iVar12 = 0;\n          piVar19 = piVar17;\nLAB_0009da24:\n          *piVar19 = iVar12;\n        }\n        else {\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }\n        pbVar16 = *(byte **)(iVar27 + 4);\n        uVar20 = uVar11 & 0x3fffffff;\n        pcVar4 = pcVar26;\n        if ((*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0) {\n          uVar20 = uVar7;\n          pcVar4 = param_4;\n        }\n        if (*(uint *)(iVar27 + 8) != uVar20) {\n          (**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));\n          uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;\n          *(undefined1 *)(iVar1 + uVar22) = 0;\n        }\n        (**(code **)(puVar28 + 0xf3590))(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20);\n        (*(code *)(iVar8 + -0x2368))(uVar25,iVar27);\n        iVar27 = *piVar17;\n      } while (iVar27 != 0);\n    }\n    FUN_0007ec40(piVar2,piVar2 + 5,iVar1,0xffffffff,1,0xffffffff);\n    iVar27 = 0;\n    (*(code *)(iVar8 + -0x2368))(uVar25,iVar1);\n  }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar27 = 7;\n  }" ({ "{") (expression_statement "iVar27 = 7;" (assignment_expression "iVar27 = 7" (identifier "iVar27") (= "=") (number_literal "7")) (; ";")) (} "}")) (else_clause "else {\n    (**(code **)(puVar28 + 0xf3590))(iVar1,piVar18,uVar22);\n    iVar27 = *piVar17;\n    iVar8 = *(int *)(puVar28 + 0xf330c);\n    if (iVar27 != 0) {\n      iVar13 = *(int *)(puVar28 + 0xf32f8);\n      do {\n        iVar14 = *(int *)(iVar27 + 0xc);\n        iVar12 = iVar14;\n        iVar29 = iVar27;\n        if (iVar14 == 0) {\n          iVar12 = 0;\n          piVar19 = piVar17;\nLAB_0009da24:\n          *piVar19 = iVar12;\n        }\n        else {\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }\n        pbVar16 = *(byte **)(iVar27 + 4);\n        uVar20 = uVar11 & 0x3fffffff;\n        pcVar4 = pcVar26;\n        if ((*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0) {\n          uVar20 = uVar7;\n          pcVar4 = param_4;\n        }\n        if (*(uint *)(iVar27 + 8) != uVar20) {\n          (**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));\n          uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;\n          *(undefined1 *)(iVar1 + uVar22) = 0;\n        }\n        (**(code **)(puVar28 + 0xf3590))(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20);\n        (*(code *)(iVar8 + -0x2368))(uVar25,iVar27);\n        iVar27 = *piVar17;\n      } while (iVar27 != 0);\n    }\n    FUN_0007ec40(piVar2,piVar2 + 5,iVar1,0xffffffff,1,0xffffffff);\n    iVar27 = 0;\n    (*(code *)(iVar8 + -0x2368))(uVar25,iVar1);\n  }" (else "else") (compound_statement "{\n    (**(code **)(puVar28 + 0xf3590))(iVar1,piVar18,uVar22);\n    iVar27 = *piVar17;\n    iVar8 = *(int *)(puVar28 + 0xf330c);\n    if (iVar27 != 0) {\n      iVar13 = *(int *)(puVar28 + 0xf32f8);\n      do {\n        iVar14 = *(int *)(iVar27 + 0xc);\n        iVar12 = iVar14;\n        iVar29 = iVar27;\n        if (iVar14 == 0) {\n          iVar12 = 0;\n          piVar19 = piVar17;\nLAB_0009da24:\n          *piVar19 = iVar12;\n        }\n        else {\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }\n        pbVar16 = *(byte **)(iVar27 + 4);\n        uVar20 = uVar11 & 0x3fffffff;\n        pcVar4 = pcVar26;\n        if ((*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0) {\n          uVar20 = uVar7;\n          pcVar4 = param_4;\n        }\n        if (*(uint *)(iVar27 + 8) != uVar20) {\n          (**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));\n          uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;\n          *(undefined1 *)(iVar1 + uVar22) = 0;\n        }\n        (**(code **)(puVar28 + 0xf3590))(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20);\n        (*(code *)(iVar8 + -0x2368))(uVar25,iVar27);\n        iVar27 = *piVar17;\n      } while (iVar27 != 0);\n    }\n    FUN_0007ec40(piVar2,piVar2 + 5,iVar1,0xffffffff,1,0xffffffff);\n    iVar27 = 0;\n    (*(code *)(iVar8 + -0x2368))(uVar25,iVar1);\n  }" ({ "{") (expression_statement "(**(code **)(puVar28 + 0xf3590))(iVar1,piVar18,uVar22);" (call_expression "(**(code **)(puVar28 + 0xf3590))(iVar1,piVar18,uVar22)" (parenthesized_expression "(**(code **)(puVar28 + 0xf3590))" (( "(") (pointer_expression "**(code **)(puVar28 + 0xf3590)" (* "*") (pointer_expression "*(code **)(puVar28 + 0xf3590)" (* "*") (cast_expression "(code **)(puVar28 + 0xf3590)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar28 + 0xf3590)" (( "(") (binary_expression "puVar28 + 0xf3590" (identifier "puVar28") (+ "+") (number_literal "0xf3590")) () ")"))))) () ")")) (argument_list "(iVar1,piVar18,uVar22)" (( "(") (identifier "iVar1") (, ",") (identifier "piVar18") (, ",") (identifier "uVar22") () ")"))) (; ";")) (expression_statement "iVar27 = *piVar17;" (assignment_expression "iVar27 = *piVar17" (identifier "iVar27") (= "=") (pointer_expression "*piVar17" (* "*") (identifier "piVar17"))) (; ";")) (expression_statement "iVar8 = *(int *)(puVar28 + 0xf330c);" (assignment_expression "iVar8 = *(int *)(puVar28 + 0xf330c)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(puVar28 + 0xf330c)" (* "*") (cast_expression "(int *)(puVar28 + 0xf330c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar28 + 0xf330c)" (( "(") (binary_expression "puVar28 + 0xf330c" (identifier "puVar28") (+ "+") (number_literal "0xf330c")) () ")"))))) (; ";")) (if_statement "if (iVar27 != 0) {\n      iVar13 = *(int *)(puVar28 + 0xf32f8);\n      do {\n        iVar14 = *(int *)(iVar27 + 0xc);\n        iVar12 = iVar14;\n        iVar29 = iVar27;\n        if (iVar14 == 0) {\n          iVar12 = 0;\n          piVar19 = piVar17;\nLAB_0009da24:\n          *piVar19 = iVar12;\n        }\n        else {\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }\n        pbVar16 = *(byte **)(iVar27 + 4);\n        uVar20 = uVar11 & 0x3fffffff;\n        pcVar4 = pcVar26;\n        if ((*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0) {\n          uVar20 = uVar7;\n          pcVar4 = param_4;\n        }\n        if (*(uint *)(iVar27 + 8) != uVar20) {\n          (**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));\n          uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;\n          *(undefined1 *)(iVar1 + uVar22) = 0;\n        }\n        (**(code **)(puVar28 + 0xf3590))(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20);\n        (*(code *)(iVar8 + -0x2368))(uVar25,iVar27);\n        iVar27 = *piVar17;\n      } while (iVar27 != 0);\n    }" (if "if") (parenthesized_expression "(iVar27 != 0)" (( "(") (binary_expression "iVar27 != 0" (identifier "iVar27") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar13 = *(int *)(puVar28 + 0xf32f8);\n      do {\n        iVar14 = *(int *)(iVar27 + 0xc);\n        iVar12 = iVar14;\n        iVar29 = iVar27;\n        if (iVar14 == 0) {\n          iVar12 = 0;\n          piVar19 = piVar17;\nLAB_0009da24:\n          *piVar19 = iVar12;\n        }\n        else {\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }\n        pbVar16 = *(byte **)(iVar27 + 4);\n        uVar20 = uVar11 & 0x3fffffff;\n        pcVar4 = pcVar26;\n        if ((*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0) {\n          uVar20 = uVar7;\n          pcVar4 = param_4;\n        }\n        if (*(uint *)(iVar27 + 8) != uVar20) {\n          (**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));\n          uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;\n          *(undefined1 *)(iVar1 + uVar22) = 0;\n        }\n        (**(code **)(puVar28 + 0xf3590))(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20);\n        (*(code *)(iVar8 + -0x2368))(uVar25,iVar27);\n        iVar27 = *piVar17;\n      } while (iVar27 != 0);\n    }" ({ "{") (expression_statement "iVar13 = *(int *)(puVar28 + 0xf32f8);" (assignment_expression "iVar13 = *(int *)(puVar28 + 0xf32f8)" (identifier "iVar13") (= "=") (pointer_expression "*(int *)(puVar28 + 0xf32f8)" (* "*") (cast_expression "(int *)(puVar28 + 0xf32f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar28 + 0xf32f8)" (( "(") (binary_expression "puVar28 + 0xf32f8" (identifier "puVar28") (+ "+") (number_literal "0xf32f8")) () ")"))))) (; ";")) (do_statement "do {\n        iVar14 = *(int *)(iVar27 + 0xc);\n        iVar12 = iVar14;\n        iVar29 = iVar27;\n        if (iVar14 == 0) {\n          iVar12 = 0;\n          piVar19 = piVar17;\nLAB_0009da24:\n          *piVar19 = iVar12;\n        }\n        else {\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }\n        pbVar16 = *(byte **)(iVar27 + 4);\n        uVar20 = uVar11 & 0x3fffffff;\n        pcVar4 = pcVar26;\n        if ((*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0) {\n          uVar20 = uVar7;\n          pcVar4 = param_4;\n        }\n        if (*(uint *)(iVar27 + 8) != uVar20) {\n          (**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));\n          uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;\n          *(undefined1 *)(iVar1 + uVar22) = 0;\n        }\n        (**(code **)(puVar28 + 0xf3590))(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20);\n        (*(code *)(iVar8 + -0x2368))(uVar25,iVar27);\n        iVar27 = *piVar17;\n      } while (iVar27 != 0);" (do "do") (compound_statement "{\n        iVar14 = *(int *)(iVar27 + 0xc);\n        iVar12 = iVar14;\n        iVar29 = iVar27;\n        if (iVar14 == 0) {\n          iVar12 = 0;\n          piVar19 = piVar17;\nLAB_0009da24:\n          *piVar19 = iVar12;\n        }\n        else {\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }\n        pbVar16 = *(byte **)(iVar27 + 4);\n        uVar20 = uVar11 & 0x3fffffff;\n        pcVar4 = pcVar26;\n        if ((*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0) {\n          uVar20 = uVar7;\n          pcVar4 = param_4;\n        }\n        if (*(uint *)(iVar27 + 8) != uVar20) {\n          (**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));\n          uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;\n          *(undefined1 *)(iVar1 + uVar22) = 0;\n        }\n        (**(code **)(puVar28 + 0xf3590))(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20);\n        (*(code *)(iVar8 + -0x2368))(uVar25,iVar27);\n        iVar27 = *piVar17;\n      }" ({ "{") (expression_statement "iVar14 = *(int *)(iVar27 + 0xc);" (assignment_expression "iVar14 = *(int *)(iVar27 + 0xc)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(iVar27 + 0xc)" (* "*") (cast_expression "(int *)(iVar27 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0xc)" (( "(") (binary_expression "iVar27 + 0xc" (identifier "iVar27") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "iVar12 = iVar14;" (assignment_expression "iVar12 = iVar14" (identifier "iVar12") (= "=") (identifier "iVar14")) (; ";")) (expression_statement "iVar29 = iVar27;" (assignment_expression "iVar29 = iVar27" (identifier "iVar29") (= "=") (identifier "iVar27")) (; ";")) (if_statement "if (iVar14 == 0) {\n          iVar12 = 0;\n          piVar19 = piVar17;\nLAB_0009da24:\n          *piVar19 = iVar12;\n        }\n        else {\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }" (if "if") (parenthesized_expression "(iVar14 == 0)" (( "(") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          iVar12 = 0;\n          piVar19 = piVar17;\nLAB_0009da24:\n          *piVar19 = iVar12;\n        }" ({ "{") (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" (identifier "iVar12") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar19 = piVar17;" (assignment_expression "piVar19 = piVar17" (identifier "piVar19") (= "=") (identifier "piVar17")) (; ";")) (labeled_statement "LAB_0009da24:\n          *piVar19 = iVar12;" (statement_identifier "LAB_0009da24") (: ":") (expression_statement "*piVar19 = iVar12;" (assignment_expression "*piVar19 = iVar12" (pointer_expression "*piVar19" (* "*") (identifier "piVar19")) (= "=") (identifier "iVar12")) (; ";"))) (} "}")) (else_clause "else {\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }" (else "else") (compound_statement "{\n          do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);\n          iVar12 = *(int *)(iVar29 + 0xc);\n          if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }\n          *piVar17 = iVar12;\n          iVar27 = iVar29;\n        }" ({ "{") (do_statement "do {\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          } while (*piVar19 != 0);" (do "do") (compound_statement "{\n            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }\n            piVar19 = (int *)(iVar12 + 0xc);\n            iVar12 = *piVar19;\n          }" ({ "{") (if_statement "if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {\n              iVar29 = iVar12;\n            }" (if "if") (parenthesized_expression "(*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4))" (( "(") (binary_expression "*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)" (pointer_expression "*(uint *)(iVar29 + 4)" (* "*") (cast_expression "(uint *)(iVar29 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 4)" (( "(") (binary_expression "iVar29 + 4" (identifier "iVar29") (+ "+") (number_literal "4")) () ")")))) (< "<") (pointer_expression "*(uint *)(iVar12 + 4)" (* "*") (cast_expression "(uint *)(iVar12 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 4)" (( "(") (binary_expression "iVar12 + 4" (identifier "iVar12") (+ "+") (number_literal "4")) () ")"))))) () ")")) (compound_statement "{\n              iVar29 = iVar12;\n            }" ({ "{") (expression_statement "iVar29 = iVar12;" (assignment_expression "iVar29 = iVar12" (identifier "iVar29") (= "=") (identifier "iVar12")) (; ";")) (} "}"))) (expression_statement "piVar19 = (int *)(iVar12 + 0xc);" (assignment_expression "piVar19 = (int *)(iVar12 + 0xc)" (identifier "piVar19") (= "=") (cast_expression "(int *)(iVar12 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0xc)" (( "(") (binary_expression "iVar12 + 0xc" (identifier "iVar12") (+ "+") (number_literal "0xc")) () ")")))) (; ";")) (expression_statement "iVar12 = *piVar19;" (assignment_expression "iVar12 = *piVar19" (identifier "iVar12") (= "=") (pointer_expression "*piVar19" (* "*") (identifier "piVar19"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*piVar19 != 0)" (( "(") (binary_expression "*piVar19 != 0" (pointer_expression "*piVar19" (* "*") (identifier "piVar19")) (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "iVar12 = *(int *)(iVar29 + 0xc);" (assignment_expression "iVar12 = *(int *)(iVar29 + 0xc)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(iVar29 + 0xc)" (* "*") (cast_expression "(int *)(iVar29 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xc)" (( "(") (binary_expression "iVar29 + 0xc" (identifier "iVar29") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (iVar29 != iVar27) {\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }" (if "if") (parenthesized_expression "(iVar29 != iVar27)" (( "(") (binary_expression "iVar29 != iVar27" (identifier "iVar29") (!= "!=") (identifier "iVar27")) () ")")) (compound_statement "{\n            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }\n            goto LAB_0009da24;\n          }" ({ "{") (while_statement "while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29) {\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }" (while "while") (parenthesized_expression "(iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29)" (( "(") (comma_expression "iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29" (assignment_expression "iVar15 = iVar14" (identifier "iVar15") (= "=") (identifier "iVar14")) (, ",") (comma_expression "piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,\n                  iVar15 != iVar29" (assignment_expression "piVar19 = (int *)(iVar27 + 0xc)" (identifier "piVar19") (= "=") (cast_expression "(int *)(iVar27 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0xc)" (( "(") (binary_expression "iVar27 + 0xc" (identifier "iVar27") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (comma_expression "iVar27 = iVar29,\n                  iVar15 != iVar29" (assignment_expression "iVar27 = iVar29" (identifier "iVar27") (= "=") (identifier "iVar29")) (, ",") (binary_expression "iVar15 != iVar29" (identifier "iVar15") (!= "!=") (identifier "iVar29"))))) () ")")) (compound_statement "{\n              iVar27 = iVar15;\n              iVar14 = *(int *)(iVar15 + 0xc);\n            }" ({ "{") (expression_statement "iVar27 = iVar15;" (assignment_expression "iVar27 = iVar15" (identifier "iVar27") (= "=") (identifier "iVar15")) (; ";")) (expression_statement "iVar14 = *(int *)(iVar15 + 0xc);" (assignment_expression "iVar14 = *(int *)(iVar15 + 0xc)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(iVar15 + 0xc)" (* "*") (cast_expression "(int *)(iVar15 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0xc)" (( "(") (binary_expression "iVar15 + 0xc" (identifier "iVar15") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (} "}"))) (goto_statement "goto LAB_0009da24;" (goto "goto") (statement_identifier "LAB_0009da24") (; ";")) (} "}"))) (expression_statement "*piVar17 = iVar12;" (assignment_expression "*piVar17 = iVar12" (pointer_expression "*piVar17" (* "*") (identifier "piVar17")) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "iVar27 = iVar29;" (assignment_expression "iVar27 = iVar29" (identifier "iVar27") (= "=") (identifier "iVar29")) (; ";")) (} "}")))) (expression_statement "pbVar16 = *(byte **)(iVar27 + 4);" (assignment_expression "pbVar16 = *(byte **)(iVar27 + 4)" (identifier "pbVar16") (= "=") (pointer_expression "*(byte **)(iVar27 + 4)" (* "*") (cast_expression "(byte **)(iVar27 + 4)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar27 + 4)" (( "(") (binary_expression "iVar27 + 4" (identifier "iVar27") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uVar20 = uVar11 & 0x3fffffff;" (assignment_expression "uVar20 = uVar11 & 0x3fffffff" (identifier "uVar20") (= "=") (binary_expression "uVar11 & 0x3fffffff" (identifier "uVar11") (& "&") (number_literal "0x3fffffff"))) (; ";")) (expression_statement "pcVar4 = pcVar26;" (assignment_expression "pcVar4 = pcVar26" (identifier "pcVar4") (= "=") (identifier "pcVar26")) (; ";")) (if_statement "if ((*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0) {\n          uVar20 = uVar7;\n          pcVar4 = param_4;\n        }" (if "if") (parenthesized_expression "((*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0)" (( "(") (binary_expression "(*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0" (parenthesized_expression "(*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46)" (( "(") (binary_expression "*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46" (pointer_expression "*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16)" (* "*") (cast_expression "(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + -0x3d18 + (uint)*pbVar16)" (( "(") (binary_expression "iVar13 + -0x3d18 + (uint)*pbVar16" (binary_expression "iVar13 + -0x3d18" (identifier "iVar13") (+ "+") (number_literal "-0x3d18")) (+ "+") (binary_expression "(uint)*pbVar16" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar16"))) () ")")))) (& "&") (number_literal "0x46")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar20 = uVar7;\n          pcVar4 = param_4;\n        }" ({ "{") (expression_statement "uVar20 = uVar7;" (assignment_expression "uVar20 = uVar7" (identifier "uVar20") (= "=") (identifier "uVar7")) (; ";")) (expression_statement "pcVar4 = param_4;" (assignment_expression "pcVar4 = param_4" (identifier "pcVar4") (= "=") (identifier "param_4")) (; ";")) (} "}"))) (if_statement "if (*(uint *)(iVar27 + 8) != uVar20) {\n          (**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));\n          uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;\n          *(undefined1 *)(iVar1 + uVar22) = 0;\n        }" (if "if") (parenthesized_expression "(*(uint *)(iVar27 + 8) != uVar20)" (( "(") (binary_expression "*(uint *)(iVar27 + 8) != uVar20" (pointer_expression "*(uint *)(iVar27 + 8)" (* "*") (cast_expression "(uint *)(iVar27 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 8)" (( "(") (binary_expression "iVar27 + 8" (identifier "iVar27") (+ "+") (number_literal "8")) () ")")))) (!= "!=") (identifier "uVar20")) () ")")) (compound_statement "{\n          (**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));\n          uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;\n          *(undefined1 *)(iVar1 + uVar22) = 0;\n        }" ({ "{") (expression_statement "(**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));" (call_expression "(**(code **)(puVar28 + 0xf35a0))\n                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)))" (parenthesized_expression "(**(code **)(puVar28 + 0xf35a0))" (( "(") (pointer_expression "**(code **)(puVar28 + 0xf35a0)" (* "*") (pointer_expression "*(code **)(puVar28 + 0xf35a0)" (* "*") (cast_expression "(code **)(puVar28 + 0xf35a0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar28 + 0xf35a0)" (( "(") (binary_expression "puVar28 + 0xf35a0" (identifier "puVar28") (+ "+") (number_literal "0xf35a0")) () ")"))))) () ")")) (argument_list "(pbVar16 + iVar1 + (uVar20 - (int)piVar18),\n                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,\n                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)))" (( "(") (binary_expression "pbVar16 + iVar1 + (uVar20 - (int)piVar18)" (binary_expression "pbVar16 + iVar1" (identifier "pbVar16") (+ "+") (identifier "iVar1")) (+ "+") (parenthesized_expression "(uVar20 - (int)piVar18)" (( "(") (binary_expression "uVar20 - (int)piVar18" (identifier "uVar20") (- "-") (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18"))) () ")"))) (, ",") (binary_expression "pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1" (binary_expression "pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)" (identifier "pbVar16") (+ "+") (parenthesized_expression "(*(uint *)(iVar27 + 8) - (int)piVar18)" (( "(") (binary_expression "*(uint *)(iVar27 + 8) - (int)piVar18" (pointer_expression "*(uint *)(iVar27 + 8)" (* "*") (cast_expression "(uint *)(iVar27 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 8)" (( "(") (binary_expression "iVar27 + 8" (identifier "iVar27") (+ "+") (number_literal "8")) () ")")))) (- "-") (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18"))) () ")"))) (+ "+") (identifier "iVar1")) (, ",") (binary_expression "uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18))" (identifier "uVar22") (- "-") (cast_expression "(int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18))" (( "(") (binary_expression "pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)" (identifier "pbVar16") (+ "+") (parenthesized_expression "(*(uint *)(iVar27 + 8) - (int)piVar18)" (( "(") (binary_expression "*(uint *)(iVar27 + 8) - (int)piVar18" (pointer_expression "*(uint *)(iVar27 + 8)" (* "*") (cast_expression "(uint *)(iVar27 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 8)" (( "(") (binary_expression "iVar27 + 8" (identifier "iVar27") (+ "+") (number_literal "8")) () ")")))) (- "-") (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18"))) () ")"))) () ")")))) () ")"))) (; ";")) (expression_statement "uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;" (assignment_expression "uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20" (identifier "uVar22") (= "=") (binary_expression "(uVar22 - *(int *)(iVar27 + 8)) + uVar20" (parenthesized_expression "(uVar22 - *(int *)(iVar27 + 8))" (( "(") (binary_expression "uVar22 - *(int *)(iVar27 + 8)" (identifier "uVar22") (- "-") (pointer_expression "*(int *)(iVar27 + 8)" (* "*") (cast_expression "(int *)(iVar27 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 8)" (( "(") (binary_expression "iVar27 + 8" (identifier "iVar27") (+ "+") (number_literal "8")) () ")"))))) () ")")) (+ "+") (identifier "uVar20"))) (; ";")) (expression_statement "*(undefined1 *)(iVar1 + uVar22) = 0;" (assignment_expression "*(undefined1 *)(iVar1 + uVar22) = 0" (pointer_expression "*(undefined1 *)(iVar1 + uVar22)" (* "*") (cast_expression "(undefined1 *)(iVar1 + uVar22)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + uVar22)" (( "(") (binary_expression "iVar1 + uVar22" (identifier "iVar1") (+ "+") (identifier "uVar22")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar28 + 0xf3590))(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20);" (call_expression "(**(code **)(puVar28 + 0xf3590))(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20)" (parenthesized_expression "(**(code **)(puVar28 + 0xf3590))" (( "(") (pointer_expression "**(code **)(puVar28 + 0xf3590)" (* "*") (pointer_expression "*(code **)(puVar28 + 0xf3590)" (* "*") (cast_expression "(code **)(puVar28 + 0xf3590)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar28 + 0xf3590)" (( "(") (binary_expression "puVar28 + 0xf3590" (identifier "puVar28") (+ "+") (number_literal "0xf3590")) () ")"))))) () ")")) (argument_list "(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20)" (( "(") (binary_expression "pbVar16 + (iVar1 - (int)piVar18)" (identifier "pbVar16") (+ "+") (parenthesized_expression "(iVar1 - (int)piVar18)" (( "(") (binary_expression "iVar1 - (int)piVar18" (identifier "iVar1") (- "-") (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18"))) () ")"))) (, ",") (identifier "pcVar4") (, ",") (identifier "uVar20") () ")"))) (; ";")) (expression_statement "(*(code *)(iVar8 + -0x2368))(uVar25,iVar27);" (call_expression "(*(code *)(iVar8 + -0x2368))(uVar25,iVar27)" (parenthesized_expression "(*(code *)(iVar8 + -0x2368))" (( "(") (pointer_expression "*(code *)(iVar8 + -0x2368)" (* "*") (cast_expression "(code *)(iVar8 + -0x2368)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + -0x2368)" (( "(") (binary_expression "iVar8 + -0x2368" (identifier "iVar8") (+ "+") (number_literal "-0x2368")) () ")")))) () ")")) (argument_list "(uVar25,iVar27)" (( "(") (identifier "uVar25") (, ",") (identifier "iVar27") () ")"))) (; ";")) (expression_statement "iVar27 = *piVar17;" (assignment_expression "iVar27 = *piVar17" (identifier "iVar27") (= "=") (pointer_expression "*piVar17" (* "*") (identifier "piVar17"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar27 != 0)" (( "(") (binary_expression "iVar27 != 0" (identifier "iVar27") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))) (expression_statement "FUN_0007ec40(piVar2,piVar2 + 5,iVar1,0xffffffff,1,0xffffffff);" (call_expression "FUN_0007ec40(piVar2,piVar2 + 5,iVar1,0xffffffff,1,0xffffffff)" (identifier "FUN_0007ec40") (argument_list "(piVar2,piVar2 + 5,iVar1,0xffffffff,1,0xffffffff)" (( "(") (identifier "piVar2") (, ",") (binary_expression "piVar2 + 5" (identifier "piVar2") (+ "+") (number_literal "5")) (, ",") (identifier "iVar1") (, ",") (number_literal "0xffffffff") (, ",") (number_literal "1") (, ",") (number_literal "0xffffffff") () ")"))) (; ";")) (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" (identifier "iVar27") (= "=") (number_literal "0")) (; ";")) (expression_statement "(*(code *)(iVar8 + -0x2368))(uVar25,iVar1);" (call_expression "(*(code *)(iVar8 + -0x2368))(uVar25,iVar1)" (parenthesized_expression "(*(code *)(iVar8 + -0x2368))" (( "(") (pointer_expression "*(code *)(iVar8 + -0x2368)" (* "*") (cast_expression "(code *)(iVar8 + -0x2368)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + -0x2368)" (( "(") (binary_expression "iVar8 + -0x2368" (identifier "iVar8") (+ "+") (number_literal "-0x2368")) () ")")))) () ")")) (argument_list "(uVar25,iVar1)" (( "(") (identifier "uVar25") (, ",") (identifier "iVar1") () ")"))) (; ";")) (} "}")))) (expression_statement "(**(code **)(puVar28 + 0xf30d0))(pcVar26);" (call_expression "(**(code **)(puVar28 + 0xf30d0))(pcVar26)" (parenthesized_expression "(**(code **)(puVar28 + 0xf30d0))" (( "(") (pointer_expression "**(code **)(puVar28 + 0xf30d0)" (* "*") (pointer_expression "*(code **)(puVar28 + 0xf30d0)" (* "*") (cast_expression "(code **)(puVar28 + 0xf30d0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar28 + 0xf30d0)" (( "(") (binary_expression "puVar28 + 0xf30d0" (identifier "puVar28") (+ "+") (number_literal "0xf30d0")) () ")"))))) () ")")) (argument_list "(pcVar26)" (( "(") (identifier "pcVar26") () ")"))) (; ";")) (return_statement "return iVar27;" (return "return") (identifier "iVar27") (; ";")) (labeled_statement "LAB_0009d634:\n  uVar22 = uVar22 + 1;" (statement_identifier "LAB_0009d634") (: ":") (expression_statement "uVar22 = uVar22 + 1;" (assignment_expression "uVar22 = uVar22 + 1" (identifier "uVar22") (= "=") (binary_expression "uVar22 + 1" (identifier "uVar22") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "pcVar21 = pcVar21 + 1;" (assignment_expression "pcVar21 = pcVar21 + 1" (identifier "pcVar21") (= "=") (binary_expression "pcVar21 + 1" (identifier "pcVar21") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (uVar22 == uVar7) goto LAB_0009d7b4;" (if "if") (parenthesized_expression "(uVar22 == uVar7)" (( "(") (binary_expression "uVar22 == uVar7" (identifier "uVar22") (== "==") (identifier "uVar7")) () ")")) (goto_statement "goto LAB_0009d7b4;" (goto "goto") (statement_identifier "LAB_0009d7b4") (; ";"))) (goto_statement "goto LAB_0009d63c;" (goto "goto") (statement_identifier "LAB_0009d63c") (; ";")) (} "}")))
(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))) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (for_statement condition: (binary_expression left: (identifier) right: (number_literal)) update: (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)))))) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (number_literal) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (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: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (subscript_expression argument: (identifier) index: (number_literal)) (identifier) (identifier) (identifier) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (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)))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (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)))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (pointer_expression argument: (identifier)))))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (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))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (character))))))))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (character)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal))) right: (char_literal (escape_sequence)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (goto_statement label: (statement_identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (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 (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) consequence: (compound_statement (return_statement (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (return_statement (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (identifier)))) (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))))) alternative: (else_clause (compound_statement (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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: (identifier))) consequence: (compound_statement (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier)))))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier)))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (binary_expression left: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) right: (identifier)) (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) 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: (identifier))))) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (identifier) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier) (number_literal) (number_literal) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier) (identifier))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (return_statement (identifier)) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))))

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

{
  int iVar1;
  int *piVar2;
  undefined1 *puVar3;
  code *pcVar4;
  undefined4 *puVar5;
  char *pcVar6;
  uint uVar7;
  int iVar8;
  char *pcVar9;
  uint uVar11;
  int iVar12;
  int iVar13;
  int iVar14;
  int iVar15;
  byte *pbVar16;
  int *piVar17;
  int *piVar18;
  int *piVar19;
  uint uVar20;
  char *pcVar21;
  uint uVar22;
  code *pcVar23;
  undefined *puVar24;
  undefined4 uVar25;
  code *pcVar26;
  int iVar27;
  undefined *puVar28;
  int iVar29;
  int *in_stack_ffffff98;
  int local_50;
  uint local_48;
  int *local_40;
  int *local_3c;
  undefined4 *local_38;
  undefined4 local_34;
  int local_30;
  int *local_2c;
  char *pcVar10;
  
  puVar28 = PTR___stack_chk_guard_00190e24;
  iVar1 = *(int *)(param_1 + 0x168);
  pcVar26 = (code *)param_2[0xf];
  local_2c = *(int **)PTR___stack_chk_guard_00190e24;
  uVar25 = param_2[0xe];
  local_40 = (int *)0x0;
  for (; iVar1 != 0; iVar1 = *(int *)(iVar1 + 8)) {
    if (*(undefined4 **)(iVar1 + 4) == param_2) {
      iVar1 = 6;
      piVar18 = (int *)*param_2;
      piVar17 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x548c);
      uVar25 = FUN_0009d164(param_1);
      *param_5 = uVar25;
      goto LAB_0009d418;
    }
  }
  piVar17 = (int *)*param_2;
  piVar18 = param_3;
  pcVar4 = param_4;
  piVar2 = (int *)(*(code *)(PTR_LAB_00190ba8 + 0xfc4))(param_1);
  if (piVar2 == (int *)0x0) {
    iVar1 = 7;
    param_4 = pcVar4;
    goto LAB_0009d418;
  }
  piVar17 = (int *)(*(code *)(PTR_LAB_00190ba8 + -0x2940))(0,0x1c);
  if (piVar17 == (int *)0x0) {
    if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {
      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);
    }
    iVar1 = 7;
    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(param_1);
    piVar17 = piVar2;
    param_4 = pcVar4;
    goto LAB_0009d418;
  }
  *piVar17 = param_1;
  piVar17[1] = (int)param_3;
  if (param_2[0x12] == 0) {
    iVar1 = -16000000;
  }
  else {
    iVar1 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(param_1);
    iVar1 = iVar1 << 4;
  }
  in_stack_ffffff98 = piVar17 + 2;
  *(undefined4 *)(param_2[0xf] + 4) = *(undefined4 *)(*(int *)(param_1 + 0x10) + iVar1);
  local_30 = 0;
  local_34 = *(undefined4 *)(param_1 + 0x168);
  *(int ***)(param_1 + 0x168) = &local_3c;
  local_3c = piVar17;
  local_38 = param_2;
  iVar1 = (*param_4)(param_1,param_3[2],uVar25,pcVar26,in_stack_ffffff98,&local_40);
  *(undefined4 *)(param_1 + 0x168) = local_34;
  if (iVar1 == 7) {
    if ((*(uint *)(param_1 + 0x50) & 0xffff00) == 0) {
      (*(code *)(PTR_LAB_00190ba8 + 0x82c))(param_1);
    }
LAB_0009d750:
    if (local_40 == (int *)0x0) {
      piVar18 = piVar2;
      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5460);
      *param_5 = uVar25;
    }
    else {
      piVar18 = local_40;
      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5dfc);
      puVar24 = PTR_sqlite3_free_0019096c;
      *param_5 = uVar25;
      (*(code *)puVar24)(local_40);
    }
    pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);
    (*pcVar4)(param_1,piVar17);
  }
  else {
    if (iVar1 != 0) goto LAB_0009d750;
    puVar3 = (undefined1 *)piVar17[2];
    piVar18 = local_40;
    if (puVar3 == (undefined1 *)0x0) {
LAB_0009d70c:
      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);
    }
    else {
      *puVar3 = 0;
      puVar3[1] = 0;
      puVar3[2] = 0;
      puVar3[3] = 0;
      puVar3[4] = 0;
      puVar3[5] = 0;
      puVar3[6] = 0;
      puVar3[7] = 0;
      puVar3[8] = 0;
      puVar3[9] = 0;
      puVar3[10] = 0;
      puVar3[0xb] = 0;
      *(int *)piVar17[2] = *param_3;
      piVar17[3] = 1;
      if (local_30 != 0) {
        piVar17[6] = param_2[0x10];
        param_2[0x10] = piVar17;
        local_50 = (int)*(short *)((int)param_2 + 0x2a);
        if (0 < local_50) {
          iVar27 = 0;
          pcVar4 = (code *)(PTR_LAB_00190bb8 + -0x7f24);
          local_48 = 0;
          puVar24 = PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5410;
          pcVar23 = (code *)(PTR_LAB_00190ba8 + 0x27e4);
          do {
            puVar5 = (undefined4 *)(param_2[1] + iVar27 * 0x10);
            if (((*(byte *)((int)puVar5 + 0xf) & 4) != 0) &&
               (pcVar6 = (char *)(*pcVar4)(*puVar5), pcVar6 != (char *)0x0)) {
              uVar7 = (*(code *)PTR_strlen_00190d80)(pcVar6);
              uVar7 = uVar7 & 0x3fffffff;
              if (uVar7 != 0) {
                uVar22 = 0;
                pcVar21 = pcVar6;
LAB_0009d63c:
                piVar18 = (int *)&DAT_00000006;
                if (((pcVar21 == (char *)0x0) || (iVar8 = (*pcVar23)(puVar24,pcVar21), iVar8 != 0))
                   || ((uVar22 != 0 && (pcVar21[-1] != ' ')))) goto LAB_0009d634;
                if (pcVar21[6] == '\0') {
                  iVar8 = 6;
                }
                else {
                  if (pcVar21[6] != ' ') goto LAB_0009d634;
                  iVar8 = 7;
                }
                if ((int)(iVar8 + uVar22) <= (int)uVar7) {
                  iVar13 = (int)(pcVar6 + uVar22) - uVar22;
                  pcVar10 = pcVar6 + uVar22;
                  do {
                    pcVar9 = pcVar10 + 1;
                    *pcVar10 = *(char *)(iVar13 + iVar8 + uVar22);
                    iVar13 = (int)pcVar9 - uVar22;
                    pcVar10 = pcVar9;
                  } while ((int)(pcVar9 + (iVar8 - (int)pcVar6)) <= (int)uVar7);
                }
                if ((*pcVar21 == '\0') && (uVar22 != 0)) {
                  pcVar6[uVar22 - 1] = '\0';
                }
                local_48 = 0x80;
                iVar8 = param_2[1] + iVar27 * 0x10;
                *(byte *)(iVar8 + 0xf) = *(byte *)(iVar8 + 0xf) | 2;
                local_50 = (int)*(short *)((int)param_2 + 0x2a);
                goto LAB_0009d6f8;
              }
            }
LAB_0009d7b4:
            param_2[9] = param_2[9] | local_48;
LAB_0009d6f8:
            iVar27 = iVar27 + 1;
          } while (iVar27 < local_50);
        }
        goto LAB_0009d70c;
      }
      iVar1 = 1;
      piVar18 = (int *)*param_2;
      uVar25 = FUN_0009d164(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5440);
      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x1478);
      *param_5 = uVar25;
      (*pcVar4)(piVar17);
      pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x2368);
    }
  }
  (*pcVar4)(param_1);
  piVar17 = piVar2;
  param_4 = pcVar26;
LAB_0009d418:
  if (local_2c == *(int **)puVar28) {
    return iVar1;
  }
  piVar2 = local_2c;
  puVar28 = PTR___stack_chk_fail_00190df8;
  (*(code *)PTR___stack_chk_fail_00190df8)();
  if (param_4 == (code *)0x0) {
    uVar7 = 0;
  }
  else {
    uVar7 = (**(code **)(puVar28 + 0xf34e4))(param_4);
    uVar7 = uVar7 & 0x3fffffff;
  }
  if (piVar18 == (int *)0x0) {
    uVar22 = 0;
  }
  else {
    uVar22 = (**(code **)(puVar28 + 0xf34e4))(piVar18);
    uVar22 = uVar22 & 0x3fffffff;
  }
  uVar25 = *(undefined4 *)(*piVar2 + 0x20);
  pcVar26 = (code *)FUN_0009d164(uVar25,*(int *)(puVar28 + 0xf30c0) + -0x56e8,param_4);
  if (pcVar26 == (code *)0x0) {
    return 7;
  }
  if (in_stack_ffffff98 != (int *)0x0) {
    param_4 = pcVar26;
  }
  uVar11 = (**(code **)(puVar28 + 0xf34e4))(pcVar26);
  if (in_stack_ffffff98 != (int *)0x0) {
    uVar7 = uVar11 & 0x3fffffff;
  }
  iVar1 = (*(code *)(*(int *)(puVar28 + 0xf330c) + 0x924))(uVar25);
  if (iVar1 == 0) {
    iVar27 = 7;
  }
  else {
    (**(code **)(puVar28 + 0xf3590))(iVar1,piVar18,uVar22);
    iVar27 = *piVar17;
    iVar8 = *(int *)(puVar28 + 0xf330c);
    if (iVar27 != 0) {
      iVar13 = *(int *)(puVar28 + 0xf32f8);
      do {
        iVar14 = *(int *)(iVar27 + 0xc);
        iVar12 = iVar14;
        iVar29 = iVar27;
        if (iVar14 == 0) {
          iVar12 = 0;
          piVar19 = piVar17;
LAB_0009da24:
          *piVar19 = iVar12;
        }
        else {
          do {
            if (*(uint *)(iVar29 + 4) < *(uint *)(iVar12 + 4)) {
              iVar29 = iVar12;
            }
            piVar19 = (int *)(iVar12 + 0xc);
            iVar12 = *piVar19;
          } while (*piVar19 != 0);
          iVar12 = *(int *)(iVar29 + 0xc);
          if (iVar29 != iVar27) {
            while (iVar15 = iVar14, piVar19 = (int *)(iVar27 + 0xc), iVar27 = iVar29,
                  iVar15 != iVar29) {
              iVar27 = iVar15;
              iVar14 = *(int *)(iVar15 + 0xc);
            }
            goto LAB_0009da24;
          }
          *piVar17 = iVar12;
          iVar27 = iVar29;
        }
        pbVar16 = *(byte **)(iVar27 + 4);
        uVar20 = uVar11 & 0x3fffffff;
        pcVar4 = pcVar26;
        if ((*(byte *)(iVar13 + -0x3d18 + (uint)*pbVar16) & 0x46) != 0) {
          uVar20 = uVar7;
          pcVar4 = param_4;
        }
        if (*(uint *)(iVar27 + 8) != uVar20) {
          (**(code **)(puVar28 + 0xf35a0))
                    (pbVar16 + iVar1 + (uVar20 - (int)piVar18),
                     pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18) + iVar1,
                     uVar22 - (int)(pbVar16 + (*(uint *)(iVar27 + 8) - (int)piVar18)));
          uVar22 = (uVar22 - *(int *)(iVar27 + 8)) + uVar20;
          *(undefined1 *)(iVar1 + uVar22) = 0;
        }
        (**(code **)(puVar28 + 0xf3590))(pbVar16 + (iVar1 - (int)piVar18),pcVar4,uVar20);
        (*(code *)(iVar8 + -0x2368))(uVar25,iVar27);
        iVar27 = *piVar17;
      } while (iVar27 != 0);
    }
    FUN_0007ec40(piVar2,piVar2 + 5,iVar1,0xffffffff,1,0xffffffff);
    iVar27 = 0;
    (*(code *)(iVar8 + -0x2368))(uVar25,iVar1);
  }
  (**(code **)(puVar28 + 0xf30d0))(pcVar26);
  return iVar27;
LAB_0009d634:
  uVar22 = uVar22 + 1;
  pcVar21 = pcVar21 + 1;
  if (uVar22 == uVar7) goto LAB_0009d7b4;
  goto LAB_0009d63c;
}

