
char ** columnNames(char *zDb,char *zTab,int *pnPKey,int *pbRowid)

{
  undefined *puVar1;
  sqlite3_stmt *psVar2;
  int iVar3;
  char *pcVar4;
  sqlite3_stmt *psVar5;
  char **ppcVar6;
  char *pcVar7;
  char *pcVar8;
  int iVar9;
  int iVar10;
  char **ppcVar11;
  int iVar12;
  char **ppcVar13;
  char **ppcVar14;
  code *pcVar15;
  undefined *puVar16;
  int iStack_a0;
  int iStack_9c;
  Str SStack_98;
  undefined4 uStack_8c;
  sqlite3_stmt *psStack_88;
  int iStack_84;
  char **ppcStack_80;
  sqlite3_stmt *psStack_7c;
  char *pcStack_78;
  char **ppcStack_74;
  char **ppcStack_70;
  char **ppcStack_6c;
  undefined *puStack_68;
  code *pcStack_64;
  char *azRowid [3];
  char *pcStack_2c;
  
  puVar1 = PTR___stack_chk_guard_0015ba2c;
  pcStack_2c = *(char **)PTR___stack_chk_guard_0015ba2c;
  if (*(int *)(PTR_g_0015b5ec + 8) == 0) {
    pcVar15 = (code *)(PTR_0015b5e4 + 0x73e0);
    psVar2 = db_prepare(PTR_LAB_0015b5e8 + 0x5318,zDb,zTab);
    puVar16 = PTR_LAB_0015b5e8;
    iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(psVar2);
    if (iVar3 == 100) {
      pcVar4 = (char *)(*(code *)PTR_sqlite3_column_text_0015b634)(psVar2,3);
                    /* WARNING: Subroutine does not return */
      sqlite3_stricmp(pcVar4,puVar16 + 0x5330);
    }
    (*(code *)PTR_sqlite3_finalize_0015b63c)(psVar2);
    iVar10 = 8;
    iVar3 = 1;
    psVar5 = (sqlite3_stmt *)(*pcVar15)(PTR_LAB_0015b5e8 + 0x5350,zDb,zTab);
  }
  else {
    iVar3 = 0;
    psVar2 = (sqlite3_stmt *)&DAT_00000064;
    psVar5 = db_prepare(PTR_LAB_0015b5e8 + 0x5350,zDb,zTab);
    while (iVar10 = (*(code *)PTR_sqlite3_step_0015b630)(psVar5), iVar10 == 100) {
      while (iVar10 = (*(code *)PTR_sqlite3_column_int_0015b644)(psVar5,5), 0 < iVar10) {
        iVar3 = iVar3 + 1;
        iVar10 = (*(code *)PTR_sqlite3_step_0015b630)(psVar5);
        if (iVar10 != 100) goto LAB_00017a28;
      }
    }
LAB_00017a28:
    (*(code *)PTR_sqlite3_reset_0015b648)(psVar5);
    if (iVar3 == 0) {
      iVar10 = 8;
      iVar3 = 1;
    }
    else {
      iVar10 = (iVar3 + 1) * 4;
    }
  }
  puVar16 = PTR_sqlite3_malloc_0015b640;
  pcVar4 = (char *)0x1;
  *pnPKey = iVar3;
  ppcVar6 = (char **)(*(code *)puVar16)(iVar10);
  if (ppcVar6 == (char **)0x0) {
LAB_00017cb8:
                    /* WARNING: Subroutine does not return */
    runtimeError(PTR_LAB_0015b5e8 + 0x52ac);
  }
  pcVar8 = (char *)0x0;
  (*(code *)PTR_memset_0015b9b4)(ppcVar6,0,iVar10);
  ppcVar13 = (char **)&DAT_00000064;
  ppcVar14 = (char **)0x3fffffff;
  ppcVar11 = (char **)(PTR_0015b5e4 + 0x7618);
  do {
    iVar10 = (*(code *)PTR_sqlite3_step_0015b630)(psVar5);
    if (iVar10 != 100) {
      (*(code *)PTR_sqlite3_finalize_0015b63c)(psVar5);
      ppcVar6[iVar3] = (char *)0x0;
      if (pbRowid != (int *)0x0) {
        *pbRowid = (uint)(*ppcVar6 == (char *)0x0);
      }
      if (*ppcVar6 == (char *)0x0) {
        ppcVar13 = azRowid;
        ppcVar14 = &pcStack_2c;
        azRowid[1] = PTR_LAB_0015b5e8 + 0x5368;
        pcVar4 = PTR_DAT_0015b5fc + -0x7714;
        ppcVar11 = ppcVar6 + 1;
        azRowid[2] = PTR_LAB_0015b5e8 + 0x5370;
        azRowid[0] = pcVar4;
        if (1 < iVar3) {
                    /* WARNING: Subroutine does not return */
          sqlite3_stricmp(*ppcVar11,pcVar4);
        }
        pcVar8 = pcVar4;
        pcVar7 = (char *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);
        *ppcVar6 = pcVar7;
        if (pcVar7 == (char *)0x0) {
                    /* WARNING: Subroutine does not return */
          sqlite3_free(ppcVar6);
        }
      }
      if (pcStack_2c == *(char **)puVar1) {
        return ppcVar6;
      }
      pcVar15 = summarize_one_table;
      pcVar7 = pcStack_2c;
      puVar16 = PTR___stack_chk_fail_0015ba10;
      (*(code *)PTR___stack_chk_fail_0015ba10)();
      puStack_68 = puVar1;
      iVar9 = *(int *)(puVar16 + 0x143914);
      iVar10 = *(int *)(puVar16 + 0x143924);
      uStack_8c = **(undefined4 **)(puVar16 + 0x143d54);
      psStack_88 = psVar2;
      iStack_84 = iVar3;
      ppcStack_80 = ppcVar6;
      psStack_7c = psVar5;
      pcStack_78 = pcVar4;
      ppcStack_74 = ppcVar11;
      ppcStack_70 = ppcVar13;
      ppcStack_6c = ppcVar14;
      pcStack_64 = pcVar15;
      safeId(pcVar7);
      SStack_98.z = (char *)0x0;
      SStack_98.nAlloc = 0;
      SStack_98.nUsed = 0;
      iVar3 = (**(code **)(puVar16 + 0x143974))
                        (*(undefined4 *)(iVar9 + 0x14),iVar10 + -0x236c,pcVar7,0,0,0,0,0,0);
      if (iVar3 == 0) {
        iVar12 = *(int *)(puVar16 + 0x143910);
        iVar3 = (**(code **)(puVar16 + 0x143974))
                          (*(undefined4 *)(iVar9 + 0x14),iVar12 + 0x538c,pcVar7,0,0,0,0,0,0);
        if (iVar3 == 0) {
          ppcVar6 = columnNames((char *)(iVar12 + 0x538c),pcVar7,&iStack_a0,(int *)0x0);
          ppcVar11 = columnNames((char *)(iVar10 + -0x236c),pcVar7,&iStack_9c,(int *)0x0);
          if (ppcVar6 == (char **)0x0) {
            (**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x5568,pcVar7)
            ;
                    /* WARNING: Subroutine does not return */
            sqlite3_free(SStack_98.z);
          }
          iVar3 = *(int *)(puVar16 + 0x143910);
          if (ppcVar11 != (char **)0x0) {
            if (*ppcVar6 != (char *)0x0) {
                    /* WARNING: Subroutine does not return */
              sqlite3_stricmp(*ppcVar6,*ppcVar11);
            }
            iVar3 = *(int *)(puVar16 + 0x143910);
            if (iStack_9c == iStack_a0) {
                    /* WARNING: Subroutine does not return */
              strPrintf(&SStack_98,(char *)(*(int *)(puVar16 + 0x143910) + 0x53dc));
            }
          }
          (**(code **)(puVar16 + 0x143cac))(pcVar8,1,iVar3 + 0x5568,pcVar7);
                    /* WARNING: Subroutine does not return */
          sqlite3_free(SStack_98.z);
        }
        (**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x53b8,pcVar7);
      }
      else {
        iVar3 = (**(code **)(puVar16 + 0x143974))
                          (*(undefined4 *)(iVar9 + 0x14),*(int *)(puVar16 + 0x143910) + 0x538c,
                           pcVar7,0,0,0,0,0,0);
        if (iVar3 == 0) {
          (**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x5394,pcVar7);
        }
      }
                    /* WARNING: Subroutine does not return */
      sqlite3_free(SStack_98.z);
    }
    iVar10 = (*(code *)PTR_sqlite3_column_int_0015b644)(psVar5,5);
    if (iVar10 < 1) {
      iVar10 = (iVar3 + 2) * 4;
      ppcVar6 = (char **)(*(code *)PTR_sqlite3_realloc_0015b5f0)(ppcVar6,iVar10);
      if (ppcVar6 == (char **)0x0) goto LAB_00017cb8;
      pcVar8 = (char *)0x1;
      iVar3 = iVar3 + 1;
      pcVar7 = (char *)(*(code *)PTR_sqlite3_column_text_0015b634)(psVar5);
      iVar10 = iVar10 + -8;
    }
    else {
      pcVar8 = (char *)0x1;
      pcVar7 = (char *)(*(code *)PTR_sqlite3_column_text_0015b634)(psVar5);
      iVar10 = (iVar10 + 0x3fffffff) * 4;
    }
    psVar2 = (sqlite3_stmt *)((int)ppcVar6 + iVar10);
    pcVar7 = safeId(pcVar7);
    *(char **)psVar2 = pcVar7;
  } while( true );
}



int * FUN_00017720(int *param_1,int **param_2,int **param_3,uint *param_4)

{
  undefined *puVar1;
  int *piVar2;
  int iVar3;
  undefined4 uVar4;
  int *piVar5;
  int *piVar6;
  undefined4 uVar7;
  int iVar8;
  int *piVar9;
  int iVar10;
  int *piVar11;
  int iVar12;
  int **ppiVar13;
  int iVar14;
  int *piVar15;
  int *piVar16;
  int *piVar17;
  int iVar18;
  code *pcVar19;
  undefined *puVar20;
  undefined8 uVar21;
  undefined8 uVar22;
  undefined8 uVar23;
  undefined8 uVar24;
  int local_a8;
  uint local_a4;
  int local_a0;
  int local_9c;
  undefined4 local_98;
  undefined4 local_94;
  undefined4 local_90;
  int *local_8c;
  int *local_88;
  int *local_84;
  int *local_80;
  int *local_7c;
  int *local_78;
  int *local_74;
  int **local_70;
  int **local_6c;
  undefined *local_68;
  undefined4 local_64;
  int *local_38;
  undefined *local_34;
  undefined *local_30;
  int *local_2c;
  
  puVar1 = PTR___stack_chk_guard_0015ba2c;
  local_2c = *(int **)PTR___stack_chk_guard_0015ba2c;
  if (*(int *)(PTR_g_0015b5ec + 8) != 0) {
    piVar11 = (int *)0x0;
    piVar2 = (int *)&DAT_00000064;
    piVar5 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2);
    do {
      iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);
      while( true ) {
        if (iVar3 != 100) {
          (*(code *)PTR_sqlite3_reset_0015b648)(piVar5);
          if (piVar11 == (int *)0x0) {
            piVar17 = (int *)&DAT_00000008;
            piVar11 = (int *)0x1;
            piVar15 = (int *)0x1;
          }
          else {
            piVar15 = (int *)0x1;
            piVar17 = (int *)(((int)piVar11 + 1) * 4);
          }
          goto LAB_00017854;
        }
        param_1 = (int *)&DAT_00000005;
        iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5);
        if (iVar3 < 1) break;
        piVar11 = (int *)((int)piVar11 + 1);
        iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);
      }
    } while( true );
  }
  pcVar19 = (code *)(PTR_0015b5e4 + 0x73e0);
  piVar2 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5318,param_1,param_2);
  puVar20 = PTR_LAB_0015b5e8;
  iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);
  while (iVar3 == 100) {
    uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,3);
    iVar3 = sqlite3_stricmp(uVar4,puVar20 + 0x5330);
    if (iVar3 == 0) {
      uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,1);
      piVar5 = (int *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4,uVar4);
      (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);
      piVar2 = piVar5;
      if (piVar5 != (int *)0x0) {
        piVar6 = (int *)0x0;
        piVar15 = (int *)0x0;
        piVar2 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5);
        piVar11 = (int *)0x0;
        do {
          iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);
          while( true ) {
            if (iVar3 != 100) {
              if (piVar6 == piVar11) {
                piVar15 = (int *)0x1;
                piVar17 = (int *)(((int)piVar11 + 1) * 4);
              }
              else if (piVar15 == (int *)0x0) {
                piVar17 = (int *)&DAT_00000008;
                piVar11 = (int *)0x1;
              }
              else {
                piVar17 = (int *)(((int)piVar6 + 1) * 4);
                piVar11 = piVar6;
              }
              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);
              sqlite3_free(piVar5);
              goto LAB_00017834;
            }
            piVar11 = (int *)((int)piVar11 + 1);
            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);
            if (iVar3 == 0) break;
            piVar6 = (int *)((int)piVar6 + 1);
            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);
          }
          iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1);
          if (-1 < iVar3) {
            piVar15 = (int *)0x1;
          }
        } while( true );
      }
      goto LAB_00017824;
    }
    iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);
  }
  (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);
LAB_00017824:
  piVar17 = (int *)&DAT_00000008;
  piVar11 = (int *)0x1;
  piVar15 = (int *)0x1;
LAB_00017834:
  piVar5 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2);
LAB_00017854:
  puVar20 = PTR_sqlite3_malloc_0015b640;
  *param_3 = piVar11;
  piVar6 = (int *)(*(code *)puVar20)(piVar17);
  if (piVar6 == (int *)0x0) {
LAB_00017cb8:
    piVar9 = (int *)(PTR_LAB_0015b5e8 + 0x52ac);
    FUN_00016d3c(piVar9);
  }
  else {
    param_1 = (int *)0x0;
    (*(code *)PTR_memset_0015b9b4)(piVar6,0,piVar17);
    param_3 = (int **)&DAT_00000064;
    param_2 = (int **)0x3fffffff;
    piVar17 = (int *)(PTR_0015b5e4 + 0x7618);
    while (iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5), iVar3 == 100) {
      if ((piVar15 == (int *)0x0) ||
         (iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1)) {
        piVar2 = (int *)(((int)piVar11 + 2) * 4);
        param_1 = piVar2;
        piVar6 = (int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6);
        if (piVar6 == (int *)0x0) goto LAB_00017cb8;
        param_1 = (int *)0x1;
        piVar11 = (int *)((int)piVar11 + 1);
        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);
        piVar2 = piVar2 + -2;
      }
      else {
        param_1 = (int *)0x1;
        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);
        piVar2 = (int *)((iVar3 + 0x3fffffff) * 4);
      }
      piVar2 = (int *)((int)piVar6 + (int)piVar2);
      iVar3 = FUN_00017618(uVar4);
      *piVar2 = iVar3;
    }
    (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar5);
    piVar6[(int)piVar11] = 0;
    if (param_4 != (uint *)0x0) {
      *param_4 = (uint)(*piVar6 == 0);
    }
    if (*piVar6 == 0) {
      param_3 = &local_38;
      param_2 = &local_2c;
      local_34 = PTR_LAB_0015b5e8 + 0x5368;
      piVar15 = (int *)(PTR_UINT_0015b5fc + -0x7714);
      piVar17 = piVar6 + 1;
      local_30 = PTR_LAB_0015b5e8 + 0x5370;
      local_38 = piVar15;
      if ((int)piVar11 < 2) {
        param_1 = piVar15;
        iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);
        *piVar6 = iVar3;
        if (iVar3 == 0) goto LAB_00017b14;
      }
      else {
        while( true ) {
          piVar5 = (int *)0x1;
          piVar2 = piVar17;
          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {
            piVar5 = (int *)((int)piVar5 + 1);
            piVar2 = piVar2 + 1;
            if (piVar11 == piVar5) {
              param_1 = piVar15;
              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);
              *piVar6 = iVar3;
              if (iVar3 != 0) goto LAB_00017984;
              piVar2 = (int *)0x1;
              goto LAB_00017af4;
            }
          }
          param_3 = param_3 + 1;
          if (param_2 == param_3) break;
          piVar15 = *param_3;
        }
        piVar2 = (int *)0x1;
        if (*piVar6 == 0) {
LAB_00017af4:
          do {
            piVar2 = (int *)((int)piVar2 + 1);
            iVar3 = *piVar17;
            piVar17 = piVar17 + 1;
            sqlite3_free(iVar3);
          } while ((int)piVar2 < (int)piVar11);
LAB_00017b14:
          sqlite3_free(piVar6);
          piVar6 = (int *)0x0;
        }
      }
    }
LAB_00017984:
    piVar9 = local_2c;
    if (local_2c == *(int **)puVar1) {
      return piVar6;
    }
  }
  uVar4 = 0x17cd8;
  puVar20 = PTR___stack_chk_fail_0015ba10;
  (*(code *)PTR___stack_chk_fail_0015ba10)();
  local_68 = puVar1;
  piVar16 = *(int **)(puVar20 + 0x143d54);
  iVar14 = *(int *)(puVar20 + 0x143914);
  iVar12 = *(int *)(puVar20 + 0x143924);
  local_8c = (int *)*piVar16;
  local_88 = piVar2;
  local_84 = piVar11;
  local_80 = piVar6;
  local_7c = piVar5;
  local_78 = piVar15;
  local_74 = piVar17;
  local_70 = param_3;
  local_6c = param_2;
  local_64 = uVar4;
  uVar4 = FUN_00017618();
  local_98 = 0;
  local_94 = 0;
  local_90 = 0;
  iVar3 = (**(code **)(puVar20 + 0x143974))
                    (*(undefined4 *)(iVar14 + 0x14),iVar12 + -0x236c,piVar9,0,0,0,0,0,0);
  if (iVar3 != 0) {
    iVar3 = (**(code **)(puVar20 + 0x143974))
                      (*(undefined4 *)(iVar14 + 0x14),*(int *)(puVar20 + 0x143910) + 0x538c,piVar9,0
                       ,0,0,0,0,0);
    if (iVar3 == 0) {
      (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5394,piVar9);
    }
LAB_00018294:
    sqlite3_free(local_98);
    local_98 = 0;
    local_94 = 0;
    local_90 = 0;
    sqlite3_free(uVar4);
    goto LAB_000182c0;
  }
  iVar18 = *(int *)(puVar20 + 0x143910);
  iVar3 = (**(code **)(puVar20 + 0x143974))
                    (*(undefined4 *)(iVar14 + 0x14),iVar18 + 0x538c,piVar9,0,0,0,0,0,0);
  if (iVar3 != 0) {
    (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x53b8,piVar9);
    goto LAB_00018294;
  }
  piVar11 = (int *)FUN_00017720(iVar18 + 0x538c,piVar9,&local_a0,0);
  param_3 = (int **)FUN_00017720(iVar12 + -0x236c,piVar9,&local_9c,0);
  if (piVar11 == (int *)0x0) goto LAB_000184e8;
  iVar3 = *(int *)(puVar20 + 0x143910);
  if (param_3 != (int **)0x0) {
    iVar3 = *piVar11;
    if (iVar3 == 0) {
      iVar3 = *(int *)(puVar20 + 0x143910);
      if (local_9c == local_a0) {
        iVar12 = 0;
        goto LAB_00017e78;
      }
    }
    else {
      iVar12 = 0;
      ppiVar13 = param_3;
      piVar2 = piVar11;
      do {
        piVar2 = piVar2 + 1;
        iVar3 = sqlite3_stricmp(iVar3,*ppiVar13);
        if (iVar3 != 0) break;
        iVar3 = *piVar2;
        iVar12 = iVar12 + 1;
        ppiVar13 = ppiVar13 + 1;
      } while (iVar3 != 0);
      iVar3 = *(int *)(puVar20 + 0x143910);
      if ((local_a0 == local_9c) && (piVar11[iVar12] == 0)) {
LAB_00017e78:
        pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4);
        FUN_00016de4(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc);
        if (local_9c == iVar12) {
          local_a8 = *(int *)(puVar20 + 0x143910);
          (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);
        }
        else {
          piVar2 = piVar11 + local_a0;
          iVar12 = *piVar2;
          iVar3 = *(int *)(puVar20 + 0x143910);
          if (iVar12 != 0) {
            iVar8 = *(int *)(puVar20 + 0x143910);
            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;
            do {
              piVar2 = piVar2 + 1;
              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);
              iVar12 = *piVar2;
              iVar18 = iVar8 + 0x540c;
            } while (iVar12 != 0);
          }
          local_a8 = *(int *)(puVar20 + 0x143910);
          (*pcVar19)(&local_98,local_a8 + 0x5414);
        }
        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4);
        if (0 < local_a0) {
          iVar12 = *(int *)(puVar20 + 0x143910);
          iVar8 = 0;
          iVar18 = *(int *)(puVar20 + 0x143910);
          piVar2 = piVar11;
          iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;
          do {
            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);
            iVar8 = iVar8 + 1;
            piVar2 = piVar2 + 1;
            iVar3 = iVar18 + 0x5444;
          } while (iVar8 < local_a0);
        }
        iVar3 = *(int *)(puVar20 + 0x143910);
        (*pcVar19)(&local_98,iVar3 + 0x544c);
        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458);
        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4);
        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4);
        if (0 < local_a0) {
          iVar18 = *(int *)(puVar20 + 0x143910);
          iVar10 = 0;
          iVar8 = *(int *)(puVar20 + 0x143910);
          piVar2 = piVar11;
          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;
          do {
            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);
            iVar10 = iVar10 + 1;
            piVar2 = piVar2 + 1;
            iVar12 = iVar8 + 0x5444;
          } while (iVar10 < local_a0);
        }
        (*pcVar19)(&local_98,local_a8 + 0x5414);
        (*pcVar19)(&local_98,iVar3 + 0x544c);
        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0);
        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4);
        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4);
        if (0 < local_a0) {
          iVar18 = *(int *)(puVar20 + 0x143910);
          iVar8 = *(int *)(puVar20 + 0x143910);
          iVar3 = 0;
          piVar2 = piVar11;
          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;
          do {
            iVar3 = iVar3 + 1;
            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);
            piVar2 = piVar2 + 1;
            iVar12 = iVar8 + 0x5444;
          } while (iVar3 < local_a0);
        }
        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508);
        if ((*(uint *)(iVar14 + 0x10) & 2) == 0) {
          uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);
          local_a8 = 0;
          uVar23 = 0;
          uVar24 = 0;
          local_a4 = 0;
          uVar21 = 0;
LAB_000181e0:
          do {
            pcVar19 = *(code **)(puVar20 + 0x143958);
            do {
              iVar3 = (*pcVar19)(uVar7);
              if (iVar3 != 100) {
                (**(code **)(puVar20 + 0x143964))(uVar7);
                (**(code **)(puVar20 + 0x143cac))
                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,
                           uVar24,local_a8,local_a4);
                goto LAB_00018318;
              }
              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);
              if (iVar3 == 2) {
                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);
                goto LAB_000181e0;
              }
              if (iVar3 == 3) {
                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);
                goto LAB_000181e0;
              }
              pcVar19 = *(code **)(puVar20 + 0x143958);
            } while (iVar3 != 1);
            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);
            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);
            local_a4 = (uint)uVar22 - (int)uVar21;
            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -
                       (uint)((uint)uVar22 < local_a4);
          } while( true );
        }
        (**(code **)(puVar20 + 0x143ccc))(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98);
        goto LAB_00018318;
      }
    }
  }
  (**(code **)(puVar20 + 0x143cac))(param_1,1,iVar3 + 0x5568,piVar9);
LAB_00018318:
  sqlite3_free(local_98);
  local_98 = 0;
  local_94 = 0;
  local_90 = 0;
  sqlite3_free(uVar4);
  FUN_000175b4(piVar11);
  while( true ) {
    if (param_3 != (int **)0x0) {
      FUN_000175b4(param_3);
    }
LAB_000182c0:
    piVar11 = (int *)*piVar16;
    if (local_8c == piVar11) break;
    (**(code **)(puVar20 + 0x143d38))();
LAB_000184e8:
    (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5568,piVar9);
    sqlite3_free(local_98);
    local_98 = 0;
    local_94 = 0;
    local_90 = 0;
    sqlite3_free(uVar4);
  }
  return piVar11;
}


lui gp,0x15
addiu gp,gp,-0x4170
addu gp,gp,t9
addiu sp,sp,-0x60
lw v0,-0x7fc4(gp)
sw s8,0x58(sp)
sw s7,0x54(sp)
or s7,a1,zero
sw s6,0x50(sp)
or s6,a2,zero
sw s3,0x44(sp)
or a2,a1,zero
sw gp,0x10(sp)
or s3,a0,zero
sw ra,0x5c(sp)
or a1,a0,zero
sw s5,0x4c(sp)
sw s4,0x48(sp)
sw s2,0x40(sp)
sw s1,0x3c(sp)
sw s0,0x38(sp)
lw s8,-0x7b84(gp)
lw v0,0x8(v0)
sw a3,0x1c(sp)
lw v1,0x0(s8)
sw v1,0x34(sp)
bne v0,zero,0x000179c4
_lw t9,-0x7fcc(gp)
lw v0,-0x7fcc(gp)
li s4,0x64
lw a0,-0x7fc8(gp)
addiu t9,v0,0x73e0
addiu a0,a0,0x5318
bal 0x000173e0
_sw t9,0x20(sp)
lw gp,0x10(sp)
or s0,v0,zero
lw t9,-0x7f80(gp)
lw s2,-0x7fc8(gp)
jalr t9
_or a0,s0,zero
addiu s2,s2,0x5330
bne v0,s4,0x00017814
_lw gp,0x10(sp)
lw t9,-0x7f7c(gp)
li a1,0x3
jalr t9
_or a0,s0,zero
or a1,s2,zero
lw gp,0x10(sp)
lw t9,-0x7f78(gp)
bal 0x0002ed5c
_or a0,v0,zero
lw gp,0x10(sp)
beq v0,zero,0x00017b28
_or s1,v0,zero
lw t9,-0x7f80(gp)
jalr t9
_or a0,s0,zero
beq v0,s4,0x000177d0
_lw gp,0x10(sp)
lw t9,-0x7f74(gp)
jalr t9
_or a0,s0,zero
lw gp,0x10(sp)
li s2,0x8
li s5,0x8
li s1,0x1
li s4,0x1
lw a0,-0x7fc8(gp)
or a1,s3,zero
lw t9,0x20(sp)
or a2,s7,zero
jalr t9
_addiu a0,a0,0x5350
lw gp,0x10(sp)
or s3,v0,zero
lw t9,-0x7f70(gp)
or a0,s2,zero
jalr t9
_sw s1,0x0(s6)
lw gp,0x10(sp)
beq v0,zero,0x00017cb8
_or s2,v0,zero
lw t9,-0x7bfc(gp)
or a1,zero,zero
or a2,s5,zero
jalr t9
_or a0,v0,zero
lui s7,0x3fff
lw gp,0x10(sp)
li s6,0x64
ori s7,s7,0xffff
lw s5,-0x7fcc(gp)
b 0x000178f4
_addiu s5,s5,0x7618
addiu s0,s1,0x2
lw t9,-0x7fc0(gp)
or a0,s2,zero
sll s0,s0,0x2
jalr t9
_or a1,s0,zero
lw gp,0x10(sp)
beq v0,zero,0x00017cb8
_or s2,v0,zero
lw t9,-0x7f7c(gp)
li a1,0x1
or a0,s3,zero
jalr t9
_addiu s1,s1,0x1
addiu s0,s0,-0x8
or a0,v0,zero
or t9,s5,zero
bal 0x00017618
_addu s0,s2,s0
lw gp,0x10(sp)
sw v0,0x0(s0)
lw t9,-0x7f80(gp)
jalr t9
_or a0,s3,zero
bne v0,s6,0x00017948
_lw gp,0x10(sp)
beq s4,zero,0x000178a0
_lw t9,-0x7f6c(gp)
li a1,0x5
jalr t9
_or a0,s3,zero
lw gp,0x10(sp)
blez v0,0x000178a0
_or s0,v0,zero
lw t9,-0x7f7c(gp)
li a1,0x1
or a0,s3,zero
jalr t9
_addu s0,s0,s7
or a0,v0,zero
b 0x000178e0
_sll s0,s0,0x2
lw t9,-0x7f74(gp)
jalr t9
_or a0,s3,zero
sll v0,s1,0x2
lw v1,0x1c(sp)
addu v0,s2,v0
lw gp,0x10(sp)
beq v1,zero,0x00017978
_sw zero,0x0(v0)
lw v0,0x0(s2)
sltiu v0,v0,0x1
sw v0,0x0(v1)
lw v0,0x0(s2)
beq v0,zero,0x00017a50
_lw v1,-0x7fc8(gp)
lw a0,0x34(sp)
or v0,s2,zero
lw v1,0x0(s8)
bne a0,v1,0x00017ccc
_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
lw a0,-0x7fc8(gp)
or s1,zero,zero
li s0,0x64
addiu t9,t9,0x73e0
bal 0x000173e0
_addiu a0,a0,0x5350
lw gp,0x10(sp)
or s3,v0,zero
lw t9,-0x7f80(gp)
jalr t9
_or a0,s3,zero
bne v0,s0,0x00017a28
_lw gp,0x10(sp)
lw t9,-0x7f6c(gp)
li a1,0x5
jalr t9
_or a0,s3,zero
blez v0,0x000179e4
_lw gp,0x10(sp)
lw t9,-0x7f80(gp)
or a0,s3,zero
jalr t9
_addiu s1,s1,0x1
beq v0,s0,0x000179f8
_lw gp,0x10(sp)
lw t9,-0x7f68(gp)
jalr t9
_or a0,s3,zero
beq s1,zero,0x00017c4c
_lw gp,0x10(sp)
addiu s5,s1,0x1
li s4,0x1
sll s5,s5,0x2
b 0x00017854
_or s2,s5,zero
slti v0,s1,0x2
lw a1,-0x7fb4(gp)
addiu s6,sp,0x28
addiu s7,sp,0x34
addiu v1,v1,0x5368
addiu a1,a1,-0x7714
sw v1,0x2c(sp)
addiu s5,s2,0x4
lw v1,-0x7fc8(gp)
or s4,a1,zero
sw a1,0x28(sp)
addiu v1,v1,0x5370
bne v0,zero,0x00017c94
_sw v1,0x30(sp)
li s3,0x1
b 0x00017aa0
_or s0,s5,zero
addiu s3,s3,0x1
beq s1,s3,0x00017acc
_addiu s0,s0,0x4
lw t9,-0x7f78(gp)
or a1,s4,zero
bal 0x0002ed5c
_lw a0,0x0(s0)
bne v0,zero,0x00017a94
_lw gp,0x10(sp)
addiu s6,s6,0x4
beq s7,s6,0x00017c70
_nop
b 0x00017a88
_lw s4,0x0(s6)
lw a0,-0x7fc8(gp)
or a1,s4,zero
lw t9,-0x7f88(gp)
jalr t9
_addiu a0,a0,0x71f4
lw gp,0x10(sp)
bne v0,zero,0x00017984
_sw v0,0x0(s2)
li s0,0x1
lw t9,-0x7f90(gp)
addiu s0,s0,0x1
lw a0,0x0(s5)
bal 0x0002a7f4
_addiu s5,s5,0x4
slt v0,s0,s1
bne v0,zero,0x00017af0
_lw gp,0x10(sp)
lw t9,-0x7f90(gp)
or a0,s2,zero
bal 0x0002a7f4
_or s2,zero,zero
b 0x00017984
_lw gp,0x10(sp)
lw t9,-0x7f7c(gp)
li a1,0x1
jalr t9
_or a0,s0,zero
lw gp,0x10(sp)
or a1,v0,zero
lw a0,-0x7fc8(gp)
lw t9,-0x7f88(gp)
jalr t9
_addiu a0,a0,0x71f4
or a0,s0,zero
lw gp,0x10(sp)
or s0,v0,zero
lw t9,-0x7f74(gp)
jalr t9
_sw v0,0x24(sp)
beq s0,zero,0x00017824
_lw gp,0x10(sp)
lw a0,-0x7fc8(gp)
or a1,s3,zero
lw a2,0x24(sp)
or s2,zero,zero
lw t9,0x20(sp)
or s4,zero,zero
addiu a0,a0,0x5334
jalr t9
_li s5,0x64
lw gp,0x10(sp)
or s0,v0,zero
lw t9,-0x7f80(gp)
jalr t9
_or a0,s0,zero
bne v0,s5,0x00017be4
_lw gp,0x10(sp)
lw t9,-0x7f6c(gp)
li a1,0x5
or a0,s0,zero
jalr t9
_addiu s1,s1,0x1
beq v0,zero,0x00017c28
_lw gp,0x10(sp)
lw t9,-0x7f80(gp)
or a0,s0,zero
jalr t9
_addiu s2,s2,0x1
beq v0,s5,0x00017bb0
_lw gp,0x10(sp)
beq s2,s1,0x00017c60
_addiu s5,s1,0x1
beq s4,zero,0x00017c84
_nop
addiu s5,s2,0x1
or s1,s2,zero
sll s5,s5,0x2
or s2,s5,zero
lw t9,-0x7f74(gp)
jalr t9
_or a0,s0,zero
lw gp,0x10(sp)
lw t9,-0x7f90(gp)
bal 0x0002a7f4
_lw a0,0x24(sp)
b 0x00017834
_lw gp,0x10(sp)
lw t9,-0x7f6c(gp)
li a1,0x1
jalr t9
_or a0,s0,zero
li v1,0x1
slti v0,v0,0x0
lw gp,0x10(sp)
b 0x00017b9c
_movz s4,v1,v0
li s2,0x8
li s5,0x8
li s1,0x1
b 0x00017854
_li s4,0x1
li s4,0x1
sll s5,s5,0x2
b 0x00017c04
_or s2,s5,zero
lw v0,0x0(s2)
bne v0,zero,0x00017984
_li s0,0x1
b 0x00017af4
_lw t9,-0x7f90(gp)
li s2,0x8
li s5,0x8
b 0x00017c04
_li s1,0x1
lw a0,-0x7fc8(gp)
lw t9,-0x7f88(gp)
jalr t9
_addiu a0,a0,0x71f4
lw gp,0x10(sp)
bne v0,zero,0x00017984
_sw v0,0x0(s2)
b 0x00017b14
_lw t9,-0x7f90(gp)
lw a0,-0x7fc8(gp)
lw t9,-0x7fcc(gp)
addiu t9,t9,0x6d3c
bal 0x00016d3c
_addiu a0,a0,0x52ac
lw t9,-0x7ba0(gp)
jalr t9
_nop
lui gp,0x15
addiu gp,gp,-0x4728
addu gp,gp,t9
addiu sp,sp,-0xa0
lw t9,-0x7fcc(gp)
sw s4,0x88(sp)
addiu t9,t9,0x7618
sw gp,0x30(sp)
sw ra,0x9c(sp)
sw s3,0x84(sp)
sw s1,0x7c(sp)
sw s0,0x78(sp)
or s0,a0,zero
sw s8,0x98(sp)
sw s7,0x94(sp)
sw s6,0x90(sp)
sw s5,0x8c(sp)
sw s2,0x80(sp)
lw s4,-0x7b84(gp)
lw s3,-0x7fc4(gp)
lw s1,-0x7fb4(gp)
sw a1,0x50(sp)
lw v0,0x0(s4)
sw v0,0x74(sp)
bal 0x00017618
_nop
or a3,zero,zero
lw gp,0x30(sp)
addiu a1,s1,-0x236c
lw a0,0x14(s3)
or a2,s0,zero
sw zero,0x20(sp)
sw v0,0x44(sp)
sw zero,0x1c(sp)
sw zero,0x18(sp)
sw zero,0x14(sp)
sw zero,0x10(sp)
sw zero,0x68(sp)
sw zero,0x6c(sp)
lw t9,-0x7f64(gp)
jalr t9
_sw zero,0x70(sp)
bne v0,zero,0x00018374
_lw gp,0x30(sp)
lw s5,-0x7fc8(gp)
or a3,zero,zero
lw a0,0x14(s3)
or a2,s0,zero
lw t9,-0x7f64(gp)
addiu a1,s5,0x538c
sw zero,0x20(sp)
sw zero,0x1c(sp)
sw zero,0x18(sp)
sw zero,0x14(sp)
jalr t9
_sw zero,0x10(sp)
lw gp,0x30(sp)
bne v0,zero,0x00018274
_or s2,v0,zero
lw s6,-0x7fcc(gp)
addiu a0,s5,0x538c
or a3,zero,zero
addiu a2,sp,0x60
addiu s6,s6,0x7720
or t9,s6,zero
bal 0x00017720
_or a1,s0,zero
or a3,zero,zero
addiu a2,sp,0x64
addiu a0,s1,-0x236c
or t9,s6,zero
or a1,s0,zero
bal 0x00017720
_or s5,v0,zero
lw gp,0x30(sp)
beq s5,zero,0x000184e8
_or s6,v0,zero
beq v0,zero,0x000182fc
_lw a2,-0x7fc8(gp)
lw a0,0x0(s5)
beq a0,zero,0x000184c4
_addiu s7,s5,0x4
or s8,zero,zero
b 0x00017e40
_or s1,v0,zero
lw a0,0x0(s7)
addiu s8,s8,0x1
addiu s1,s1,0x4
beq a0,zero,0x00017e54
_addiu s7,s7,0x4
lw t9,-0x7f78(gp)
bal 0x0002ed5c
_lw a1,0x0(s1)
beq v0,zero,0x00017e2c
_lw gp,0x30(sp)
lw v1,0x60(sp)
lw v0,0x64(sp)
bne v1,v0,0x000182fc
_lw a2,-0x7fc8(gp)
sll v0,s8,0x2
addu v0,s5,v0
lw v0,0x0(v0)
bne v0,zero,0x00018300
_li a1,0x1
lw v0,-0x7fcc(gp)
addiu s1,sp,0x68
lw a1,-0x7fc8(gp)
or a0,s1,zero
addiu t9,v0,0x6de4
addiu a1,a1,0x53dc
bal 0x00016de4
_sw t9,0x38(sp)
lw v0,0x64(sp)
beq v0,s8,0x000184a0
_lw gp,0x30(sp)
lw v0,0x60(sp)
sll v0,v0,0x2
addu v0,s5,v0
lw a3,0x0(v0)
beq a3,zero,0x00017f00
_lw v1,-0x7fc8(gp)
or s8,v0,zero
lw a2,-0x7fc8(gp)
addiu v0,v1,0x53f8
lw v1,-0x7fc8(gp)
addiu a2,a2,0x5374
sw v0,0x48(sp)
addiu s7,v1,0x540c
addiu s8,s8,0x4
lw a1,0x48(sp)
lw t9,0x38(sp)
or a0,s1,zero
jalr t9
_sw a3,0x10(sp)
or a2,s7,zero
lw a3,0x0(s8)
bne a3,zero,0x00017ed8
_lw gp,0x30(sp)
lw v0,-0x7fc8(gp)
or a0,s1,zero
lw t9,0x38(sp)
addiu a1,v0,0x5414
jalr t9
_sw v0,0x58(sp)
lw gp,0x30(sp)
lw a1,-0x7fc8(gp)
or a0,s1,zero
lw a2,0x44(sp)
lw t9,0x38(sp)
addiu a1,a1,0x5418
jalr t9
_or a3,a2,zero
lw v0,0x60(sp)
blez v0,0x00017fac
_lw gp,0x30(sp)
lw v0,-0x7fc8(gp)
or t0,zero,zero
lw a0,-0x7fc8(gp)
or v1,s5,zero
lw a2,-0x7fc8(gp)
addiu v0,v0,0x5434
addiu s8,a0,0x5444
addiu a2,a2,0x537c
or s7,v0,zero
lw a3,0x0(v1)
or a1,s7,zero
lw t9,0x38(sp)
or a0,s1,zero
sw t0,0x54(sp)
sw v1,0x48(sp)
jalr t9
_sw a3,0x10(sp)
or a2,s8,zero
lw t0,0x54(sp)
lw v0,0x60(sp)
lw v1,0x48(sp)
addiu t0,t0,0x1
lw gp,0x30(sp)
slt v0,t0,v0
bne v0,zero,0x00017f68
_addiu v1,v1,0x4
lw v0,-0x7fc8(gp)
or a0,s1,zero
lw t9,0x38(sp)
addiu a1,v0,0x544c
jalr t9
_sw v0,0x5c(sp)
or a0,s1,zero
lw gp,0x30(sp)
lw t9,0x38(sp)
lw a1,-0x7fc8(gp)
jalr t9
_addiu a1,a1,0x5458
or a0,s1,zero
lw gp,0x30(sp)
lw s7,0x44(sp)
lw t9,0x38(sp)
lw a1,-0x7fc8(gp)
or a2,s7,zero
jalr t9
_addiu a1,a1,0x5470
or a2,s7,zero
lw gp,0x30(sp)
or a0,s1,zero
lw t9,0x38(sp)
lw a1,-0x7fc8(gp)
jalr t9
_addiu a1,a1,0x5484
lw v0,0x60(sp)
blez v0,0x00018088
_lw gp,0x30(sp)
lw v0,-0x7fc8(gp)
or t0,zero,zero
lw a0,-0x7fc8(gp)
or v1,s5,zero
lw a2,-0x7fc8(gp)
addiu v0,v0,0x5434
addiu s8,a0,0x5444
addiu a2,a2,0x5384
or s7,v0,zero
lw a3,0x0(v1)
or a1,s7,zero
lw t9,0x38(sp)
or a0,s1,zero
sw t0,0x54(sp)
sw v1,0x48(sp)
jalr t9
_sw a3,0x10(sp)
or a2,s8,zero
lw t0,0x54(sp)
lw v0,0x60(sp)
lw v1,0x48(sp)
addiu t0,t0,0x1
slt v0,t0,v0
bne v0,zero,0x00018048
_addiu v1,v1,0x4
lw v0,0x58(sp)
or a0,s1,zero
lw t9,0x38(sp)
jalr t9
_addiu a1,v0,0x5414
or a0,s1,zero
lw v0,0x5c(sp)
lw t9,0x38(sp)
jalr t9
_addiu a1,v0,0x544c
or a0,s1,zero
lw gp,0x30(sp)
lw t9,0x38(sp)
lw a1,-0x7fc8(gp)
jalr t9
_addiu a1,a1,0x54b0
or a0,s1,zero
lw gp,0x30(sp)
lw s7,0x44(sp)
lw t9,0x38(sp)
lw a1,-0x7fc8(gp)
or a2,s7,zero
jalr t9
_addiu a1,a1,0x54c8
or a2,s7,zero
lw gp,0x30(sp)
or a0,s1,zero
lw t9,0x38(sp)
lw a1,-0x7fc8(gp)
jalr t9
_addiu a1,a1,0x54dc
lw v0,0x60(sp)
blez v0,0x0001816c
_lw gp,0x30(sp)
lw v0,-0x7fc8(gp)
or v1,s5,zero
lw a0,-0x7fc8(gp)
lw a2,-0x7fc8(gp)
addiu v0,v0,0x5434
addiu s8,a0,0x5444
addiu a2,a2,0x5384
or s7,v0,zero
lw a3,0x0(v1)
or a1,s7,zero
lw t9,0x38(sp)
or a0,s1,zero
sw v1,0x48(sp)
addiu s2,s2,0x1
jalr t9
_sw a3,0x10(sp)
or a2,s8,zero
lw v0,0x60(sp)
lw v1,0x48(sp)
lw gp,0x30(sp)
slt v0,s2,v0
bne v0,zero,0x00018130
_addiu v1,v1,0x4
lw a1,-0x7fc8(gp)
or a0,s1,zero
lw t9,0x38(sp)
jalr t9
_addiu a1,a1,0x5508
lw v0,0x10(s3)
andi v0,v0,0x2
bne v0,zero,0x000183d0
_lw gp,0x30(sp)
lw a0,-0x7fc8(gp)
or s7,zero,zero
lw t9,-0x7fcc(gp)
li s3,0x64
lw a1,0x68(sp)
li s8,0x3
addiu t9,t9,0x73e0
bal 0x000173e0
_addiu a0,a0,0x71f4
or v1,zero,zero
or s1,v0,zero
lw gp,0x30(sp)
or v0,zero,zero
sw zero,0x58(sp)
sw v1,0x4c(sp)
sw v0,0x48(sp)
sw v1,0x3c(sp)
sw v0,0x38(sp)
sw zero,0x5c(sp)
sw zero,0x54(sp)
li s2,0x1
lw t9,-0x7f80(gp)
jalr t9
_or a0,s1,zero
bne v0,s3,0x00018430
_lw gp,0x30(sp)
lw t9,-0x7f6c(gp)
or a1,zero,zero
jalr t9
_or a0,s1,zero
li v1,0x2
beq v0,v1,0x00018410
_lw gp,0x30(sp)
beq v0,s8,0x000183f4
_lw t9,-0x7f60(gp)
bne v0,s2,0x000181e8
_lw t9,-0x7f80(gp)
lw t9,-0x7f60(gp)
li a1,0x2
jalr t9
_or a0,s1,zero
li a1,0x1
lw gp,0x30(sp)
or s2,v0,zero
or a0,s1,zero
sw s2,0x54(sp)
lw t9,-0x7f60(gp)
jalr t9
_or s7,v1,zero
subu a0,v1,s7
lw gp,0x30(sp)
subu v0,v0,s2
sltu v1,v1,a0
sw a0,0x5c(sp)
subu v0,v0,v1
b 0x000181e0
_sw v0,0x58(sp)
lw a2,-0x7fc8(gp)
li a1,0x1
lw t9,-0x7c2c(gp)
or a3,s0,zero
lw a0,0x50(sp)
jalr t9
_addiu a2,a2,0x53b8
lw gp,0x30(sp)
lw t9,-0x7f90(gp)
bal 0x0002a7f4
_lw a0,0x68(sp)
lw gp,0x30(sp)
lw a0,0x44(sp)
sw zero,0x68(sp)
sw zero,0x6c(sp)
lw t9,-0x7f90(gp)
bal 0x0002a7f4
_sw zero,0x70(sp)
lw gp,0x30(sp)
lw v1,0x74(sp)
lw v0,0x0(s4)
bne v1,v0,0x000184dc
_lw ra,0x9c(sp)
lw s8,0x98(sp)
lw s7,0x94(sp)
lw s6,0x90(sp)
lw s5,0x8c(sp)
lw s4,0x88(sp)
lw s3,0x84(sp)
lw s2,0x80(sp)
lw s1,0x7c(sp)
lw s0,0x78(sp)
jr ra
_addiu sp,sp,0xa0
li a1,0x1
lw t9,-0x7c2c(gp)
or a3,s0,zero
lw a0,0x50(sp)
jalr t9
_addiu a2,a2,0x5568
lw gp,0x30(sp)
lw t9,-0x7f90(gp)
bal 0x0002a7f4
_lw a0,0x68(sp)
lw gp,0x30(sp)
lw a0,0x44(sp)
sw zero,0x68(sp)
sw zero,0x6c(sp)
lw t9,-0x7f90(gp)
bal 0x0002a7f4
_sw zero,0x70(sp)
lw gp,0x30(sp)
lw t9,-0x7fcc(gp)
addiu t9,t9,0x75b4
bal 0x000175b4
_or a0,s5,zero
lw gp,0x30(sp)
beq s6,zero,0x000182c0
_lw t9,-0x7fcc(gp)
addiu t9,t9,0x75b4
bal 0x000175b4
_or a0,s6,zero
b 0x000182c0
_lw gp,0x30(sp)
lw a1,-0x7fc8(gp)
or a3,zero,zero
lw a0,0x14(s3)
or a2,s0,zero
lw t9,-0x7f64(gp)
addiu a1,a1,0x538c
sw zero,0x20(sp)
sw zero,0x1c(sp)
sw zero,0x18(sp)
sw zero,0x14(sp)
jalr t9
_sw zero,0x10(sp)
bne v0,zero,0x00018294
_lw gp,0x30(sp)
lw a2,-0x7fc8(gp)
li a1,0x1
lw t9,-0x7c2c(gp)
or a3,s0,zero
lw a0,0x50(sp)
jalr t9
_addiu a2,a2,0x5394
b 0x00018294
_lw gp,0x30(sp)
lw a1,-0x7fc8(gp)
li a0,0x1
lw t9,-0x7c0c(gp)
lw a2,0x44(sp)
lw a3,0x68(sp)
jalr t9
_addiu a1,a1,0x5518
b 0x00018318
_lw gp,0x30(sp)
li a1,0x1
jalr t9
_or a0,s1,zero
lw gp,0x30(sp)
sw v1,0x4c(sp)
b 0x000181e0
_sw v0,0x48(sp)
lw t9,-0x7f60(gp)
li a1,0x1
jalr t9
_or a0,s1,zero
lw gp,0x30(sp)
sw v1,0x3c(sp)
b 0x000181e0
_sw v0,0x38(sp)
lw t9,-0x7f74(gp)
jalr t9
_or a0,s1,zero
li a1,0x1
lw v0,0x58(sp)
or a3,s0,zero
lw gp,0x30(sp)
lw v1,0x3c(sp)
sw v0,0x28(sp)
lw v0,0x5c(sp)
lw a2,-0x7fc8(gp)
lw t9,-0x7c2c(gp)
sw v0,0x2c(sp)
lw v0,0x38(sp)
addiu a2,a2,0x5528
lw a0,0x50(sp)
sw v1,0x24(sp)
sw v0,0x20(sp)
lw v0,0x48(sp)
lw v1,0x4c(sp)
sw s7,0x14(sp)
sw v0,0x18(sp)
sw v1,0x1c(sp)
lw v0,0x54(sp)
jalr t9
_sw v0,0x10(sp)
b 0x00018318
_lw gp,0x30(sp)
lw a1,-0x7fc8(gp)
or a0,s1,zero
lw v0,-0x7fc8(gp)
lw t9,0x38(sp)
addiu a1,a1,0x53f0
jalr t9
_sw v0,0x58(sp)
b 0x00017f1c
_lw gp,0x30(sp)
lw v1,0x64(sp)
lw v0,0x60(sp)
bne v1,v0,0x000182fc
_lw a2,-0x7fc8(gp)
b 0x00017e78
_or s8,zero,zero
lw t9,-0x7ba0(gp)
jalr t9
_nop
lw a2,-0x7fc8(gp)
li a1,0x1
lw t9,-0x7c2c(gp)
or a3,s0,zero
lw a0,0x50(sp)
jalr t9
_addiu a2,a2,0x5568
lw gp,0x30(sp)
lw t9,-0x7f90(gp)
bal 0x0002a7f4
_lw a0,0x68(sp)
lw gp,0x30(sp)
lw a0,0x44(sp)
sw zero,0x68(sp)
sw zero,0x6c(sp)
lw t9,-0x7f90(gp)
bal 0x0002a7f4
_sw zero,0x70(sp)
b 0x00018358
_lw gp,0x30(sp)
(translation_unit "int * FUN_00017720(int *param_1,int **param_2,int **param_3,uint *param_4)\n\n{\n  undefined *puVar1;\n  int *piVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int *piVar5;\n  int *piVar6;\n  undefined4 uVar7;\n  int iVar8;\n  int *piVar9;\n  int iVar10;\n  int *piVar11;\n  int iVar12;\n  int **ppiVar13;\n  int iVar14;\n  int *piVar15;\n  int *piVar16;\n  int *piVar17;\n  int iVar18;\n  code *pcVar19;\n  undefined *puVar20;\n  undefined8 uVar21;\n  undefined8 uVar22;\n  undefined8 uVar23;\n  undefined8 uVar24;\n  int local_a8;\n  uint local_a4;\n  int local_a0;\n  int local_9c;\n  undefined4 local_98;\n  undefined4 local_94;\n  undefined4 local_90;\n  int *local_8c;\n  int *local_88;\n  int *local_84;\n  int *local_80;\n  int *local_7c;\n  int *local_78;\n  int *local_74;\n  int **local_70;\n  int **local_6c;\n  undefined *local_68;\n  undefined4 local_64;\n  int *local_38;\n  undefined *local_34;\n  undefined *local_30;\n  int *local_2c;\n  \n  puVar1 = PTR___stack_chk_guard_0015ba2c;\n  local_2c = *(int **)PTR___stack_chk_guard_0015ba2c;\n  if (*(int *)(PTR_g_0015b5ec + 8) != 0) {\n    piVar11 = (int *)0x0;\n    piVar2 = (int *)&DAT_00000064;\n    piVar5 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2);\n    do {\n      iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      while( true ) {\n        if (iVar3 != 100) {\n          (*(code *)PTR_sqlite3_reset_0015b648)(piVar5);\n          if (piVar11 == (int *)0x0) {\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }\n          else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }\n          goto LAB_00017854;\n        }\n        param_1 = (int *)&DAT_00000005;\n        iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5);\n        if (iVar3 < 1) break;\n        piVar11 = (int *)((int)piVar11 + 1);\n        iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      }\n    } while( true );\n  }\n  pcVar19 = (code *)(PTR_0015b5e4 + 0x73e0);\n  piVar2 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5318,param_1,param_2);\n  puVar20 = PTR_LAB_0015b5e8;\n  iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n  while (iVar3 == 100) {\n    uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,3);\n    iVar3 = sqlite3_stricmp(uVar4,puVar20 + 0x5330);\n    if (iVar3 == 0) {\n      uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,1);\n      piVar5 = (int *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4,uVar4);\n      (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n      piVar2 = piVar5;\n      if (piVar5 != (int *)0x0) {\n        piVar6 = (int *)0x0;\n        piVar15 = (int *)0x0;\n        piVar2 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5);\n        piVar11 = (int *)0x0;\n        do {\n          iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          while( true ) {\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }\n          iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1);\n          if (-1 < iVar3) {\n            piVar15 = (int *)0x1;\n          }\n        } while( true );\n      }\n      goto LAB_00017824;\n    }\n    iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n  }\n  (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\nLAB_00017824:\n  piVar17 = (int *)&DAT_00000008;\n  piVar11 = (int *)0x1;\n  piVar15 = (int *)0x1;\nLAB_00017834:\n  piVar5 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2);\nLAB_00017854:\n  puVar20 = PTR_sqlite3_malloc_0015b640;\n  *param_3 = piVar11;\n  piVar6 = (int *)(*(code *)puVar20)(piVar17);\n  if (piVar6 == (int *)0x0) {\nLAB_00017cb8:\n    piVar9 = (int *)(PTR_LAB_0015b5e8 + 0x52ac);\n    FUN_00016d3c(piVar9);\n  }\n  else {\n    param_1 = (int *)0x0;\n    (*(code *)PTR_memset_0015b9b4)(piVar6,0,piVar17);\n    param_3 = (int **)&DAT_00000064;\n    param_2 = (int **)0x3fffffff;\n    piVar17 = (int *)(PTR_0015b5e4 + 0x7618);\n    while (iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5), iVar3 == 100) {\n      if ((piVar15 == (int *)0x0) ||\n         (iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1)) {\n        piVar2 = (int *)(((int)piVar11 + 2) * 4);\n        param_1 = piVar2;\n        piVar6 = (int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6);\n        if (piVar6 == (int *)0x0) goto LAB_00017cb8;\n        param_1 = (int *)0x1;\n        piVar11 = (int *)((int)piVar11 + 1);\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = piVar2 + -2;\n      }\n      else {\n        param_1 = (int *)0x1;\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = (int *)((iVar3 + 0x3fffffff) * 4);\n      }\n      piVar2 = (int *)((int)piVar6 + (int)piVar2);\n      iVar3 = FUN_00017618(uVar4);\n      *piVar2 = iVar3;\n    }\n    (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar5);\n    piVar6[(int)piVar11] = 0;\n    if (param_4 != (uint *)0x0) {\n      *param_4 = (uint)(*piVar6 == 0);\n    }\n    if (*piVar6 == 0) {\n      param_3 = &local_38;\n      param_2 = &local_2c;\n      local_34 = PTR_LAB_0015b5e8 + 0x5368;\n      piVar15 = (int *)(PTR_UINT_0015b5fc + -0x7714);\n      piVar17 = piVar6 + 1;\n      local_30 = PTR_LAB_0015b5e8 + 0x5370;\n      local_38 = piVar15;\n      if ((int)piVar11 < 2) {\n        param_1 = piVar15;\n        iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *piVar6 = iVar3;\n        if (iVar3 == 0) goto LAB_00017b14;\n      }\n      else {\n        while( true ) {\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }\n        piVar2 = (int *)0x1;\n        if (*piVar6 == 0) {\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }\n      }\n    }\nLAB_00017984:\n    piVar9 = local_2c;\n    if (local_2c == *(int **)puVar1) {\n      return piVar6;\n    }\n  }\n  uVar4 = 0x17cd8;\n  puVar20 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  local_68 = puVar1;\n  piVar16 = *(int **)(puVar20 + 0x143d54);\n  iVar14 = *(int *)(puVar20 + 0x143914);\n  iVar12 = *(int *)(puVar20 + 0x143924);\n  local_8c = (int *)*piVar16;\n  local_88 = piVar2;\n  local_84 = piVar11;\n  local_80 = piVar6;\n  local_7c = piVar5;\n  local_78 = piVar15;\n  local_74 = piVar17;\n  local_70 = param_3;\n  local_6c = param_2;\n  local_64 = uVar4;\n  uVar4 = FUN_00017618();\n  local_98 = 0;\n  local_94 = 0;\n  local_90 = 0;\n  iVar3 = (**(code **)(puVar20 + 0x143974))\n                    (*(undefined4 *)(iVar14 + 0x14),iVar12 + -0x236c,piVar9,0,0,0,0,0,0);\n  if (iVar3 != 0) {\n    iVar3 = (**(code **)(puVar20 + 0x143974))\n                      (*(undefined4 *)(iVar14 + 0x14),*(int *)(puVar20 + 0x143910) + 0x538c,piVar9,0\n                       ,0,0,0,0,0);\n    if (iVar3 == 0) {\n      (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5394,piVar9);\n    }\nLAB_00018294:\n    sqlite3_free(local_98);\n    local_98 = 0;\n    local_94 = 0;\n    local_90 = 0;\n    sqlite3_free(uVar4);\n    goto LAB_000182c0;\n  }\n  iVar18 = *(int *)(puVar20 + 0x143910);\n  iVar3 = (**(code **)(puVar20 + 0x143974))\n                    (*(undefined4 *)(iVar14 + 0x14),iVar18 + 0x538c,piVar9,0,0,0,0,0,0);\n  if (iVar3 != 0) {\n    (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x53b8,piVar9);\n    goto LAB_00018294;\n  }\n  piVar11 = (int *)FUN_00017720(iVar18 + 0x538c,piVar9,&local_a0,0);\n  param_3 = (int **)FUN_00017720(iVar12 + -0x236c,piVar9,&local_9c,0);\n  if (piVar11 == (int *)0x0) goto LAB_000184e8;\n  iVar3 = *(int *)(puVar20 + 0x143910);\n  if (param_3 != (int **)0x0) {\n    iVar3 = *piVar11;\n    if (iVar3 == 0) {\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if (local_9c == local_a0) {\n        iVar12 = 0;\n        goto LAB_00017e78;\n      }\n    }\n    else {\n      iVar12 = 0;\n      ppiVar13 = param_3;\n      piVar2 = piVar11;\n      do {\n        piVar2 = piVar2 + 1;\n        iVar3 = sqlite3_stricmp(iVar3,*ppiVar13);\n        if (iVar3 != 0) break;\n        iVar3 = *piVar2;\n        iVar12 = iVar12 + 1;\n        ppiVar13 = ppiVar13 + 1;\n      } while (iVar3 != 0);\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if ((local_a0 == local_9c) && (piVar11[iVar12] == 0)) {\nLAB_00017e78:\n        pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4);\n        FUN_00016de4(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc);\n        if (local_9c == iVar12) {\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);\n        }\n        else {\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4);\n        if (0 < local_a0) {\n          iVar12 = *(int *)(puVar20 + 0x143910);\n          iVar8 = 0;\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;\n          do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);\n        }\n        iVar3 = *(int *)(puVar20 + 0x143910);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar10 = 0;\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);\n        }\n        (*pcVar19)(&local_98,local_a8 + 0x5414);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          iVar3 = 0;\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508);\n        if ((*(uint *)(iVar14 + 0x10) & 2) == 0) {\n          uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);\n          local_a8 = 0;\n          uVar23 = 0;\n          uVar24 = 0;\n          local_a4 = 0;\n          uVar21 = 0;\nLAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );\n        }\n        (**(code **)(puVar20 + 0x143ccc))(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98);\n        goto LAB_00018318;\n      }\n    }\n  }\n  (**(code **)(puVar20 + 0x143cac))(param_1,1,iVar3 + 0x5568,piVar9);\nLAB_00018318:\n  sqlite3_free(local_98);\n  local_98 = 0;\n  local_94 = 0;\n  local_90 = 0;\n  sqlite3_free(uVar4);\n  FUN_000175b4(piVar11);\n  while( true ) {\n    if (param_3 != (int **)0x0) {\n      FUN_000175b4(param_3);\n    }\nLAB_000182c0:\n    piVar11 = (int *)*piVar16;\n    if (local_8c == piVar11) break;\n    (**(code **)(puVar20 + 0x143d38))();\nLAB_000184e8:\n    (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5568,piVar9);\n    sqlite3_free(local_98);\n    local_98 = 0;\n    local_94 = 0;\n    local_90 = 0;\n    sqlite3_free(uVar4);\n  }\n  return piVar11;\n}\n\n" (function_definition "int * FUN_00017720(int *param_1,int **param_2,int **param_3,uint *param_4)\n\n{\n  undefined *puVar1;\n  int *piVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int *piVar5;\n  int *piVar6;\n  undefined4 uVar7;\n  int iVar8;\n  int *piVar9;\n  int iVar10;\n  int *piVar11;\n  int iVar12;\n  int **ppiVar13;\n  int iVar14;\n  int *piVar15;\n  int *piVar16;\n  int *piVar17;\n  int iVar18;\n  code *pcVar19;\n  undefined *puVar20;\n  undefined8 uVar21;\n  undefined8 uVar22;\n  undefined8 uVar23;\n  undefined8 uVar24;\n  int local_a8;\n  uint local_a4;\n  int local_a0;\n  int local_9c;\n  undefined4 local_98;\n  undefined4 local_94;\n  undefined4 local_90;\n  int *local_8c;\n  int *local_88;\n  int *local_84;\n  int *local_80;\n  int *local_7c;\n  int *local_78;\n  int *local_74;\n  int **local_70;\n  int **local_6c;\n  undefined *local_68;\n  undefined4 local_64;\n  int *local_38;\n  undefined *local_34;\n  undefined *local_30;\n  int *local_2c;\n  \n  puVar1 = PTR___stack_chk_guard_0015ba2c;\n  local_2c = *(int **)PTR___stack_chk_guard_0015ba2c;\n  if (*(int *)(PTR_g_0015b5ec + 8) != 0) {\n    piVar11 = (int *)0x0;\n    piVar2 = (int *)&DAT_00000064;\n    piVar5 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2);\n    do {\n      iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      while( true ) {\n        if (iVar3 != 100) {\n          (*(code *)PTR_sqlite3_reset_0015b648)(piVar5);\n          if (piVar11 == (int *)0x0) {\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }\n          else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }\n          goto LAB_00017854;\n        }\n        param_1 = (int *)&DAT_00000005;\n        iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5);\n        if (iVar3 < 1) break;\n        piVar11 = (int *)((int)piVar11 + 1);\n        iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      }\n    } while( true );\n  }\n  pcVar19 = (code *)(PTR_0015b5e4 + 0x73e0);\n  piVar2 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5318,param_1,param_2);\n  puVar20 = PTR_LAB_0015b5e8;\n  iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n  while (iVar3 == 100) {\n    uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,3);\n    iVar3 = sqlite3_stricmp(uVar4,puVar20 + 0x5330);\n    if (iVar3 == 0) {\n      uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,1);\n      piVar5 = (int *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4,uVar4);\n      (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n      piVar2 = piVar5;\n      if (piVar5 != (int *)0x0) {\n        piVar6 = (int *)0x0;\n        piVar15 = (int *)0x0;\n        piVar2 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5);\n        piVar11 = (int *)0x0;\n        do {\n          iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          while( true ) {\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }\n          iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1);\n          if (-1 < iVar3) {\n            piVar15 = (int *)0x1;\n          }\n        } while( true );\n      }\n      goto LAB_00017824;\n    }\n    iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n  }\n  (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\nLAB_00017824:\n  piVar17 = (int *)&DAT_00000008;\n  piVar11 = (int *)0x1;\n  piVar15 = (int *)0x1;\nLAB_00017834:\n  piVar5 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2);\nLAB_00017854:\n  puVar20 = PTR_sqlite3_malloc_0015b640;\n  *param_3 = piVar11;\n  piVar6 = (int *)(*(code *)puVar20)(piVar17);\n  if (piVar6 == (int *)0x0) {\nLAB_00017cb8:\n    piVar9 = (int *)(PTR_LAB_0015b5e8 + 0x52ac);\n    FUN_00016d3c(piVar9);\n  }\n  else {\n    param_1 = (int *)0x0;\n    (*(code *)PTR_memset_0015b9b4)(piVar6,0,piVar17);\n    param_3 = (int **)&DAT_00000064;\n    param_2 = (int **)0x3fffffff;\n    piVar17 = (int *)(PTR_0015b5e4 + 0x7618);\n    while (iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5), iVar3 == 100) {\n      if ((piVar15 == (int *)0x0) ||\n         (iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1)) {\n        piVar2 = (int *)(((int)piVar11 + 2) * 4);\n        param_1 = piVar2;\n        piVar6 = (int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6);\n        if (piVar6 == (int *)0x0) goto LAB_00017cb8;\n        param_1 = (int *)0x1;\n        piVar11 = (int *)((int)piVar11 + 1);\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = piVar2 + -2;\n      }\n      else {\n        param_1 = (int *)0x1;\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = (int *)((iVar3 + 0x3fffffff) * 4);\n      }\n      piVar2 = (int *)((int)piVar6 + (int)piVar2);\n      iVar3 = FUN_00017618(uVar4);\n      *piVar2 = iVar3;\n    }\n    (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar5);\n    piVar6[(int)piVar11] = 0;\n    if (param_4 != (uint *)0x0) {\n      *param_4 = (uint)(*piVar6 == 0);\n    }\n    if (*piVar6 == 0) {\n      param_3 = &local_38;\n      param_2 = &local_2c;\n      local_34 = PTR_LAB_0015b5e8 + 0x5368;\n      piVar15 = (int *)(PTR_UINT_0015b5fc + -0x7714);\n      piVar17 = piVar6 + 1;\n      local_30 = PTR_LAB_0015b5e8 + 0x5370;\n      local_38 = piVar15;\n      if ((int)piVar11 < 2) {\n        param_1 = piVar15;\n        iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *piVar6 = iVar3;\n        if (iVar3 == 0) goto LAB_00017b14;\n      }\n      else {\n        while( true ) {\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }\n        piVar2 = (int *)0x1;\n        if (*piVar6 == 0) {\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }\n      }\n    }\nLAB_00017984:\n    piVar9 = local_2c;\n    if (local_2c == *(int **)puVar1) {\n      return piVar6;\n    }\n  }\n  uVar4 = 0x17cd8;\n  puVar20 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  local_68 = puVar1;\n  piVar16 = *(int **)(puVar20 + 0x143d54);\n  iVar14 = *(int *)(puVar20 + 0x143914);\n  iVar12 = *(int *)(puVar20 + 0x143924);\n  local_8c = (int *)*piVar16;\n  local_88 = piVar2;\n  local_84 = piVar11;\n  local_80 = piVar6;\n  local_7c = piVar5;\n  local_78 = piVar15;\n  local_74 = piVar17;\n  local_70 = param_3;\n  local_6c = param_2;\n  local_64 = uVar4;\n  uVar4 = FUN_00017618();\n  local_98 = 0;\n  local_94 = 0;\n  local_90 = 0;\n  iVar3 = (**(code **)(puVar20 + 0x143974))\n                    (*(undefined4 *)(iVar14 + 0x14),iVar12 + -0x236c,piVar9,0,0,0,0,0,0);\n  if (iVar3 != 0) {\n    iVar3 = (**(code **)(puVar20 + 0x143974))\n                      (*(undefined4 *)(iVar14 + 0x14),*(int *)(puVar20 + 0x143910) + 0x538c,piVar9,0\n                       ,0,0,0,0,0);\n    if (iVar3 == 0) {\n      (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5394,piVar9);\n    }\nLAB_00018294:\n    sqlite3_free(local_98);\n    local_98 = 0;\n    local_94 = 0;\n    local_90 = 0;\n    sqlite3_free(uVar4);\n    goto LAB_000182c0;\n  }\n  iVar18 = *(int *)(puVar20 + 0x143910);\n  iVar3 = (**(code **)(puVar20 + 0x143974))\n                    (*(undefined4 *)(iVar14 + 0x14),iVar18 + 0x538c,piVar9,0,0,0,0,0,0);\n  if (iVar3 != 0) {\n    (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x53b8,piVar9);\n    goto LAB_00018294;\n  }\n  piVar11 = (int *)FUN_00017720(iVar18 + 0x538c,piVar9,&local_a0,0);\n  param_3 = (int **)FUN_00017720(iVar12 + -0x236c,piVar9,&local_9c,0);\n  if (piVar11 == (int *)0x0) goto LAB_000184e8;\n  iVar3 = *(int *)(puVar20 + 0x143910);\n  if (param_3 != (int **)0x0) {\n    iVar3 = *piVar11;\n    if (iVar3 == 0) {\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if (local_9c == local_a0) {\n        iVar12 = 0;\n        goto LAB_00017e78;\n      }\n    }\n    else {\n      iVar12 = 0;\n      ppiVar13 = param_3;\n      piVar2 = piVar11;\n      do {\n        piVar2 = piVar2 + 1;\n        iVar3 = sqlite3_stricmp(iVar3,*ppiVar13);\n        if (iVar3 != 0) break;\n        iVar3 = *piVar2;\n        iVar12 = iVar12 + 1;\n        ppiVar13 = ppiVar13 + 1;\n      } while (iVar3 != 0);\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if ((local_a0 == local_9c) && (piVar11[iVar12] == 0)) {\nLAB_00017e78:\n        pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4);\n        FUN_00016de4(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc);\n        if (local_9c == iVar12) {\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);\n        }\n        else {\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4);\n        if (0 < local_a0) {\n          iVar12 = *(int *)(puVar20 + 0x143910);\n          iVar8 = 0;\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;\n          do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);\n        }\n        iVar3 = *(int *)(puVar20 + 0x143910);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar10 = 0;\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);\n        }\n        (*pcVar19)(&local_98,local_a8 + 0x5414);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          iVar3 = 0;\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508);\n        if ((*(uint *)(iVar14 + 0x10) & 2) == 0) {\n          uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);\n          local_a8 = 0;\n          uVar23 = 0;\n          uVar24 = 0;\n          local_a4 = 0;\n          uVar21 = 0;\nLAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );\n        }\n        (**(code **)(puVar20 + 0x143ccc))(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98);\n        goto LAB_00018318;\n      }\n    }\n  }\n  (**(code **)(puVar20 + 0x143cac))(param_1,1,iVar3 + 0x5568,piVar9);\nLAB_00018318:\n  sqlite3_free(local_98);\n  local_98 = 0;\n  local_94 = 0;\n  local_90 = 0;\n  sqlite3_free(uVar4);\n  FUN_000175b4(piVar11);\n  while( true ) {\n    if (param_3 != (int **)0x0) {\n      FUN_000175b4(param_3);\n    }\nLAB_000182c0:\n    piVar11 = (int *)*piVar16;\n    if (local_8c == piVar11) break;\n    (**(code **)(puVar20 + 0x143d38))();\nLAB_000184e8:\n    (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5568,piVar9);\n    sqlite3_free(local_98);\n    local_98 = 0;\n    local_94 = 0;\n    local_90 = 0;\n    sqlite3_free(uVar4);\n  }\n  return piVar11;\n}" primitive_type (pointer_declarator "* FUN_00017720(int *param_1,int **param_2,int **param_3,uint *param_4)" * (function_declarator "FUN_00017720(int *param_1,int **param_2,int **param_3,uint *param_4)" identifier (parameter_list "(int *param_1,int **param_2,int **param_3,uint *param_4)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int **param_2" primitive_type (pointer_declarator "**param_2" * (pointer_declarator "*param_2" * identifier))) , (parameter_declaration "int **param_3" primitive_type (pointer_declarator "**param_3" * (pointer_declarator "*param_3" * identifier))) , (parameter_declaration "uint *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) )))) (compound_statement "{\n  undefined *puVar1;\n  int *piVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int *piVar5;\n  int *piVar6;\n  undefined4 uVar7;\n  int iVar8;\n  int *piVar9;\n  int iVar10;\n  int *piVar11;\n  int iVar12;\n  int **ppiVar13;\n  int iVar14;\n  int *piVar15;\n  int *piVar16;\n  int *piVar17;\n  int iVar18;\n  code *pcVar19;\n  undefined *puVar20;\n  undefined8 uVar21;\n  undefined8 uVar22;\n  undefined8 uVar23;\n  undefined8 uVar24;\n  int local_a8;\n  uint local_a4;\n  int local_a0;\n  int local_9c;\n  undefined4 local_98;\n  undefined4 local_94;\n  undefined4 local_90;\n  int *local_8c;\n  int *local_88;\n  int *local_84;\n  int *local_80;\n  int *local_7c;\n  int *local_78;\n  int *local_74;\n  int **local_70;\n  int **local_6c;\n  undefined *local_68;\n  undefined4 local_64;\n  int *local_38;\n  undefined *local_34;\n  undefined *local_30;\n  int *local_2c;\n  \n  puVar1 = PTR___stack_chk_guard_0015ba2c;\n  local_2c = *(int **)PTR___stack_chk_guard_0015ba2c;\n  if (*(int *)(PTR_g_0015b5ec + 8) != 0) {\n    piVar11 = (int *)0x0;\n    piVar2 = (int *)&DAT_00000064;\n    piVar5 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2);\n    do {\n      iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      while( true ) {\n        if (iVar3 != 100) {\n          (*(code *)PTR_sqlite3_reset_0015b648)(piVar5);\n          if (piVar11 == (int *)0x0) {\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }\n          else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }\n          goto LAB_00017854;\n        }\n        param_1 = (int *)&DAT_00000005;\n        iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5);\n        if (iVar3 < 1) break;\n        piVar11 = (int *)((int)piVar11 + 1);\n        iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      }\n    } while( true );\n  }\n  pcVar19 = (code *)(PTR_0015b5e4 + 0x73e0);\n  piVar2 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5318,param_1,param_2);\n  puVar20 = PTR_LAB_0015b5e8;\n  iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n  while (iVar3 == 100) {\n    uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,3);\n    iVar3 = sqlite3_stricmp(uVar4,puVar20 + 0x5330);\n    if (iVar3 == 0) {\n      uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,1);\n      piVar5 = (int *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4,uVar4);\n      (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n      piVar2 = piVar5;\n      if (piVar5 != (int *)0x0) {\n        piVar6 = (int *)0x0;\n        piVar15 = (int *)0x0;\n        piVar2 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5);\n        piVar11 = (int *)0x0;\n        do {\n          iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          while( true ) {\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }\n          iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1);\n          if (-1 < iVar3) {\n            piVar15 = (int *)0x1;\n          }\n        } while( true );\n      }\n      goto LAB_00017824;\n    }\n    iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n  }\n  (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\nLAB_00017824:\n  piVar17 = (int *)&DAT_00000008;\n  piVar11 = (int *)0x1;\n  piVar15 = (int *)0x1;\nLAB_00017834:\n  piVar5 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2);\nLAB_00017854:\n  puVar20 = PTR_sqlite3_malloc_0015b640;\n  *param_3 = piVar11;\n  piVar6 = (int *)(*(code *)puVar20)(piVar17);\n  if (piVar6 == (int *)0x0) {\nLAB_00017cb8:\n    piVar9 = (int *)(PTR_LAB_0015b5e8 + 0x52ac);\n    FUN_00016d3c(piVar9);\n  }\n  else {\n    param_1 = (int *)0x0;\n    (*(code *)PTR_memset_0015b9b4)(piVar6,0,piVar17);\n    param_3 = (int **)&DAT_00000064;\n    param_2 = (int **)0x3fffffff;\n    piVar17 = (int *)(PTR_0015b5e4 + 0x7618);\n    while (iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5), iVar3 == 100) {\n      if ((piVar15 == (int *)0x0) ||\n         (iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1)) {\n        piVar2 = (int *)(((int)piVar11 + 2) * 4);\n        param_1 = piVar2;\n        piVar6 = (int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6);\n        if (piVar6 == (int *)0x0) goto LAB_00017cb8;\n        param_1 = (int *)0x1;\n        piVar11 = (int *)((int)piVar11 + 1);\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = piVar2 + -2;\n      }\n      else {\n        param_1 = (int *)0x1;\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = (int *)((iVar3 + 0x3fffffff) * 4);\n      }\n      piVar2 = (int *)((int)piVar6 + (int)piVar2);\n      iVar3 = FUN_00017618(uVar4);\n      *piVar2 = iVar3;\n    }\n    (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar5);\n    piVar6[(int)piVar11] = 0;\n    if (param_4 != (uint *)0x0) {\n      *param_4 = (uint)(*piVar6 == 0);\n    }\n    if (*piVar6 == 0) {\n      param_3 = &local_38;\n      param_2 = &local_2c;\n      local_34 = PTR_LAB_0015b5e8 + 0x5368;\n      piVar15 = (int *)(PTR_UINT_0015b5fc + -0x7714);\n      piVar17 = piVar6 + 1;\n      local_30 = PTR_LAB_0015b5e8 + 0x5370;\n      local_38 = piVar15;\n      if ((int)piVar11 < 2) {\n        param_1 = piVar15;\n        iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *piVar6 = iVar3;\n        if (iVar3 == 0) goto LAB_00017b14;\n      }\n      else {\n        while( true ) {\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }\n        piVar2 = (int *)0x1;\n        if (*piVar6 == 0) {\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }\n      }\n    }\nLAB_00017984:\n    piVar9 = local_2c;\n    if (local_2c == *(int **)puVar1) {\n      return piVar6;\n    }\n  }\n  uVar4 = 0x17cd8;\n  puVar20 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  local_68 = puVar1;\n  piVar16 = *(int **)(puVar20 + 0x143d54);\n  iVar14 = *(int *)(puVar20 + 0x143914);\n  iVar12 = *(int *)(puVar20 + 0x143924);\n  local_8c = (int *)*piVar16;\n  local_88 = piVar2;\n  local_84 = piVar11;\n  local_80 = piVar6;\n  local_7c = piVar5;\n  local_78 = piVar15;\n  local_74 = piVar17;\n  local_70 = param_3;\n  local_6c = param_2;\n  local_64 = uVar4;\n  uVar4 = FUN_00017618();\n  local_98 = 0;\n  local_94 = 0;\n  local_90 = 0;\n  iVar3 = (**(code **)(puVar20 + 0x143974))\n                    (*(undefined4 *)(iVar14 + 0x14),iVar12 + -0x236c,piVar9,0,0,0,0,0,0);\n  if (iVar3 != 0) {\n    iVar3 = (**(code **)(puVar20 + 0x143974))\n                      (*(undefined4 *)(iVar14 + 0x14),*(int *)(puVar20 + 0x143910) + 0x538c,piVar9,0\n                       ,0,0,0,0,0);\n    if (iVar3 == 0) {\n      (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5394,piVar9);\n    }\nLAB_00018294:\n    sqlite3_free(local_98);\n    local_98 = 0;\n    local_94 = 0;\n    local_90 = 0;\n    sqlite3_free(uVar4);\n    goto LAB_000182c0;\n  }\n  iVar18 = *(int *)(puVar20 + 0x143910);\n  iVar3 = (**(code **)(puVar20 + 0x143974))\n                    (*(undefined4 *)(iVar14 + 0x14),iVar18 + 0x538c,piVar9,0,0,0,0,0,0);\n  if (iVar3 != 0) {\n    (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x53b8,piVar9);\n    goto LAB_00018294;\n  }\n  piVar11 = (int *)FUN_00017720(iVar18 + 0x538c,piVar9,&local_a0,0);\n  param_3 = (int **)FUN_00017720(iVar12 + -0x236c,piVar9,&local_9c,0);\n  if (piVar11 == (int *)0x0) goto LAB_000184e8;\n  iVar3 = *(int *)(puVar20 + 0x143910);\n  if (param_3 != (int **)0x0) {\n    iVar3 = *piVar11;\n    if (iVar3 == 0) {\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if (local_9c == local_a0) {\n        iVar12 = 0;\n        goto LAB_00017e78;\n      }\n    }\n    else {\n      iVar12 = 0;\n      ppiVar13 = param_3;\n      piVar2 = piVar11;\n      do {\n        piVar2 = piVar2 + 1;\n        iVar3 = sqlite3_stricmp(iVar3,*ppiVar13);\n        if (iVar3 != 0) break;\n        iVar3 = *piVar2;\n        iVar12 = iVar12 + 1;\n        ppiVar13 = ppiVar13 + 1;\n      } while (iVar3 != 0);\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if ((local_a0 == local_9c) && (piVar11[iVar12] == 0)) {\nLAB_00017e78:\n        pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4);\n        FUN_00016de4(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc);\n        if (local_9c == iVar12) {\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);\n        }\n        else {\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4);\n        if (0 < local_a0) {\n          iVar12 = *(int *)(puVar20 + 0x143910);\n          iVar8 = 0;\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;\n          do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);\n        }\n        iVar3 = *(int *)(puVar20 + 0x143910);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar10 = 0;\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);\n        }\n        (*pcVar19)(&local_98,local_a8 + 0x5414);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          iVar3 = 0;\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508);\n        if ((*(uint *)(iVar14 + 0x10) & 2) == 0) {\n          uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);\n          local_a8 = 0;\n          uVar23 = 0;\n          uVar24 = 0;\n          local_a4 = 0;\n          uVar21 = 0;\nLAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );\n        }\n        (**(code **)(puVar20 + 0x143ccc))(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98);\n        goto LAB_00018318;\n      }\n    }\n  }\n  (**(code **)(puVar20 + 0x143cac))(param_1,1,iVar3 + 0x5568,piVar9);\nLAB_00018318:\n  sqlite3_free(local_98);\n  local_98 = 0;\n  local_94 = 0;\n  local_90 = 0;\n  sqlite3_free(uVar4);\n  FUN_000175b4(piVar11);\n  while( true ) {\n    if (param_3 != (int **)0x0) {\n      FUN_000175b4(param_3);\n    }\nLAB_000182c0:\n    piVar11 = (int *)*piVar16;\n    if (local_8c == piVar11) break;\n    (**(code **)(puVar20 + 0x143d38))();\nLAB_000184e8:\n    (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5568,piVar9);\n    sqlite3_free(local_98);\n    local_98 = 0;\n    local_94 = 0;\n    local_90 = 0;\n    sqlite3_free(uVar4);\n  }\n  return piVar11;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int **ppiVar13;" primitive_type (pointer_declarator "**ppiVar13" * (pointer_declarator "*ppiVar13" * identifier)) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "int *piVar17;" primitive_type (pointer_declarator "*piVar17" * identifier) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "code *pcVar19;" type_identifier (pointer_declarator "*pcVar19" * identifier) ;) (declaration "undefined *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "undefined8 uVar21;" type_identifier identifier ;) (declaration "undefined8 uVar22;" type_identifier identifier ;) (declaration "undefined8 uVar23;" type_identifier identifier ;) (declaration "undefined8 uVar24;" type_identifier identifier ;) (declaration "int local_a8;" primitive_type identifier ;) (declaration "uint local_a4;" type_identifier identifier ;) (declaration "int local_a0;" primitive_type identifier ;) (declaration "int local_9c;" primitive_type identifier ;) (declaration "undefined4 local_98;" type_identifier identifier ;) (declaration "undefined4 local_94;" type_identifier identifier ;) (declaration "undefined4 local_90;" type_identifier identifier ;) (declaration "int *local_8c;" primitive_type (pointer_declarator "*local_8c" * identifier) ;) (declaration "int *local_88;" primitive_type (pointer_declarator "*local_88" * identifier) ;) (declaration "int *local_84;" primitive_type (pointer_declarator "*local_84" * identifier) ;) (declaration "int *local_80;" primitive_type (pointer_declarator "*local_80" * identifier) ;) (declaration "int *local_7c;" primitive_type (pointer_declarator "*local_7c" * identifier) ;) (declaration "int *local_78;" primitive_type (pointer_declarator "*local_78" * identifier) ;) (declaration "int *local_74;" primitive_type (pointer_declarator "*local_74" * identifier) ;) (declaration "int **local_70;" primitive_type (pointer_declarator "**local_70" * (pointer_declarator "*local_70" * identifier)) ;) (declaration "int **local_6c;" primitive_type (pointer_declarator "**local_6c" * (pointer_declarator "*local_6c" * identifier)) ;) (declaration "undefined *local_68;" type_identifier (pointer_declarator "*local_68" * identifier) ;) (declaration "undefined4 local_64;" type_identifier identifier ;) (declaration "int *local_38;" primitive_type (pointer_declarator "*local_38" * identifier) ;) (declaration "undefined *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "undefined *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (declaration "int *local_2c;" primitive_type (pointer_declarator "*local_2c" * identifier) ;) (expression_statement "puVar1 = PTR___stack_chk_guard_0015ba2c;" (assignment_expression "puVar1 = PTR___stack_chk_guard_0015ba2c" identifier = identifier) ;) (expression_statement "local_2c = *(int **)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "local_2c = *(int **)PTR___stack_chk_guard_0015ba2c" identifier = (pointer_expression "*(int **)PTR___stack_chk_guard_0015ba2c" * (cast_expression "(int **)PTR___stack_chk_guard_0015ba2c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (*(int *)(PTR_g_0015b5ec + 8) != 0) {\n    piVar11 = (int *)0x0;\n    piVar2 = (int *)&DAT_00000064;\n    piVar5 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2);\n    do {\n      iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      while( true ) {\n        if (iVar3 != 100) {\n          (*(code *)PTR_sqlite3_reset_0015b648)(piVar5);\n          if (piVar11 == (int *)0x0) {\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }\n          else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }\n          goto LAB_00017854;\n        }\n        param_1 = (int *)&DAT_00000005;\n        iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5);\n        if (iVar3 < 1) break;\n        piVar11 = (int *)((int)piVar11 + 1);\n        iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      }\n    } while( true );\n  }" if (parenthesized_expression "(*(int *)(PTR_g_0015b5ec + 8) != 0)" ( (binary_expression "*(int *)(PTR_g_0015b5ec + 8) != 0" (pointer_expression "*(int *)(PTR_g_0015b5ec + 8)" * (cast_expression "(int *)(PTR_g_0015b5ec + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_g_0015b5ec + 8)" ( (binary_expression "PTR_g_0015b5ec + 8" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    piVar11 = (int *)0x0;\n    piVar2 = (int *)&DAT_00000064;\n    piVar5 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2);\n    do {\n      iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      while( true ) {\n        if (iVar3 != 100) {\n          (*(code *)PTR_sqlite3_reset_0015b648)(piVar5);\n          if (piVar11 == (int *)0x0) {\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }\n          else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }\n          goto LAB_00017854;\n        }\n        param_1 = (int *)&DAT_00000005;\n        iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5);\n        if (iVar3 < 1) break;\n        piVar11 = (int *)((int)piVar11 + 1);\n        iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      }\n    } while( true );\n  }" { (expression_statement "piVar11 = (int *)0x0;" (assignment_expression "piVar11 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar2 = (int *)&DAT_00000064;" (assignment_expression "piVar2 = (int *)&DAT_00000064" identifier = (cast_expression "(int *)&DAT_00000064" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000064" & identifier))) ;) (expression_statement "piVar5 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2);" (assignment_expression "piVar5 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2)" identifier = (cast_expression "(int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000173e0(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2)" identifier (argument_list "(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2)" ( (binary_expression "PTR_LAB_0015b5e8 + 0x5350" identifier + number_literal) , identifier , identifier ))))) ;) (do_statement "do {\n      iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      while( true ) {\n        if (iVar3 != 100) {\n          (*(code *)PTR_sqlite3_reset_0015b648)(piVar5);\n          if (piVar11 == (int *)0x0) {\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }\n          else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }\n          goto LAB_00017854;\n        }\n        param_1 = (int *)&DAT_00000005;\n        iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5);\n        if (iVar3 < 1) break;\n        piVar11 = (int *)((int)piVar11 + 1);\n        iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      }\n    } while( true );" do (compound_statement "{\n      iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      while( true ) {\n        if (iVar3 != 100) {\n          (*(code *)PTR_sqlite3_reset_0015b648)(piVar5);\n          if (piVar11 == (int *)0x0) {\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }\n          else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }\n          goto LAB_00017854;\n        }\n        param_1 = (int *)&DAT_00000005;\n        iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5);\n        if (iVar3 < 1) break;\n        piVar11 = (int *)((int)piVar11 + 1);\n        iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      }\n    }" { (expression_statement "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5)" identifier = (call_expression "(*(code *)PTR_sqlite3_step_0015b630)(piVar5)" (parenthesized_expression "(*(code *)PTR_sqlite3_step_0015b630)" ( (pointer_expression "*(code *)PTR_sqlite3_step_0015b630" * (cast_expression "(code *)PTR_sqlite3_step_0015b630" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5)" ( identifier )))) ;) (while_statement "while( true ) {\n        if (iVar3 != 100) {\n          (*(code *)PTR_sqlite3_reset_0015b648)(piVar5);\n          if (piVar11 == (int *)0x0) {\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }\n          else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }\n          goto LAB_00017854;\n        }\n        param_1 = (int *)&DAT_00000005;\n        iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5);\n        if (iVar3 < 1) break;\n        piVar11 = (int *)((int)piVar11 + 1);\n        iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        if (iVar3 != 100) {\n          (*(code *)PTR_sqlite3_reset_0015b648)(piVar5);\n          if (piVar11 == (int *)0x0) {\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }\n          else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }\n          goto LAB_00017854;\n        }\n        param_1 = (int *)&DAT_00000005;\n        iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5);\n        if (iVar3 < 1) break;\n        piVar11 = (int *)((int)piVar11 + 1);\n        iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      }" { (if_statement "if (iVar3 != 100) {\n          (*(code *)PTR_sqlite3_reset_0015b648)(piVar5);\n          if (piVar11 == (int *)0x0) {\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }\n          else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }\n          goto LAB_00017854;\n        }" if (parenthesized_expression "(iVar3 != 100)" ( (binary_expression "iVar3 != 100" identifier != number_literal) )) (compound_statement "{\n          (*(code *)PTR_sqlite3_reset_0015b648)(piVar5);\n          if (piVar11 == (int *)0x0) {\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }\n          else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }\n          goto LAB_00017854;\n        }" { (expression_statement "(*(code *)PTR_sqlite3_reset_0015b648)(piVar5);" (call_expression "(*(code *)PTR_sqlite3_reset_0015b648)(piVar5)" (parenthesized_expression "(*(code *)PTR_sqlite3_reset_0015b648)" ( (pointer_expression "*(code *)PTR_sqlite3_reset_0015b648" * (cast_expression "(code *)PTR_sqlite3_reset_0015b648" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5)" ( identifier ))) ;) (if_statement "if (piVar11 == (int *)0x0) {\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }\n          else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }" if (parenthesized_expression "(piVar11 == (int *)0x0)" ( (binary_expression "piVar11 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }" { (expression_statement "piVar17 = (int *)&DAT_00000008;" (assignment_expression "piVar17 = (int *)&DAT_00000008" identifier = (cast_expression "(int *)&DAT_00000008" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000008" & identifier))) ;) (expression_statement "piVar11 = (int *)0x1;" (assignment_expression "piVar11 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar15 = (int *)0x1;" (assignment_expression "piVar15 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }" else (compound_statement "{\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }" { (expression_statement "piVar15 = (int *)0x1;" (assignment_expression "piVar15 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar17 = (int *)(((int)piVar11 + 1) * 4);" (assignment_expression "piVar17 = (int *)(((int)piVar11 + 1) * 4)" identifier = (cast_expression "(int *)(((int)piVar11 + 1) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int)piVar11 + 1) * 4)" ( (binary_expression "((int)piVar11 + 1) * 4" (parenthesized_expression "((int)piVar11 + 1)" ( (binary_expression "(int)piVar11 + 1" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) * number_literal) )))) ;) }))) (goto_statement "goto LAB_00017854;" goto statement_identifier ;) })) (expression_statement "param_1 = (int *)&DAT_00000005;" (assignment_expression "param_1 = (int *)&DAT_00000005" identifier = (cast_expression "(int *)&DAT_00000005" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000005" & identifier))) ;) (expression_statement "iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5);" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5)" identifier = (call_expression "(*(code *)PTR_sqlite3_column_int_0015b644)(piVar5)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_int_0015b644)" ( (pointer_expression "*(code *)PTR_sqlite3_column_int_0015b644" * (cast_expression "(code *)PTR_sqlite3_column_int_0015b644" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5)" ( identifier )))) ;) (if_statement "if (iVar3 < 1) break;" if (parenthesized_expression "(iVar3 < 1)" ( (binary_expression "iVar3 < 1" identifier < number_literal) )) (break_statement "break;" break ;)) (expression_statement "piVar11 = (int *)((int)piVar11 + 1);" (assignment_expression "piVar11 = (int *)((int)piVar11 + 1)" identifier = (cast_expression "(int *)((int)piVar11 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + 1)" ( (binary_expression "(int)piVar11 + 1" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5)" identifier = (call_expression "(*(code *)PTR_sqlite3_step_0015b630)(piVar5)" (parenthesized_expression "(*(code *)PTR_sqlite3_step_0015b630)" ( (pointer_expression "*(code *)PTR_sqlite3_step_0015b630" * (cast_expression "(code *)PTR_sqlite3_step_0015b630" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5)" ( identifier )))) ;) })) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "pcVar19 = (code *)(PTR_0015b5e4 + 0x73e0);" (assignment_expression "pcVar19 = (code *)(PTR_0015b5e4 + 0x73e0)" identifier = (cast_expression "(code *)(PTR_0015b5e4 + 0x73e0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_0015b5e4 + 0x73e0)" ( (binary_expression "PTR_0015b5e4 + 0x73e0" identifier + number_literal) )))) ;) (expression_statement "piVar2 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5318,param_1,param_2);" (assignment_expression "piVar2 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5318,param_1,param_2)" identifier = (cast_expression "(int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5318,param_1,param_2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000173e0(PTR_LAB_0015b5e8 + 0x5318,param_1,param_2)" identifier (argument_list "(PTR_LAB_0015b5e8 + 0x5318,param_1,param_2)" ( (binary_expression "PTR_LAB_0015b5e8 + 0x5318" identifier + number_literal) , identifier , identifier ))))) ;) (expression_statement "puVar20 = PTR_LAB_0015b5e8;" (assignment_expression "puVar20 = PTR_LAB_0015b5e8" identifier = identifier) ;) (expression_statement "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2)" identifier = (call_expression "(*(code *)PTR_sqlite3_step_0015b630)(piVar2)" (parenthesized_expression "(*(code *)PTR_sqlite3_step_0015b630)" ( (pointer_expression "*(code *)PTR_sqlite3_step_0015b630" * (cast_expression "(code *)PTR_sqlite3_step_0015b630" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar2)" ( identifier )))) ;) (while_statement "while (iVar3 == 100) {\n    uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,3);\n    iVar3 = sqlite3_stricmp(uVar4,puVar20 + 0x5330);\n    if (iVar3 == 0) {\n      uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,1);\n      piVar5 = (int *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4,uVar4);\n      (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n      piVar2 = piVar5;\n      if (piVar5 != (int *)0x0) {\n        piVar6 = (int *)0x0;\n        piVar15 = (int *)0x0;\n        piVar2 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5);\n        piVar11 = (int *)0x0;\n        do {\n          iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          while( true ) {\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }\n          iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1);\n          if (-1 < iVar3) {\n            piVar15 = (int *)0x1;\n          }\n        } while( true );\n      }\n      goto LAB_00017824;\n    }\n    iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n  }" while (parenthesized_expression "(iVar3 == 100)" ( (binary_expression "iVar3 == 100" identifier == number_literal) )) (compound_statement "{\n    uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,3);\n    iVar3 = sqlite3_stricmp(uVar4,puVar20 + 0x5330);\n    if (iVar3 == 0) {\n      uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,1);\n      piVar5 = (int *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4,uVar4);\n      (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n      piVar2 = piVar5;\n      if (piVar5 != (int *)0x0) {\n        piVar6 = (int *)0x0;\n        piVar15 = (int *)0x0;\n        piVar2 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5);\n        piVar11 = (int *)0x0;\n        do {\n          iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          while( true ) {\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }\n          iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1);\n          if (-1 < iVar3) {\n            piVar15 = (int *)0x1;\n          }\n        } while( true );\n      }\n      goto LAB_00017824;\n    }\n    iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n  }" { (expression_statement "uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,3);" (assignment_expression "uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,3)" identifier = (call_expression "(*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,3)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_text_0015b634)" ( (pointer_expression "*(code *)PTR_sqlite3_column_text_0015b634" * (cast_expression "(code *)PTR_sqlite3_column_text_0015b634" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar2,3)" ( identifier , number_literal )))) ;) (expression_statement "iVar3 = sqlite3_stricmp(uVar4,puVar20 + 0x5330);" (assignment_expression "iVar3 = sqlite3_stricmp(uVar4,puVar20 + 0x5330)" identifier = (call_expression "sqlite3_stricmp(uVar4,puVar20 + 0x5330)" identifier (argument_list "(uVar4,puVar20 + 0x5330)" ( identifier , (binary_expression "puVar20 + 0x5330" identifier + number_literal) )))) ;) (if_statement "if (iVar3 == 0) {\n      uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,1);\n      piVar5 = (int *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4,uVar4);\n      (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n      piVar2 = piVar5;\n      if (piVar5 != (int *)0x0) {\n        piVar6 = (int *)0x0;\n        piVar15 = (int *)0x0;\n        piVar2 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5);\n        piVar11 = (int *)0x0;\n        do {\n          iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          while( true ) {\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }\n          iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1);\n          if (-1 < iVar3) {\n            piVar15 = (int *)0x1;\n          }\n        } while( true );\n      }\n      goto LAB_00017824;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,1);\n      piVar5 = (int *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4,uVar4);\n      (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n      piVar2 = piVar5;\n      if (piVar5 != (int *)0x0) {\n        piVar6 = (int *)0x0;\n        piVar15 = (int *)0x0;\n        piVar2 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5);\n        piVar11 = (int *)0x0;\n        do {\n          iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          while( true ) {\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }\n          iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1);\n          if (-1 < iVar3) {\n            piVar15 = (int *)0x1;\n          }\n        } while( true );\n      }\n      goto LAB_00017824;\n    }" { (expression_statement "uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,1);" (assignment_expression "uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,1)" identifier = (call_expression "(*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,1)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_text_0015b634)" ( (pointer_expression "*(code *)PTR_sqlite3_column_text_0015b634" * (cast_expression "(code *)PTR_sqlite3_column_text_0015b634" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar2,1)" ( identifier , number_literal )))) ;) (expression_statement "piVar5 = (int *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4,uVar4);" (assignment_expression "piVar5 = (int *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4,uVar4)" identifier = (cast_expression "(int *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4,uVar4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4,uVar4)" (parenthesized_expression "(*(code *)PTR_sqlite3_mprintf_0015b628)" ( (pointer_expression "*(code *)PTR_sqlite3_mprintf_0015b628" * (cast_expression "(code *)PTR_sqlite3_mprintf_0015b628" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_0015b5e8 + 0x71f4,uVar4)" ( (binary_expression "PTR_LAB_0015b5e8 + 0x71f4" identifier + number_literal) , identifier ))))) ;) (expression_statement "(*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);" (call_expression "(*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2)" (parenthesized_expression "(*(code *)PTR_sqlite3_finalize_0015b63c)" ( (pointer_expression "*(code *)PTR_sqlite3_finalize_0015b63c" * (cast_expression "(code *)PTR_sqlite3_finalize_0015b63c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar2)" ( identifier ))) ;) (expression_statement "piVar2 = piVar5;" (assignment_expression "piVar2 = piVar5" identifier = identifier) ;) (if_statement "if (piVar5 != (int *)0x0) {\n        piVar6 = (int *)0x0;\n        piVar15 = (int *)0x0;\n        piVar2 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5);\n        piVar11 = (int *)0x0;\n        do {\n          iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          while( true ) {\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }\n          iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1);\n          if (-1 < iVar3) {\n            piVar15 = (int *)0x1;\n          }\n        } while( true );\n      }" if (parenthesized_expression "(piVar5 != (int *)0x0)" ( (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        piVar6 = (int *)0x0;\n        piVar15 = (int *)0x0;\n        piVar2 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5);\n        piVar11 = (int *)0x0;\n        do {\n          iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          while( true ) {\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }\n          iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1);\n          if (-1 < iVar3) {\n            piVar15 = (int *)0x1;\n          }\n        } while( true );\n      }" { (expression_statement "piVar6 = (int *)0x0;" (assignment_expression "piVar6 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar15 = (int *)0x0;" (assignment_expression "piVar15 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar2 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5);" (assignment_expression "piVar2 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5)" identifier = (cast_expression "(int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5)" ( (binary_expression "PTR_LAB_0015b5e8 + 0x5334" identifier + number_literal) , identifier , identifier ))))) ;) (expression_statement "piVar11 = (int *)0x0;" (assignment_expression "piVar11 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n          iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          while( true ) {\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }\n          iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1);\n          if (-1 < iVar3) {\n            piVar15 = (int *)0x1;\n          }\n        } while( true );" do (compound_statement "{\n          iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          while( true ) {\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }\n          iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1);\n          if (-1 < iVar3) {\n            piVar15 = (int *)0x1;\n          }\n        }" { (expression_statement "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2)" identifier = (call_expression "(*(code *)PTR_sqlite3_step_0015b630)(piVar2)" (parenthesized_expression "(*(code *)PTR_sqlite3_step_0015b630)" ( (pointer_expression "*(code *)PTR_sqlite3_step_0015b630" * (cast_expression "(code *)PTR_sqlite3_step_0015b630" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar2)" ( identifier )))) ;) (while_statement "while( true ) {\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }" { (if_statement "if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }" if (parenthesized_expression "(iVar3 != 100)" ( (binary_expression "iVar3 != 100" identifier != number_literal) )) (compound_statement "{\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }" { (if_statement "if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }" if (parenthesized_expression "(piVar6 == piVar11)" ( (binary_expression "piVar6 == piVar11" identifier == identifier) )) (compound_statement "{\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }" { (expression_statement "piVar15 = (int *)0x1;" (assignment_expression "piVar15 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar17 = (int *)(((int)piVar11 + 1) * 4);" (assignment_expression "piVar17 = (int *)(((int)piVar11 + 1) * 4)" identifier = (cast_expression "(int *)(((int)piVar11 + 1) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int)piVar11 + 1) * 4)" ( (binary_expression "((int)piVar11 + 1) * 4" (parenthesized_expression "((int)piVar11 + 1)" ( (binary_expression "(int)piVar11 + 1" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) * number_literal) )))) ;) }) (else_clause "else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }" else (if_statement "if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }" if (parenthesized_expression "(piVar15 == (int *)0x0)" ( (binary_expression "piVar15 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }" { (expression_statement "piVar17 = (int *)&DAT_00000008;" (assignment_expression "piVar17 = (int *)&DAT_00000008" identifier = (cast_expression "(int *)&DAT_00000008" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000008" & identifier))) ;) (expression_statement "piVar11 = (int *)0x1;" (assignment_expression "piVar11 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }" else (compound_statement "{\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }" { (expression_statement "piVar17 = (int *)(((int)piVar6 + 1) * 4);" (assignment_expression "piVar17 = (int *)(((int)piVar6 + 1) * 4)" identifier = (cast_expression "(int *)(((int)piVar6 + 1) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int)piVar6 + 1) * 4)" ( (binary_expression "((int)piVar6 + 1) * 4" (parenthesized_expression "((int)piVar6 + 1)" ( (binary_expression "(int)piVar6 + 1" (cast_expression "(int)piVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) * number_literal) )))) ;) (expression_statement "piVar11 = piVar6;" (assignment_expression "piVar11 = piVar6" identifier = identifier) ;) }))))) (expression_statement "(*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);" (call_expression "(*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2)" (parenthesized_expression "(*(code *)PTR_sqlite3_finalize_0015b63c)" ( (pointer_expression "*(code *)PTR_sqlite3_finalize_0015b63c" * (cast_expression "(code *)PTR_sqlite3_finalize_0015b63c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar2)" ( identifier ))) ;) (expression_statement "sqlite3_free(piVar5);" (call_expression "sqlite3_free(piVar5)" identifier (argument_list "(piVar5)" ( identifier ))) ;) (goto_statement "goto LAB_00017834;" goto statement_identifier ;) })) (expression_statement "piVar11 = (int *)((int)piVar11 + 1);" (assignment_expression "piVar11 = (int *)((int)piVar11 + 1)" identifier = (cast_expression "(int *)((int)piVar11 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + 1)" ( (binary_expression "(int)piVar11 + 1" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5)" identifier = (call_expression "(*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_int_0015b644)" ( (pointer_expression "*(code *)PTR_sqlite3_column_int_0015b644" * (cast_expression "(code *)PTR_sqlite3_column_int_0015b644" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar2,5)" ( identifier , number_literal )))) ;) (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "piVar6 = (int *)((int)piVar6 + 1);" (assignment_expression "piVar6 = (int *)((int)piVar6 + 1)" identifier = (cast_expression "(int *)((int)piVar6 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar6 + 1)" ( (binary_expression "(int)piVar6 + 1" (cast_expression "(int)piVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2)" identifier = (call_expression "(*(code *)PTR_sqlite3_step_0015b630)(piVar2)" (parenthesized_expression "(*(code *)PTR_sqlite3_step_0015b630)" ( (pointer_expression "*(code *)PTR_sqlite3_step_0015b630" * (cast_expression "(code *)PTR_sqlite3_step_0015b630" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar2)" ( identifier )))) ;) })) (expression_statement "iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1);" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1)" identifier = (call_expression "(*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_int_0015b644)" ( (pointer_expression "*(code *)PTR_sqlite3_column_int_0015b644" * (cast_expression "(code *)PTR_sqlite3_column_int_0015b644" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar2,1)" ( identifier , number_literal )))) ;) (if_statement "if (-1 < iVar3) {\n            piVar15 = (int *)0x1;\n          }" if (parenthesized_expression "(-1 < iVar3)" ( (binary_expression "-1 < iVar3" number_literal < identifier) )) (compound_statement "{\n            piVar15 = (int *)0x1;\n          }" { (expression_statement "piVar15 = (int *)0x1;" (assignment_expression "piVar15 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) }) while (parenthesized_expression "( true )" ( true )) ;) })) (goto_statement "goto LAB_00017824;" goto statement_identifier ;) })) (expression_statement "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2)" identifier = (call_expression "(*(code *)PTR_sqlite3_step_0015b630)(piVar2)" (parenthesized_expression "(*(code *)PTR_sqlite3_step_0015b630)" ( (pointer_expression "*(code *)PTR_sqlite3_step_0015b630" * (cast_expression "(code *)PTR_sqlite3_step_0015b630" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar2)" ( identifier )))) ;) })) (expression_statement "(*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);" (call_expression "(*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2)" (parenthesized_expression "(*(code *)PTR_sqlite3_finalize_0015b63c)" ( (pointer_expression "*(code *)PTR_sqlite3_finalize_0015b63c" * (cast_expression "(code *)PTR_sqlite3_finalize_0015b63c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar2)" ( identifier ))) ;) (labeled_statement "LAB_00017824:\n  piVar17 = (int *)&DAT_00000008;" statement_identifier : (expression_statement "piVar17 = (int *)&DAT_00000008;" (assignment_expression "piVar17 = (int *)&DAT_00000008" identifier = (cast_expression "(int *)&DAT_00000008" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000008" & identifier))) ;)) (expression_statement "piVar11 = (int *)0x1;" (assignment_expression "piVar11 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar15 = (int *)0x1;" (assignment_expression "piVar15 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00017834:\n  piVar5 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2);" statement_identifier : (expression_statement "piVar5 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2);" (assignment_expression "piVar5 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2)" identifier = (cast_expression "(int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar19)(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2)" ( (binary_expression "PTR_LAB_0015b5e8 + 0x5350" identifier + number_literal) , identifier , identifier ))))) ;)) (labeled_statement "LAB_00017854:\n  puVar20 = PTR_sqlite3_malloc_0015b640;" statement_identifier : (expression_statement "puVar20 = PTR_sqlite3_malloc_0015b640;" (assignment_expression "puVar20 = PTR_sqlite3_malloc_0015b640" identifier = identifier) ;)) (expression_statement "*param_3 = piVar11;" (assignment_expression "*param_3 = piVar11" (pointer_expression "*param_3" * identifier) = identifier) ;) (expression_statement "piVar6 = (int *)(*(code *)puVar20)(piVar17);" (assignment_expression "piVar6 = (int *)(*(code *)puVar20)(piVar17)" identifier = (cast_expression "(int *)(*(code *)puVar20)(piVar17)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar20)(piVar17)" (parenthesized_expression "(*(code *)puVar20)" ( (pointer_expression "*(code *)puVar20" * (cast_expression "(code *)puVar20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar17)" ( identifier ))))) ;) (if_statement "if (piVar6 == (int *)0x0) {\nLAB_00017cb8:\n    piVar9 = (int *)(PTR_LAB_0015b5e8 + 0x52ac);\n    FUN_00016d3c(piVar9);\n  }\n  else {\n    param_1 = (int *)0x0;\n    (*(code *)PTR_memset_0015b9b4)(piVar6,0,piVar17);\n    param_3 = (int **)&DAT_00000064;\n    param_2 = (int **)0x3fffffff;\n    piVar17 = (int *)(PTR_0015b5e4 + 0x7618);\n    while (iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5), iVar3 == 100) {\n      if ((piVar15 == (int *)0x0) ||\n         (iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1)) {\n        piVar2 = (int *)(((int)piVar11 + 2) * 4);\n        param_1 = piVar2;\n        piVar6 = (int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6);\n        if (piVar6 == (int *)0x0) goto LAB_00017cb8;\n        param_1 = (int *)0x1;\n        piVar11 = (int *)((int)piVar11 + 1);\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = piVar2 + -2;\n      }\n      else {\n        param_1 = (int *)0x1;\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = (int *)((iVar3 + 0x3fffffff) * 4);\n      }\n      piVar2 = (int *)((int)piVar6 + (int)piVar2);\n      iVar3 = FUN_00017618(uVar4);\n      *piVar2 = iVar3;\n    }\n    (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar5);\n    piVar6[(int)piVar11] = 0;\n    if (param_4 != (uint *)0x0) {\n      *param_4 = (uint)(*piVar6 == 0);\n    }\n    if (*piVar6 == 0) {\n      param_3 = &local_38;\n      param_2 = &local_2c;\n      local_34 = PTR_LAB_0015b5e8 + 0x5368;\n      piVar15 = (int *)(PTR_UINT_0015b5fc + -0x7714);\n      piVar17 = piVar6 + 1;\n      local_30 = PTR_LAB_0015b5e8 + 0x5370;\n      local_38 = piVar15;\n      if ((int)piVar11 < 2) {\n        param_1 = piVar15;\n        iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *piVar6 = iVar3;\n        if (iVar3 == 0) goto LAB_00017b14;\n      }\n      else {\n        while( true ) {\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }\n        piVar2 = (int *)0x1;\n        if (*piVar6 == 0) {\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }\n      }\n    }\nLAB_00017984:\n    piVar9 = local_2c;\n    if (local_2c == *(int **)puVar1) {\n      return piVar6;\n    }\n  }" if (parenthesized_expression "(piVar6 == (int *)0x0)" ( (binary_expression "piVar6 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00017cb8:\n    piVar9 = (int *)(PTR_LAB_0015b5e8 + 0x52ac);\n    FUN_00016d3c(piVar9);\n  }" { (labeled_statement "LAB_00017cb8:\n    piVar9 = (int *)(PTR_LAB_0015b5e8 + 0x52ac);" statement_identifier : (expression_statement "piVar9 = (int *)(PTR_LAB_0015b5e8 + 0x52ac);" (assignment_expression "piVar9 = (int *)(PTR_LAB_0015b5e8 + 0x52ac)" identifier = (cast_expression "(int *)(PTR_LAB_0015b5e8 + 0x52ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b5e8 + 0x52ac)" ( (binary_expression "PTR_LAB_0015b5e8 + 0x52ac" identifier + number_literal) )))) ;)) (expression_statement "FUN_00016d3c(piVar9);" (call_expression "FUN_00016d3c(piVar9)" identifier (argument_list "(piVar9)" ( identifier ))) ;) }) (else_clause "else {\n    param_1 = (int *)0x0;\n    (*(code *)PTR_memset_0015b9b4)(piVar6,0,piVar17);\n    param_3 = (int **)&DAT_00000064;\n    param_2 = (int **)0x3fffffff;\n    piVar17 = (int *)(PTR_0015b5e4 + 0x7618);\n    while (iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5), iVar3 == 100) {\n      if ((piVar15 == (int *)0x0) ||\n         (iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1)) {\n        piVar2 = (int *)(((int)piVar11 + 2) * 4);\n        param_1 = piVar2;\n        piVar6 = (int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6);\n        if (piVar6 == (int *)0x0) goto LAB_00017cb8;\n        param_1 = (int *)0x1;\n        piVar11 = (int *)((int)piVar11 + 1);\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = piVar2 + -2;\n      }\n      else {\n        param_1 = (int *)0x1;\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = (int *)((iVar3 + 0x3fffffff) * 4);\n      }\n      piVar2 = (int *)((int)piVar6 + (int)piVar2);\n      iVar3 = FUN_00017618(uVar4);\n      *piVar2 = iVar3;\n    }\n    (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar5);\n    piVar6[(int)piVar11] = 0;\n    if (param_4 != (uint *)0x0) {\n      *param_4 = (uint)(*piVar6 == 0);\n    }\n    if (*piVar6 == 0) {\n      param_3 = &local_38;\n      param_2 = &local_2c;\n      local_34 = PTR_LAB_0015b5e8 + 0x5368;\n      piVar15 = (int *)(PTR_UINT_0015b5fc + -0x7714);\n      piVar17 = piVar6 + 1;\n      local_30 = PTR_LAB_0015b5e8 + 0x5370;\n      local_38 = piVar15;\n      if ((int)piVar11 < 2) {\n        param_1 = piVar15;\n        iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *piVar6 = iVar3;\n        if (iVar3 == 0) goto LAB_00017b14;\n      }\n      else {\n        while( true ) {\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }\n        piVar2 = (int *)0x1;\n        if (*piVar6 == 0) {\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }\n      }\n    }\nLAB_00017984:\n    piVar9 = local_2c;\n    if (local_2c == *(int **)puVar1) {\n      return piVar6;\n    }\n  }" else (compound_statement "{\n    param_1 = (int *)0x0;\n    (*(code *)PTR_memset_0015b9b4)(piVar6,0,piVar17);\n    param_3 = (int **)&DAT_00000064;\n    param_2 = (int **)0x3fffffff;\n    piVar17 = (int *)(PTR_0015b5e4 + 0x7618);\n    while (iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5), iVar3 == 100) {\n      if ((piVar15 == (int *)0x0) ||\n         (iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1)) {\n        piVar2 = (int *)(((int)piVar11 + 2) * 4);\n        param_1 = piVar2;\n        piVar6 = (int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6);\n        if (piVar6 == (int *)0x0) goto LAB_00017cb8;\n        param_1 = (int *)0x1;\n        piVar11 = (int *)((int)piVar11 + 1);\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = piVar2 + -2;\n      }\n      else {\n        param_1 = (int *)0x1;\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = (int *)((iVar3 + 0x3fffffff) * 4);\n      }\n      piVar2 = (int *)((int)piVar6 + (int)piVar2);\n      iVar3 = FUN_00017618(uVar4);\n      *piVar2 = iVar3;\n    }\n    (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar5);\n    piVar6[(int)piVar11] = 0;\n    if (param_4 != (uint *)0x0) {\n      *param_4 = (uint)(*piVar6 == 0);\n    }\n    if (*piVar6 == 0) {\n      param_3 = &local_38;\n      param_2 = &local_2c;\n      local_34 = PTR_LAB_0015b5e8 + 0x5368;\n      piVar15 = (int *)(PTR_UINT_0015b5fc + -0x7714);\n      piVar17 = piVar6 + 1;\n      local_30 = PTR_LAB_0015b5e8 + 0x5370;\n      local_38 = piVar15;\n      if ((int)piVar11 < 2) {\n        param_1 = piVar15;\n        iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *piVar6 = iVar3;\n        if (iVar3 == 0) goto LAB_00017b14;\n      }\n      else {\n        while( true ) {\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }\n        piVar2 = (int *)0x1;\n        if (*piVar6 == 0) {\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }\n      }\n    }\nLAB_00017984:\n    piVar9 = local_2c;\n    if (local_2c == *(int **)puVar1) {\n      return piVar6;\n    }\n  }" { (expression_statement "param_1 = (int *)0x0;" (assignment_expression "param_1 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)PTR_memset_0015b9b4)(piVar6,0,piVar17);" (call_expression "(*(code *)PTR_memset_0015b9b4)(piVar6,0,piVar17)" (parenthesized_expression "(*(code *)PTR_memset_0015b9b4)" ( (pointer_expression "*(code *)PTR_memset_0015b9b4" * (cast_expression "(code *)PTR_memset_0015b9b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar6,0,piVar17)" ( identifier , number_literal , identifier ))) ;) (expression_statement "param_3 = (int **)&DAT_00000064;" (assignment_expression "param_3 = (int **)&DAT_00000064" identifier = (cast_expression "(int **)&DAT_00000064" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&DAT_00000064" & identifier))) ;) (expression_statement "param_2 = (int **)0x3fffffff;" (assignment_expression "param_2 = (int **)0x3fffffff" identifier = (cast_expression "(int **)0x3fffffff" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "piVar17 = (int *)(PTR_0015b5e4 + 0x7618);" (assignment_expression "piVar17 = (int *)(PTR_0015b5e4 + 0x7618)" identifier = (cast_expression "(int *)(PTR_0015b5e4 + 0x7618)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_0015b5e4 + 0x7618)" ( (binary_expression "PTR_0015b5e4 + 0x7618" identifier + number_literal) )))) ;) (while_statement "while (iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5), iVar3 == 100) {\n      if ((piVar15 == (int *)0x0) ||\n         (iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1)) {\n        piVar2 = (int *)(((int)piVar11 + 2) * 4);\n        param_1 = piVar2;\n        piVar6 = (int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6);\n        if (piVar6 == (int *)0x0) goto LAB_00017cb8;\n        param_1 = (int *)0x1;\n        piVar11 = (int *)((int)piVar11 + 1);\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = piVar2 + -2;\n      }\n      else {\n        param_1 = (int *)0x1;\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = (int *)((iVar3 + 0x3fffffff) * 4);\n      }\n      piVar2 = (int *)((int)piVar6 + (int)piVar2);\n      iVar3 = FUN_00017618(uVar4);\n      *piVar2 = iVar3;\n    }" while (parenthesized_expression "(iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5), iVar3 == 100)" ( (comma_expression "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5), iVar3 == 100" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5)" identifier = (call_expression "(*(code *)PTR_sqlite3_step_0015b630)(piVar5)" (parenthesized_expression "(*(code *)PTR_sqlite3_step_0015b630)" ( (pointer_expression "*(code *)PTR_sqlite3_step_0015b630" * (cast_expression "(code *)PTR_sqlite3_step_0015b630" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5)" ( identifier )))) , (binary_expression "iVar3 == 100" identifier == number_literal)) )) (compound_statement "{\n      if ((piVar15 == (int *)0x0) ||\n         (iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1)) {\n        piVar2 = (int *)(((int)piVar11 + 2) * 4);\n        param_1 = piVar2;\n        piVar6 = (int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6);\n        if (piVar6 == (int *)0x0) goto LAB_00017cb8;\n        param_1 = (int *)0x1;\n        piVar11 = (int *)((int)piVar11 + 1);\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = piVar2 + -2;\n      }\n      else {\n        param_1 = (int *)0x1;\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = (int *)((iVar3 + 0x3fffffff) * 4);\n      }\n      piVar2 = (int *)((int)piVar6 + (int)piVar2);\n      iVar3 = FUN_00017618(uVar4);\n      *piVar2 = iVar3;\n    }" { (if_statement "if ((piVar15 == (int *)0x0) ||\n         (iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1)) {\n        piVar2 = (int *)(((int)piVar11 + 2) * 4);\n        param_1 = piVar2;\n        piVar6 = (int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6);\n        if (piVar6 == (int *)0x0) goto LAB_00017cb8;\n        param_1 = (int *)0x1;\n        piVar11 = (int *)((int)piVar11 + 1);\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = piVar2 + -2;\n      }\n      else {\n        param_1 = (int *)0x1;\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = (int *)((iVar3 + 0x3fffffff) * 4);\n      }" if (parenthesized_expression "((piVar15 == (int *)0x0) ||\n         (iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1))" ( (binary_expression "(piVar15 == (int *)0x0) ||\n         (iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1)" (parenthesized_expression "(piVar15 == (int *)0x0)" ( (binary_expression "piVar15 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1)" ( (comma_expression "iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5)" identifier = (call_expression "(*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_int_0015b644)" ( (pointer_expression "*(code *)PTR_sqlite3_column_int_0015b644" * (cast_expression "(code *)PTR_sqlite3_column_int_0015b644" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5,5)" ( identifier , number_literal )))) , (binary_expression "iVar3 < 1" identifier < number_literal)) ))) )) (compound_statement "{\n        piVar2 = (int *)(((int)piVar11 + 2) * 4);\n        param_1 = piVar2;\n        piVar6 = (int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6);\n        if (piVar6 == (int *)0x0) goto LAB_00017cb8;\n        param_1 = (int *)0x1;\n        piVar11 = (int *)((int)piVar11 + 1);\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = piVar2 + -2;\n      }" { (expression_statement "piVar2 = (int *)(((int)piVar11 + 2) * 4);" (assignment_expression "piVar2 = (int *)(((int)piVar11 + 2) * 4)" identifier = (cast_expression "(int *)(((int)piVar11 + 2) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int)piVar11 + 2) * 4)" ( (binary_expression "((int)piVar11 + 2) * 4" (parenthesized_expression "((int)piVar11 + 2)" ( (binary_expression "(int)piVar11 + 2" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) * number_literal) )))) ;) (expression_statement "param_1 = piVar2;" (assignment_expression "param_1 = piVar2" identifier = identifier) ;) (expression_statement "piVar6 = (int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6);" (assignment_expression "piVar6 = (int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6)" identifier = (cast_expression "(int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6)" (parenthesized_expression "(*(code *)PTR_sqlite3_realloc_0015b5f0)" ( (pointer_expression "*(code *)PTR_sqlite3_realloc_0015b5f0" * (cast_expression "(code *)PTR_sqlite3_realloc_0015b5f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar6)" ( identifier ))))) ;) (if_statement "if (piVar6 == (int *)0x0) goto LAB_00017cb8;" if (parenthesized_expression "(piVar6 == (int *)0x0)" ( (binary_expression "piVar6 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00017cb8;" goto statement_identifier ;)) (expression_statement "param_1 = (int *)0x1;" (assignment_expression "param_1 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar11 = (int *)((int)piVar11 + 1);" (assignment_expression "piVar11 = (int *)((int)piVar11 + 1)" identifier = (cast_expression "(int *)((int)piVar11 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + 1)" ( (binary_expression "(int)piVar11 + 1" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);" (assignment_expression "uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5)" identifier = (call_expression "(*(code *)PTR_sqlite3_column_text_0015b634)(piVar5)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_text_0015b634)" ( (pointer_expression "*(code *)PTR_sqlite3_column_text_0015b634" * (cast_expression "(code *)PTR_sqlite3_column_text_0015b634" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5)" ( identifier )))) ;) (expression_statement "piVar2 = piVar2 + -2;" (assignment_expression "piVar2 = piVar2 + -2" identifier = (binary_expression "piVar2 + -2" identifier + number_literal)) ;) }) (else_clause "else {\n        param_1 = (int *)0x1;\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = (int *)((iVar3 + 0x3fffffff) * 4);\n      }" else (compound_statement "{\n        param_1 = (int *)0x1;\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = (int *)((iVar3 + 0x3fffffff) * 4);\n      }" { (expression_statement "param_1 = (int *)0x1;" (assignment_expression "param_1 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);" (assignment_expression "uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5)" identifier = (call_expression "(*(code *)PTR_sqlite3_column_text_0015b634)(piVar5)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_text_0015b634)" ( (pointer_expression "*(code *)PTR_sqlite3_column_text_0015b634" * (cast_expression "(code *)PTR_sqlite3_column_text_0015b634" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5)" ( identifier )))) ;) (expression_statement "piVar2 = (int *)((iVar3 + 0x3fffffff) * 4);" (assignment_expression "piVar2 = (int *)((iVar3 + 0x3fffffff) * 4)" identifier = (cast_expression "(int *)((iVar3 + 0x3fffffff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((iVar3 + 0x3fffffff) * 4)" ( (binary_expression "(iVar3 + 0x3fffffff) * 4" (parenthesized_expression "(iVar3 + 0x3fffffff)" ( (binary_expression "iVar3 + 0x3fffffff" identifier + number_literal) )) * number_literal) )))) ;) }))) (expression_statement "piVar2 = (int *)((int)piVar6 + (int)piVar2);" (assignment_expression "piVar2 = (int *)((int)piVar6 + (int)piVar2)" identifier = (cast_expression "(int *)((int)piVar6 + (int)piVar2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar6 + (int)piVar2)" ( (binary_expression "(int)piVar6 + (int)piVar2" (cast_expression "(int)piVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "iVar3 = FUN_00017618(uVar4);" (assignment_expression "iVar3 = FUN_00017618(uVar4)" identifier = (call_expression "FUN_00017618(uVar4)" identifier (argument_list "(uVar4)" ( identifier )))) ;) (expression_statement "*piVar2 = iVar3;" (assignment_expression "*piVar2 = iVar3" (pointer_expression "*piVar2" * identifier) = identifier) ;) })) (expression_statement "(*(code *)PTR_sqlite3_finalize_0015b63c)(piVar5);" (call_expression "(*(code *)PTR_sqlite3_finalize_0015b63c)(piVar5)" (parenthesized_expression "(*(code *)PTR_sqlite3_finalize_0015b63c)" ( (pointer_expression "*(code *)PTR_sqlite3_finalize_0015b63c" * (cast_expression "(code *)PTR_sqlite3_finalize_0015b63c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5)" ( identifier ))) ;) (expression_statement "piVar6[(int)piVar11] = 0;" (assignment_expression "piVar6[(int)piVar11] = 0" (subscript_expression "piVar6[(int)piVar11]" identifier [ (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) ]) = number_literal) ;) (if_statement "if (param_4 != (uint *)0x0) {\n      *param_4 = (uint)(*piVar6 == 0);\n    }" if (parenthesized_expression "(param_4 != (uint *)0x0)" ( (binary_expression "param_4 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *param_4 = (uint)(*piVar6 == 0);\n    }" { (expression_statement "*param_4 = (uint)(*piVar6 == 0);" (assignment_expression "*param_4 = (uint)(*piVar6 == 0)" (pointer_expression "*param_4" * identifier) = (call_expression "(uint)(*piVar6 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*piVar6 == 0)" ( (binary_expression "*piVar6 == 0" (pointer_expression "*piVar6" * identifier) == number_literal) )))) ;) })) (if_statement "if (*piVar6 == 0) {\n      param_3 = &local_38;\n      param_2 = &local_2c;\n      local_34 = PTR_LAB_0015b5e8 + 0x5368;\n      piVar15 = (int *)(PTR_UINT_0015b5fc + -0x7714);\n      piVar17 = piVar6 + 1;\n      local_30 = PTR_LAB_0015b5e8 + 0x5370;\n      local_38 = piVar15;\n      if ((int)piVar11 < 2) {\n        param_1 = piVar15;\n        iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *piVar6 = iVar3;\n        if (iVar3 == 0) goto LAB_00017b14;\n      }\n      else {\n        while( true ) {\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }\n        piVar2 = (int *)0x1;\n        if (*piVar6 == 0) {\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }\n      }\n    }" if (parenthesized_expression "(*piVar6 == 0)" ( (binary_expression "*piVar6 == 0" (pointer_expression "*piVar6" * identifier) == number_literal) )) (compound_statement "{\n      param_3 = &local_38;\n      param_2 = &local_2c;\n      local_34 = PTR_LAB_0015b5e8 + 0x5368;\n      piVar15 = (int *)(PTR_UINT_0015b5fc + -0x7714);\n      piVar17 = piVar6 + 1;\n      local_30 = PTR_LAB_0015b5e8 + 0x5370;\n      local_38 = piVar15;\n      if ((int)piVar11 < 2) {\n        param_1 = piVar15;\n        iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *piVar6 = iVar3;\n        if (iVar3 == 0) goto LAB_00017b14;\n      }\n      else {\n        while( true ) {\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }\n        piVar2 = (int *)0x1;\n        if (*piVar6 == 0) {\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }\n      }\n    }" { (expression_statement "param_3 = &local_38;" (assignment_expression "param_3 = &local_38" identifier = (pointer_expression "&local_38" & identifier)) ;) (expression_statement "param_2 = &local_2c;" (assignment_expression "param_2 = &local_2c" identifier = (pointer_expression "&local_2c" & identifier)) ;) (expression_statement "local_34 = PTR_LAB_0015b5e8 + 0x5368;" (assignment_expression "local_34 = PTR_LAB_0015b5e8 + 0x5368" identifier = (binary_expression "PTR_LAB_0015b5e8 + 0x5368" identifier + number_literal)) ;) (expression_statement "piVar15 = (int *)(PTR_UINT_0015b5fc + -0x7714);" (assignment_expression "piVar15 = (int *)(PTR_UINT_0015b5fc + -0x7714)" identifier = (cast_expression "(int *)(PTR_UINT_0015b5fc + -0x7714)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_0015b5fc + -0x7714)" ( (binary_expression "PTR_UINT_0015b5fc + -0x7714" identifier + number_literal) )))) ;) (expression_statement "piVar17 = piVar6 + 1;" (assignment_expression "piVar17 = piVar6 + 1" identifier = (binary_expression "piVar6 + 1" identifier + number_literal)) ;) (expression_statement "local_30 = PTR_LAB_0015b5e8 + 0x5370;" (assignment_expression "local_30 = PTR_LAB_0015b5e8 + 0x5370" identifier = (binary_expression "PTR_LAB_0015b5e8 + 0x5370" identifier + number_literal)) ;) (expression_statement "local_38 = piVar15;" (assignment_expression "local_38 = piVar15" identifier = identifier) ;) (if_statement "if ((int)piVar11 < 2) {\n        param_1 = piVar15;\n        iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *piVar6 = iVar3;\n        if (iVar3 == 0) goto LAB_00017b14;\n      }\n      else {\n        while( true ) {\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }\n        piVar2 = (int *)0x1;\n        if (*piVar6 == 0) {\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }\n      }" if (parenthesized_expression "((int)piVar11 < 2)" ( (binary_expression "(int)piVar11 < 2" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        param_1 = piVar15;\n        iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *piVar6 = iVar3;\n        if (iVar3 == 0) goto LAB_00017b14;\n      }" { (expression_statement "param_1 = piVar15;" (assignment_expression "param_1 = piVar15" identifier = identifier) ;) (expression_statement "iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4)" identifier = (call_expression "(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4)" (parenthesized_expression "(*(code *)PTR_sqlite3_mprintf_0015b628)" ( (pointer_expression "*(code *)PTR_sqlite3_mprintf_0015b628" * (cast_expression "(code *)PTR_sqlite3_mprintf_0015b628" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_0015b5e8 + 0x71f4)" ( (binary_expression "PTR_LAB_0015b5e8 + 0x71f4" identifier + number_literal) )))) ;) (expression_statement "*piVar6 = iVar3;" (assignment_expression "*piVar6 = iVar3" (pointer_expression "*piVar6" * identifier) = identifier) ;) (if_statement "if (iVar3 == 0) goto LAB_00017b14;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00017b14;" goto statement_identifier ;)) }) (else_clause "else {\n        while( true ) {\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }\n        piVar2 = (int *)0x1;\n        if (*piVar6 == 0) {\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }\n      }" else (compound_statement "{\n        while( true ) {\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }\n        piVar2 = (int *)0x1;\n        if (*piVar6 == 0) {\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }\n      }" { (while_statement "while( true ) {\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }" { (expression_statement "piVar5 = (int *)0x1;" (assignment_expression "piVar5 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar2 = piVar17;" (assignment_expression "piVar2 = piVar17" identifier = identifier) ;) (while_statement "while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }" while (parenthesized_expression "(param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0)" ( (comma_expression "param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0" (assignment_expression "param_1 = piVar15" identifier = identifier) , (comma_expression "iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0" (assignment_expression "iVar3 = sqlite3_stricmp(*piVar2)" identifier = (call_expression "sqlite3_stricmp(*piVar2)" identifier (argument_list "(*piVar2)" ( (pointer_expression "*piVar2" * identifier) )))) , (binary_expression "iVar3 != 0" identifier != number_literal))) )) (compound_statement "{\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }" { (expression_statement "piVar5 = (int *)((int)piVar5 + 1);" (assignment_expression "piVar5 = (int *)((int)piVar5 + 1)" identifier = (cast_expression "(int *)((int)piVar5 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 1)" ( (binary_expression "(int)piVar5 + 1" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar2 = piVar2 + 1;" (assignment_expression "piVar2 = piVar2 + 1" identifier = (binary_expression "piVar2 + 1" identifier + number_literal)) ;) (if_statement "if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }" if (parenthesized_expression "(piVar11 == piVar5)" ( (binary_expression "piVar11 == piVar5" identifier == identifier) )) (compound_statement "{\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }" { (expression_statement "param_1 = piVar15;" (assignment_expression "param_1 = piVar15" identifier = identifier) ;) (expression_statement "iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4)" identifier = (call_expression "(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4)" (parenthesized_expression "(*(code *)PTR_sqlite3_mprintf_0015b628)" ( (pointer_expression "*(code *)PTR_sqlite3_mprintf_0015b628" * (cast_expression "(code *)PTR_sqlite3_mprintf_0015b628" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_0015b5e8 + 0x71f4)" ( (binary_expression "PTR_LAB_0015b5e8 + 0x71f4" identifier + number_literal) )))) ;) (expression_statement "*piVar6 = iVar3;" (assignment_expression "*piVar6 = iVar3" (pointer_expression "*piVar6" * identifier) = identifier) ;) (if_statement "if (iVar3 != 0) goto LAB_00017984;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00017984;" goto statement_identifier ;)) (expression_statement "piVar2 = (int *)0x1;" (assignment_expression "piVar2 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00017af4;" goto statement_identifier ;) })) })) (expression_statement "param_3 = param_3 + 1;" (assignment_expression "param_3 = param_3 + 1" identifier = (binary_expression "param_3 + 1" identifier + number_literal)) ;) (if_statement "if (param_2 == param_3) break;" if (parenthesized_expression "(param_2 == param_3)" ( (binary_expression "param_2 == param_3" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "piVar15 = *param_3;" (assignment_expression "piVar15 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) })) (expression_statement "piVar2 = (int *)0x1;" (assignment_expression "piVar2 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (*piVar6 == 0) {\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }" if (parenthesized_expression "(*piVar6 == 0)" ( (binary_expression "*piVar6 == 0" (pointer_expression "*piVar6" * identifier) == number_literal) )) (compound_statement "{\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }" { (labeled_statement "LAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);" statement_identifier : (do_statement "do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);" do (compound_statement "{\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          }" { (expression_statement "piVar2 = (int *)((int)piVar2 + 1);" (assignment_expression "piVar2 = (int *)((int)piVar2 + 1)" identifier = (cast_expression "(int *)((int)piVar2 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 1)" ( (binary_expression "(int)piVar2 + 1" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iVar3 = *piVar17;" (assignment_expression "iVar3 = *piVar17" identifier = (pointer_expression "*piVar17" * identifier)) ;) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" identifier = (binary_expression "piVar17 + 1" identifier + number_literal)) ;) (expression_statement "sqlite3_free(iVar3);" (call_expression "sqlite3_free(iVar3)" identifier (argument_list "(iVar3)" ( identifier ))) ;) }) while (parenthesized_expression "((int)piVar2 < (int)piVar11)" ( (binary_expression "(int)piVar2 < (int)piVar11" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;)) (labeled_statement "LAB_00017b14:\n          sqlite3_free(piVar6);" statement_identifier : (expression_statement "sqlite3_free(piVar6);" (call_expression "sqlite3_free(piVar6)" identifier (argument_list "(piVar6)" ( identifier ))) ;)) (expression_statement "piVar6 = (int *)0x0;" (assignment_expression "piVar6 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) }))) })) (labeled_statement "LAB_00017984:\n    piVar9 = local_2c;" statement_identifier : (expression_statement "piVar9 = local_2c;" (assignment_expression "piVar9 = local_2c" identifier = identifier) ;)) (if_statement "if (local_2c == *(int **)puVar1) {\n      return piVar6;\n    }" if (parenthesized_expression "(local_2c == *(int **)puVar1)" ( (binary_expression "local_2c == *(int **)puVar1" identifier == (pointer_expression "*(int **)puVar1" * (cast_expression "(int **)puVar1" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n      return piVar6;\n    }" { (return_statement "return piVar6;" return identifier ;) })) }))) (expression_statement "uVar4 = 0x17cd8;" (assignment_expression "uVar4 = 0x17cd8" identifier = number_literal) ;) (expression_statement "puVar20 = PTR___stack_chk_fail_0015ba10;" (assignment_expression "puVar20 = PTR___stack_chk_fail_0015ba10" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0015ba10)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015ba10)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015ba10)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0015ba10" * (cast_expression "(code *)PTR___stack_chk_fail_0015ba10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "local_68 = puVar1;" (assignment_expression "local_68 = puVar1" identifier = identifier) ;) (expression_statement "piVar16 = *(int **)(puVar20 + 0x143d54);" (assignment_expression "piVar16 = *(int **)(puVar20 + 0x143d54)" identifier = (pointer_expression "*(int **)(puVar20 + 0x143d54)" * (cast_expression "(int **)(puVar20 + 0x143d54)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x143d54)" ( (binary_expression "puVar20 + 0x143d54" identifier + number_literal) ))))) ;) (expression_statement "iVar14 = *(int *)(puVar20 + 0x143914);" (assignment_expression "iVar14 = *(int *)(puVar20 + 0x143914)" identifier = (pointer_expression "*(int *)(puVar20 + 0x143914)" * (cast_expression "(int *)(puVar20 + 0x143914)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143914)" ( (binary_expression "puVar20 + 0x143914" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)(puVar20 + 0x143924);" (assignment_expression "iVar12 = *(int *)(puVar20 + 0x143924)" identifier = (pointer_expression "*(int *)(puVar20 + 0x143924)" * (cast_expression "(int *)(puVar20 + 0x143924)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143924)" ( (binary_expression "puVar20 + 0x143924" identifier + number_literal) ))))) ;) (expression_statement "local_8c = (int *)*piVar16;" (assignment_expression "local_8c = (int *)*piVar16" identifier = (cast_expression "(int *)*piVar16" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar16" * identifier))) ;) (expression_statement "local_88 = piVar2;" (assignment_expression "local_88 = piVar2" identifier = identifier) ;) (expression_statement "local_84 = piVar11;" (assignment_expression "local_84 = piVar11" identifier = identifier) ;) (expression_statement "local_80 = piVar6;" (assignment_expression "local_80 = piVar6" identifier = identifier) ;) (expression_statement "local_7c = piVar5;" (assignment_expression "local_7c = piVar5" identifier = identifier) ;) (expression_statement "local_78 = piVar15;" (assignment_expression "local_78 = piVar15" identifier = identifier) ;) (expression_statement "local_74 = piVar17;" (assignment_expression "local_74 = piVar17" identifier = identifier) ;) (expression_statement "local_70 = param_3;" (assignment_expression "local_70 = param_3" identifier = identifier) ;) (expression_statement "local_6c = param_2;" (assignment_expression "local_6c = param_2" identifier = identifier) ;) (expression_statement "local_64 = uVar4;" (assignment_expression "local_64 = uVar4" identifier = identifier) ;) (expression_statement "uVar4 = FUN_00017618();" (assignment_expression "uVar4 = FUN_00017618()" identifier = (call_expression "FUN_00017618()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "iVar3 = (**(code **)(puVar20 + 0x143974))\n                    (*(undefined4 *)(iVar14 + 0x14),iVar12 + -0x236c,piVar9,0,0,0,0,0,0);" (assignment_expression "iVar3 = (**(code **)(puVar20 + 0x143974))\n                    (*(undefined4 *)(iVar14 + 0x14),iVar12 + -0x236c,piVar9,0,0,0,0,0,0)" identifier = (call_expression "(**(code **)(puVar20 + 0x143974))\n                    (*(undefined4 *)(iVar14 + 0x14),iVar12 + -0x236c,piVar9,0,0,0,0,0,0)" (parenthesized_expression "(**(code **)(puVar20 + 0x143974))" ( (pointer_expression "**(code **)(puVar20 + 0x143974)" * (pointer_expression "*(code **)(puVar20 + 0x143974)" * (cast_expression "(code **)(puVar20 + 0x143974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x143974)" ( (binary_expression "puVar20 + 0x143974" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar14 + 0x14),iVar12 + -0x236c,piVar9,0,0,0,0,0,0)" ( (pointer_expression "*(undefined4 *)(iVar14 + 0x14)" * (cast_expression "(undefined4 *)(iVar14 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x14)" ( (binary_expression "iVar14 + 0x14" identifier + number_literal) )))) , (binary_expression "iVar12 + -0x236c" identifier + number_literal) , identifier , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal )))) ;) (if_statement "if (iVar3 != 0) {\n    iVar3 = (**(code **)(puVar20 + 0x143974))\n                      (*(undefined4 *)(iVar14 + 0x14),*(int *)(puVar20 + 0x143910) + 0x538c,piVar9,0\n                       ,0,0,0,0,0);\n    if (iVar3 == 0) {\n      (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5394,piVar9);\n    }\nLAB_00018294:\n    sqlite3_free(local_98);\n    local_98 = 0;\n    local_94 = 0;\n    local_90 = 0;\n    sqlite3_free(uVar4);\n    goto LAB_000182c0;\n  }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar3 = (**(code **)(puVar20 + 0x143974))\n                      (*(undefined4 *)(iVar14 + 0x14),*(int *)(puVar20 + 0x143910) + 0x538c,piVar9,0\n                       ,0,0,0,0,0);\n    if (iVar3 == 0) {\n      (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5394,piVar9);\n    }\nLAB_00018294:\n    sqlite3_free(local_98);\n    local_98 = 0;\n    local_94 = 0;\n    local_90 = 0;\n    sqlite3_free(uVar4);\n    goto LAB_000182c0;\n  }" { (expression_statement "iVar3 = (**(code **)(puVar20 + 0x143974))\n                      (*(undefined4 *)(iVar14 + 0x14),*(int *)(puVar20 + 0x143910) + 0x538c,piVar9,0\n                       ,0,0,0,0,0);" (assignment_expression "iVar3 = (**(code **)(puVar20 + 0x143974))\n                      (*(undefined4 *)(iVar14 + 0x14),*(int *)(puVar20 + 0x143910) + 0x538c,piVar9,0\n                       ,0,0,0,0,0)" identifier = (call_expression "(**(code **)(puVar20 + 0x143974))\n                      (*(undefined4 *)(iVar14 + 0x14),*(int *)(puVar20 + 0x143910) + 0x538c,piVar9,0\n                       ,0,0,0,0,0)" (parenthesized_expression "(**(code **)(puVar20 + 0x143974))" ( (pointer_expression "**(code **)(puVar20 + 0x143974)" * (pointer_expression "*(code **)(puVar20 + 0x143974)" * (cast_expression "(code **)(puVar20 + 0x143974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x143974)" ( (binary_expression "puVar20 + 0x143974" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar14 + 0x14),*(int *)(puVar20 + 0x143910) + 0x538c,piVar9,0\n                       ,0,0,0,0,0)" ( (pointer_expression "*(undefined4 *)(iVar14 + 0x14)" * (cast_expression "(undefined4 *)(iVar14 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x14)" ( (binary_expression "iVar14 + 0x14" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar20 + 0x143910) + 0x538c" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal) , identifier , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal )))) ;) (if_statement "if (iVar3 == 0) {\n      (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5394,piVar9);\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5394,piVar9);\n    }" { (expression_statement "(**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5394,piVar9);" (call_expression "(**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5394,piVar9)" (parenthesized_expression "(**(code **)(puVar20 + 0x143cac))" ( (pointer_expression "**(code **)(puVar20 + 0x143cac)" * (pointer_expression "*(code **)(puVar20 + 0x143cac)" * (cast_expression "(code **)(puVar20 + 0x143cac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x143cac)" ( (binary_expression "puVar20 + 0x143cac" identifier + number_literal) ))))) )) (argument_list "(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5394,piVar9)" ( identifier , number_literal , (binary_expression "*(int *)(puVar20 + 0x143910) + 0x5394" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal) , identifier ))) ;) })) (labeled_statement "LAB_00018294:\n    sqlite3_free(local_98);" statement_identifier : (expression_statement "sqlite3_free(local_98);" (call_expression "sqlite3_free(local_98)" identifier (argument_list "(local_98)" ( identifier ))) ;)) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "sqlite3_free(uVar4);" (call_expression "sqlite3_free(uVar4)" identifier (argument_list "(uVar4)" ( identifier ))) ;) (goto_statement "goto LAB_000182c0;" goto statement_identifier ;) })) (expression_statement "iVar18 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar18 = *(int *)(puVar20 + 0x143910)" identifier = (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = (**(code **)(puVar20 + 0x143974))\n                    (*(undefined4 *)(iVar14 + 0x14),iVar18 + 0x538c,piVar9,0,0,0,0,0,0);" (assignment_expression "iVar3 = (**(code **)(puVar20 + 0x143974))\n                    (*(undefined4 *)(iVar14 + 0x14),iVar18 + 0x538c,piVar9,0,0,0,0,0,0)" identifier = (call_expression "(**(code **)(puVar20 + 0x143974))\n                    (*(undefined4 *)(iVar14 + 0x14),iVar18 + 0x538c,piVar9,0,0,0,0,0,0)" (parenthesized_expression "(**(code **)(puVar20 + 0x143974))" ( (pointer_expression "**(code **)(puVar20 + 0x143974)" * (pointer_expression "*(code **)(puVar20 + 0x143974)" * (cast_expression "(code **)(puVar20 + 0x143974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x143974)" ( (binary_expression "puVar20 + 0x143974" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar14 + 0x14),iVar18 + 0x538c,piVar9,0,0,0,0,0,0)" ( (pointer_expression "*(undefined4 *)(iVar14 + 0x14)" * (cast_expression "(undefined4 *)(iVar14 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x14)" ( (binary_expression "iVar14 + 0x14" identifier + number_literal) )))) , (binary_expression "iVar18 + 0x538c" identifier + number_literal) , identifier , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal )))) ;) (if_statement "if (iVar3 != 0) {\n    (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x53b8,piVar9);\n    goto LAB_00018294;\n  }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n    (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x53b8,piVar9);\n    goto LAB_00018294;\n  }" { (expression_statement "(**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x53b8,piVar9);" (call_expression "(**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x53b8,piVar9)" (parenthesized_expression "(**(code **)(puVar20 + 0x143cac))" ( (pointer_expression "**(code **)(puVar20 + 0x143cac)" * (pointer_expression "*(code **)(puVar20 + 0x143cac)" * (cast_expression "(code **)(puVar20 + 0x143cac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x143cac)" ( (binary_expression "puVar20 + 0x143cac" identifier + number_literal) ))))) )) (argument_list "(param_1,1,*(int *)(puVar20 + 0x143910) + 0x53b8,piVar9)" ( identifier , number_literal , (binary_expression "*(int *)(puVar20 + 0x143910) + 0x53b8" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (goto_statement "goto LAB_00018294;" goto statement_identifier ;) })) (expression_statement "piVar11 = (int *)FUN_00017720(iVar18 + 0x538c,piVar9,&local_a0,0);" (assignment_expression "piVar11 = (int *)FUN_00017720(iVar18 + 0x538c,piVar9,&local_a0,0)" identifier = (cast_expression "(int *)FUN_00017720(iVar18 + 0x538c,piVar9,&local_a0,0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00017720(iVar18 + 0x538c,piVar9,&local_a0,0)" identifier (argument_list "(iVar18 + 0x538c,piVar9,&local_a0,0)" ( (binary_expression "iVar18 + 0x538c" identifier + number_literal) , identifier , (pointer_expression "&local_a0" & identifier) , number_literal ))))) ;) (expression_statement "param_3 = (int **)FUN_00017720(iVar12 + -0x236c,piVar9,&local_9c,0);" (assignment_expression "param_3 = (int **)FUN_00017720(iVar12 + -0x236c,piVar9,&local_9c,0)" identifier = (cast_expression "(int **)FUN_00017720(iVar12 + -0x236c,piVar9,&local_9c,0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "FUN_00017720(iVar12 + -0x236c,piVar9,&local_9c,0)" identifier (argument_list "(iVar12 + -0x236c,piVar9,&local_9c,0)" ( (binary_expression "iVar12 + -0x236c" identifier + number_literal) , identifier , (pointer_expression "&local_9c" & identifier) , number_literal ))))) ;) (if_statement "if (piVar11 == (int *)0x0) goto LAB_000184e8;" if (parenthesized_expression "(piVar11 == (int *)0x0)" ( (binary_expression "piVar11 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000184e8;" goto statement_identifier ;)) (expression_statement "iVar3 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar3 = *(int *)(puVar20 + 0x143910)" identifier = (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) ))))) ;) (if_statement "if (param_3 != (int **)0x0) {\n    iVar3 = *piVar11;\n    if (iVar3 == 0) {\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if (local_9c == local_a0) {\n        iVar12 = 0;\n        goto LAB_00017e78;\n      }\n    }\n    else {\n      iVar12 = 0;\n      ppiVar13 = param_3;\n      piVar2 = piVar11;\n      do {\n        piVar2 = piVar2 + 1;\n        iVar3 = sqlite3_stricmp(iVar3,*ppiVar13);\n        if (iVar3 != 0) break;\n        iVar3 = *piVar2;\n        iVar12 = iVar12 + 1;\n        ppiVar13 = ppiVar13 + 1;\n      } while (iVar3 != 0);\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if ((local_a0 == local_9c) && (piVar11[iVar12] == 0)) {\nLAB_00017e78:\n        pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4);\n        FUN_00016de4(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc);\n        if (local_9c == iVar12) {\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);\n        }\n        else {\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4);\n        if (0 < local_a0) {\n          iVar12 = *(int *)(puVar20 + 0x143910);\n          iVar8 = 0;\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;\n          do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);\n        }\n        iVar3 = *(int *)(puVar20 + 0x143910);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar10 = 0;\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);\n        }\n        (*pcVar19)(&local_98,local_a8 + 0x5414);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          iVar3 = 0;\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508);\n        if ((*(uint *)(iVar14 + 0x10) & 2) == 0) {\n          uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);\n          local_a8 = 0;\n          uVar23 = 0;\n          uVar24 = 0;\n          local_a4 = 0;\n          uVar21 = 0;\nLAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );\n        }\n        (**(code **)(puVar20 + 0x143ccc))(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98);\n        goto LAB_00018318;\n      }\n    }\n  }" if (parenthesized_expression "(param_3 != (int **)0x0)" ( (binary_expression "param_3 != (int **)0x0" identifier != (cast_expression "(int **)0x0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n    iVar3 = *piVar11;\n    if (iVar3 == 0) {\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if (local_9c == local_a0) {\n        iVar12 = 0;\n        goto LAB_00017e78;\n      }\n    }\n    else {\n      iVar12 = 0;\n      ppiVar13 = param_3;\n      piVar2 = piVar11;\n      do {\n        piVar2 = piVar2 + 1;\n        iVar3 = sqlite3_stricmp(iVar3,*ppiVar13);\n        if (iVar3 != 0) break;\n        iVar3 = *piVar2;\n        iVar12 = iVar12 + 1;\n        ppiVar13 = ppiVar13 + 1;\n      } while (iVar3 != 0);\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if ((local_a0 == local_9c) && (piVar11[iVar12] == 0)) {\nLAB_00017e78:\n        pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4);\n        FUN_00016de4(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc);\n        if (local_9c == iVar12) {\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);\n        }\n        else {\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4);\n        if (0 < local_a0) {\n          iVar12 = *(int *)(puVar20 + 0x143910);\n          iVar8 = 0;\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;\n          do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);\n        }\n        iVar3 = *(int *)(puVar20 + 0x143910);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar10 = 0;\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);\n        }\n        (*pcVar19)(&local_98,local_a8 + 0x5414);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          iVar3 = 0;\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508);\n        if ((*(uint *)(iVar14 + 0x10) & 2) == 0) {\n          uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);\n          local_a8 = 0;\n          uVar23 = 0;\n          uVar24 = 0;\n          local_a4 = 0;\n          uVar21 = 0;\nLAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );\n        }\n        (**(code **)(puVar20 + 0x143ccc))(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98);\n        goto LAB_00018318;\n      }\n    }\n  }" { (expression_statement "iVar3 = *piVar11;" (assignment_expression "iVar3 = *piVar11" identifier = (pointer_expression "*piVar11" * identifier)) ;) (if_statement "if (iVar3 == 0) {\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if (local_9c == local_a0) {\n        iVar12 = 0;\n        goto LAB_00017e78;\n      }\n    }\n    else {\n      iVar12 = 0;\n      ppiVar13 = param_3;\n      piVar2 = piVar11;\n      do {\n        piVar2 = piVar2 + 1;\n        iVar3 = sqlite3_stricmp(iVar3,*ppiVar13);\n        if (iVar3 != 0) break;\n        iVar3 = *piVar2;\n        iVar12 = iVar12 + 1;\n        ppiVar13 = ppiVar13 + 1;\n      } while (iVar3 != 0);\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if ((local_a0 == local_9c) && (piVar11[iVar12] == 0)) {\nLAB_00017e78:\n        pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4);\n        FUN_00016de4(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc);\n        if (local_9c == iVar12) {\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);\n        }\n        else {\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4);\n        if (0 < local_a0) {\n          iVar12 = *(int *)(puVar20 + 0x143910);\n          iVar8 = 0;\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;\n          do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);\n        }\n        iVar3 = *(int *)(puVar20 + 0x143910);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar10 = 0;\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);\n        }\n        (*pcVar19)(&local_98,local_a8 + 0x5414);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          iVar3 = 0;\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508);\n        if ((*(uint *)(iVar14 + 0x10) & 2) == 0) {\n          uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);\n          local_a8 = 0;\n          uVar23 = 0;\n          uVar24 = 0;\n          local_a4 = 0;\n          uVar21 = 0;\nLAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );\n        }\n        (**(code **)(puVar20 + 0x143ccc))(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98);\n        goto LAB_00018318;\n      }\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if (local_9c == local_a0) {\n        iVar12 = 0;\n        goto LAB_00017e78;\n      }\n    }" { (expression_statement "iVar3 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar3 = *(int *)(puVar20 + 0x143910)" identifier = (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) ))))) ;) (if_statement "if (local_9c == local_a0) {\n        iVar12 = 0;\n        goto LAB_00017e78;\n      }" if (parenthesized_expression "(local_9c == local_a0)" ( (binary_expression "local_9c == local_a0" identifier == identifier) )) (compound_statement "{\n        iVar12 = 0;\n        goto LAB_00017e78;\n      }" { (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00017e78;" goto statement_identifier ;) })) }) (else_clause "else {\n      iVar12 = 0;\n      ppiVar13 = param_3;\n      piVar2 = piVar11;\n      do {\n        piVar2 = piVar2 + 1;\n        iVar3 = sqlite3_stricmp(iVar3,*ppiVar13);\n        if (iVar3 != 0) break;\n        iVar3 = *piVar2;\n        iVar12 = iVar12 + 1;\n        ppiVar13 = ppiVar13 + 1;\n      } while (iVar3 != 0);\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if ((local_a0 == local_9c) && (piVar11[iVar12] == 0)) {\nLAB_00017e78:\n        pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4);\n        FUN_00016de4(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc);\n        if (local_9c == iVar12) {\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);\n        }\n        else {\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4);\n        if (0 < local_a0) {\n          iVar12 = *(int *)(puVar20 + 0x143910);\n          iVar8 = 0;\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;\n          do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);\n        }\n        iVar3 = *(int *)(puVar20 + 0x143910);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar10 = 0;\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);\n        }\n        (*pcVar19)(&local_98,local_a8 + 0x5414);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          iVar3 = 0;\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508);\n        if ((*(uint *)(iVar14 + 0x10) & 2) == 0) {\n          uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);\n          local_a8 = 0;\n          uVar23 = 0;\n          uVar24 = 0;\n          local_a4 = 0;\n          uVar21 = 0;\nLAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );\n        }\n        (**(code **)(puVar20 + 0x143ccc))(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98);\n        goto LAB_00018318;\n      }\n    }" else (compound_statement "{\n      iVar12 = 0;\n      ppiVar13 = param_3;\n      piVar2 = piVar11;\n      do {\n        piVar2 = piVar2 + 1;\n        iVar3 = sqlite3_stricmp(iVar3,*ppiVar13);\n        if (iVar3 != 0) break;\n        iVar3 = *piVar2;\n        iVar12 = iVar12 + 1;\n        ppiVar13 = ppiVar13 + 1;\n      } while (iVar3 != 0);\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if ((local_a0 == local_9c) && (piVar11[iVar12] == 0)) {\nLAB_00017e78:\n        pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4);\n        FUN_00016de4(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc);\n        if (local_9c == iVar12) {\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);\n        }\n        else {\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4);\n        if (0 < local_a0) {\n          iVar12 = *(int *)(puVar20 + 0x143910);\n          iVar8 = 0;\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;\n          do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);\n        }\n        iVar3 = *(int *)(puVar20 + 0x143910);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar10 = 0;\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);\n        }\n        (*pcVar19)(&local_98,local_a8 + 0x5414);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          iVar3 = 0;\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508);\n        if ((*(uint *)(iVar14 + 0x10) & 2) == 0) {\n          uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);\n          local_a8 = 0;\n          uVar23 = 0;\n          uVar24 = 0;\n          local_a4 = 0;\n          uVar21 = 0;\nLAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );\n        }\n        (**(code **)(puVar20 + 0x143ccc))(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98);\n        goto LAB_00018318;\n      }\n    }" { (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (expression_statement "ppiVar13 = param_3;" (assignment_expression "ppiVar13 = param_3" identifier = identifier) ;) (expression_statement "piVar2 = piVar11;" (assignment_expression "piVar2 = piVar11" identifier = identifier) ;) (do_statement "do {\n        piVar2 = piVar2 + 1;\n        iVar3 = sqlite3_stricmp(iVar3,*ppiVar13);\n        if (iVar3 != 0) break;\n        iVar3 = *piVar2;\n        iVar12 = iVar12 + 1;\n        ppiVar13 = ppiVar13 + 1;\n      } while (iVar3 != 0);" do (compound_statement "{\n        piVar2 = piVar2 + 1;\n        iVar3 = sqlite3_stricmp(iVar3,*ppiVar13);\n        if (iVar3 != 0) break;\n        iVar3 = *piVar2;\n        iVar12 = iVar12 + 1;\n        ppiVar13 = ppiVar13 + 1;\n      }" { (expression_statement "piVar2 = piVar2 + 1;" (assignment_expression "piVar2 = piVar2 + 1" identifier = (binary_expression "piVar2 + 1" identifier + number_literal)) ;) (expression_statement "iVar3 = sqlite3_stricmp(iVar3,*ppiVar13);" (assignment_expression "iVar3 = sqlite3_stricmp(iVar3,*ppiVar13)" identifier = (call_expression "sqlite3_stricmp(iVar3,*ppiVar13)" identifier (argument_list "(iVar3,*ppiVar13)" ( identifier , (pointer_expression "*ppiVar13" * identifier) )))) ;) (if_statement "if (iVar3 != 0) break;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = *piVar2;" (assignment_expression "iVar3 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;) (expression_statement "ppiVar13 = ppiVar13 + 1;" (assignment_expression "ppiVar13 = ppiVar13 + 1" identifier = (binary_expression "ppiVar13 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) ;) (expression_statement "iVar3 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar3 = *(int *)(puVar20 + 0x143910)" identifier = (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) ))))) ;) (if_statement "if ((local_a0 == local_9c) && (piVar11[iVar12] == 0)) {\nLAB_00017e78:\n        pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4);\n        FUN_00016de4(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc);\n        if (local_9c == iVar12) {\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);\n        }\n        else {\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4);\n        if (0 < local_a0) {\n          iVar12 = *(int *)(puVar20 + 0x143910);\n          iVar8 = 0;\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;\n          do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);\n        }\n        iVar3 = *(int *)(puVar20 + 0x143910);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar10 = 0;\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);\n        }\n        (*pcVar19)(&local_98,local_a8 + 0x5414);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          iVar3 = 0;\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508);\n        if ((*(uint *)(iVar14 + 0x10) & 2) == 0) {\n          uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);\n          local_a8 = 0;\n          uVar23 = 0;\n          uVar24 = 0;\n          local_a4 = 0;\n          uVar21 = 0;\nLAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );\n        }\n        (**(code **)(puVar20 + 0x143ccc))(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98);\n        goto LAB_00018318;\n      }" if (parenthesized_expression "((local_a0 == local_9c) && (piVar11[iVar12] == 0))" ( (binary_expression "(local_a0 == local_9c) && (piVar11[iVar12] == 0)" (parenthesized_expression "(local_a0 == local_9c)" ( (binary_expression "local_a0 == local_9c" identifier == identifier) )) && (parenthesized_expression "(piVar11[iVar12] == 0)" ( (binary_expression "piVar11[iVar12] == 0" (subscript_expression "piVar11[iVar12]" identifier [ identifier ]) == number_literal) ))) )) (compound_statement "{\nLAB_00017e78:\n        pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4);\n        FUN_00016de4(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc);\n        if (local_9c == iVar12) {\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);\n        }\n        else {\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4);\n        if (0 < local_a0) {\n          iVar12 = *(int *)(puVar20 + 0x143910);\n          iVar8 = 0;\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;\n          do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);\n        }\n        iVar3 = *(int *)(puVar20 + 0x143910);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar10 = 0;\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);\n        }\n        (*pcVar19)(&local_98,local_a8 + 0x5414);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          iVar3 = 0;\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508);\n        if ((*(uint *)(iVar14 + 0x10) & 2) == 0) {\n          uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);\n          local_a8 = 0;\n          uVar23 = 0;\n          uVar24 = 0;\n          local_a4 = 0;\n          uVar21 = 0;\nLAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );\n        }\n        (**(code **)(puVar20 + 0x143ccc))(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98);\n        goto LAB_00018318;\n      }" { (labeled_statement "LAB_00017e78:\n        pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4);" statement_identifier : (expression_statement "pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4);" (assignment_expression "pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4)" identifier = (cast_expression "(code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar20 + 0x14390c) + 0x6de4)" ( (binary_expression "*(int *)(puVar20 + 0x14390c) + 0x6de4" (pointer_expression "*(int *)(puVar20 + 0x14390c)" * (cast_expression "(int *)(puVar20 + 0x14390c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x14390c)" ( (binary_expression "puVar20 + 0x14390c" identifier + number_literal) )))) + number_literal) )))) ;)) (expression_statement "FUN_00016de4(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc);" (call_expression "FUN_00016de4(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc)" identifier (argument_list "(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc)" ( (pointer_expression "&local_98" & identifier) , (binary_expression "*(int *)(puVar20 + 0x143910) + 0x53dc" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (local_9c == iVar12) {\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);\n        }\n        else {\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }" if (parenthesized_expression "(local_9c == iVar12)" ( (binary_expression "local_9c == iVar12" identifier == identifier) )) (compound_statement "{\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);\n        }" { (expression_statement "local_a8 = *(int *)(puVar20 + 0x143910);" (assignment_expression "local_a8 = *(int *)(puVar20 + 0x143910)" identifier = (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);" (call_expression "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0)" ( (pointer_expression "&local_98" & identifier) , (binary_expression "*(int *)(puVar20 + 0x143910) + 0x53f0" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }" else (compound_statement "{\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }" { (expression_statement "piVar2 = piVar11 + local_a0;" (assignment_expression "piVar2 = piVar11 + local_a0" identifier = (binary_expression "piVar11 + local_a0" identifier + identifier)) ;) (expression_statement "iVar12 = *piVar2;" (assignment_expression "iVar12 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "iVar3 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar3 = *(int *)(puVar20 + 0x143910)" identifier = (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) ))))) ;) (if_statement "if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (compound_statement "{\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }" { (expression_statement "iVar8 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar8 = *(int *)(puVar20 + 0x143910)" identifier = (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) ))))) ;) (expression_statement "iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;" (assignment_expression "iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374" identifier = (binary_expression "*(int *)(puVar20 + 0x143910) + 0x5374" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal)) ;) (do_statement "do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);" do (compound_statement "{\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            }" { (expression_statement "piVar2 = piVar2 + 1;" (assignment_expression "piVar2 = piVar2 + 1" identifier = (binary_expression "piVar2 + 1" identifier + number_literal)) ;) (expression_statement "(*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);" (call_expression "(*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12)" ( (pointer_expression "&local_98" & identifier) , (binary_expression "iVar3 + 0x53f8" identifier + number_literal) , identifier , identifier , identifier ))) ;) (expression_statement "iVar12 = *piVar2;" (assignment_expression "iVar12 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "iVar18 = iVar8 + 0x540c;" (assignment_expression "iVar18 = iVar8 + 0x540c" identifier = (binary_expression "iVar8 + 0x540c" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) ;) })) (expression_statement "local_a8 = *(int *)(puVar20 + 0x143910);" (assignment_expression "local_a8 = *(int *)(puVar20 + 0x143910)" identifier = (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar19)(&local_98,local_a8 + 0x5414);" (call_expression "(*pcVar19)(&local_98,local_a8 + 0x5414)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(&local_98,local_a8 + 0x5414)" ( (pointer_expression "&local_98" & identifier) , (binary_expression "local_a8 + 0x5414" identifier + number_literal) ))) ;) }))) (expression_statement "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4);" (call_expression "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4)" ( (pointer_expression "&local_98" & identifier) , (binary_expression "*(int *)(puVar20 + 0x143910) + 0x5418" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal) , identifier , identifier ))) ;) (if_statement "if (0 < local_a0) {\n          iVar12 = *(int *)(puVar20 + 0x143910);\n          iVar8 = 0;\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;\n          do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);\n        }" if (parenthesized_expression "(0 < local_a0)" ( (binary_expression "0 < local_a0" number_literal < identifier) )) (compound_statement "{\n          iVar12 = *(int *)(puVar20 + 0x143910);\n          iVar8 = 0;\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;\n          do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);\n        }" { (expression_statement "iVar12 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar12 = *(int *)(puVar20 + 0x143910)" identifier = (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "iVar18 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar18 = *(int *)(puVar20 + 0x143910)" identifier = (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) ))))) ;) (expression_statement "piVar2 = piVar11;" (assignment_expression "piVar2 = piVar11" identifier = identifier) ;) (expression_statement "iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;" (assignment_expression "iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c" identifier = (binary_expression "*(int *)(puVar20 + 0x143910) + 0x537c" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal)) ;) (do_statement "do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);" do (compound_statement "{\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          }" { (expression_statement "(*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);" (call_expression "(*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2)" ( (pointer_expression "&local_98" & identifier) , (binary_expression "iVar12 + 0x5434" identifier + number_literal) , identifier , (pointer_expression "*piVar2" * identifier) , (pointer_expression "*piVar2" * identifier) ))) ;) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "piVar2 = piVar2 + 1;" (assignment_expression "piVar2 = piVar2 + 1" identifier = (binary_expression "piVar2 + 1" identifier + number_literal)) ;) (expression_statement "iVar3 = iVar18 + 0x5444;" (assignment_expression "iVar3 = iVar18 + 0x5444" identifier = (binary_expression "iVar18 + 0x5444" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar8 < local_a0)" ( (binary_expression "iVar8 < local_a0" identifier < identifier) )) ;) })) (expression_statement "iVar3 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar3 = *(int *)(puVar20 + 0x143910)" identifier = (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar19)(&local_98,iVar3 + 0x544c);" (call_expression "(*pcVar19)(&local_98,iVar3 + 0x544c)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(&local_98,iVar3 + 0x544c)" ( (pointer_expression "&local_98" & identifier) , (binary_expression "iVar3 + 0x544c" identifier + number_literal) ))) ;) (expression_statement "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458);" (call_expression "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458)" ( (pointer_expression "&local_98" & identifier) , (binary_expression "*(int *)(puVar20 + 0x143910) + 0x5458" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4);" (call_expression "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4)" ( (pointer_expression "&local_98" & identifier) , (binary_expression "*(int *)(puVar20 + 0x143910) + 0x5470" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (expression_statement "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4);" (call_expression "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4)" ( (pointer_expression "&local_98" & identifier) , (binary_expression "*(int *)(puVar20 + 0x143910) + 0x5484" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (if_statement "if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar10 = 0;\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);\n        }" if (parenthesized_expression "(0 < local_a0)" ( (binary_expression "0 < local_a0" number_literal < identifier) )) (compound_statement "{\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar10 = 0;\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);\n        }" { (expression_statement "iVar18 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar18 = *(int *)(puVar20 + 0x143910)" identifier = (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (expression_statement "iVar8 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar8 = *(int *)(puVar20 + 0x143910)" identifier = (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) ))))) ;) (expression_statement "piVar2 = piVar11;" (assignment_expression "piVar2 = piVar11" identifier = identifier) ;) (expression_statement "iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;" (assignment_expression "iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384" identifier = (binary_expression "*(int *)(puVar20 + 0x143910) + 0x5384" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal)) ;) (do_statement "do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);" do (compound_statement "{\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          }" { (expression_statement "(*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);" (call_expression "(*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2)" ( (pointer_expression "&local_98" & identifier) , (binary_expression "iVar18 + 0x5434" identifier + number_literal) , identifier , (pointer_expression "*piVar2" * identifier) , (pointer_expression "*piVar2" * identifier) ))) ;) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) (expression_statement "piVar2 = piVar2 + 1;" (assignment_expression "piVar2 = piVar2 + 1" identifier = (binary_expression "piVar2 + 1" identifier + number_literal)) ;) (expression_statement "iVar12 = iVar8 + 0x5444;" (assignment_expression "iVar12 = iVar8 + 0x5444" identifier = (binary_expression "iVar8 + 0x5444" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar10 < local_a0)" ( (binary_expression "iVar10 < local_a0" identifier < identifier) )) ;) })) (expression_statement "(*pcVar19)(&local_98,local_a8 + 0x5414);" (call_expression "(*pcVar19)(&local_98,local_a8 + 0x5414)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(&local_98,local_a8 + 0x5414)" ( (pointer_expression "&local_98" & identifier) , (binary_expression "local_a8 + 0x5414" identifier + number_literal) ))) ;) (expression_statement "(*pcVar19)(&local_98,iVar3 + 0x544c);" (call_expression "(*pcVar19)(&local_98,iVar3 + 0x544c)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(&local_98,iVar3 + 0x544c)" ( (pointer_expression "&local_98" & identifier) , (binary_expression "iVar3 + 0x544c" identifier + number_literal) ))) ;) (expression_statement "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0);" (call_expression "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0)" ( (pointer_expression "&local_98" & identifier) , (binary_expression "*(int *)(puVar20 + 0x143910) + 0x54b0" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4);" (call_expression "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4)" ( (pointer_expression "&local_98" & identifier) , (binary_expression "*(int *)(puVar20 + 0x143910) + 0x54c8" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (expression_statement "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4);" (call_expression "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4)" ( (pointer_expression "&local_98" & identifier) , (binary_expression "*(int *)(puVar20 + 0x143910) + 0x54dc" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (if_statement "if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          iVar3 = 0;\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);\n        }" if (parenthesized_expression "(0 < local_a0)" ( (binary_expression "0 < local_a0" number_literal < identifier) )) (compound_statement "{\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          iVar3 = 0;\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);\n        }" { (expression_statement "iVar18 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar18 = *(int *)(puVar20 + 0x143910)" identifier = (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar8 = *(int *)(puVar20 + 0x143910)" identifier = (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "piVar2 = piVar11;" (assignment_expression "piVar2 = piVar11" identifier = identifier) ;) (expression_statement "iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;" (assignment_expression "iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384" identifier = (binary_expression "*(int *)(puVar20 + 0x143910) + 0x5384" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal)) ;) (do_statement "do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);" do (compound_statement "{\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          }" { (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "(*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);" (call_expression "(*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2)" ( (pointer_expression "&local_98" & identifier) , (binary_expression "iVar18 + 0x5434" identifier + number_literal) , identifier , (pointer_expression "*piVar2" * identifier) , (pointer_expression "*piVar2" * identifier) ))) ;) (expression_statement "piVar2 = piVar2 + 1;" (assignment_expression "piVar2 = piVar2 + 1" identifier = (binary_expression "piVar2 + 1" identifier + number_literal)) ;) (expression_statement "iVar12 = iVar8 + 0x5444;" (assignment_expression "iVar12 = iVar8 + 0x5444" identifier = (binary_expression "iVar8 + 0x5444" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar3 < local_a0)" ( (binary_expression "iVar3 < local_a0" identifier < identifier) )) ;) })) (expression_statement "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508);" (call_expression "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508)" ( (pointer_expression "&local_98" & identifier) , (binary_expression "*(int *)(puVar20 + 0x143910) + 0x5508" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if ((*(uint *)(iVar14 + 0x10) & 2) == 0) {\n          uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);\n          local_a8 = 0;\n          uVar23 = 0;\n          uVar24 = 0;\n          local_a4 = 0;\n          uVar21 = 0;\nLAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );\n        }" if (parenthesized_expression "((*(uint *)(iVar14 + 0x10) & 2) == 0)" ( (binary_expression "(*(uint *)(iVar14 + 0x10) & 2) == 0" (parenthesized_expression "(*(uint *)(iVar14 + 0x10) & 2)" ( (binary_expression "*(uint *)(iVar14 + 0x10) & 2" (pointer_expression "*(uint *)(iVar14 + 0x10)" * (cast_expression "(uint *)(iVar14 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x10)" ( (binary_expression "iVar14 + 0x10" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);\n          local_a8 = 0;\n          uVar23 = 0;\n          uVar24 = 0;\n          local_a4 = 0;\n          uVar21 = 0;\nLAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );\n        }" { (expression_statement "uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);" (assignment_expression "uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98)" identifier = (call_expression "FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98)" identifier (argument_list "(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98)" ( (binary_expression "*(int *)(puVar20 + 0x143910) + 0x71f4" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" identifier = number_literal) ;) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) (expression_statement "local_a4 = 0;" (assignment_expression "local_a4 = 0" identifier = number_literal) ;) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (labeled_statement "LAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );" statement_identifier : (do_statement "do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );" do (compound_statement "{\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          }" { (expression_statement "pcVar19 = *(code **)(puVar20 + 0x143958);" (assignment_expression "pcVar19 = *(code **)(puVar20 + 0x143958)" identifier = (pointer_expression "*(code **)(puVar20 + 0x143958)" * (cast_expression "(code **)(puVar20 + 0x143958)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x143958)" ( (binary_expression "puVar20 + 0x143958" identifier + number_literal) ))))) ;) (do_statement "do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);" do (compound_statement "{\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            }" { (expression_statement "iVar3 = (*pcVar19)(uVar7);" (assignment_expression "iVar3 = (*pcVar19)(uVar7)" identifier = (call_expression "(*pcVar19)(uVar7)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(uVar7)" ( identifier )))) ;) (if_statement "if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }" if (parenthesized_expression "(iVar3 != 100)" ( (binary_expression "iVar3 != 100" identifier != number_literal) )) (compound_statement "{\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }" { (expression_statement "(**(code **)(puVar20 + 0x143964))(uVar7);" (call_expression "(**(code **)(puVar20 + 0x143964))(uVar7)" (parenthesized_expression "(**(code **)(puVar20 + 0x143964))" ( (pointer_expression "**(code **)(puVar20 + 0x143964)" * (pointer_expression "*(code **)(puVar20 + 0x143964)" * (cast_expression "(code **)(puVar20 + 0x143964)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x143964)" ( (binary_expression "puVar20 + 0x143964" identifier + number_literal) ))))) )) (argument_list "(uVar7)" ( identifier ))) ;) (expression_statement "(**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);" (call_expression "(**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4)" (parenthesized_expression "(**(code **)(puVar20 + 0x143cac))" ( (pointer_expression "**(code **)(puVar20 + 0x143cac)" * (pointer_expression "*(code **)(puVar20 + 0x143cac)" * (cast_expression "(code **)(puVar20 + 0x143cac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x143cac)" ( (binary_expression "puVar20 + 0x143cac" identifier + number_literal) ))))) )) (argument_list "(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4)" ( identifier , number_literal , (binary_expression "*(int *)(puVar20 + 0x143910) + 0x5528" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal) , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (goto_statement "goto LAB_00018318;" goto statement_identifier ;) })) (expression_statement "iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);" (assignment_expression "iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0)" identifier = (call_expression "(**(code **)(puVar20 + 0x14396c))(uVar7,0)" (parenthesized_expression "(**(code **)(puVar20 + 0x14396c))" ( (pointer_expression "**(code **)(puVar20 + 0x14396c)" * (pointer_expression "*(code **)(puVar20 + 0x14396c)" * (cast_expression "(code **)(puVar20 + 0x14396c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x14396c)" ( (binary_expression "puVar20 + 0x14396c" identifier + number_literal) ))))) )) (argument_list "(uVar7,0)" ( identifier , number_literal )))) ;) (if_statement "if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }" if (parenthesized_expression "(iVar3 == 2)" ( (binary_expression "iVar3 == 2" identifier == number_literal) )) (compound_statement "{\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }" { (expression_statement "uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);" (assignment_expression "uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1)" identifier = (call_expression "(**(code **)(puVar20 + 0x143978))(uVar7,1)" (parenthesized_expression "(**(code **)(puVar20 + 0x143978))" ( (pointer_expression "**(code **)(puVar20 + 0x143978)" * (pointer_expression "*(code **)(puVar20 + 0x143978)" * (cast_expression "(code **)(puVar20 + 0x143978)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x143978)" ( (binary_expression "puVar20 + 0x143978" identifier + number_literal) ))))) )) (argument_list "(uVar7,1)" ( identifier , number_literal )))) ;) (goto_statement "goto LAB_000181e0;" goto statement_identifier ;) })) (if_statement "if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }" if (parenthesized_expression "(iVar3 == 3)" ( (binary_expression "iVar3 == 3" identifier == number_literal) )) (compound_statement "{\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }" { (expression_statement "uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);" (assignment_expression "uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1)" identifier = (call_expression "(**(code **)(puVar20 + 0x143978))(uVar7,1)" (parenthesized_expression "(**(code **)(puVar20 + 0x143978))" ( (pointer_expression "**(code **)(puVar20 + 0x143978)" * (pointer_expression "*(code **)(puVar20 + 0x143978)" * (cast_expression "(code **)(puVar20 + 0x143978)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x143978)" ( (binary_expression "puVar20 + 0x143978" identifier + number_literal) ))))) )) (argument_list "(uVar7,1)" ( identifier , number_literal )))) ;) (goto_statement "goto LAB_000181e0;" goto statement_identifier ;) })) (expression_statement "pcVar19 = *(code **)(puVar20 + 0x143958);" (assignment_expression "pcVar19 = *(code **)(puVar20 + 0x143958)" identifier = (pointer_expression "*(code **)(puVar20 + 0x143958)" * (cast_expression "(code **)(puVar20 + 0x143958)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x143958)" ( (binary_expression "puVar20 + 0x143958" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar3 != 1)" ( (binary_expression "iVar3 != 1" identifier != number_literal) )) ;) (expression_statement "uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);" (assignment_expression "uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2)" identifier = (call_expression "(**(code **)(puVar20 + 0x143978))(uVar7,2)" (parenthesized_expression "(**(code **)(puVar20 + 0x143978))" ( (pointer_expression "**(code **)(puVar20 + 0x143978)" * (pointer_expression "*(code **)(puVar20 + 0x143978)" * (cast_expression "(code **)(puVar20 + 0x143978)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x143978)" ( (binary_expression "puVar20 + 0x143978" identifier + number_literal) ))))) )) (argument_list "(uVar7,2)" ( identifier , number_literal )))) ;) (expression_statement "uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);" (assignment_expression "uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1)" identifier = (call_expression "(**(code **)(puVar20 + 0x143978))(uVar7,1)" (parenthesized_expression "(**(code **)(puVar20 + 0x143978))" ( (pointer_expression "**(code **)(puVar20 + 0x143978)" * (pointer_expression "*(code **)(puVar20 + 0x143978)" * (cast_expression "(code **)(puVar20 + 0x143978)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x143978)" ( (binary_expression "puVar20 + 0x143978" identifier + number_literal) ))))) )) (argument_list "(uVar7,1)" ( identifier , number_literal )))) ;) (expression_statement "local_a4 = (uint)uVar22 - (int)uVar21;" (assignment_expression "local_a4 = (uint)uVar22 - (int)uVar21" identifier = (binary_expression "(uint)uVar22 - (int)uVar21" (cast_expression "(uint)uVar22" ( (type_descriptor "uint" type_identifier) ) identifier) - (cast_expression "(int)uVar21" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);" (assignment_expression "local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4)" identifier = (binary_expression "((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4)" (parenthesized_expression "((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20))" ( (binary_expression "(int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)" (cast_expression "(int)((ulonglong)uVar22 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar22 >> 0x20)" ( (binary_expression "(ulonglong)uVar22 >> 0x20" (cast_expression "(ulonglong)uVar22" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) - (cast_expression "(int)((ulonglong)uVar21 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar21 >> 0x20)" ( (binary_expression "(ulonglong)uVar21 >> 0x20" (cast_expression "(ulonglong)uVar21" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) )) - (call_expression "(uint)((uint)uVar22 < local_a4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)uVar22 < local_a4)" ( (binary_expression "(uint)uVar22 < local_a4" (cast_expression "(uint)uVar22" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier) ))))) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (expression_statement "(**(code **)(puVar20 + 0x143ccc))(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98);" (call_expression "(**(code **)(puVar20 + 0x143ccc))(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98)" (parenthesized_expression "(**(code **)(puVar20 + 0x143ccc))" ( (pointer_expression "**(code **)(puVar20 + 0x143ccc)" * (pointer_expression "*(code **)(puVar20 + 0x143ccc)" * (cast_expression "(code **)(puVar20 + 0x143ccc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x143ccc)" ( (binary_expression "puVar20 + 0x143ccc" identifier + number_literal) ))))) )) (argument_list "(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98)" ( number_literal , (binary_expression "*(int *)(puVar20 + 0x143910) + 0x5518" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal) , identifier , identifier ))) ;) (goto_statement "goto LAB_00018318;" goto statement_identifier ;) })) }))) })) (expression_statement "(**(code **)(puVar20 + 0x143cac))(param_1,1,iVar3 + 0x5568,piVar9);" (call_expression "(**(code **)(puVar20 + 0x143cac))(param_1,1,iVar3 + 0x5568,piVar9)" (parenthesized_expression "(**(code **)(puVar20 + 0x143cac))" ( (pointer_expression "**(code **)(puVar20 + 0x143cac)" * (pointer_expression "*(code **)(puVar20 + 0x143cac)" * (cast_expression "(code **)(puVar20 + 0x143cac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x143cac)" ( (binary_expression "puVar20 + 0x143cac" identifier + number_literal) ))))) )) (argument_list "(param_1,1,iVar3 + 0x5568,piVar9)" ( identifier , number_literal , (binary_expression "iVar3 + 0x5568" identifier + number_literal) , identifier ))) ;) (labeled_statement "LAB_00018318:\n  sqlite3_free(local_98);" statement_identifier : (expression_statement "sqlite3_free(local_98);" (call_expression "sqlite3_free(local_98)" identifier (argument_list "(local_98)" ( identifier ))) ;)) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "sqlite3_free(uVar4);" (call_expression "sqlite3_free(uVar4)" identifier (argument_list "(uVar4)" ( identifier ))) ;) (expression_statement "FUN_000175b4(piVar11);" (call_expression "FUN_000175b4(piVar11)" identifier (argument_list "(piVar11)" ( identifier ))) ;) (while_statement "while( true ) {\n    if (param_3 != (int **)0x0) {\n      FUN_000175b4(param_3);\n    }\nLAB_000182c0:\n    piVar11 = (int *)*piVar16;\n    if (local_8c == piVar11) break;\n    (**(code **)(puVar20 + 0x143d38))();\nLAB_000184e8:\n    (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5568,piVar9);\n    sqlite3_free(local_98);\n    local_98 = 0;\n    local_94 = 0;\n    local_90 = 0;\n    sqlite3_free(uVar4);\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    if (param_3 != (int **)0x0) {\n      FUN_000175b4(param_3);\n    }\nLAB_000182c0:\n    piVar11 = (int *)*piVar16;\n    if (local_8c == piVar11) break;\n    (**(code **)(puVar20 + 0x143d38))();\nLAB_000184e8:\n    (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5568,piVar9);\n    sqlite3_free(local_98);\n    local_98 = 0;\n    local_94 = 0;\n    local_90 = 0;\n    sqlite3_free(uVar4);\n  }" { (if_statement "if (param_3 != (int **)0x0) {\n      FUN_000175b4(param_3);\n    }" if (parenthesized_expression "(param_3 != (int **)0x0)" ( (binary_expression "param_3 != (int **)0x0" identifier != (cast_expression "(int **)0x0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n      FUN_000175b4(param_3);\n    }" { (expression_statement "FUN_000175b4(param_3);" (call_expression "FUN_000175b4(param_3)" identifier (argument_list "(param_3)" ( identifier ))) ;) })) (labeled_statement "LAB_000182c0:\n    piVar11 = (int *)*piVar16;" statement_identifier : (expression_statement "piVar11 = (int *)*piVar16;" (assignment_expression "piVar11 = (int *)*piVar16" identifier = (cast_expression "(int *)*piVar16" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar16" * identifier))) ;)) (if_statement "if (local_8c == piVar11) break;" if (parenthesized_expression "(local_8c == piVar11)" ( (binary_expression "local_8c == piVar11" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "(**(code **)(puVar20 + 0x143d38))();" (call_expression "(**(code **)(puVar20 + 0x143d38))()" (parenthesized_expression "(**(code **)(puVar20 + 0x143d38))" ( (pointer_expression "**(code **)(puVar20 + 0x143d38)" * (pointer_expression "*(code **)(puVar20 + 0x143d38)" * (cast_expression "(code **)(puVar20 + 0x143d38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x143d38)" ( (binary_expression "puVar20 + 0x143d38" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_000184e8:\n    (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5568,piVar9);" statement_identifier : (expression_statement "(**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5568,piVar9);" (call_expression "(**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5568,piVar9)" (parenthesized_expression "(**(code **)(puVar20 + 0x143cac))" ( (pointer_expression "**(code **)(puVar20 + 0x143cac)" * (pointer_expression "*(code **)(puVar20 + 0x143cac)" * (cast_expression "(code **)(puVar20 + 0x143cac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x143cac)" ( (binary_expression "puVar20 + 0x143cac" identifier + number_literal) ))))) )) (argument_list "(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5568,piVar9)" ( identifier , number_literal , (binary_expression "*(int *)(puVar20 + 0x143910) + 0x5568" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal) , identifier ))) ;)) (expression_statement "sqlite3_free(local_98);" (call_expression "sqlite3_free(local_98)" identifier (argument_list "(local_98)" ( identifier ))) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "sqlite3_free(uVar4);" (call_expression "sqlite3_free(uVar4)" identifier (argument_list "(uVar4)" ( identifier ))) ;) })) (return_statement "return piVar11;" return identifier ;) })))
(translation_unit "char ** columnNames(char *zDb,char *zTab,int *pnPKey,int *pbRowid)\n\n{\n  undefined *puVar1;\n  sqlite3_stmt *psVar2;\n  int iVar3;\n  char *pcVar4;\n  sqlite3_stmt *psVar5;\n  char **ppcVar6;\n  char *pcVar7;\n  char *pcVar8;\n  int iVar9;\n  int iVar10;\n  char **ppcVar11;\n  int iVar12;\n  char **ppcVar13;\n  char **ppcVar14;\n  code *pcVar15;\n  undefined *puVar16;\n  int iStack_a0;\n  int iStack_9c;\n  Str SStack_98;\n  undefined4 uStack_8c;\n  sqlite3_stmt *psStack_88;\n  int iStack_84;\n  char **ppcStack_80;\n  sqlite3_stmt *psStack_7c;\n  char *pcStack_78;\n  char **ppcStack_74;\n  char **ppcStack_70;\n  char **ppcStack_6c;\n  undefined *puStack_68;\n  code *pcStack_64;\n  char *azRowid [3];\n  char *pcStack_2c;\n  \n  puVar1 = PTR___stack_chk_guard_0015ba2c;\n  pcStack_2c = *(char **)PTR___stack_chk_guard_0015ba2c;\n  if (*(int *)(PTR_g_0015b5ec + 8) == 0) {\n    pcVar15 = (code *)(PTR_0015b5e4 + 0x73e0);\n    psVar2 = db_prepare(PTR_LAB_0015b5e8 + 0x5318,zDb,zTab);\n    puVar16 = PTR_LAB_0015b5e8;\n    iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(psVar2);\n    if (iVar3 == 100) {\n      pcVar4 = (char *)(*(code *)PTR_sqlite3_column_text_0015b634)(psVar2,3);\n                    /* WARNING: Subroutine does not return */\n      sqlite3_stricmp(pcVar4,puVar16 + 0x5330);\n    }\n    (*(code *)PTR_sqlite3_finalize_0015b63c)(psVar2);\n    iVar10 = 8;\n    iVar3 = 1;\n    psVar5 = (sqlite3_stmt *)(*pcVar15)(PTR_LAB_0015b5e8 + 0x5350,zDb,zTab);\n  }\n  else {\n    iVar3 = 0;\n    psVar2 = (sqlite3_stmt *)&DAT_00000064;\n    psVar5 = db_prepare(PTR_LAB_0015b5e8 + 0x5350,zDb,zTab);\n    while (iVar10 = (*(code *)PTR_sqlite3_step_0015b630)(psVar5), iVar10 == 100) {\n      while (iVar10 = (*(code *)PTR_sqlite3_column_int_0015b644)(psVar5,5), 0 < iVar10) {\n        iVar3 = iVar3 + 1;\n        iVar10 = (*(code *)PTR_sqlite3_step_0015b630)(psVar5);\n        if (iVar10 != 100) goto LAB_00017a28;\n      }\n    }\nLAB_00017a28:\n    (*(code *)PTR_sqlite3_reset_0015b648)(psVar5);\n    if (iVar3 == 0) {\n      iVar10 = 8;\n      iVar3 = 1;\n    }\n    else {\n      iVar10 = (iVar3 + 1) * 4;\n    }\n  }\n  puVar16 = PTR_sqlite3_malloc_0015b640;\n  pcVar4 = (char *)0x1;\n  *pnPKey = iVar3;\n  ppcVar6 = (char **)(*(code *)puVar16)(iVar10);\n  if (ppcVar6 == (char **)0x0) {\nLAB_00017cb8:\n                    /* WARNING: Subroutine does not return */\n    runtimeError(PTR_LAB_0015b5e8 + 0x52ac);\n  }\n  pcVar8 = (char *)0x0;\n  (*(code *)PTR_memset_0015b9b4)(ppcVar6,0,iVar10);\n  ppcVar13 = (char **)&DAT_00000064;\n  ppcVar14 = (char **)0x3fffffff;\n  ppcVar11 = (char **)(PTR_0015b5e4 + 0x7618);\n  do {\n    iVar10 = (*(code *)PTR_sqlite3_step_0015b630)(psVar5);\n    if (iVar10 != 100) {\n      (*(code *)PTR_sqlite3_finalize_0015b63c)(psVar5);\n      ppcVar6[iVar3] = (char *)0x0;\n      if (pbRowid != (int *)0x0) {\n        *pbRowid = (uint)(*ppcVar6 == (char *)0x0);\n      }\n      if (*ppcVar6 == (char *)0x0) {\n        ppcVar13 = azRowid;\n        ppcVar14 = &pcStack_2c;\n        azRowid[1] = PTR_LAB_0015b5e8 + 0x5368;\n        pcVar4 = PTR_DAT_0015b5fc + -0x7714;\n        ppcVar11 = ppcVar6 + 1;\n        azRowid[2] = PTR_LAB_0015b5e8 + 0x5370;\n        azRowid[0] = pcVar4;\n        if (1 < iVar3) {\n                    /* WARNING: Subroutine does not return */\n          sqlite3_stricmp(*ppcVar11,pcVar4);\n        }\n        pcVar8 = pcVar4;\n        pcVar7 = (char *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *ppcVar6 = pcVar7;\n        if (pcVar7 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          sqlite3_free(ppcVar6);\n        }\n      }\n      if (pcStack_2c == *(char **)puVar1) {\n        return ppcVar6;\n      }\n      pcVar15 = summarize_one_table;\n      pcVar7 = pcStack_2c;\n      puVar16 = PTR___stack_chk_fail_0015ba10;\n      (*(code *)PTR___stack_chk_fail_0015ba10)();\n      puStack_68 = puVar1;\n      iVar9 = *(int *)(puVar16 + 0x143914);\n      iVar10 = *(int *)(puVar16 + 0x143924);\n      uStack_8c = **(undefined4 **)(puVar16 + 0x143d54);\n      psStack_88 = psVar2;\n      iStack_84 = iVar3;\n      ppcStack_80 = ppcVar6;\n      psStack_7c = psVar5;\n      pcStack_78 = pcVar4;\n      ppcStack_74 = ppcVar11;\n      ppcStack_70 = ppcVar13;\n      ppcStack_6c = ppcVar14;\n      pcStack_64 = pcVar15;\n      safeId(pcVar7);\n      SStack_98.z = (char *)0x0;\n      SStack_98.nAlloc = 0;\n      SStack_98.nUsed = 0;\n      iVar3 = (**(code **)(puVar16 + 0x143974))\n                        (*(undefined4 *)(iVar9 + 0x14),iVar10 + -0x236c,pcVar7,0,0,0,0,0,0);\n      if (iVar3 == 0) {\n        iVar12 = *(int *)(puVar16 + 0x143910);\n        iVar3 = (**(code **)(puVar16 + 0x143974))\n                          (*(undefined4 *)(iVar9 + 0x14),iVar12 + 0x538c,pcVar7,0,0,0,0,0,0);\n        if (iVar3 == 0) {\n          ppcVar6 = columnNames((char *)(iVar12 + 0x538c),pcVar7,&iStack_a0,(int *)0x0);\n          ppcVar11 = columnNames((char *)(iVar10 + -0x236c),pcVar7,&iStack_9c,(int *)0x0);\n          if (ppcVar6 == (char **)0x0) {\n            (**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x5568,pcVar7)\n            ;\n                    /* WARNING: Subroutine does not return */\n            sqlite3_free(SStack_98.z);\n          }\n          iVar3 = *(int *)(puVar16 + 0x143910);\n          if (ppcVar11 != (char **)0x0) {\n            if (*ppcVar6 != (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              sqlite3_stricmp(*ppcVar6,*ppcVar11);\n            }\n            iVar3 = *(int *)(puVar16 + 0x143910);\n            if (iStack_9c == iStack_a0) {\n                    /* WARNING: Subroutine does not return */\n              strPrintf(&SStack_98,(char *)(*(int *)(puVar16 + 0x143910) + 0x53dc));\n            }\n          }\n          (**(code **)(puVar16 + 0x143cac))(pcVar8,1,iVar3 + 0x5568,pcVar7);\n                    /* WARNING: Subroutine does not return */\n          sqlite3_free(SStack_98.z);\n        }\n        (**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x53b8,pcVar7);\n      }\n      else {\n        iVar3 = (**(code **)(puVar16 + 0x143974))\n                          (*(undefined4 *)(iVar9 + 0x14),*(int *)(puVar16 + 0x143910) + 0x538c,\n                           pcVar7,0,0,0,0,0,0);\n        if (iVar3 == 0) {\n          (**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x5394,pcVar7);\n        }\n      }\n                    /* WARNING: Subroutine does not return */\n      sqlite3_free(SStack_98.z);\n    }\n    iVar10 = (*(code *)PTR_sqlite3_column_int_0015b644)(psVar5,5);\n    if (iVar10 < 1) {\n      iVar10 = (iVar3 + 2) * 4;\n      ppcVar6 = (char **)(*(code *)PTR_sqlite3_realloc_0015b5f0)(ppcVar6,iVar10);\n      if (ppcVar6 == (char **)0x0) goto LAB_00017cb8;\n      pcVar8 = (char *)0x1;\n      iVar3 = iVar3 + 1;\n      pcVar7 = (char *)(*(code *)PTR_sqlite3_column_text_0015b634)(psVar5);\n      iVar10 = iVar10 + -8;\n    }\n    else {\n      pcVar8 = (char *)0x1;\n      pcVar7 = (char *)(*(code *)PTR_sqlite3_column_text_0015b634)(psVar5);\n      iVar10 = (iVar10 + 0x3fffffff) * 4;\n    }\n    psVar2 = (sqlite3_stmt *)((int)ppcVar6 + iVar10);\n    pcVar7 = safeId(pcVar7);\n    *(char **)psVar2 = pcVar7;\n  } while( true );\n}\n\n" (function_definition "char ** columnNames(char *zDb,char *zTab,int *pnPKey,int *pbRowid)\n\n{\n  undefined *puVar1;\n  sqlite3_stmt *psVar2;\n  int iVar3;\n  char *pcVar4;\n  sqlite3_stmt *psVar5;\n  char **ppcVar6;\n  char *pcVar7;\n  char *pcVar8;\n  int iVar9;\n  int iVar10;\n  char **ppcVar11;\n  int iVar12;\n  char **ppcVar13;\n  char **ppcVar14;\n  code *pcVar15;\n  undefined *puVar16;\n  int iStack_a0;\n  int iStack_9c;\n  Str SStack_98;\n  undefined4 uStack_8c;\n  sqlite3_stmt *psStack_88;\n  int iStack_84;\n  char **ppcStack_80;\n  sqlite3_stmt *psStack_7c;\n  char *pcStack_78;\n  char **ppcStack_74;\n  char **ppcStack_70;\n  char **ppcStack_6c;\n  undefined *puStack_68;\n  code *pcStack_64;\n  char *azRowid [3];\n  char *pcStack_2c;\n  \n  puVar1 = PTR___stack_chk_guard_0015ba2c;\n  pcStack_2c = *(char **)PTR___stack_chk_guard_0015ba2c;\n  if (*(int *)(PTR_g_0015b5ec + 8) == 0) {\n    pcVar15 = (code *)(PTR_0015b5e4 + 0x73e0);\n    psVar2 = db_prepare(PTR_LAB_0015b5e8 + 0x5318,zDb,zTab);\n    puVar16 = PTR_LAB_0015b5e8;\n    iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(psVar2);\n    if (iVar3 == 100) {\n      pcVar4 = (char *)(*(code *)PTR_sqlite3_column_text_0015b634)(psVar2,3);\n                    /* WARNING: Subroutine does not return */\n      sqlite3_stricmp(pcVar4,puVar16 + 0x5330);\n    }\n    (*(code *)PTR_sqlite3_finalize_0015b63c)(psVar2);\n    iVar10 = 8;\n    iVar3 = 1;\n    psVar5 = (sqlite3_stmt *)(*pcVar15)(PTR_LAB_0015b5e8 + 0x5350,zDb,zTab);\n  }\n  else {\n    iVar3 = 0;\n    psVar2 = (sqlite3_stmt *)&DAT_00000064;\n    psVar5 = db_prepare(PTR_LAB_0015b5e8 + 0x5350,zDb,zTab);\n    while (iVar10 = (*(code *)PTR_sqlite3_step_0015b630)(psVar5), iVar10 == 100) {\n      while (iVar10 = (*(code *)PTR_sqlite3_column_int_0015b644)(psVar5,5), 0 < iVar10) {\n        iVar3 = iVar3 + 1;\n        iVar10 = (*(code *)PTR_sqlite3_step_0015b630)(psVar5);\n        if (iVar10 != 100) goto LAB_00017a28;\n      }\n    }\nLAB_00017a28:\n    (*(code *)PTR_sqlite3_reset_0015b648)(psVar5);\n    if (iVar3 == 0) {\n      iVar10 = 8;\n      iVar3 = 1;\n    }\n    else {\n      iVar10 = (iVar3 + 1) * 4;\n    }\n  }\n  puVar16 = PTR_sqlite3_malloc_0015b640;\n  pcVar4 = (char *)0x1;\n  *pnPKey = iVar3;\n  ppcVar6 = (char **)(*(code *)puVar16)(iVar10);\n  if (ppcVar6 == (char **)0x0) {\nLAB_00017cb8:\n                    /* WARNING: Subroutine does not return */\n    runtimeError(PTR_LAB_0015b5e8 + 0x52ac);\n  }\n  pcVar8 = (char *)0x0;\n  (*(code *)PTR_memset_0015b9b4)(ppcVar6,0,iVar10);\n  ppcVar13 = (char **)&DAT_00000064;\n  ppcVar14 = (char **)0x3fffffff;\n  ppcVar11 = (char **)(PTR_0015b5e4 + 0x7618);\n  do {\n    iVar10 = (*(code *)PTR_sqlite3_step_0015b630)(psVar5);\n    if (iVar10 != 100) {\n      (*(code *)PTR_sqlite3_finalize_0015b63c)(psVar5);\n      ppcVar6[iVar3] = (char *)0x0;\n      if (pbRowid != (int *)0x0) {\n        *pbRowid = (uint)(*ppcVar6 == (char *)0x0);\n      }\n      if (*ppcVar6 == (char *)0x0) {\n        ppcVar13 = azRowid;\n        ppcVar14 = &pcStack_2c;\n        azRowid[1] = PTR_LAB_0015b5e8 + 0x5368;\n        pcVar4 = PTR_DAT_0015b5fc + -0x7714;\n        ppcVar11 = ppcVar6 + 1;\n        azRowid[2] = PTR_LAB_0015b5e8 + 0x5370;\n        azRowid[0] = pcVar4;\n        if (1 < iVar3) {\n                    /* WARNING: Subroutine does not return */\n          sqlite3_stricmp(*ppcVar11,pcVar4);\n        }\n        pcVar8 = pcVar4;\n        pcVar7 = (char *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *ppcVar6 = pcVar7;\n        if (pcVar7 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          sqlite3_free(ppcVar6);\n        }\n      }\n      if (pcStack_2c == *(char **)puVar1) {\n        return ppcVar6;\n      }\n      pcVar15 = summarize_one_table;\n      pcVar7 = pcStack_2c;\n      puVar16 = PTR___stack_chk_fail_0015ba10;\n      (*(code *)PTR___stack_chk_fail_0015ba10)();\n      puStack_68 = puVar1;\n      iVar9 = *(int *)(puVar16 + 0x143914);\n      iVar10 = *(int *)(puVar16 + 0x143924);\n      uStack_8c = **(undefined4 **)(puVar16 + 0x143d54);\n      psStack_88 = psVar2;\n      iStack_84 = iVar3;\n      ppcStack_80 = ppcVar6;\n      psStack_7c = psVar5;\n      pcStack_78 = pcVar4;\n      ppcStack_74 = ppcVar11;\n      ppcStack_70 = ppcVar13;\n      ppcStack_6c = ppcVar14;\n      pcStack_64 = pcVar15;\n      safeId(pcVar7);\n      SStack_98.z = (char *)0x0;\n      SStack_98.nAlloc = 0;\n      SStack_98.nUsed = 0;\n      iVar3 = (**(code **)(puVar16 + 0x143974))\n                        (*(undefined4 *)(iVar9 + 0x14),iVar10 + -0x236c,pcVar7,0,0,0,0,0,0);\n      if (iVar3 == 0) {\n        iVar12 = *(int *)(puVar16 + 0x143910);\n        iVar3 = (**(code **)(puVar16 + 0x143974))\n                          (*(undefined4 *)(iVar9 + 0x14),iVar12 + 0x538c,pcVar7,0,0,0,0,0,0);\n        if (iVar3 == 0) {\n          ppcVar6 = columnNames((char *)(iVar12 + 0x538c),pcVar7,&iStack_a0,(int *)0x0);\n          ppcVar11 = columnNames((char *)(iVar10 + -0x236c),pcVar7,&iStack_9c,(int *)0x0);\n          if (ppcVar6 == (char **)0x0) {\n            (**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x5568,pcVar7)\n            ;\n                    /* WARNING: Subroutine does not return */\n            sqlite3_free(SStack_98.z);\n          }\n          iVar3 = *(int *)(puVar16 + 0x143910);\n          if (ppcVar11 != (char **)0x0) {\n            if (*ppcVar6 != (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              sqlite3_stricmp(*ppcVar6,*ppcVar11);\n            }\n            iVar3 = *(int *)(puVar16 + 0x143910);\n            if (iStack_9c == iStack_a0) {\n                    /* WARNING: Subroutine does not return */\n              strPrintf(&SStack_98,(char *)(*(int *)(puVar16 + 0x143910) + 0x53dc));\n            }\n          }\n          (**(code **)(puVar16 + 0x143cac))(pcVar8,1,iVar3 + 0x5568,pcVar7);\n                    /* WARNING: Subroutine does not return */\n          sqlite3_free(SStack_98.z);\n        }\n        (**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x53b8,pcVar7);\n      }\n      else {\n        iVar3 = (**(code **)(puVar16 + 0x143974))\n                          (*(undefined4 *)(iVar9 + 0x14),*(int *)(puVar16 + 0x143910) + 0x538c,\n                           pcVar7,0,0,0,0,0,0);\n        if (iVar3 == 0) {\n          (**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x5394,pcVar7);\n        }\n      }\n                    /* WARNING: Subroutine does not return */\n      sqlite3_free(SStack_98.z);\n    }\n    iVar10 = (*(code *)PTR_sqlite3_column_int_0015b644)(psVar5,5);\n    if (iVar10 < 1) {\n      iVar10 = (iVar3 + 2) * 4;\n      ppcVar6 = (char **)(*(code *)PTR_sqlite3_realloc_0015b5f0)(ppcVar6,iVar10);\n      if (ppcVar6 == (char **)0x0) goto LAB_00017cb8;\n      pcVar8 = (char *)0x1;\n      iVar3 = iVar3 + 1;\n      pcVar7 = (char *)(*(code *)PTR_sqlite3_column_text_0015b634)(psVar5);\n      iVar10 = iVar10 + -8;\n    }\n    else {\n      pcVar8 = (char *)0x1;\n      pcVar7 = (char *)(*(code *)PTR_sqlite3_column_text_0015b634)(psVar5);\n      iVar10 = (iVar10 + 0x3fffffff) * 4;\n    }\n    psVar2 = (sqlite3_stmt *)((int)ppcVar6 + iVar10);\n    pcVar7 = safeId(pcVar7);\n    *(char **)psVar2 = pcVar7;\n  } while( true );\n}" primitive_type (pointer_declarator "** columnNames(char *zDb,char *zTab,int *pnPKey,int *pbRowid)" * (pointer_declarator "* columnNames(char *zDb,char *zTab,int *pnPKey,int *pbRowid)" * (function_declarator "columnNames(char *zDb,char *zTab,int *pnPKey,int *pbRowid)" identifier (parameter_list "(char *zDb,char *zTab,int *pnPKey,int *pbRowid)" ( (parameter_declaration "char *zDb" primitive_type (pointer_declarator "*zDb" * identifier)) , (parameter_declaration "char *zTab" primitive_type (pointer_declarator "*zTab" * identifier)) , (parameter_declaration "int *pnPKey" primitive_type (pointer_declarator "*pnPKey" * identifier)) , (parameter_declaration "int *pbRowid" primitive_type (pointer_declarator "*pbRowid" * identifier)) ))))) (compound_statement "{\n  undefined *puVar1;\n  sqlite3_stmt *psVar2;\n  int iVar3;\n  char *pcVar4;\n  sqlite3_stmt *psVar5;\n  char **ppcVar6;\n  char *pcVar7;\n  char *pcVar8;\n  int iVar9;\n  int iVar10;\n  char **ppcVar11;\n  int iVar12;\n  char **ppcVar13;\n  char **ppcVar14;\n  code *pcVar15;\n  undefined *puVar16;\n  int iStack_a0;\n  int iStack_9c;\n  Str SStack_98;\n  undefined4 uStack_8c;\n  sqlite3_stmt *psStack_88;\n  int iStack_84;\n  char **ppcStack_80;\n  sqlite3_stmt *psStack_7c;\n  char *pcStack_78;\n  char **ppcStack_74;\n  char **ppcStack_70;\n  char **ppcStack_6c;\n  undefined *puStack_68;\n  code *pcStack_64;\n  char *azRowid [3];\n  char *pcStack_2c;\n  \n  puVar1 = PTR___stack_chk_guard_0015ba2c;\n  pcStack_2c = *(char **)PTR___stack_chk_guard_0015ba2c;\n  if (*(int *)(PTR_g_0015b5ec + 8) == 0) {\n    pcVar15 = (code *)(PTR_0015b5e4 + 0x73e0);\n    psVar2 = db_prepare(PTR_LAB_0015b5e8 + 0x5318,zDb,zTab);\n    puVar16 = PTR_LAB_0015b5e8;\n    iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(psVar2);\n    if (iVar3 == 100) {\n      pcVar4 = (char *)(*(code *)PTR_sqlite3_column_text_0015b634)(psVar2,3);\n                    /* WARNING: Subroutine does not return */\n      sqlite3_stricmp(pcVar4,puVar16 + 0x5330);\n    }\n    (*(code *)PTR_sqlite3_finalize_0015b63c)(psVar2);\n    iVar10 = 8;\n    iVar3 = 1;\n    psVar5 = (sqlite3_stmt *)(*pcVar15)(PTR_LAB_0015b5e8 + 0x5350,zDb,zTab);\n  }\n  else {\n    iVar3 = 0;\n    psVar2 = (sqlite3_stmt *)&DAT_00000064;\n    psVar5 = db_prepare(PTR_LAB_0015b5e8 + 0x5350,zDb,zTab);\n    while (iVar10 = (*(code *)PTR_sqlite3_step_0015b630)(psVar5), iVar10 == 100) {\n      while (iVar10 = (*(code *)PTR_sqlite3_column_int_0015b644)(psVar5,5), 0 < iVar10) {\n        iVar3 = iVar3 + 1;\n        iVar10 = (*(code *)PTR_sqlite3_step_0015b630)(psVar5);\n        if (iVar10 != 100) goto LAB_00017a28;\n      }\n    }\nLAB_00017a28:\n    (*(code *)PTR_sqlite3_reset_0015b648)(psVar5);\n    if (iVar3 == 0) {\n      iVar10 = 8;\n      iVar3 = 1;\n    }\n    else {\n      iVar10 = (iVar3 + 1) * 4;\n    }\n  }\n  puVar16 = PTR_sqlite3_malloc_0015b640;\n  pcVar4 = (char *)0x1;\n  *pnPKey = iVar3;\n  ppcVar6 = (char **)(*(code *)puVar16)(iVar10);\n  if (ppcVar6 == (char **)0x0) {\nLAB_00017cb8:\n                    /* WARNING: Subroutine does not return */\n    runtimeError(PTR_LAB_0015b5e8 + 0x52ac);\n  }\n  pcVar8 = (char *)0x0;\n  (*(code *)PTR_memset_0015b9b4)(ppcVar6,0,iVar10);\n  ppcVar13 = (char **)&DAT_00000064;\n  ppcVar14 = (char **)0x3fffffff;\n  ppcVar11 = (char **)(PTR_0015b5e4 + 0x7618);\n  do {\n    iVar10 = (*(code *)PTR_sqlite3_step_0015b630)(psVar5);\n    if (iVar10 != 100) {\n      (*(code *)PTR_sqlite3_finalize_0015b63c)(psVar5);\n      ppcVar6[iVar3] = (char *)0x0;\n      if (pbRowid != (int *)0x0) {\n        *pbRowid = (uint)(*ppcVar6 == (char *)0x0);\n      }\n      if (*ppcVar6 == (char *)0x0) {\n        ppcVar13 = azRowid;\n        ppcVar14 = &pcStack_2c;\n        azRowid[1] = PTR_LAB_0015b5e8 + 0x5368;\n        pcVar4 = PTR_DAT_0015b5fc + -0x7714;\n        ppcVar11 = ppcVar6 + 1;\n        azRowid[2] = PTR_LAB_0015b5e8 + 0x5370;\n        azRowid[0] = pcVar4;\n        if (1 < iVar3) {\n                    /* WARNING: Subroutine does not return */\n          sqlite3_stricmp(*ppcVar11,pcVar4);\n        }\n        pcVar8 = pcVar4;\n        pcVar7 = (char *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *ppcVar6 = pcVar7;\n        if (pcVar7 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          sqlite3_free(ppcVar6);\n        }\n      }\n      if (pcStack_2c == *(char **)puVar1) {\n        return ppcVar6;\n      }\n      pcVar15 = summarize_one_table;\n      pcVar7 = pcStack_2c;\n      puVar16 = PTR___stack_chk_fail_0015ba10;\n      (*(code *)PTR___stack_chk_fail_0015ba10)();\n      puStack_68 = puVar1;\n      iVar9 = *(int *)(puVar16 + 0x143914);\n      iVar10 = *(int *)(puVar16 + 0x143924);\n      uStack_8c = **(undefined4 **)(puVar16 + 0x143d54);\n      psStack_88 = psVar2;\n      iStack_84 = iVar3;\n      ppcStack_80 = ppcVar6;\n      psStack_7c = psVar5;\n      pcStack_78 = pcVar4;\n      ppcStack_74 = ppcVar11;\n      ppcStack_70 = ppcVar13;\n      ppcStack_6c = ppcVar14;\n      pcStack_64 = pcVar15;\n      safeId(pcVar7);\n      SStack_98.z = (char *)0x0;\n      SStack_98.nAlloc = 0;\n      SStack_98.nUsed = 0;\n      iVar3 = (**(code **)(puVar16 + 0x143974))\n                        (*(undefined4 *)(iVar9 + 0x14),iVar10 + -0x236c,pcVar7,0,0,0,0,0,0);\n      if (iVar3 == 0) {\n        iVar12 = *(int *)(puVar16 + 0x143910);\n        iVar3 = (**(code **)(puVar16 + 0x143974))\n                          (*(undefined4 *)(iVar9 + 0x14),iVar12 + 0x538c,pcVar7,0,0,0,0,0,0);\n        if (iVar3 == 0) {\n          ppcVar6 = columnNames((char *)(iVar12 + 0x538c),pcVar7,&iStack_a0,(int *)0x0);\n          ppcVar11 = columnNames((char *)(iVar10 + -0x236c),pcVar7,&iStack_9c,(int *)0x0);\n          if (ppcVar6 == (char **)0x0) {\n            (**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x5568,pcVar7)\n            ;\n                    /* WARNING: Subroutine does not return */\n            sqlite3_free(SStack_98.z);\n          }\n          iVar3 = *(int *)(puVar16 + 0x143910);\n          if (ppcVar11 != (char **)0x0) {\n            if (*ppcVar6 != (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              sqlite3_stricmp(*ppcVar6,*ppcVar11);\n            }\n            iVar3 = *(int *)(puVar16 + 0x143910);\n            if (iStack_9c == iStack_a0) {\n                    /* WARNING: Subroutine does not return */\n              strPrintf(&SStack_98,(char *)(*(int *)(puVar16 + 0x143910) + 0x53dc));\n            }\n          }\n          (**(code **)(puVar16 + 0x143cac))(pcVar8,1,iVar3 + 0x5568,pcVar7);\n                    /* WARNING: Subroutine does not return */\n          sqlite3_free(SStack_98.z);\n        }\n        (**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x53b8,pcVar7);\n      }\n      else {\n        iVar3 = (**(code **)(puVar16 + 0x143974))\n                          (*(undefined4 *)(iVar9 + 0x14),*(int *)(puVar16 + 0x143910) + 0x538c,\n                           pcVar7,0,0,0,0,0,0);\n        if (iVar3 == 0) {\n          (**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x5394,pcVar7);\n        }\n      }\n                    /* WARNING: Subroutine does not return */\n      sqlite3_free(SStack_98.z);\n    }\n    iVar10 = (*(code *)PTR_sqlite3_column_int_0015b644)(psVar5,5);\n    if (iVar10 < 1) {\n      iVar10 = (iVar3 + 2) * 4;\n      ppcVar6 = (char **)(*(code *)PTR_sqlite3_realloc_0015b5f0)(ppcVar6,iVar10);\n      if (ppcVar6 == (char **)0x0) goto LAB_00017cb8;\n      pcVar8 = (char *)0x1;\n      iVar3 = iVar3 + 1;\n      pcVar7 = (char *)(*(code *)PTR_sqlite3_column_text_0015b634)(psVar5);\n      iVar10 = iVar10 + -8;\n    }\n    else {\n      pcVar8 = (char *)0x1;\n      pcVar7 = (char *)(*(code *)PTR_sqlite3_column_text_0015b634)(psVar5);\n      iVar10 = (iVar10 + 0x3fffffff) * 4;\n    }\n    psVar2 = (sqlite3_stmt *)((int)ppcVar6 + iVar10);\n    pcVar7 = safeId(pcVar7);\n    *(char **)psVar2 = pcVar7;\n  } while( true );\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "sqlite3_stmt *psVar2;" type_identifier (pointer_declarator "*psVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "sqlite3_stmt *psVar5;" type_identifier (pointer_declarator "*psVar5" * identifier) ;) (declaration "char **ppcVar6;" primitive_type (pointer_declarator "**ppcVar6" * (pointer_declarator "*ppcVar6" * identifier)) ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "char **ppcVar11;" primitive_type (pointer_declarator "**ppcVar11" * (pointer_declarator "*ppcVar11" * identifier)) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "char **ppcVar13;" primitive_type (pointer_declarator "**ppcVar13" * (pointer_declarator "*ppcVar13" * identifier)) ;) (declaration "char **ppcVar14;" primitive_type (pointer_declarator "**ppcVar14" * (pointer_declarator "*ppcVar14" * identifier)) ;) (declaration "code *pcVar15;" type_identifier (pointer_declarator "*pcVar15" * identifier) ;) (declaration "undefined *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "int iStack_a0;" primitive_type identifier ;) (declaration "int iStack_9c;" primitive_type identifier ;) (declaration "Str SStack_98;" type_identifier identifier ;) (declaration "undefined4 uStack_8c;" type_identifier identifier ;) (declaration "sqlite3_stmt *psStack_88;" type_identifier (pointer_declarator "*psStack_88" * identifier) ;) (declaration "int iStack_84;" primitive_type identifier ;) (declaration "char **ppcStack_80;" primitive_type (pointer_declarator "**ppcStack_80" * (pointer_declarator "*ppcStack_80" * identifier)) ;) (declaration "sqlite3_stmt *psStack_7c;" type_identifier (pointer_declarator "*psStack_7c" * identifier) ;) (declaration "char *pcStack_78;" primitive_type (pointer_declarator "*pcStack_78" * identifier) ;) (declaration "char **ppcStack_74;" primitive_type (pointer_declarator "**ppcStack_74" * (pointer_declarator "*ppcStack_74" * identifier)) ;) (declaration "char **ppcStack_70;" primitive_type (pointer_declarator "**ppcStack_70" * (pointer_declarator "*ppcStack_70" * identifier)) ;) (declaration "char **ppcStack_6c;" primitive_type (pointer_declarator "**ppcStack_6c" * (pointer_declarator "*ppcStack_6c" * identifier)) ;) (declaration "undefined *puStack_68;" type_identifier (pointer_declarator "*puStack_68" * identifier) ;) (declaration "code *pcStack_64;" type_identifier (pointer_declarator "*pcStack_64" * identifier) ;) (declaration "char *azRowid [3];" primitive_type (pointer_declarator "*azRowid [3]" * (array_declarator "azRowid [3]" identifier [ number_literal ])) ;) (declaration "char *pcStack_2c;" primitive_type (pointer_declarator "*pcStack_2c" * identifier) ;) (expression_statement "puVar1 = PTR___stack_chk_guard_0015ba2c;" (assignment_expression "puVar1 = PTR___stack_chk_guard_0015ba2c" identifier = identifier) ;) (expression_statement "pcStack_2c = *(char **)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "pcStack_2c = *(char **)PTR___stack_chk_guard_0015ba2c" identifier = (pointer_expression "*(char **)PTR___stack_chk_guard_0015ba2c" * (cast_expression "(char **)PTR___stack_chk_guard_0015ba2c" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (*(int *)(PTR_g_0015b5ec + 8) == 0) {\n    pcVar15 = (code *)(PTR_0015b5e4 + 0x73e0);\n    psVar2 = db_prepare(PTR_LAB_0015b5e8 + 0x5318,zDb,zTab);\n    puVar16 = PTR_LAB_0015b5e8;\n    iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(psVar2);\n    if (iVar3 == 100) {\n      pcVar4 = (char *)(*(code *)PTR_sqlite3_column_text_0015b634)(psVar2,3);\n                    /* WARNING: Subroutine does not return */\n      sqlite3_stricmp(pcVar4,puVar16 + 0x5330);\n    }\n    (*(code *)PTR_sqlite3_finalize_0015b63c)(psVar2);\n    iVar10 = 8;\n    iVar3 = 1;\n    psVar5 = (sqlite3_stmt *)(*pcVar15)(PTR_LAB_0015b5e8 + 0x5350,zDb,zTab);\n  }\n  else {\n    iVar3 = 0;\n    psVar2 = (sqlite3_stmt *)&DAT_00000064;\n    psVar5 = db_prepare(PTR_LAB_0015b5e8 + 0x5350,zDb,zTab);\n    while (iVar10 = (*(code *)PTR_sqlite3_step_0015b630)(psVar5), iVar10 == 100) {\n      while (iVar10 = (*(code *)PTR_sqlite3_column_int_0015b644)(psVar5,5), 0 < iVar10) {\n        iVar3 = iVar3 + 1;\n        iVar10 = (*(code *)PTR_sqlite3_step_0015b630)(psVar5);\n        if (iVar10 != 100) goto LAB_00017a28;\n      }\n    }\nLAB_00017a28:\n    (*(code *)PTR_sqlite3_reset_0015b648)(psVar5);\n    if (iVar3 == 0) {\n      iVar10 = 8;\n      iVar3 = 1;\n    }\n    else {\n      iVar10 = (iVar3 + 1) * 4;\n    }\n  }" if (parenthesized_expression "(*(int *)(PTR_g_0015b5ec + 8) == 0)" ( (binary_expression "*(int *)(PTR_g_0015b5ec + 8) == 0" (pointer_expression "*(int *)(PTR_g_0015b5ec + 8)" * (cast_expression "(int *)(PTR_g_0015b5ec + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_g_0015b5ec + 8)" ( (binary_expression "PTR_g_0015b5ec + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    pcVar15 = (code *)(PTR_0015b5e4 + 0x73e0);\n    psVar2 = db_prepare(PTR_LAB_0015b5e8 + 0x5318,zDb,zTab);\n    puVar16 = PTR_LAB_0015b5e8;\n    iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(psVar2);\n    if (iVar3 == 100) {\n      pcVar4 = (char *)(*(code *)PTR_sqlite3_column_text_0015b634)(psVar2,3);\n                    /* WARNING: Subroutine does not return */\n      sqlite3_stricmp(pcVar4,puVar16 + 0x5330);\n    }\n    (*(code *)PTR_sqlite3_finalize_0015b63c)(psVar2);\n    iVar10 = 8;\n    iVar3 = 1;\n    psVar5 = (sqlite3_stmt *)(*pcVar15)(PTR_LAB_0015b5e8 + 0x5350,zDb,zTab);\n  }" { (expression_statement "pcVar15 = (code *)(PTR_0015b5e4 + 0x73e0);" (assignment_expression "pcVar15 = (code *)(PTR_0015b5e4 + 0x73e0)" identifier = (cast_expression "(code *)(PTR_0015b5e4 + 0x73e0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_0015b5e4 + 0x73e0)" ( (binary_expression "PTR_0015b5e4 + 0x73e0" identifier + number_literal) )))) ;) (expression_statement "psVar2 = db_prepare(PTR_LAB_0015b5e8 + 0x5318,zDb,zTab);" (assignment_expression "psVar2 = db_prepare(PTR_LAB_0015b5e8 + 0x5318,zDb,zTab)" identifier = (call_expression "db_prepare(PTR_LAB_0015b5e8 + 0x5318,zDb,zTab)" identifier (argument_list "(PTR_LAB_0015b5e8 + 0x5318,zDb,zTab)" ( (binary_expression "PTR_LAB_0015b5e8 + 0x5318" identifier + number_literal) , identifier , identifier )))) ;) (expression_statement "puVar16 = PTR_LAB_0015b5e8;" (assignment_expression "puVar16 = PTR_LAB_0015b5e8" identifier = identifier) ;) (expression_statement "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(psVar2);" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(psVar2)" identifier = (call_expression "(*(code *)PTR_sqlite3_step_0015b630)(psVar2)" (parenthesized_expression "(*(code *)PTR_sqlite3_step_0015b630)" ( (pointer_expression "*(code *)PTR_sqlite3_step_0015b630" * (cast_expression "(code *)PTR_sqlite3_step_0015b630" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(psVar2)" ( identifier )))) ;) (if_statement "if (iVar3 == 100) {\n      pcVar4 = (char *)(*(code *)PTR_sqlite3_column_text_0015b634)(psVar2,3);\n                    /* WARNING: Subroutine does not return */\n      sqlite3_stricmp(pcVar4,puVar16 + 0x5330);\n    }" if (parenthesized_expression "(iVar3 == 100)" ( (binary_expression "iVar3 == 100" identifier == number_literal) )) (compound_statement "{\n      pcVar4 = (char *)(*(code *)PTR_sqlite3_column_text_0015b634)(psVar2,3);\n                    /* WARNING: Subroutine does not return */\n      sqlite3_stricmp(pcVar4,puVar16 + 0x5330);\n    }" { (expression_statement "pcVar4 = (char *)(*(code *)PTR_sqlite3_column_text_0015b634)(psVar2,3);" (assignment_expression "pcVar4 = (char *)(*(code *)PTR_sqlite3_column_text_0015b634)(psVar2,3)" identifier = (cast_expression "(char *)(*(code *)PTR_sqlite3_column_text_0015b634)(psVar2,3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sqlite3_column_text_0015b634)(psVar2,3)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_text_0015b634)" ( (pointer_expression "*(code *)PTR_sqlite3_column_text_0015b634" * (cast_expression "(code *)PTR_sqlite3_column_text_0015b634" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(psVar2,3)" ( identifier , number_literal ))))) ;) comment (expression_statement "sqlite3_stricmp(pcVar4,puVar16 + 0x5330);" (call_expression "sqlite3_stricmp(pcVar4,puVar16 + 0x5330)" identifier (argument_list "(pcVar4,puVar16 + 0x5330)" ( identifier , (binary_expression "puVar16 + 0x5330" identifier + number_literal) ))) ;) })) (expression_statement "(*(code *)PTR_sqlite3_finalize_0015b63c)(psVar2);" (call_expression "(*(code *)PTR_sqlite3_finalize_0015b63c)(psVar2)" (parenthesized_expression "(*(code *)PTR_sqlite3_finalize_0015b63c)" ( (pointer_expression "*(code *)PTR_sqlite3_finalize_0015b63c" * (cast_expression "(code *)PTR_sqlite3_finalize_0015b63c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(psVar2)" ( identifier ))) ;) (expression_statement "iVar10 = 8;" (assignment_expression "iVar10 = 8" identifier = number_literal) ;) (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;) (expression_statement "psVar5 = (sqlite3_stmt *)(*pcVar15)(PTR_LAB_0015b5e8 + 0x5350,zDb,zTab);" (assignment_expression "psVar5 = (sqlite3_stmt *)(*pcVar15)(PTR_LAB_0015b5e8 + 0x5350,zDb,zTab)" identifier = (cast_expression "(sqlite3_stmt *)(*pcVar15)(PTR_LAB_0015b5e8 + 0x5350,zDb,zTab)" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar15)(PTR_LAB_0015b5e8 + 0x5350,zDb,zTab)" (parenthesized_expression "(*pcVar15)" ( (pointer_expression "*pcVar15" * identifier) )) (argument_list "(PTR_LAB_0015b5e8 + 0x5350,zDb,zTab)" ( (binary_expression "PTR_LAB_0015b5e8 + 0x5350" identifier + number_literal) , identifier , identifier ))))) ;) }) (else_clause "else {\n    iVar3 = 0;\n    psVar2 = (sqlite3_stmt *)&DAT_00000064;\n    psVar5 = db_prepare(PTR_LAB_0015b5e8 + 0x5350,zDb,zTab);\n    while (iVar10 = (*(code *)PTR_sqlite3_step_0015b630)(psVar5), iVar10 == 100) {\n      while (iVar10 = (*(code *)PTR_sqlite3_column_int_0015b644)(psVar5,5), 0 < iVar10) {\n        iVar3 = iVar3 + 1;\n        iVar10 = (*(code *)PTR_sqlite3_step_0015b630)(psVar5);\n        if (iVar10 != 100) goto LAB_00017a28;\n      }\n    }\nLAB_00017a28:\n    (*(code *)PTR_sqlite3_reset_0015b648)(psVar5);\n    if (iVar3 == 0) {\n      iVar10 = 8;\n      iVar3 = 1;\n    }\n    else {\n      iVar10 = (iVar3 + 1) * 4;\n    }\n  }" else (compound_statement "{\n    iVar3 = 0;\n    psVar2 = (sqlite3_stmt *)&DAT_00000064;\n    psVar5 = db_prepare(PTR_LAB_0015b5e8 + 0x5350,zDb,zTab);\n    while (iVar10 = (*(code *)PTR_sqlite3_step_0015b630)(psVar5), iVar10 == 100) {\n      while (iVar10 = (*(code *)PTR_sqlite3_column_int_0015b644)(psVar5,5), 0 < iVar10) {\n        iVar3 = iVar3 + 1;\n        iVar10 = (*(code *)PTR_sqlite3_step_0015b630)(psVar5);\n        if (iVar10 != 100) goto LAB_00017a28;\n      }\n    }\nLAB_00017a28:\n    (*(code *)PTR_sqlite3_reset_0015b648)(psVar5);\n    if (iVar3 == 0) {\n      iVar10 = 8;\n      iVar3 = 1;\n    }\n    else {\n      iVar10 = (iVar3 + 1) * 4;\n    }\n  }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "psVar2 = (sqlite3_stmt *)&DAT_00000064;" (assignment_expression "psVar2 = (sqlite3_stmt *)&DAT_00000064" identifier = (cast_expression "(sqlite3_stmt *)&DAT_00000064" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000064" & identifier))) ;) (expression_statement "psVar5 = db_prepare(PTR_LAB_0015b5e8 + 0x5350,zDb,zTab);" (assignment_expression "psVar5 = db_prepare(PTR_LAB_0015b5e8 + 0x5350,zDb,zTab)" identifier = (call_expression "db_prepare(PTR_LAB_0015b5e8 + 0x5350,zDb,zTab)" identifier (argument_list "(PTR_LAB_0015b5e8 + 0x5350,zDb,zTab)" ( (binary_expression "PTR_LAB_0015b5e8 + 0x5350" identifier + number_literal) , identifier , identifier )))) ;) (while_statement "while (iVar10 = (*(code *)PTR_sqlite3_step_0015b630)(psVar5), iVar10 == 100) {\n      while (iVar10 = (*(code *)PTR_sqlite3_column_int_0015b644)(psVar5,5), 0 < iVar10) {\n        iVar3 = iVar3 + 1;\n        iVar10 = (*(code *)PTR_sqlite3_step_0015b630)(psVar5);\n        if (iVar10 != 100) goto LAB_00017a28;\n      }\n    }" while (parenthesized_expression "(iVar10 = (*(code *)PTR_sqlite3_step_0015b630)(psVar5), iVar10 == 100)" ( (comma_expression "iVar10 = (*(code *)PTR_sqlite3_step_0015b630)(psVar5), iVar10 == 100" (assignment_expression "iVar10 = (*(code *)PTR_sqlite3_step_0015b630)(psVar5)" identifier = (call_expression "(*(code *)PTR_sqlite3_step_0015b630)(psVar5)" (parenthesized_expression "(*(code *)PTR_sqlite3_step_0015b630)" ( (pointer_expression "*(code *)PTR_sqlite3_step_0015b630" * (cast_expression "(code *)PTR_sqlite3_step_0015b630" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(psVar5)" ( identifier )))) , (binary_expression "iVar10 == 100" identifier == number_literal)) )) (compound_statement "{\n      while (iVar10 = (*(code *)PTR_sqlite3_column_int_0015b644)(psVar5,5), 0 < iVar10) {\n        iVar3 = iVar3 + 1;\n        iVar10 = (*(code *)PTR_sqlite3_step_0015b630)(psVar5);\n        if (iVar10 != 100) goto LAB_00017a28;\n      }\n    }" { (while_statement "while (iVar10 = (*(code *)PTR_sqlite3_column_int_0015b644)(psVar5,5), 0 < iVar10) {\n        iVar3 = iVar3 + 1;\n        iVar10 = (*(code *)PTR_sqlite3_step_0015b630)(psVar5);\n        if (iVar10 != 100) goto LAB_00017a28;\n      }" while (parenthesized_expression "(iVar10 = (*(code *)PTR_sqlite3_column_int_0015b644)(psVar5,5), 0 < iVar10)" ( (comma_expression "iVar10 = (*(code *)PTR_sqlite3_column_int_0015b644)(psVar5,5), 0 < iVar10" (assignment_expression "iVar10 = (*(code *)PTR_sqlite3_column_int_0015b644)(psVar5,5)" identifier = (call_expression "(*(code *)PTR_sqlite3_column_int_0015b644)(psVar5,5)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_int_0015b644)" ( (pointer_expression "*(code *)PTR_sqlite3_column_int_0015b644" * (cast_expression "(code *)PTR_sqlite3_column_int_0015b644" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(psVar5,5)" ( identifier , number_literal )))) , (binary_expression "0 < iVar10" number_literal < identifier)) )) (compound_statement "{\n        iVar3 = iVar3 + 1;\n        iVar10 = (*(code *)PTR_sqlite3_step_0015b630)(psVar5);\n        if (iVar10 != 100) goto LAB_00017a28;\n      }" { (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "iVar10 = (*(code *)PTR_sqlite3_step_0015b630)(psVar5);" (assignment_expression "iVar10 = (*(code *)PTR_sqlite3_step_0015b630)(psVar5)" identifier = (call_expression "(*(code *)PTR_sqlite3_step_0015b630)(psVar5)" (parenthesized_expression "(*(code *)PTR_sqlite3_step_0015b630)" ( (pointer_expression "*(code *)PTR_sqlite3_step_0015b630" * (cast_expression "(code *)PTR_sqlite3_step_0015b630" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(psVar5)" ( identifier )))) ;) (if_statement "if (iVar10 != 100) goto LAB_00017a28;" if (parenthesized_expression "(iVar10 != 100)" ( (binary_expression "iVar10 != 100" identifier != number_literal) )) (goto_statement "goto LAB_00017a28;" goto statement_identifier ;)) })) })) (labeled_statement "LAB_00017a28:\n    (*(code *)PTR_sqlite3_reset_0015b648)(psVar5);" statement_identifier : (expression_statement "(*(code *)PTR_sqlite3_reset_0015b648)(psVar5);" (call_expression "(*(code *)PTR_sqlite3_reset_0015b648)(psVar5)" (parenthesized_expression "(*(code *)PTR_sqlite3_reset_0015b648)" ( (pointer_expression "*(code *)PTR_sqlite3_reset_0015b648" * (cast_expression "(code *)PTR_sqlite3_reset_0015b648" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(psVar5)" ( identifier ))) ;)) (if_statement "if (iVar3 == 0) {\n      iVar10 = 8;\n      iVar3 = 1;\n    }\n    else {\n      iVar10 = (iVar3 + 1) * 4;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar10 = 8;\n      iVar3 = 1;\n    }" { (expression_statement "iVar10 = 8;" (assignment_expression "iVar10 = 8" identifier = number_literal) ;) (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;) }) (else_clause "else {\n      iVar10 = (iVar3 + 1) * 4;\n    }" else (compound_statement "{\n      iVar10 = (iVar3 + 1) * 4;\n    }" { (expression_statement "iVar10 = (iVar3 + 1) * 4;" (assignment_expression "iVar10 = (iVar3 + 1) * 4" identifier = (binary_expression "(iVar3 + 1) * 4" (parenthesized_expression "(iVar3 + 1)" ( (binary_expression "iVar3 + 1" identifier + number_literal) )) * number_literal)) ;) }))) }))) (expression_statement "puVar16 = PTR_sqlite3_malloc_0015b640;" (assignment_expression "puVar16 = PTR_sqlite3_malloc_0015b640" identifier = identifier) ;) (expression_statement "pcVar4 = (char *)0x1;" (assignment_expression "pcVar4 = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*pnPKey = iVar3;" (assignment_expression "*pnPKey = iVar3" (pointer_expression "*pnPKey" * identifier) = identifier) ;) (expression_statement "ppcVar6 = (char **)(*(code *)puVar16)(iVar10);" (assignment_expression "ppcVar6 = (char **)(*(code *)puVar16)(iVar10)" identifier = (cast_expression "(char **)(*(code *)puVar16)(iVar10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*(code *)puVar16)(iVar10)" (parenthesized_expression "(*(code *)puVar16)" ( (pointer_expression "*(code *)puVar16" * (cast_expression "(code *)puVar16" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar10)" ( identifier ))))) ;) (if_statement "if (ppcVar6 == (char **)0x0) {\nLAB_00017cb8:\n                    /* WARNING: Subroutine does not return */\n    runtimeError(PTR_LAB_0015b5e8 + 0x52ac);\n  }" if (parenthesized_expression "(ppcVar6 == (char **)0x0)" ( (binary_expression "ppcVar6 == (char **)0x0" identifier == (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\nLAB_00017cb8:\n                    /* WARNING: Subroutine does not return */\n    runtimeError(PTR_LAB_0015b5e8 + 0x52ac);\n  }" { (labeled_statement "LAB_00017cb8:\n                    /* WARNING: Subroutine does not return */\n    runtimeError(PTR_LAB_0015b5e8 + 0x52ac);" statement_identifier : comment (expression_statement "runtimeError(PTR_LAB_0015b5e8 + 0x52ac);" (call_expression "runtimeError(PTR_LAB_0015b5e8 + 0x52ac)" identifier (argument_list "(PTR_LAB_0015b5e8 + 0x52ac)" ( (binary_expression "PTR_LAB_0015b5e8 + 0x52ac" identifier + number_literal) ))) ;)) })) (expression_statement "pcVar8 = (char *)0x0;" (assignment_expression "pcVar8 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)PTR_memset_0015b9b4)(ppcVar6,0,iVar10);" (call_expression "(*(code *)PTR_memset_0015b9b4)(ppcVar6,0,iVar10)" (parenthesized_expression "(*(code *)PTR_memset_0015b9b4)" ( (pointer_expression "*(code *)PTR_memset_0015b9b4" * (cast_expression "(code *)PTR_memset_0015b9b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(ppcVar6,0,iVar10)" ( identifier , number_literal , identifier ))) ;) (expression_statement "ppcVar13 = (char **)&DAT_00000064;" (assignment_expression "ppcVar13 = (char **)&DAT_00000064" identifier = (cast_expression "(char **)&DAT_00000064" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&DAT_00000064" & identifier))) ;) (expression_statement "ppcVar14 = (char **)0x3fffffff;" (assignment_expression "ppcVar14 = (char **)0x3fffffff" identifier = (cast_expression "(char **)0x3fffffff" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "ppcVar11 = (char **)(PTR_0015b5e4 + 0x7618);" (assignment_expression "ppcVar11 = (char **)(PTR_0015b5e4 + 0x7618)" identifier = (cast_expression "(char **)(PTR_0015b5e4 + 0x7618)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_0015b5e4 + 0x7618)" ( (binary_expression "PTR_0015b5e4 + 0x7618" identifier + number_literal) )))) ;) (do_statement "do {\n    iVar10 = (*(code *)PTR_sqlite3_step_0015b630)(psVar5);\n    if (iVar10 != 100) {\n      (*(code *)PTR_sqlite3_finalize_0015b63c)(psVar5);\n      ppcVar6[iVar3] = (char *)0x0;\n      if (pbRowid != (int *)0x0) {\n        *pbRowid = (uint)(*ppcVar6 == (char *)0x0);\n      }\n      if (*ppcVar6 == (char *)0x0) {\n        ppcVar13 = azRowid;\n        ppcVar14 = &pcStack_2c;\n        azRowid[1] = PTR_LAB_0015b5e8 + 0x5368;\n        pcVar4 = PTR_DAT_0015b5fc + -0x7714;\n        ppcVar11 = ppcVar6 + 1;\n        azRowid[2] = PTR_LAB_0015b5e8 + 0x5370;\n        azRowid[0] = pcVar4;\n        if (1 < iVar3) {\n                    /* WARNING: Subroutine does not return */\n          sqlite3_stricmp(*ppcVar11,pcVar4);\n        }\n        pcVar8 = pcVar4;\n        pcVar7 = (char *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *ppcVar6 = pcVar7;\n        if (pcVar7 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          sqlite3_free(ppcVar6);\n        }\n      }\n      if (pcStack_2c == *(char **)puVar1) {\n        return ppcVar6;\n      }\n      pcVar15 = summarize_one_table;\n      pcVar7 = pcStack_2c;\n      puVar16 = PTR___stack_chk_fail_0015ba10;\n      (*(code *)PTR___stack_chk_fail_0015ba10)();\n      puStack_68 = puVar1;\n      iVar9 = *(int *)(puVar16 + 0x143914);\n      iVar10 = *(int *)(puVar16 + 0x143924);\n      uStack_8c = **(undefined4 **)(puVar16 + 0x143d54);\n      psStack_88 = psVar2;\n      iStack_84 = iVar3;\n      ppcStack_80 = ppcVar6;\n      psStack_7c = psVar5;\n      pcStack_78 = pcVar4;\n      ppcStack_74 = ppcVar11;\n      ppcStack_70 = ppcVar13;\n      ppcStack_6c = ppcVar14;\n      pcStack_64 = pcVar15;\n      safeId(pcVar7);\n      SStack_98.z = (char *)0x0;\n      SStack_98.nAlloc = 0;\n      SStack_98.nUsed = 0;\n      iVar3 = (**(code **)(puVar16 + 0x143974))\n                        (*(undefined4 *)(iVar9 + 0x14),iVar10 + -0x236c,pcVar7,0,0,0,0,0,0);\n      if (iVar3 == 0) {\n        iVar12 = *(int *)(puVar16 + 0x143910);\n        iVar3 = (**(code **)(puVar16 + 0x143974))\n                          (*(undefined4 *)(iVar9 + 0x14),iVar12 + 0x538c,pcVar7,0,0,0,0,0,0);\n        if (iVar3 == 0) {\n          ppcVar6 = columnNames((char *)(iVar12 + 0x538c),pcVar7,&iStack_a0,(int *)0x0);\n          ppcVar11 = columnNames((char *)(iVar10 + -0x236c),pcVar7,&iStack_9c,(int *)0x0);\n          if (ppcVar6 == (char **)0x0) {\n            (**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x5568,pcVar7)\n            ;\n                    /* WARNING: Subroutine does not return */\n            sqlite3_free(SStack_98.z);\n          }\n          iVar3 = *(int *)(puVar16 + 0x143910);\n          if (ppcVar11 != (char **)0x0) {\n            if (*ppcVar6 != (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              sqlite3_stricmp(*ppcVar6,*ppcVar11);\n            }\n            iVar3 = *(int *)(puVar16 + 0x143910);\n            if (iStack_9c == iStack_a0) {\n                    /* WARNING: Subroutine does not return */\n              strPrintf(&SStack_98,(char *)(*(int *)(puVar16 + 0x143910) + 0x53dc));\n            }\n          }\n          (**(code **)(puVar16 + 0x143cac))(pcVar8,1,iVar3 + 0x5568,pcVar7);\n                    /* WARNING: Subroutine does not return */\n          sqlite3_free(SStack_98.z);\n        }\n        (**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x53b8,pcVar7);\n      }\n      else {\n        iVar3 = (**(code **)(puVar16 + 0x143974))\n                          (*(undefined4 *)(iVar9 + 0x14),*(int *)(puVar16 + 0x143910) + 0x538c,\n                           pcVar7,0,0,0,0,0,0);\n        if (iVar3 == 0) {\n          (**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x5394,pcVar7);\n        }\n      }\n                    /* WARNING: Subroutine does not return */\n      sqlite3_free(SStack_98.z);\n    }\n    iVar10 = (*(code *)PTR_sqlite3_column_int_0015b644)(psVar5,5);\n    if (iVar10 < 1) {\n      iVar10 = (iVar3 + 2) * 4;\n      ppcVar6 = (char **)(*(code *)PTR_sqlite3_realloc_0015b5f0)(ppcVar6,iVar10);\n      if (ppcVar6 == (char **)0x0) goto LAB_00017cb8;\n      pcVar8 = (char *)0x1;\n      iVar3 = iVar3 + 1;\n      pcVar7 = (char *)(*(code *)PTR_sqlite3_column_text_0015b634)(psVar5);\n      iVar10 = iVar10 + -8;\n    }\n    else {\n      pcVar8 = (char *)0x1;\n      pcVar7 = (char *)(*(code *)PTR_sqlite3_column_text_0015b634)(psVar5);\n      iVar10 = (iVar10 + 0x3fffffff) * 4;\n    }\n    psVar2 = (sqlite3_stmt *)((int)ppcVar6 + iVar10);\n    pcVar7 = safeId(pcVar7);\n    *(char **)psVar2 = pcVar7;\n  } while( true );" do (compound_statement "{\n    iVar10 = (*(code *)PTR_sqlite3_step_0015b630)(psVar5);\n    if (iVar10 != 100) {\n      (*(code *)PTR_sqlite3_finalize_0015b63c)(psVar5);\n      ppcVar6[iVar3] = (char *)0x0;\n      if (pbRowid != (int *)0x0) {\n        *pbRowid = (uint)(*ppcVar6 == (char *)0x0);\n      }\n      if (*ppcVar6 == (char *)0x0) {\n        ppcVar13 = azRowid;\n        ppcVar14 = &pcStack_2c;\n        azRowid[1] = PTR_LAB_0015b5e8 + 0x5368;\n        pcVar4 = PTR_DAT_0015b5fc + -0x7714;\n        ppcVar11 = ppcVar6 + 1;\n        azRowid[2] = PTR_LAB_0015b5e8 + 0x5370;\n        azRowid[0] = pcVar4;\n        if (1 < iVar3) {\n                    /* WARNING: Subroutine does not return */\n          sqlite3_stricmp(*ppcVar11,pcVar4);\n        }\n        pcVar8 = pcVar4;\n        pcVar7 = (char *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *ppcVar6 = pcVar7;\n        if (pcVar7 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          sqlite3_free(ppcVar6);\n        }\n      }\n      if (pcStack_2c == *(char **)puVar1) {\n        return ppcVar6;\n      }\n      pcVar15 = summarize_one_table;\n      pcVar7 = pcStack_2c;\n      puVar16 = PTR___stack_chk_fail_0015ba10;\n      (*(code *)PTR___stack_chk_fail_0015ba10)();\n      puStack_68 = puVar1;\n      iVar9 = *(int *)(puVar16 + 0x143914);\n      iVar10 = *(int *)(puVar16 + 0x143924);\n      uStack_8c = **(undefined4 **)(puVar16 + 0x143d54);\n      psStack_88 = psVar2;\n      iStack_84 = iVar3;\n      ppcStack_80 = ppcVar6;\n      psStack_7c = psVar5;\n      pcStack_78 = pcVar4;\n      ppcStack_74 = ppcVar11;\n      ppcStack_70 = ppcVar13;\n      ppcStack_6c = ppcVar14;\n      pcStack_64 = pcVar15;\n      safeId(pcVar7);\n      SStack_98.z = (char *)0x0;\n      SStack_98.nAlloc = 0;\n      SStack_98.nUsed = 0;\n      iVar3 = (**(code **)(puVar16 + 0x143974))\n                        (*(undefined4 *)(iVar9 + 0x14),iVar10 + -0x236c,pcVar7,0,0,0,0,0,0);\n      if (iVar3 == 0) {\n        iVar12 = *(int *)(puVar16 + 0x143910);\n        iVar3 = (**(code **)(puVar16 + 0x143974))\n                          (*(undefined4 *)(iVar9 + 0x14),iVar12 + 0x538c,pcVar7,0,0,0,0,0,0);\n        if (iVar3 == 0) {\n          ppcVar6 = columnNames((char *)(iVar12 + 0x538c),pcVar7,&iStack_a0,(int *)0x0);\n          ppcVar11 = columnNames((char *)(iVar10 + -0x236c),pcVar7,&iStack_9c,(int *)0x0);\n          if (ppcVar6 == (char **)0x0) {\n            (**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x5568,pcVar7)\n            ;\n                    /* WARNING: Subroutine does not return */\n            sqlite3_free(SStack_98.z);\n          }\n          iVar3 = *(int *)(puVar16 + 0x143910);\n          if (ppcVar11 != (char **)0x0) {\n            if (*ppcVar6 != (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              sqlite3_stricmp(*ppcVar6,*ppcVar11);\n            }\n            iVar3 = *(int *)(puVar16 + 0x143910);\n            if (iStack_9c == iStack_a0) {\n                    /* WARNING: Subroutine does not return */\n              strPrintf(&SStack_98,(char *)(*(int *)(puVar16 + 0x143910) + 0x53dc));\n            }\n          }\n          (**(code **)(puVar16 + 0x143cac))(pcVar8,1,iVar3 + 0x5568,pcVar7);\n                    /* WARNING: Subroutine does not return */\n          sqlite3_free(SStack_98.z);\n        }\n        (**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x53b8,pcVar7);\n      }\n      else {\n        iVar3 = (**(code **)(puVar16 + 0x143974))\n                          (*(undefined4 *)(iVar9 + 0x14),*(int *)(puVar16 + 0x143910) + 0x538c,\n                           pcVar7,0,0,0,0,0,0);\n        if (iVar3 == 0) {\n          (**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x5394,pcVar7);\n        }\n      }\n                    /* WARNING: Subroutine does not return */\n      sqlite3_free(SStack_98.z);\n    }\n    iVar10 = (*(code *)PTR_sqlite3_column_int_0015b644)(psVar5,5);\n    if (iVar10 < 1) {\n      iVar10 = (iVar3 + 2) * 4;\n      ppcVar6 = (char **)(*(code *)PTR_sqlite3_realloc_0015b5f0)(ppcVar6,iVar10);\n      if (ppcVar6 == (char **)0x0) goto LAB_00017cb8;\n      pcVar8 = (char *)0x1;\n      iVar3 = iVar3 + 1;\n      pcVar7 = (char *)(*(code *)PTR_sqlite3_column_text_0015b634)(psVar5);\n      iVar10 = iVar10 + -8;\n    }\n    else {\n      pcVar8 = (char *)0x1;\n      pcVar7 = (char *)(*(code *)PTR_sqlite3_column_text_0015b634)(psVar5);\n      iVar10 = (iVar10 + 0x3fffffff) * 4;\n    }\n    psVar2 = (sqlite3_stmt *)((int)ppcVar6 + iVar10);\n    pcVar7 = safeId(pcVar7);\n    *(char **)psVar2 = pcVar7;\n  }" { (expression_statement "iVar10 = (*(code *)PTR_sqlite3_step_0015b630)(psVar5);" (assignment_expression "iVar10 = (*(code *)PTR_sqlite3_step_0015b630)(psVar5)" identifier = (call_expression "(*(code *)PTR_sqlite3_step_0015b630)(psVar5)" (parenthesized_expression "(*(code *)PTR_sqlite3_step_0015b630)" ( (pointer_expression "*(code *)PTR_sqlite3_step_0015b630" * (cast_expression "(code *)PTR_sqlite3_step_0015b630" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(psVar5)" ( identifier )))) ;) (if_statement "if (iVar10 != 100) {\n      (*(code *)PTR_sqlite3_finalize_0015b63c)(psVar5);\n      ppcVar6[iVar3] = (char *)0x0;\n      if (pbRowid != (int *)0x0) {\n        *pbRowid = (uint)(*ppcVar6 == (char *)0x0);\n      }\n      if (*ppcVar6 == (char *)0x0) {\n        ppcVar13 = azRowid;\n        ppcVar14 = &pcStack_2c;\n        azRowid[1] = PTR_LAB_0015b5e8 + 0x5368;\n        pcVar4 = PTR_DAT_0015b5fc + -0x7714;\n        ppcVar11 = ppcVar6 + 1;\n        azRowid[2] = PTR_LAB_0015b5e8 + 0x5370;\n        azRowid[0] = pcVar4;\n        if (1 < iVar3) {\n                    /* WARNING: Subroutine does not return */\n          sqlite3_stricmp(*ppcVar11,pcVar4);\n        }\n        pcVar8 = pcVar4;\n        pcVar7 = (char *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *ppcVar6 = pcVar7;\n        if (pcVar7 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          sqlite3_free(ppcVar6);\n        }\n      }\n      if (pcStack_2c == *(char **)puVar1) {\n        return ppcVar6;\n      }\n      pcVar15 = summarize_one_table;\n      pcVar7 = pcStack_2c;\n      puVar16 = PTR___stack_chk_fail_0015ba10;\n      (*(code *)PTR___stack_chk_fail_0015ba10)();\n      puStack_68 = puVar1;\n      iVar9 = *(int *)(puVar16 + 0x143914);\n      iVar10 = *(int *)(puVar16 + 0x143924);\n      uStack_8c = **(undefined4 **)(puVar16 + 0x143d54);\n      psStack_88 = psVar2;\n      iStack_84 = iVar3;\n      ppcStack_80 = ppcVar6;\n      psStack_7c = psVar5;\n      pcStack_78 = pcVar4;\n      ppcStack_74 = ppcVar11;\n      ppcStack_70 = ppcVar13;\n      ppcStack_6c = ppcVar14;\n      pcStack_64 = pcVar15;\n      safeId(pcVar7);\n      SStack_98.z = (char *)0x0;\n      SStack_98.nAlloc = 0;\n      SStack_98.nUsed = 0;\n      iVar3 = (**(code **)(puVar16 + 0x143974))\n                        (*(undefined4 *)(iVar9 + 0x14),iVar10 + -0x236c,pcVar7,0,0,0,0,0,0);\n      if (iVar3 == 0) {\n        iVar12 = *(int *)(puVar16 + 0x143910);\n        iVar3 = (**(code **)(puVar16 + 0x143974))\n                          (*(undefined4 *)(iVar9 + 0x14),iVar12 + 0x538c,pcVar7,0,0,0,0,0,0);\n        if (iVar3 == 0) {\n          ppcVar6 = columnNames((char *)(iVar12 + 0x538c),pcVar7,&iStack_a0,(int *)0x0);\n          ppcVar11 = columnNames((char *)(iVar10 + -0x236c),pcVar7,&iStack_9c,(int *)0x0);\n          if (ppcVar6 == (char **)0x0) {\n            (**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x5568,pcVar7)\n            ;\n                    /* WARNING: Subroutine does not return */\n            sqlite3_free(SStack_98.z);\n          }\n          iVar3 = *(int *)(puVar16 + 0x143910);\n          if (ppcVar11 != (char **)0x0) {\n            if (*ppcVar6 != (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              sqlite3_stricmp(*ppcVar6,*ppcVar11);\n            }\n            iVar3 = *(int *)(puVar16 + 0x143910);\n            if (iStack_9c == iStack_a0) {\n                    /* WARNING: Subroutine does not return */\n              strPrintf(&SStack_98,(char *)(*(int *)(puVar16 + 0x143910) + 0x53dc));\n            }\n          }\n          (**(code **)(puVar16 + 0x143cac))(pcVar8,1,iVar3 + 0x5568,pcVar7);\n                    /* WARNING: Subroutine does not return */\n          sqlite3_free(SStack_98.z);\n        }\n        (**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x53b8,pcVar7);\n      }\n      else {\n        iVar3 = (**(code **)(puVar16 + 0x143974))\n                          (*(undefined4 *)(iVar9 + 0x14),*(int *)(puVar16 + 0x143910) + 0x538c,\n                           pcVar7,0,0,0,0,0,0);\n        if (iVar3 == 0) {\n          (**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x5394,pcVar7);\n        }\n      }\n                    /* WARNING: Subroutine does not return */\n      sqlite3_free(SStack_98.z);\n    }" if (parenthesized_expression "(iVar10 != 100)" ( (binary_expression "iVar10 != 100" identifier != number_literal) )) (compound_statement "{\n      (*(code *)PTR_sqlite3_finalize_0015b63c)(psVar5);\n      ppcVar6[iVar3] = (char *)0x0;\n      if (pbRowid != (int *)0x0) {\n        *pbRowid = (uint)(*ppcVar6 == (char *)0x0);\n      }\n      if (*ppcVar6 == (char *)0x0) {\n        ppcVar13 = azRowid;\n        ppcVar14 = &pcStack_2c;\n        azRowid[1] = PTR_LAB_0015b5e8 + 0x5368;\n        pcVar4 = PTR_DAT_0015b5fc + -0x7714;\n        ppcVar11 = ppcVar6 + 1;\n        azRowid[2] = PTR_LAB_0015b5e8 + 0x5370;\n        azRowid[0] = pcVar4;\n        if (1 < iVar3) {\n                    /* WARNING: Subroutine does not return */\n          sqlite3_stricmp(*ppcVar11,pcVar4);\n        }\n        pcVar8 = pcVar4;\n        pcVar7 = (char *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *ppcVar6 = pcVar7;\n        if (pcVar7 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          sqlite3_free(ppcVar6);\n        }\n      }\n      if (pcStack_2c == *(char **)puVar1) {\n        return ppcVar6;\n      }\n      pcVar15 = summarize_one_table;\n      pcVar7 = pcStack_2c;\n      puVar16 = PTR___stack_chk_fail_0015ba10;\n      (*(code *)PTR___stack_chk_fail_0015ba10)();\n      puStack_68 = puVar1;\n      iVar9 = *(int *)(puVar16 + 0x143914);\n      iVar10 = *(int *)(puVar16 + 0x143924);\n      uStack_8c = **(undefined4 **)(puVar16 + 0x143d54);\n      psStack_88 = psVar2;\n      iStack_84 = iVar3;\n      ppcStack_80 = ppcVar6;\n      psStack_7c = psVar5;\n      pcStack_78 = pcVar4;\n      ppcStack_74 = ppcVar11;\n      ppcStack_70 = ppcVar13;\n      ppcStack_6c = ppcVar14;\n      pcStack_64 = pcVar15;\n      safeId(pcVar7);\n      SStack_98.z = (char *)0x0;\n      SStack_98.nAlloc = 0;\n      SStack_98.nUsed = 0;\n      iVar3 = (**(code **)(puVar16 + 0x143974))\n                        (*(undefined4 *)(iVar9 + 0x14),iVar10 + -0x236c,pcVar7,0,0,0,0,0,0);\n      if (iVar3 == 0) {\n        iVar12 = *(int *)(puVar16 + 0x143910);\n        iVar3 = (**(code **)(puVar16 + 0x143974))\n                          (*(undefined4 *)(iVar9 + 0x14),iVar12 + 0x538c,pcVar7,0,0,0,0,0,0);\n        if (iVar3 == 0) {\n          ppcVar6 = columnNames((char *)(iVar12 + 0x538c),pcVar7,&iStack_a0,(int *)0x0);\n          ppcVar11 = columnNames((char *)(iVar10 + -0x236c),pcVar7,&iStack_9c,(int *)0x0);\n          if (ppcVar6 == (char **)0x0) {\n            (**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x5568,pcVar7)\n            ;\n                    /* WARNING: Subroutine does not return */\n            sqlite3_free(SStack_98.z);\n          }\n          iVar3 = *(int *)(puVar16 + 0x143910);\n          if (ppcVar11 != (char **)0x0) {\n            if (*ppcVar6 != (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              sqlite3_stricmp(*ppcVar6,*ppcVar11);\n            }\n            iVar3 = *(int *)(puVar16 + 0x143910);\n            if (iStack_9c == iStack_a0) {\n                    /* WARNING: Subroutine does not return */\n              strPrintf(&SStack_98,(char *)(*(int *)(puVar16 + 0x143910) + 0x53dc));\n            }\n          }\n          (**(code **)(puVar16 + 0x143cac))(pcVar8,1,iVar3 + 0x5568,pcVar7);\n                    /* WARNING: Subroutine does not return */\n          sqlite3_free(SStack_98.z);\n        }\n        (**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x53b8,pcVar7);\n      }\n      else {\n        iVar3 = (**(code **)(puVar16 + 0x143974))\n                          (*(undefined4 *)(iVar9 + 0x14),*(int *)(puVar16 + 0x143910) + 0x538c,\n                           pcVar7,0,0,0,0,0,0);\n        if (iVar3 == 0) {\n          (**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x5394,pcVar7);\n        }\n      }\n                    /* WARNING: Subroutine does not return */\n      sqlite3_free(SStack_98.z);\n    }" { (expression_statement "(*(code *)PTR_sqlite3_finalize_0015b63c)(psVar5);" (call_expression "(*(code *)PTR_sqlite3_finalize_0015b63c)(psVar5)" (parenthesized_expression "(*(code *)PTR_sqlite3_finalize_0015b63c)" ( (pointer_expression "*(code *)PTR_sqlite3_finalize_0015b63c" * (cast_expression "(code *)PTR_sqlite3_finalize_0015b63c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(psVar5)" ( identifier ))) ;) (expression_statement "ppcVar6[iVar3] = (char *)0x0;" (assignment_expression "ppcVar6[iVar3] = (char *)0x0" (subscript_expression "ppcVar6[iVar3]" identifier [ identifier ]) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (pbRowid != (int *)0x0) {\n        *pbRowid = (uint)(*ppcVar6 == (char *)0x0);\n      }" if (parenthesized_expression "(pbRowid != (int *)0x0)" ( (binary_expression "pbRowid != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *pbRowid = (uint)(*ppcVar6 == (char *)0x0);\n      }" { (expression_statement "*pbRowid = (uint)(*ppcVar6 == (char *)0x0);" (assignment_expression "*pbRowid = (uint)(*ppcVar6 == (char *)0x0)" (pointer_expression "*pbRowid" * identifier) = (call_expression "(uint)(*ppcVar6 == (char *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*ppcVar6 == (char *)0x0)" ( (binary_expression "*ppcVar6 == (char *)0x0" (pointer_expression "*ppcVar6" * identifier) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )))) ;) })) (if_statement "if (*ppcVar6 == (char *)0x0) {\n        ppcVar13 = azRowid;\n        ppcVar14 = &pcStack_2c;\n        azRowid[1] = PTR_LAB_0015b5e8 + 0x5368;\n        pcVar4 = PTR_DAT_0015b5fc + -0x7714;\n        ppcVar11 = ppcVar6 + 1;\n        azRowid[2] = PTR_LAB_0015b5e8 + 0x5370;\n        azRowid[0] = pcVar4;\n        if (1 < iVar3) {\n                    /* WARNING: Subroutine does not return */\n          sqlite3_stricmp(*ppcVar11,pcVar4);\n        }\n        pcVar8 = pcVar4;\n        pcVar7 = (char *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *ppcVar6 = pcVar7;\n        if (pcVar7 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          sqlite3_free(ppcVar6);\n        }\n      }" if (parenthesized_expression "(*ppcVar6 == (char *)0x0)" ( (binary_expression "*ppcVar6 == (char *)0x0" (pointer_expression "*ppcVar6" * identifier) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        ppcVar13 = azRowid;\n        ppcVar14 = &pcStack_2c;\n        azRowid[1] = PTR_LAB_0015b5e8 + 0x5368;\n        pcVar4 = PTR_DAT_0015b5fc + -0x7714;\n        ppcVar11 = ppcVar6 + 1;\n        azRowid[2] = PTR_LAB_0015b5e8 + 0x5370;\n        azRowid[0] = pcVar4;\n        if (1 < iVar3) {\n                    /* WARNING: Subroutine does not return */\n          sqlite3_stricmp(*ppcVar11,pcVar4);\n        }\n        pcVar8 = pcVar4;\n        pcVar7 = (char *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *ppcVar6 = pcVar7;\n        if (pcVar7 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          sqlite3_free(ppcVar6);\n        }\n      }" { (expression_statement "ppcVar13 = azRowid;" (assignment_expression "ppcVar13 = azRowid" identifier = identifier) ;) (expression_statement "ppcVar14 = &pcStack_2c;" (assignment_expression "ppcVar14 = &pcStack_2c" identifier = (pointer_expression "&pcStack_2c" & identifier)) ;) (expression_statement "azRowid[1] = PTR_LAB_0015b5e8 + 0x5368;" (assignment_expression "azRowid[1] = PTR_LAB_0015b5e8 + 0x5368" (subscript_expression "azRowid[1]" identifier [ number_literal ]) = (binary_expression "PTR_LAB_0015b5e8 + 0x5368" identifier + number_literal)) ;) (expression_statement "pcVar4 = PTR_DAT_0015b5fc + -0x7714;" (assignment_expression "pcVar4 = PTR_DAT_0015b5fc + -0x7714" identifier = (binary_expression "PTR_DAT_0015b5fc + -0x7714" identifier + number_literal)) ;) (expression_statement "ppcVar11 = ppcVar6 + 1;" (assignment_expression "ppcVar11 = ppcVar6 + 1" identifier = (binary_expression "ppcVar6 + 1" identifier + number_literal)) ;) (expression_statement "azRowid[2] = PTR_LAB_0015b5e8 + 0x5370;" (assignment_expression "azRowid[2] = PTR_LAB_0015b5e8 + 0x5370" (subscript_expression "azRowid[2]" identifier [ number_literal ]) = (binary_expression "PTR_LAB_0015b5e8 + 0x5370" identifier + number_literal)) ;) (expression_statement "azRowid[0] = pcVar4;" (assignment_expression "azRowid[0] = pcVar4" (subscript_expression "azRowid[0]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (1 < iVar3) {\n                    /* WARNING: Subroutine does not return */\n          sqlite3_stricmp(*ppcVar11,pcVar4);\n        }" if (parenthesized_expression "(1 < iVar3)" ( (binary_expression "1 < iVar3" number_literal < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          sqlite3_stricmp(*ppcVar11,pcVar4);\n        }" { comment (expression_statement "sqlite3_stricmp(*ppcVar11,pcVar4);" (call_expression "sqlite3_stricmp(*ppcVar11,pcVar4)" identifier (argument_list "(*ppcVar11,pcVar4)" ( (pointer_expression "*ppcVar11" * identifier) , identifier ))) ;) })) (expression_statement "pcVar8 = pcVar4;" (assignment_expression "pcVar8 = pcVar4" identifier = identifier) ;) (expression_statement "pcVar7 = (char *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);" (assignment_expression "pcVar7 = (char *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4)" identifier = (cast_expression "(char *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4)" (parenthesized_expression "(*(code *)PTR_sqlite3_mprintf_0015b628)" ( (pointer_expression "*(code *)PTR_sqlite3_mprintf_0015b628" * (cast_expression "(code *)PTR_sqlite3_mprintf_0015b628" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_0015b5e8 + 0x71f4)" ( (binary_expression "PTR_LAB_0015b5e8 + 0x71f4" identifier + number_literal) ))))) ;) (expression_statement "*ppcVar6 = pcVar7;" (assignment_expression "*ppcVar6 = pcVar7" (pointer_expression "*ppcVar6" * identifier) = identifier) ;) (if_statement "if (pcVar7 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          sqlite3_free(ppcVar6);\n        }" if (parenthesized_expression "(pcVar7 == (char *)0x0)" ( (binary_expression "pcVar7 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          sqlite3_free(ppcVar6);\n        }" { comment (expression_statement "sqlite3_free(ppcVar6);" (call_expression "sqlite3_free(ppcVar6)" identifier (argument_list "(ppcVar6)" ( identifier ))) ;) })) })) (if_statement "if (pcStack_2c == *(char **)puVar1) {\n        return ppcVar6;\n      }" if (parenthesized_expression "(pcStack_2c == *(char **)puVar1)" ( (binary_expression "pcStack_2c == *(char **)puVar1" identifier == (pointer_expression "*(char **)puVar1" * (cast_expression "(char **)puVar1" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n        return ppcVar6;\n      }" { (return_statement "return ppcVar6;" return identifier ;) })) (expression_statement "pcVar15 = summarize_one_table;" (assignment_expression "pcVar15 = summarize_one_table" identifier = identifier) ;) (expression_statement "pcVar7 = pcStack_2c;" (assignment_expression "pcVar7 = pcStack_2c" identifier = identifier) ;) (expression_statement "puVar16 = PTR___stack_chk_fail_0015ba10;" (assignment_expression "puVar16 = PTR___stack_chk_fail_0015ba10" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0015ba10)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015ba10)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015ba10)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0015ba10" * (cast_expression "(code *)PTR___stack_chk_fail_0015ba10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_68 = puVar1;" (assignment_expression "puStack_68 = puVar1" identifier = identifier) ;) (expression_statement "iVar9 = *(int *)(puVar16 + 0x143914);" (assignment_expression "iVar9 = *(int *)(puVar16 + 0x143914)" identifier = (pointer_expression "*(int *)(puVar16 + 0x143914)" * (cast_expression "(int *)(puVar16 + 0x143914)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x143914)" ( (binary_expression "puVar16 + 0x143914" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(puVar16 + 0x143924);" (assignment_expression "iVar10 = *(int *)(puVar16 + 0x143924)" identifier = (pointer_expression "*(int *)(puVar16 + 0x143924)" * (cast_expression "(int *)(puVar16 + 0x143924)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x143924)" ( (binary_expression "puVar16 + 0x143924" identifier + number_literal) ))))) ;) (expression_statement "uStack_8c = **(undefined4 **)(puVar16 + 0x143d54);" (assignment_expression "uStack_8c = **(undefined4 **)(puVar16 + 0x143d54)" identifier = (pointer_expression "**(undefined4 **)(puVar16 + 0x143d54)" * (pointer_expression "*(undefined4 **)(puVar16 + 0x143d54)" * (cast_expression "(undefined4 **)(puVar16 + 0x143d54)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x143d54)" ( (binary_expression "puVar16 + 0x143d54" identifier + number_literal) )))))) ;) (expression_statement "psStack_88 = psVar2;" (assignment_expression "psStack_88 = psVar2" identifier = identifier) ;) (expression_statement "iStack_84 = iVar3;" (assignment_expression "iStack_84 = iVar3" identifier = identifier) ;) (expression_statement "ppcStack_80 = ppcVar6;" (assignment_expression "ppcStack_80 = ppcVar6" identifier = identifier) ;) (expression_statement "psStack_7c = psVar5;" (assignment_expression "psStack_7c = psVar5" identifier = identifier) ;) (expression_statement "pcStack_78 = pcVar4;" (assignment_expression "pcStack_78 = pcVar4" identifier = identifier) ;) (expression_statement "ppcStack_74 = ppcVar11;" (assignment_expression "ppcStack_74 = ppcVar11" identifier = identifier) ;) (expression_statement "ppcStack_70 = ppcVar13;" (assignment_expression "ppcStack_70 = ppcVar13" identifier = identifier) ;) (expression_statement "ppcStack_6c = ppcVar14;" (assignment_expression "ppcStack_6c = ppcVar14" identifier = identifier) ;) (expression_statement "pcStack_64 = pcVar15;" (assignment_expression "pcStack_64 = pcVar15" identifier = identifier) ;) (expression_statement "safeId(pcVar7);" (call_expression "safeId(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier ))) ;) (expression_statement "SStack_98.z = (char *)0x0;" (assignment_expression "SStack_98.z = (char *)0x0" (field_expression "SStack_98.z" identifier . field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "SStack_98.nAlloc = 0;" (assignment_expression "SStack_98.nAlloc = 0" (field_expression "SStack_98.nAlloc" identifier . field_identifier) = number_literal) ;) (expression_statement "SStack_98.nUsed = 0;" (assignment_expression "SStack_98.nUsed = 0" (field_expression "SStack_98.nUsed" identifier . field_identifier) = number_literal) ;) (expression_statement "iVar3 = (**(code **)(puVar16 + 0x143974))\n                        (*(undefined4 *)(iVar9 + 0x14),iVar10 + -0x236c,pcVar7,0,0,0,0,0,0);" (assignment_expression "iVar3 = (**(code **)(puVar16 + 0x143974))\n                        (*(undefined4 *)(iVar9 + 0x14),iVar10 + -0x236c,pcVar7,0,0,0,0,0,0)" identifier = (call_expression "(**(code **)(puVar16 + 0x143974))\n                        (*(undefined4 *)(iVar9 + 0x14),iVar10 + -0x236c,pcVar7,0,0,0,0,0,0)" (parenthesized_expression "(**(code **)(puVar16 + 0x143974))" ( (pointer_expression "**(code **)(puVar16 + 0x143974)" * (pointer_expression "*(code **)(puVar16 + 0x143974)" * (cast_expression "(code **)(puVar16 + 0x143974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x143974)" ( (binary_expression "puVar16 + 0x143974" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar9 + 0x14),iVar10 + -0x236c,pcVar7,0,0,0,0,0,0)" ( (pointer_expression "*(undefined4 *)(iVar9 + 0x14)" * (cast_expression "(undefined4 *)(iVar9 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x14)" ( (binary_expression "iVar9 + 0x14" identifier + number_literal) )))) , (binary_expression "iVar10 + -0x236c" identifier + number_literal) , identifier , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal )))) ;) (if_statement "if (iVar3 == 0) {\n        iVar12 = *(int *)(puVar16 + 0x143910);\n        iVar3 = (**(code **)(puVar16 + 0x143974))\n                          (*(undefined4 *)(iVar9 + 0x14),iVar12 + 0x538c,pcVar7,0,0,0,0,0,0);\n        if (iVar3 == 0) {\n          ppcVar6 = columnNames((char *)(iVar12 + 0x538c),pcVar7,&iStack_a0,(int *)0x0);\n          ppcVar11 = columnNames((char *)(iVar10 + -0x236c),pcVar7,&iStack_9c,(int *)0x0);\n          if (ppcVar6 == (char **)0x0) {\n            (**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x5568,pcVar7)\n            ;\n                    /* WARNING: Subroutine does not return */\n            sqlite3_free(SStack_98.z);\n          }\n          iVar3 = *(int *)(puVar16 + 0x143910);\n          if (ppcVar11 != (char **)0x0) {\n            if (*ppcVar6 != (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              sqlite3_stricmp(*ppcVar6,*ppcVar11);\n            }\n            iVar3 = *(int *)(puVar16 + 0x143910);\n            if (iStack_9c == iStack_a0) {\n                    /* WARNING: Subroutine does not return */\n              strPrintf(&SStack_98,(char *)(*(int *)(puVar16 + 0x143910) + 0x53dc));\n            }\n          }\n          (**(code **)(puVar16 + 0x143cac))(pcVar8,1,iVar3 + 0x5568,pcVar7);\n                    /* WARNING: Subroutine does not return */\n          sqlite3_free(SStack_98.z);\n        }\n        (**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x53b8,pcVar7);\n      }\n      else {\n        iVar3 = (**(code **)(puVar16 + 0x143974))\n                          (*(undefined4 *)(iVar9 + 0x14),*(int *)(puVar16 + 0x143910) + 0x538c,\n                           pcVar7,0,0,0,0,0,0);\n        if (iVar3 == 0) {\n          (**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x5394,pcVar7);\n        }\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar12 = *(int *)(puVar16 + 0x143910);\n        iVar3 = (**(code **)(puVar16 + 0x143974))\n                          (*(undefined4 *)(iVar9 + 0x14),iVar12 + 0x538c,pcVar7,0,0,0,0,0,0);\n        if (iVar3 == 0) {\n          ppcVar6 = columnNames((char *)(iVar12 + 0x538c),pcVar7,&iStack_a0,(int *)0x0);\n          ppcVar11 = columnNames((char *)(iVar10 + -0x236c),pcVar7,&iStack_9c,(int *)0x0);\n          if (ppcVar6 == (char **)0x0) {\n            (**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x5568,pcVar7)\n            ;\n                    /* WARNING: Subroutine does not return */\n            sqlite3_free(SStack_98.z);\n          }\n          iVar3 = *(int *)(puVar16 + 0x143910);\n          if (ppcVar11 != (char **)0x0) {\n            if (*ppcVar6 != (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              sqlite3_stricmp(*ppcVar6,*ppcVar11);\n            }\n            iVar3 = *(int *)(puVar16 + 0x143910);\n            if (iStack_9c == iStack_a0) {\n                    /* WARNING: Subroutine does not return */\n              strPrintf(&SStack_98,(char *)(*(int *)(puVar16 + 0x143910) + 0x53dc));\n            }\n          }\n          (**(code **)(puVar16 + 0x143cac))(pcVar8,1,iVar3 + 0x5568,pcVar7);\n                    /* WARNING: Subroutine does not return */\n          sqlite3_free(SStack_98.z);\n        }\n        (**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x53b8,pcVar7);\n      }" { (expression_statement "iVar12 = *(int *)(puVar16 + 0x143910);" (assignment_expression "iVar12 = *(int *)(puVar16 + 0x143910)" identifier = (pointer_expression "*(int *)(puVar16 + 0x143910)" * (cast_expression "(int *)(puVar16 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x143910)" ( (binary_expression "puVar16 + 0x143910" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = (**(code **)(puVar16 + 0x143974))\n                          (*(undefined4 *)(iVar9 + 0x14),iVar12 + 0x538c,pcVar7,0,0,0,0,0,0);" (assignment_expression "iVar3 = (**(code **)(puVar16 + 0x143974))\n                          (*(undefined4 *)(iVar9 + 0x14),iVar12 + 0x538c,pcVar7,0,0,0,0,0,0)" identifier = (call_expression "(**(code **)(puVar16 + 0x143974))\n                          (*(undefined4 *)(iVar9 + 0x14),iVar12 + 0x538c,pcVar7,0,0,0,0,0,0)" (parenthesized_expression "(**(code **)(puVar16 + 0x143974))" ( (pointer_expression "**(code **)(puVar16 + 0x143974)" * (pointer_expression "*(code **)(puVar16 + 0x143974)" * (cast_expression "(code **)(puVar16 + 0x143974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x143974)" ( (binary_expression "puVar16 + 0x143974" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar9 + 0x14),iVar12 + 0x538c,pcVar7,0,0,0,0,0,0)" ( (pointer_expression "*(undefined4 *)(iVar9 + 0x14)" * (cast_expression "(undefined4 *)(iVar9 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x14)" ( (binary_expression "iVar9 + 0x14" identifier + number_literal) )))) , (binary_expression "iVar12 + 0x538c" identifier + number_literal) , identifier , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal )))) ;) (if_statement "if (iVar3 == 0) {\n          ppcVar6 = columnNames((char *)(iVar12 + 0x538c),pcVar7,&iStack_a0,(int *)0x0);\n          ppcVar11 = columnNames((char *)(iVar10 + -0x236c),pcVar7,&iStack_9c,(int *)0x0);\n          if (ppcVar6 == (char **)0x0) {\n            (**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x5568,pcVar7)\n            ;\n                    /* WARNING: Subroutine does not return */\n            sqlite3_free(SStack_98.z);\n          }\n          iVar3 = *(int *)(puVar16 + 0x143910);\n          if (ppcVar11 != (char **)0x0) {\n            if (*ppcVar6 != (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              sqlite3_stricmp(*ppcVar6,*ppcVar11);\n            }\n            iVar3 = *(int *)(puVar16 + 0x143910);\n            if (iStack_9c == iStack_a0) {\n                    /* WARNING: Subroutine does not return */\n              strPrintf(&SStack_98,(char *)(*(int *)(puVar16 + 0x143910) + 0x53dc));\n            }\n          }\n          (**(code **)(puVar16 + 0x143cac))(pcVar8,1,iVar3 + 0x5568,pcVar7);\n                    /* WARNING: Subroutine does not return */\n          sqlite3_free(SStack_98.z);\n        }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          ppcVar6 = columnNames((char *)(iVar12 + 0x538c),pcVar7,&iStack_a0,(int *)0x0);\n          ppcVar11 = columnNames((char *)(iVar10 + -0x236c),pcVar7,&iStack_9c,(int *)0x0);\n          if (ppcVar6 == (char **)0x0) {\n            (**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x5568,pcVar7)\n            ;\n                    /* WARNING: Subroutine does not return */\n            sqlite3_free(SStack_98.z);\n          }\n          iVar3 = *(int *)(puVar16 + 0x143910);\n          if (ppcVar11 != (char **)0x0) {\n            if (*ppcVar6 != (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              sqlite3_stricmp(*ppcVar6,*ppcVar11);\n            }\n            iVar3 = *(int *)(puVar16 + 0x143910);\n            if (iStack_9c == iStack_a0) {\n                    /* WARNING: Subroutine does not return */\n              strPrintf(&SStack_98,(char *)(*(int *)(puVar16 + 0x143910) + 0x53dc));\n            }\n          }\n          (**(code **)(puVar16 + 0x143cac))(pcVar8,1,iVar3 + 0x5568,pcVar7);\n                    /* WARNING: Subroutine does not return */\n          sqlite3_free(SStack_98.z);\n        }" { (expression_statement "ppcVar6 = columnNames((char *)(iVar12 + 0x538c),pcVar7,&iStack_a0,(int *)0x0);" (assignment_expression "ppcVar6 = columnNames((char *)(iVar12 + 0x538c),pcVar7,&iStack_a0,(int *)0x0)" identifier = (call_expression "columnNames((char *)(iVar12 + 0x538c),pcVar7,&iStack_a0,(int *)0x0)" identifier (argument_list "((char *)(iVar12 + 0x538c),pcVar7,&iStack_a0,(int *)0x0)" ( (cast_expression "(char *)(iVar12 + 0x538c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x538c)" ( (binary_expression "iVar12 + 0x538c" identifier + number_literal) ))) , identifier , (pointer_expression "&iStack_a0" & identifier) , (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (expression_statement "ppcVar11 = columnNames((char *)(iVar10 + -0x236c),pcVar7,&iStack_9c,(int *)0x0);" (assignment_expression "ppcVar11 = columnNames((char *)(iVar10 + -0x236c),pcVar7,&iStack_9c,(int *)0x0)" identifier = (call_expression "columnNames((char *)(iVar10 + -0x236c),pcVar7,&iStack_9c,(int *)0x0)" identifier (argument_list "((char *)(iVar10 + -0x236c),pcVar7,&iStack_9c,(int *)0x0)" ( (cast_expression "(char *)(iVar10 + -0x236c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + -0x236c)" ( (binary_expression "iVar10 + -0x236c" identifier + number_literal) ))) , identifier , (pointer_expression "&iStack_9c" & identifier) , (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (if_statement "if (ppcVar6 == (char **)0x0) {\n            (**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x5568,pcVar7)\n            ;\n                    /* WARNING: Subroutine does not return */\n            sqlite3_free(SStack_98.z);\n          }" if (parenthesized_expression "(ppcVar6 == (char **)0x0)" ( (binary_expression "ppcVar6 == (char **)0x0" identifier == (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n            (**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x5568,pcVar7)\n            ;\n                    /* WARNING: Subroutine does not return */\n            sqlite3_free(SStack_98.z);\n          }" { (expression_statement "(**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x5568,pcVar7)\n            ;" (call_expression "(**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x5568,pcVar7)" (parenthesized_expression "(**(code **)(puVar16 + 0x143cac))" ( (pointer_expression "**(code **)(puVar16 + 0x143cac)" * (pointer_expression "*(code **)(puVar16 + 0x143cac)" * (cast_expression "(code **)(puVar16 + 0x143cac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x143cac)" ( (binary_expression "puVar16 + 0x143cac" identifier + number_literal) ))))) )) (argument_list "(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x5568,pcVar7)" ( identifier , number_literal , (binary_expression "*(int *)(puVar16 + 0x143910) + 0x5568" (pointer_expression "*(int *)(puVar16 + 0x143910)" * (cast_expression "(int *)(puVar16 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x143910)" ( (binary_expression "puVar16 + 0x143910" identifier + number_literal) )))) + number_literal) , identifier ))) ;) comment (expression_statement "sqlite3_free(SStack_98.z);" (call_expression "sqlite3_free(SStack_98.z)" identifier (argument_list "(SStack_98.z)" ( (field_expression "SStack_98.z" identifier . field_identifier) ))) ;) })) (expression_statement "iVar3 = *(int *)(puVar16 + 0x143910);" (assignment_expression "iVar3 = *(int *)(puVar16 + 0x143910)" identifier = (pointer_expression "*(int *)(puVar16 + 0x143910)" * (cast_expression "(int *)(puVar16 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x143910)" ( (binary_expression "puVar16 + 0x143910" identifier + number_literal) ))))) ;) (if_statement "if (ppcVar11 != (char **)0x0) {\n            if (*ppcVar6 != (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              sqlite3_stricmp(*ppcVar6,*ppcVar11);\n            }\n            iVar3 = *(int *)(puVar16 + 0x143910);\n            if (iStack_9c == iStack_a0) {\n                    /* WARNING: Subroutine does not return */\n              strPrintf(&SStack_98,(char *)(*(int *)(puVar16 + 0x143910) + 0x53dc));\n            }\n          }" if (parenthesized_expression "(ppcVar11 != (char **)0x0)" ( (binary_expression "ppcVar11 != (char **)0x0" identifier != (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n            if (*ppcVar6 != (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              sqlite3_stricmp(*ppcVar6,*ppcVar11);\n            }\n            iVar3 = *(int *)(puVar16 + 0x143910);\n            if (iStack_9c == iStack_a0) {\n                    /* WARNING: Subroutine does not return */\n              strPrintf(&SStack_98,(char *)(*(int *)(puVar16 + 0x143910) + 0x53dc));\n            }\n          }" { (if_statement "if (*ppcVar6 != (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              sqlite3_stricmp(*ppcVar6,*ppcVar11);\n            }" if (parenthesized_expression "(*ppcVar6 != (char *)0x0)" ( (binary_expression "*ppcVar6 != (char *)0x0" (pointer_expression "*ppcVar6" * identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              sqlite3_stricmp(*ppcVar6,*ppcVar11);\n            }" { comment (expression_statement "sqlite3_stricmp(*ppcVar6,*ppcVar11);" (call_expression "sqlite3_stricmp(*ppcVar6,*ppcVar11)" identifier (argument_list "(*ppcVar6,*ppcVar11)" ( (pointer_expression "*ppcVar6" * identifier) , (pointer_expression "*ppcVar11" * identifier) ))) ;) })) (expression_statement "iVar3 = *(int *)(puVar16 + 0x143910);" (assignment_expression "iVar3 = *(int *)(puVar16 + 0x143910)" identifier = (pointer_expression "*(int *)(puVar16 + 0x143910)" * (cast_expression "(int *)(puVar16 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x143910)" ( (binary_expression "puVar16 + 0x143910" identifier + number_literal) ))))) ;) (if_statement "if (iStack_9c == iStack_a0) {\n                    /* WARNING: Subroutine does not return */\n              strPrintf(&SStack_98,(char *)(*(int *)(puVar16 + 0x143910) + 0x53dc));\n            }" if (parenthesized_expression "(iStack_9c == iStack_a0)" ( (binary_expression "iStack_9c == iStack_a0" identifier == identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              strPrintf(&SStack_98,(char *)(*(int *)(puVar16 + 0x143910) + 0x53dc));\n            }" { comment (expression_statement "strPrintf(&SStack_98,(char *)(*(int *)(puVar16 + 0x143910) + 0x53dc));" (call_expression "strPrintf(&SStack_98,(char *)(*(int *)(puVar16 + 0x143910) + 0x53dc))" identifier (argument_list "(&SStack_98,(char *)(*(int *)(puVar16 + 0x143910) + 0x53dc))" ( (pointer_expression "&SStack_98" & identifier) , (cast_expression "(char *)(*(int *)(puVar16 + 0x143910) + 0x53dc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar16 + 0x143910) + 0x53dc)" ( (binary_expression "*(int *)(puVar16 + 0x143910) + 0x53dc" (pointer_expression "*(int *)(puVar16 + 0x143910)" * (cast_expression "(int *)(puVar16 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x143910)" ( (binary_expression "puVar16 + 0x143910" identifier + number_literal) )))) + number_literal) ))) ))) ;) })) })) (expression_statement "(**(code **)(puVar16 + 0x143cac))(pcVar8,1,iVar3 + 0x5568,pcVar7);" (call_expression "(**(code **)(puVar16 + 0x143cac))(pcVar8,1,iVar3 + 0x5568,pcVar7)" (parenthesized_expression "(**(code **)(puVar16 + 0x143cac))" ( (pointer_expression "**(code **)(puVar16 + 0x143cac)" * (pointer_expression "*(code **)(puVar16 + 0x143cac)" * (cast_expression "(code **)(puVar16 + 0x143cac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x143cac)" ( (binary_expression "puVar16 + 0x143cac" identifier + number_literal) ))))) )) (argument_list "(pcVar8,1,iVar3 + 0x5568,pcVar7)" ( identifier , number_literal , (binary_expression "iVar3 + 0x5568" identifier + number_literal) , identifier ))) ;) comment (expression_statement "sqlite3_free(SStack_98.z);" (call_expression "sqlite3_free(SStack_98.z)" identifier (argument_list "(SStack_98.z)" ( (field_expression "SStack_98.z" identifier . field_identifier) ))) ;) })) (expression_statement "(**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x53b8,pcVar7);" (call_expression "(**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x53b8,pcVar7)" (parenthesized_expression "(**(code **)(puVar16 + 0x143cac))" ( (pointer_expression "**(code **)(puVar16 + 0x143cac)" * (pointer_expression "*(code **)(puVar16 + 0x143cac)" * (cast_expression "(code **)(puVar16 + 0x143cac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x143cac)" ( (binary_expression "puVar16 + 0x143cac" identifier + number_literal) ))))) )) (argument_list "(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x53b8,pcVar7)" ( identifier , number_literal , (binary_expression "*(int *)(puVar16 + 0x143910) + 0x53b8" (pointer_expression "*(int *)(puVar16 + 0x143910)" * (cast_expression "(int *)(puVar16 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x143910)" ( (binary_expression "puVar16 + 0x143910" identifier + number_literal) )))) + number_literal) , identifier ))) ;) }) (else_clause "else {\n        iVar3 = (**(code **)(puVar16 + 0x143974))\n                          (*(undefined4 *)(iVar9 + 0x14),*(int *)(puVar16 + 0x143910) + 0x538c,\n                           pcVar7,0,0,0,0,0,0);\n        if (iVar3 == 0) {\n          (**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x5394,pcVar7);\n        }\n      }" else (compound_statement "{\n        iVar3 = (**(code **)(puVar16 + 0x143974))\n                          (*(undefined4 *)(iVar9 + 0x14),*(int *)(puVar16 + 0x143910) + 0x538c,\n                           pcVar7,0,0,0,0,0,0);\n        if (iVar3 == 0) {\n          (**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x5394,pcVar7);\n        }\n      }" { (expression_statement "iVar3 = (**(code **)(puVar16 + 0x143974))\n                          (*(undefined4 *)(iVar9 + 0x14),*(int *)(puVar16 + 0x143910) + 0x538c,\n                           pcVar7,0,0,0,0,0,0);" (assignment_expression "iVar3 = (**(code **)(puVar16 + 0x143974))\n                          (*(undefined4 *)(iVar9 + 0x14),*(int *)(puVar16 + 0x143910) + 0x538c,\n                           pcVar7,0,0,0,0,0,0)" identifier = (call_expression "(**(code **)(puVar16 + 0x143974))\n                          (*(undefined4 *)(iVar9 + 0x14),*(int *)(puVar16 + 0x143910) + 0x538c,\n                           pcVar7,0,0,0,0,0,0)" (parenthesized_expression "(**(code **)(puVar16 + 0x143974))" ( (pointer_expression "**(code **)(puVar16 + 0x143974)" * (pointer_expression "*(code **)(puVar16 + 0x143974)" * (cast_expression "(code **)(puVar16 + 0x143974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x143974)" ( (binary_expression "puVar16 + 0x143974" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar9 + 0x14),*(int *)(puVar16 + 0x143910) + 0x538c,\n                           pcVar7,0,0,0,0,0,0)" ( (pointer_expression "*(undefined4 *)(iVar9 + 0x14)" * (cast_expression "(undefined4 *)(iVar9 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x14)" ( (binary_expression "iVar9 + 0x14" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar16 + 0x143910) + 0x538c" (pointer_expression "*(int *)(puVar16 + 0x143910)" * (cast_expression "(int *)(puVar16 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x143910)" ( (binary_expression "puVar16 + 0x143910" identifier + number_literal) )))) + number_literal) , identifier , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal )))) ;) (if_statement "if (iVar3 == 0) {\n          (**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x5394,pcVar7);\n        }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          (**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x5394,pcVar7);\n        }" { (expression_statement "(**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x5394,pcVar7);" (call_expression "(**(code **)(puVar16 + 0x143cac))(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x5394,pcVar7)" (parenthesized_expression "(**(code **)(puVar16 + 0x143cac))" ( (pointer_expression "**(code **)(puVar16 + 0x143cac)" * (pointer_expression "*(code **)(puVar16 + 0x143cac)" * (cast_expression "(code **)(puVar16 + 0x143cac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x143cac)" ( (binary_expression "puVar16 + 0x143cac" identifier + number_literal) ))))) )) (argument_list "(pcVar8,1,*(int *)(puVar16 + 0x143910) + 0x5394,pcVar7)" ( identifier , number_literal , (binary_expression "*(int *)(puVar16 + 0x143910) + 0x5394" (pointer_expression "*(int *)(puVar16 + 0x143910)" * (cast_expression "(int *)(puVar16 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x143910)" ( (binary_expression "puVar16 + 0x143910" identifier + number_literal) )))) + number_literal) , identifier ))) ;) })) }))) comment (expression_statement "sqlite3_free(SStack_98.z);" (call_expression "sqlite3_free(SStack_98.z)" identifier (argument_list "(SStack_98.z)" ( (field_expression "SStack_98.z" identifier . field_identifier) ))) ;) })) (expression_statement "iVar10 = (*(code *)PTR_sqlite3_column_int_0015b644)(psVar5,5);" (assignment_expression "iVar10 = (*(code *)PTR_sqlite3_column_int_0015b644)(psVar5,5)" identifier = (call_expression "(*(code *)PTR_sqlite3_column_int_0015b644)(psVar5,5)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_int_0015b644)" ( (pointer_expression "*(code *)PTR_sqlite3_column_int_0015b644" * (cast_expression "(code *)PTR_sqlite3_column_int_0015b644" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(psVar5,5)" ( identifier , number_literal )))) ;) (if_statement "if (iVar10 < 1) {\n      iVar10 = (iVar3 + 2) * 4;\n      ppcVar6 = (char **)(*(code *)PTR_sqlite3_realloc_0015b5f0)(ppcVar6,iVar10);\n      if (ppcVar6 == (char **)0x0) goto LAB_00017cb8;\n      pcVar8 = (char *)0x1;\n      iVar3 = iVar3 + 1;\n      pcVar7 = (char *)(*(code *)PTR_sqlite3_column_text_0015b634)(psVar5);\n      iVar10 = iVar10 + -8;\n    }\n    else {\n      pcVar8 = (char *)0x1;\n      pcVar7 = (char *)(*(code *)PTR_sqlite3_column_text_0015b634)(psVar5);\n      iVar10 = (iVar10 + 0x3fffffff) * 4;\n    }" if (parenthesized_expression "(iVar10 < 1)" ( (binary_expression "iVar10 < 1" identifier < number_literal) )) (compound_statement "{\n      iVar10 = (iVar3 + 2) * 4;\n      ppcVar6 = (char **)(*(code *)PTR_sqlite3_realloc_0015b5f0)(ppcVar6,iVar10);\n      if (ppcVar6 == (char **)0x0) goto LAB_00017cb8;\n      pcVar8 = (char *)0x1;\n      iVar3 = iVar3 + 1;\n      pcVar7 = (char *)(*(code *)PTR_sqlite3_column_text_0015b634)(psVar5);\n      iVar10 = iVar10 + -8;\n    }" { (expression_statement "iVar10 = (iVar3 + 2) * 4;" (assignment_expression "iVar10 = (iVar3 + 2) * 4" identifier = (binary_expression "(iVar3 + 2) * 4" (parenthesized_expression "(iVar3 + 2)" ( (binary_expression "iVar3 + 2" identifier + number_literal) )) * number_literal)) ;) (expression_statement "ppcVar6 = (char **)(*(code *)PTR_sqlite3_realloc_0015b5f0)(ppcVar6,iVar10);" (assignment_expression "ppcVar6 = (char **)(*(code *)PTR_sqlite3_realloc_0015b5f0)(ppcVar6,iVar10)" identifier = (cast_expression "(char **)(*(code *)PTR_sqlite3_realloc_0015b5f0)(ppcVar6,iVar10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*(code *)PTR_sqlite3_realloc_0015b5f0)(ppcVar6,iVar10)" (parenthesized_expression "(*(code *)PTR_sqlite3_realloc_0015b5f0)" ( (pointer_expression "*(code *)PTR_sqlite3_realloc_0015b5f0" * (cast_expression "(code *)PTR_sqlite3_realloc_0015b5f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(ppcVar6,iVar10)" ( identifier , identifier ))))) ;) (if_statement "if (ppcVar6 == (char **)0x0) goto LAB_00017cb8;" if (parenthesized_expression "(ppcVar6 == (char **)0x0)" ( (binary_expression "ppcVar6 == (char **)0x0" identifier == (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_00017cb8;" goto statement_identifier ;)) (expression_statement "pcVar8 = (char *)0x1;" (assignment_expression "pcVar8 = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "pcVar7 = (char *)(*(code *)PTR_sqlite3_column_text_0015b634)(psVar5);" (assignment_expression "pcVar7 = (char *)(*(code *)PTR_sqlite3_column_text_0015b634)(psVar5)" identifier = (cast_expression "(char *)(*(code *)PTR_sqlite3_column_text_0015b634)(psVar5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sqlite3_column_text_0015b634)(psVar5)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_text_0015b634)" ( (pointer_expression "*(code *)PTR_sqlite3_column_text_0015b634" * (cast_expression "(code *)PTR_sqlite3_column_text_0015b634" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(psVar5)" ( identifier ))))) ;) (expression_statement "iVar10 = iVar10 + -8;" (assignment_expression "iVar10 = iVar10 + -8" identifier = (binary_expression "iVar10 + -8" identifier + number_literal)) ;) }) (else_clause "else {\n      pcVar8 = (char *)0x1;\n      pcVar7 = (char *)(*(code *)PTR_sqlite3_column_text_0015b634)(psVar5);\n      iVar10 = (iVar10 + 0x3fffffff) * 4;\n    }" else (compound_statement "{\n      pcVar8 = (char *)0x1;\n      pcVar7 = (char *)(*(code *)PTR_sqlite3_column_text_0015b634)(psVar5);\n      iVar10 = (iVar10 + 0x3fffffff) * 4;\n    }" { (expression_statement "pcVar8 = (char *)0x1;" (assignment_expression "pcVar8 = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar7 = (char *)(*(code *)PTR_sqlite3_column_text_0015b634)(psVar5);" (assignment_expression "pcVar7 = (char *)(*(code *)PTR_sqlite3_column_text_0015b634)(psVar5)" identifier = (cast_expression "(char *)(*(code *)PTR_sqlite3_column_text_0015b634)(psVar5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sqlite3_column_text_0015b634)(psVar5)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_text_0015b634)" ( (pointer_expression "*(code *)PTR_sqlite3_column_text_0015b634" * (cast_expression "(code *)PTR_sqlite3_column_text_0015b634" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(psVar5)" ( identifier ))))) ;) (expression_statement "iVar10 = (iVar10 + 0x3fffffff) * 4;" (assignment_expression "iVar10 = (iVar10 + 0x3fffffff) * 4" identifier = (binary_expression "(iVar10 + 0x3fffffff) * 4" (parenthesized_expression "(iVar10 + 0x3fffffff)" ( (binary_expression "iVar10 + 0x3fffffff" identifier + number_literal) )) * number_literal)) ;) }))) (expression_statement "psVar2 = (sqlite3_stmt *)((int)ppcVar6 + iVar10);" (assignment_expression "psVar2 = (sqlite3_stmt *)((int)ppcVar6 + iVar10)" identifier = (cast_expression "(sqlite3_stmt *)((int)ppcVar6 + iVar10)" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar6 + iVar10)" ( (binary_expression "(int)ppcVar6 + iVar10" (cast_expression "(int)ppcVar6" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "pcVar7 = safeId(pcVar7);" (assignment_expression "pcVar7 = safeId(pcVar7)" identifier = (call_expression "safeId(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier )))) ;) (expression_statement "*(char **)psVar2 = pcVar7;" (assignment_expression "*(char **)psVar2 = pcVar7" (pointer_expression "*(char **)psVar2" * (cast_expression "(char **)psVar2" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "int * FUN_00017720(int *param_1,int **param_2,int **param_3,uint *param_4)\n\n{\n  undefined *puVar1;\n  int *piVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int *piVar5;\n  int *piVar6;\n  undefined4 uVar7;\n  int iVar8;\n  int *piVar9;\n  int iVar10;\n  int *piVar11;\n  int iVar12;\n  int **ppiVar13;\n  int iVar14;\n  int *piVar15;\n  int *piVar16;\n  int *piVar17;\n  int iVar18;\n  code *pcVar19;\n  undefined *puVar20;\n  undefined8 uVar21;\n  undefined8 uVar22;\n  undefined8 uVar23;\n  undefined8 uVar24;\n  int local_a8;\n  uint local_a4;\n  int local_a0;\n  int local_9c;\n  undefined4 local_98;\n  undefined4 local_94;\n  undefined4 local_90;\n  int *local_8c;\n  int *local_88;\n  int *local_84;\n  int *local_80;\n  int *local_7c;\n  int *local_78;\n  int *local_74;\n  int **local_70;\n  int **local_6c;\n  undefined *local_68;\n  undefined4 local_64;\n  int *local_38;\n  undefined *local_34;\n  undefined *local_30;\n  int *local_2c;\n  \n  puVar1 = PTR___stack_chk_guard_0015ba2c;\n  local_2c = *(int **)PTR___stack_chk_guard_0015ba2c;\n  if (*(int *)(PTR_g_0015b5ec + 8) != 0) {\n    piVar11 = (int *)0x0;\n    piVar2 = (int *)&DAT_00000064;\n    piVar5 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2);\n    do {\n      iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      while( true ) {\n        if (iVar3 != 100) {\n          (*(code *)PTR_sqlite3_reset_0015b648)(piVar5);\n          if (piVar11 == (int *)0x0) {\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }\n          else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }\n          goto LAB_00017854;\n        }\n        param_1 = (int *)&DAT_00000005;\n        iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5);\n        if (iVar3 < 1) break;\n        piVar11 = (int *)((int)piVar11 + 1);\n        iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      }\n    } while( true );\n  }\n  pcVar19 = (code *)(PTR_0015b5e4 + 0x73e0);\n  piVar2 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5318,param_1,param_2);\n  puVar20 = PTR_LAB_0015b5e8;\n  iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n  while (iVar3 == 100) {\n    uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,3);\n    iVar3 = sqlite3_stricmp(uVar4,puVar20 + 0x5330);\n    if (iVar3 == 0) {\n      uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,1);\n      piVar5 = (int *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4,uVar4);\n      (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n      piVar2 = piVar5;\n      if (piVar5 != (int *)0x0) {\n        piVar6 = (int *)0x0;\n        piVar15 = (int *)0x0;\n        piVar2 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5);\n        piVar11 = (int *)0x0;\n        do {\n          iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          while( true ) {\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }\n          iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1);\n          if (-1 < iVar3) {\n            piVar15 = (int *)0x1;\n          }\n        } while( true );\n      }\n      goto LAB_00017824;\n    }\n    iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n  }\n  (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\nLAB_00017824:\n  piVar17 = (int *)&DAT_00000008;\n  piVar11 = (int *)0x1;\n  piVar15 = (int *)0x1;\nLAB_00017834:\n  piVar5 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2);\nLAB_00017854:\n  puVar20 = PTR_sqlite3_malloc_0015b640;\n  *param_3 = piVar11;\n  piVar6 = (int *)(*(code *)puVar20)(piVar17);\n  if (piVar6 == (int *)0x0) {\nLAB_00017cb8:\n    piVar9 = (int *)(PTR_LAB_0015b5e8 + 0x52ac);\n    FUN_00016d3c(piVar9);\n  }\n  else {\n    param_1 = (int *)0x0;\n    (*(code *)PTR_memset_0015b9b4)(piVar6,0,piVar17);\n    param_3 = (int **)&DAT_00000064;\n    param_2 = (int **)0x3fffffff;\n    piVar17 = (int *)(PTR_0015b5e4 + 0x7618);\n    while (iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5), iVar3 == 100) {\n      if ((piVar15 == (int *)0x0) ||\n         (iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1)) {\n        piVar2 = (int *)(((int)piVar11 + 2) * 4);\n        param_1 = piVar2;\n        piVar6 = (int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6);\n        if (piVar6 == (int *)0x0) goto LAB_00017cb8;\n        param_1 = (int *)0x1;\n        piVar11 = (int *)((int)piVar11 + 1);\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = piVar2 + -2;\n      }\n      else {\n        param_1 = (int *)0x1;\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = (int *)((iVar3 + 0x3fffffff) * 4);\n      }\n      piVar2 = (int *)((int)piVar6 + (int)piVar2);\n      iVar3 = FUN_00017618(uVar4);\n      *piVar2 = iVar3;\n    }\n    (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar5);\n    piVar6[(int)piVar11] = 0;\n    if (param_4 != (uint *)0x0) {\n      *param_4 = (uint)(*piVar6 == 0);\n    }\n    if (*piVar6 == 0) {\n      param_3 = &local_38;\n      param_2 = &local_2c;\n      local_34 = PTR_LAB_0015b5e8 + 0x5368;\n      piVar15 = (int *)(PTR_UINT_0015b5fc + -0x7714);\n      piVar17 = piVar6 + 1;\n      local_30 = PTR_LAB_0015b5e8 + 0x5370;\n      local_38 = piVar15;\n      if ((int)piVar11 < 2) {\n        param_1 = piVar15;\n        iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *piVar6 = iVar3;\n        if (iVar3 == 0) goto LAB_00017b14;\n      }\n      else {\n        while( true ) {\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }\n        piVar2 = (int *)0x1;\n        if (*piVar6 == 0) {\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }\n      }\n    }\nLAB_00017984:\n    piVar9 = local_2c;\n    if (local_2c == *(int **)puVar1) {\n      return piVar6;\n    }\n  }\n  uVar4 = 0x17cd8;\n  puVar20 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  local_68 = puVar1;\n  piVar16 = *(int **)(puVar20 + 0x143d54);\n  iVar14 = *(int *)(puVar20 + 0x143914);\n  iVar12 = *(int *)(puVar20 + 0x143924);\n  local_8c = (int *)*piVar16;\n  local_88 = piVar2;\n  local_84 = piVar11;\n  local_80 = piVar6;\n  local_7c = piVar5;\n  local_78 = piVar15;\n  local_74 = piVar17;\n  local_70 = param_3;\n  local_6c = param_2;\n  local_64 = uVar4;\n  uVar4 = FUN_00017618();\n  local_98 = 0;\n  local_94 = 0;\n  local_90 = 0;\n  iVar3 = (**(code **)(puVar20 + 0x143974))\n                    (*(undefined4 *)(iVar14 + 0x14),iVar12 + -0x236c,piVar9,0,0,0,0,0,0);\n  if (iVar3 != 0) {\n    iVar3 = (**(code **)(puVar20 + 0x143974))\n                      (*(undefined4 *)(iVar14 + 0x14),*(int *)(puVar20 + 0x143910) + 0x538c,piVar9,0\n                       ,0,0,0,0,0);\n    if (iVar3 == 0) {\n      (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5394,piVar9);\n    }\nLAB_00018294:\n    sqlite3_free(local_98);\n    local_98 = 0;\n    local_94 = 0;\n    local_90 = 0;\n    sqlite3_free(uVar4);\n    goto LAB_000182c0;\n  }\n  iVar18 = *(int *)(puVar20 + 0x143910);\n  iVar3 = (**(code **)(puVar20 + 0x143974))\n                    (*(undefined4 *)(iVar14 + 0x14),iVar18 + 0x538c,piVar9,0,0,0,0,0,0);\n  if (iVar3 != 0) {\n    (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x53b8,piVar9);\n    goto LAB_00018294;\n  }\n  piVar11 = (int *)FUN_00017720(iVar18 + 0x538c,piVar9,&local_a0,0);\n  param_3 = (int **)FUN_00017720(iVar12 + -0x236c,piVar9,&local_9c,0);\n  if (piVar11 == (int *)0x0) goto LAB_000184e8;\n  iVar3 = *(int *)(puVar20 + 0x143910);\n  if (param_3 != (int **)0x0) {\n    iVar3 = *piVar11;\n    if (iVar3 == 0) {\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if (local_9c == local_a0) {\n        iVar12 = 0;\n        goto LAB_00017e78;\n      }\n    }\n    else {\n      iVar12 = 0;\n      ppiVar13 = param_3;\n      piVar2 = piVar11;\n      do {\n        piVar2 = piVar2 + 1;\n        iVar3 = sqlite3_stricmp(iVar3,*ppiVar13);\n        if (iVar3 != 0) break;\n        iVar3 = *piVar2;\n        iVar12 = iVar12 + 1;\n        ppiVar13 = ppiVar13 + 1;\n      } while (iVar3 != 0);\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if ((local_a0 == local_9c) && (piVar11[iVar12] == 0)) {\nLAB_00017e78:\n        pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4);\n        FUN_00016de4(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc);\n        if (local_9c == iVar12) {\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);\n        }\n        else {\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4);\n        if (0 < local_a0) {\n          iVar12 = *(int *)(puVar20 + 0x143910);\n          iVar8 = 0;\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;\n          do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);\n        }\n        iVar3 = *(int *)(puVar20 + 0x143910);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar10 = 0;\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);\n        }\n        (*pcVar19)(&local_98,local_a8 + 0x5414);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          iVar3 = 0;\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508);\n        if ((*(uint *)(iVar14 + 0x10) & 2) == 0) {\n          uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);\n          local_a8 = 0;\n          uVar23 = 0;\n          uVar24 = 0;\n          local_a4 = 0;\n          uVar21 = 0;\nLAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );\n        }\n        (**(code **)(puVar20 + 0x143ccc))(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98);\n        goto LAB_00018318;\n      }\n    }\n  }\n  (**(code **)(puVar20 + 0x143cac))(param_1,1,iVar3 + 0x5568,piVar9);\nLAB_00018318:\n  sqlite3_free(local_98);\n  local_98 = 0;\n  local_94 = 0;\n  local_90 = 0;\n  sqlite3_free(uVar4);\n  FUN_000175b4(piVar11);\n  while( true ) {\n    if (param_3 != (int **)0x0) {\n      FUN_000175b4(param_3);\n    }\nLAB_000182c0:\n    piVar11 = (int *)*piVar16;\n    if (local_8c == piVar11) break;\n    (**(code **)(puVar20 + 0x143d38))();\nLAB_000184e8:\n    (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5568,piVar9);\n    sqlite3_free(local_98);\n    local_98 = 0;\n    local_94 = 0;\n    local_90 = 0;\n    sqlite3_free(uVar4);\n  }\n  return piVar11;\n}\n\n" (function_definition "int * FUN_00017720(int *param_1,int **param_2,int **param_3,uint *param_4)\n\n{\n  undefined *puVar1;\n  int *piVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int *piVar5;\n  int *piVar6;\n  undefined4 uVar7;\n  int iVar8;\n  int *piVar9;\n  int iVar10;\n  int *piVar11;\n  int iVar12;\n  int **ppiVar13;\n  int iVar14;\n  int *piVar15;\n  int *piVar16;\n  int *piVar17;\n  int iVar18;\n  code *pcVar19;\n  undefined *puVar20;\n  undefined8 uVar21;\n  undefined8 uVar22;\n  undefined8 uVar23;\n  undefined8 uVar24;\n  int local_a8;\n  uint local_a4;\n  int local_a0;\n  int local_9c;\n  undefined4 local_98;\n  undefined4 local_94;\n  undefined4 local_90;\n  int *local_8c;\n  int *local_88;\n  int *local_84;\n  int *local_80;\n  int *local_7c;\n  int *local_78;\n  int *local_74;\n  int **local_70;\n  int **local_6c;\n  undefined *local_68;\n  undefined4 local_64;\n  int *local_38;\n  undefined *local_34;\n  undefined *local_30;\n  int *local_2c;\n  \n  puVar1 = PTR___stack_chk_guard_0015ba2c;\n  local_2c = *(int **)PTR___stack_chk_guard_0015ba2c;\n  if (*(int *)(PTR_g_0015b5ec + 8) != 0) {\n    piVar11 = (int *)0x0;\n    piVar2 = (int *)&DAT_00000064;\n    piVar5 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2);\n    do {\n      iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      while( true ) {\n        if (iVar3 != 100) {\n          (*(code *)PTR_sqlite3_reset_0015b648)(piVar5);\n          if (piVar11 == (int *)0x0) {\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }\n          else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }\n          goto LAB_00017854;\n        }\n        param_1 = (int *)&DAT_00000005;\n        iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5);\n        if (iVar3 < 1) break;\n        piVar11 = (int *)((int)piVar11 + 1);\n        iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      }\n    } while( true );\n  }\n  pcVar19 = (code *)(PTR_0015b5e4 + 0x73e0);\n  piVar2 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5318,param_1,param_2);\n  puVar20 = PTR_LAB_0015b5e8;\n  iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n  while (iVar3 == 100) {\n    uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,3);\n    iVar3 = sqlite3_stricmp(uVar4,puVar20 + 0x5330);\n    if (iVar3 == 0) {\n      uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,1);\n      piVar5 = (int *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4,uVar4);\n      (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n      piVar2 = piVar5;\n      if (piVar5 != (int *)0x0) {\n        piVar6 = (int *)0x0;\n        piVar15 = (int *)0x0;\n        piVar2 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5);\n        piVar11 = (int *)0x0;\n        do {\n          iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          while( true ) {\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }\n          iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1);\n          if (-1 < iVar3) {\n            piVar15 = (int *)0x1;\n          }\n        } while( true );\n      }\n      goto LAB_00017824;\n    }\n    iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n  }\n  (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\nLAB_00017824:\n  piVar17 = (int *)&DAT_00000008;\n  piVar11 = (int *)0x1;\n  piVar15 = (int *)0x1;\nLAB_00017834:\n  piVar5 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2);\nLAB_00017854:\n  puVar20 = PTR_sqlite3_malloc_0015b640;\n  *param_3 = piVar11;\n  piVar6 = (int *)(*(code *)puVar20)(piVar17);\n  if (piVar6 == (int *)0x0) {\nLAB_00017cb8:\n    piVar9 = (int *)(PTR_LAB_0015b5e8 + 0x52ac);\n    FUN_00016d3c(piVar9);\n  }\n  else {\n    param_1 = (int *)0x0;\n    (*(code *)PTR_memset_0015b9b4)(piVar6,0,piVar17);\n    param_3 = (int **)&DAT_00000064;\n    param_2 = (int **)0x3fffffff;\n    piVar17 = (int *)(PTR_0015b5e4 + 0x7618);\n    while (iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5), iVar3 == 100) {\n      if ((piVar15 == (int *)0x0) ||\n         (iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1)) {\n        piVar2 = (int *)(((int)piVar11 + 2) * 4);\n        param_1 = piVar2;\n        piVar6 = (int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6);\n        if (piVar6 == (int *)0x0) goto LAB_00017cb8;\n        param_1 = (int *)0x1;\n        piVar11 = (int *)((int)piVar11 + 1);\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = piVar2 + -2;\n      }\n      else {\n        param_1 = (int *)0x1;\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = (int *)((iVar3 + 0x3fffffff) * 4);\n      }\n      piVar2 = (int *)((int)piVar6 + (int)piVar2);\n      iVar3 = FUN_00017618(uVar4);\n      *piVar2 = iVar3;\n    }\n    (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar5);\n    piVar6[(int)piVar11] = 0;\n    if (param_4 != (uint *)0x0) {\n      *param_4 = (uint)(*piVar6 == 0);\n    }\n    if (*piVar6 == 0) {\n      param_3 = &local_38;\n      param_2 = &local_2c;\n      local_34 = PTR_LAB_0015b5e8 + 0x5368;\n      piVar15 = (int *)(PTR_UINT_0015b5fc + -0x7714);\n      piVar17 = piVar6 + 1;\n      local_30 = PTR_LAB_0015b5e8 + 0x5370;\n      local_38 = piVar15;\n      if ((int)piVar11 < 2) {\n        param_1 = piVar15;\n        iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *piVar6 = iVar3;\n        if (iVar3 == 0) goto LAB_00017b14;\n      }\n      else {\n        while( true ) {\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }\n        piVar2 = (int *)0x1;\n        if (*piVar6 == 0) {\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }\n      }\n    }\nLAB_00017984:\n    piVar9 = local_2c;\n    if (local_2c == *(int **)puVar1) {\n      return piVar6;\n    }\n  }\n  uVar4 = 0x17cd8;\n  puVar20 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  local_68 = puVar1;\n  piVar16 = *(int **)(puVar20 + 0x143d54);\n  iVar14 = *(int *)(puVar20 + 0x143914);\n  iVar12 = *(int *)(puVar20 + 0x143924);\n  local_8c = (int *)*piVar16;\n  local_88 = piVar2;\n  local_84 = piVar11;\n  local_80 = piVar6;\n  local_7c = piVar5;\n  local_78 = piVar15;\n  local_74 = piVar17;\n  local_70 = param_3;\n  local_6c = param_2;\n  local_64 = uVar4;\n  uVar4 = FUN_00017618();\n  local_98 = 0;\n  local_94 = 0;\n  local_90 = 0;\n  iVar3 = (**(code **)(puVar20 + 0x143974))\n                    (*(undefined4 *)(iVar14 + 0x14),iVar12 + -0x236c,piVar9,0,0,0,0,0,0);\n  if (iVar3 != 0) {\n    iVar3 = (**(code **)(puVar20 + 0x143974))\n                      (*(undefined4 *)(iVar14 + 0x14),*(int *)(puVar20 + 0x143910) + 0x538c,piVar9,0\n                       ,0,0,0,0,0);\n    if (iVar3 == 0) {\n      (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5394,piVar9);\n    }\nLAB_00018294:\n    sqlite3_free(local_98);\n    local_98 = 0;\n    local_94 = 0;\n    local_90 = 0;\n    sqlite3_free(uVar4);\n    goto LAB_000182c0;\n  }\n  iVar18 = *(int *)(puVar20 + 0x143910);\n  iVar3 = (**(code **)(puVar20 + 0x143974))\n                    (*(undefined4 *)(iVar14 + 0x14),iVar18 + 0x538c,piVar9,0,0,0,0,0,0);\n  if (iVar3 != 0) {\n    (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x53b8,piVar9);\n    goto LAB_00018294;\n  }\n  piVar11 = (int *)FUN_00017720(iVar18 + 0x538c,piVar9,&local_a0,0);\n  param_3 = (int **)FUN_00017720(iVar12 + -0x236c,piVar9,&local_9c,0);\n  if (piVar11 == (int *)0x0) goto LAB_000184e8;\n  iVar3 = *(int *)(puVar20 + 0x143910);\n  if (param_3 != (int **)0x0) {\n    iVar3 = *piVar11;\n    if (iVar3 == 0) {\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if (local_9c == local_a0) {\n        iVar12 = 0;\n        goto LAB_00017e78;\n      }\n    }\n    else {\n      iVar12 = 0;\n      ppiVar13 = param_3;\n      piVar2 = piVar11;\n      do {\n        piVar2 = piVar2 + 1;\n        iVar3 = sqlite3_stricmp(iVar3,*ppiVar13);\n        if (iVar3 != 0) break;\n        iVar3 = *piVar2;\n        iVar12 = iVar12 + 1;\n        ppiVar13 = ppiVar13 + 1;\n      } while (iVar3 != 0);\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if ((local_a0 == local_9c) && (piVar11[iVar12] == 0)) {\nLAB_00017e78:\n        pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4);\n        FUN_00016de4(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc);\n        if (local_9c == iVar12) {\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);\n        }\n        else {\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4);\n        if (0 < local_a0) {\n          iVar12 = *(int *)(puVar20 + 0x143910);\n          iVar8 = 0;\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;\n          do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);\n        }\n        iVar3 = *(int *)(puVar20 + 0x143910);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar10 = 0;\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);\n        }\n        (*pcVar19)(&local_98,local_a8 + 0x5414);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          iVar3 = 0;\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508);\n        if ((*(uint *)(iVar14 + 0x10) & 2) == 0) {\n          uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);\n          local_a8 = 0;\n          uVar23 = 0;\n          uVar24 = 0;\n          local_a4 = 0;\n          uVar21 = 0;\nLAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );\n        }\n        (**(code **)(puVar20 + 0x143ccc))(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98);\n        goto LAB_00018318;\n      }\n    }\n  }\n  (**(code **)(puVar20 + 0x143cac))(param_1,1,iVar3 + 0x5568,piVar9);\nLAB_00018318:\n  sqlite3_free(local_98);\n  local_98 = 0;\n  local_94 = 0;\n  local_90 = 0;\n  sqlite3_free(uVar4);\n  FUN_000175b4(piVar11);\n  while( true ) {\n    if (param_3 != (int **)0x0) {\n      FUN_000175b4(param_3);\n    }\nLAB_000182c0:\n    piVar11 = (int *)*piVar16;\n    if (local_8c == piVar11) break;\n    (**(code **)(puVar20 + 0x143d38))();\nLAB_000184e8:\n    (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5568,piVar9);\n    sqlite3_free(local_98);\n    local_98 = 0;\n    local_94 = 0;\n    local_90 = 0;\n    sqlite3_free(uVar4);\n  }\n  return piVar11;\n}" primitive_type (pointer_declarator "* FUN_00017720(int *param_1,int **param_2,int **param_3,uint *param_4)" * (function_declarator "FUN_00017720(int *param_1,int **param_2,int **param_3,uint *param_4)" identifier (parameter_list "(int *param_1,int **param_2,int **param_3,uint *param_4)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int **param_2" primitive_type (pointer_declarator "**param_2" * (pointer_declarator "*param_2" * identifier))) , (parameter_declaration "int **param_3" primitive_type (pointer_declarator "**param_3" * (pointer_declarator "*param_3" * identifier))) , (parameter_declaration "uint *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) )))) (compound_statement "{\n  undefined *puVar1;\n  int *piVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int *piVar5;\n  int *piVar6;\n  undefined4 uVar7;\n  int iVar8;\n  int *piVar9;\n  int iVar10;\n  int *piVar11;\n  int iVar12;\n  int **ppiVar13;\n  int iVar14;\n  int *piVar15;\n  int *piVar16;\n  int *piVar17;\n  int iVar18;\n  code *pcVar19;\n  undefined *puVar20;\n  undefined8 uVar21;\n  undefined8 uVar22;\n  undefined8 uVar23;\n  undefined8 uVar24;\n  int local_a8;\n  uint local_a4;\n  int local_a0;\n  int local_9c;\n  undefined4 local_98;\n  undefined4 local_94;\n  undefined4 local_90;\n  int *local_8c;\n  int *local_88;\n  int *local_84;\n  int *local_80;\n  int *local_7c;\n  int *local_78;\n  int *local_74;\n  int **local_70;\n  int **local_6c;\n  undefined *local_68;\n  undefined4 local_64;\n  int *local_38;\n  undefined *local_34;\n  undefined *local_30;\n  int *local_2c;\n  \n  puVar1 = PTR___stack_chk_guard_0015ba2c;\n  local_2c = *(int **)PTR___stack_chk_guard_0015ba2c;\n  if (*(int *)(PTR_g_0015b5ec + 8) != 0) {\n    piVar11 = (int *)0x0;\n    piVar2 = (int *)&DAT_00000064;\n    piVar5 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2);\n    do {\n      iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      while( true ) {\n        if (iVar3 != 100) {\n          (*(code *)PTR_sqlite3_reset_0015b648)(piVar5);\n          if (piVar11 == (int *)0x0) {\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }\n          else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }\n          goto LAB_00017854;\n        }\n        param_1 = (int *)&DAT_00000005;\n        iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5);\n        if (iVar3 < 1) break;\n        piVar11 = (int *)((int)piVar11 + 1);\n        iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      }\n    } while( true );\n  }\n  pcVar19 = (code *)(PTR_0015b5e4 + 0x73e0);\n  piVar2 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5318,param_1,param_2);\n  puVar20 = PTR_LAB_0015b5e8;\n  iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n  while (iVar3 == 100) {\n    uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,3);\n    iVar3 = sqlite3_stricmp(uVar4,puVar20 + 0x5330);\n    if (iVar3 == 0) {\n      uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,1);\n      piVar5 = (int *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4,uVar4);\n      (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n      piVar2 = piVar5;\n      if (piVar5 != (int *)0x0) {\n        piVar6 = (int *)0x0;\n        piVar15 = (int *)0x0;\n        piVar2 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5);\n        piVar11 = (int *)0x0;\n        do {\n          iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          while( true ) {\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }\n          iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1);\n          if (-1 < iVar3) {\n            piVar15 = (int *)0x1;\n          }\n        } while( true );\n      }\n      goto LAB_00017824;\n    }\n    iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n  }\n  (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\nLAB_00017824:\n  piVar17 = (int *)&DAT_00000008;\n  piVar11 = (int *)0x1;\n  piVar15 = (int *)0x1;\nLAB_00017834:\n  piVar5 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2);\nLAB_00017854:\n  puVar20 = PTR_sqlite3_malloc_0015b640;\n  *param_3 = piVar11;\n  piVar6 = (int *)(*(code *)puVar20)(piVar17);\n  if (piVar6 == (int *)0x0) {\nLAB_00017cb8:\n    piVar9 = (int *)(PTR_LAB_0015b5e8 + 0x52ac);\n    FUN_00016d3c(piVar9);\n  }\n  else {\n    param_1 = (int *)0x0;\n    (*(code *)PTR_memset_0015b9b4)(piVar6,0,piVar17);\n    param_3 = (int **)&DAT_00000064;\n    param_2 = (int **)0x3fffffff;\n    piVar17 = (int *)(PTR_0015b5e4 + 0x7618);\n    while (iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5), iVar3 == 100) {\n      if ((piVar15 == (int *)0x0) ||\n         (iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1)) {\n        piVar2 = (int *)(((int)piVar11 + 2) * 4);\n        param_1 = piVar2;\n        piVar6 = (int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6);\n        if (piVar6 == (int *)0x0) goto LAB_00017cb8;\n        param_1 = (int *)0x1;\n        piVar11 = (int *)((int)piVar11 + 1);\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = piVar2 + -2;\n      }\n      else {\n        param_1 = (int *)0x1;\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = (int *)((iVar3 + 0x3fffffff) * 4);\n      }\n      piVar2 = (int *)((int)piVar6 + (int)piVar2);\n      iVar3 = FUN_00017618(uVar4);\n      *piVar2 = iVar3;\n    }\n    (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar5);\n    piVar6[(int)piVar11] = 0;\n    if (param_4 != (uint *)0x0) {\n      *param_4 = (uint)(*piVar6 == 0);\n    }\n    if (*piVar6 == 0) {\n      param_3 = &local_38;\n      param_2 = &local_2c;\n      local_34 = PTR_LAB_0015b5e8 + 0x5368;\n      piVar15 = (int *)(PTR_UINT_0015b5fc + -0x7714);\n      piVar17 = piVar6 + 1;\n      local_30 = PTR_LAB_0015b5e8 + 0x5370;\n      local_38 = piVar15;\n      if ((int)piVar11 < 2) {\n        param_1 = piVar15;\n        iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *piVar6 = iVar3;\n        if (iVar3 == 0) goto LAB_00017b14;\n      }\n      else {\n        while( true ) {\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }\n        piVar2 = (int *)0x1;\n        if (*piVar6 == 0) {\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }\n      }\n    }\nLAB_00017984:\n    piVar9 = local_2c;\n    if (local_2c == *(int **)puVar1) {\n      return piVar6;\n    }\n  }\n  uVar4 = 0x17cd8;\n  puVar20 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  local_68 = puVar1;\n  piVar16 = *(int **)(puVar20 + 0x143d54);\n  iVar14 = *(int *)(puVar20 + 0x143914);\n  iVar12 = *(int *)(puVar20 + 0x143924);\n  local_8c = (int *)*piVar16;\n  local_88 = piVar2;\n  local_84 = piVar11;\n  local_80 = piVar6;\n  local_7c = piVar5;\n  local_78 = piVar15;\n  local_74 = piVar17;\n  local_70 = param_3;\n  local_6c = param_2;\n  local_64 = uVar4;\n  uVar4 = FUN_00017618();\n  local_98 = 0;\n  local_94 = 0;\n  local_90 = 0;\n  iVar3 = (**(code **)(puVar20 + 0x143974))\n                    (*(undefined4 *)(iVar14 + 0x14),iVar12 + -0x236c,piVar9,0,0,0,0,0,0);\n  if (iVar3 != 0) {\n    iVar3 = (**(code **)(puVar20 + 0x143974))\n                      (*(undefined4 *)(iVar14 + 0x14),*(int *)(puVar20 + 0x143910) + 0x538c,piVar9,0\n                       ,0,0,0,0,0);\n    if (iVar3 == 0) {\n      (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5394,piVar9);\n    }\nLAB_00018294:\n    sqlite3_free(local_98);\n    local_98 = 0;\n    local_94 = 0;\n    local_90 = 0;\n    sqlite3_free(uVar4);\n    goto LAB_000182c0;\n  }\n  iVar18 = *(int *)(puVar20 + 0x143910);\n  iVar3 = (**(code **)(puVar20 + 0x143974))\n                    (*(undefined4 *)(iVar14 + 0x14),iVar18 + 0x538c,piVar9,0,0,0,0,0,0);\n  if (iVar3 != 0) {\n    (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x53b8,piVar9);\n    goto LAB_00018294;\n  }\n  piVar11 = (int *)FUN_00017720(iVar18 + 0x538c,piVar9,&local_a0,0);\n  param_3 = (int **)FUN_00017720(iVar12 + -0x236c,piVar9,&local_9c,0);\n  if (piVar11 == (int *)0x0) goto LAB_000184e8;\n  iVar3 = *(int *)(puVar20 + 0x143910);\n  if (param_3 != (int **)0x0) {\n    iVar3 = *piVar11;\n    if (iVar3 == 0) {\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if (local_9c == local_a0) {\n        iVar12 = 0;\n        goto LAB_00017e78;\n      }\n    }\n    else {\n      iVar12 = 0;\n      ppiVar13 = param_3;\n      piVar2 = piVar11;\n      do {\n        piVar2 = piVar2 + 1;\n        iVar3 = sqlite3_stricmp(iVar3,*ppiVar13);\n        if (iVar3 != 0) break;\n        iVar3 = *piVar2;\n        iVar12 = iVar12 + 1;\n        ppiVar13 = ppiVar13 + 1;\n      } while (iVar3 != 0);\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if ((local_a0 == local_9c) && (piVar11[iVar12] == 0)) {\nLAB_00017e78:\n        pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4);\n        FUN_00016de4(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc);\n        if (local_9c == iVar12) {\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);\n        }\n        else {\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4);\n        if (0 < local_a0) {\n          iVar12 = *(int *)(puVar20 + 0x143910);\n          iVar8 = 0;\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;\n          do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);\n        }\n        iVar3 = *(int *)(puVar20 + 0x143910);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar10 = 0;\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);\n        }\n        (*pcVar19)(&local_98,local_a8 + 0x5414);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          iVar3 = 0;\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508);\n        if ((*(uint *)(iVar14 + 0x10) & 2) == 0) {\n          uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);\n          local_a8 = 0;\n          uVar23 = 0;\n          uVar24 = 0;\n          local_a4 = 0;\n          uVar21 = 0;\nLAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );\n        }\n        (**(code **)(puVar20 + 0x143ccc))(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98);\n        goto LAB_00018318;\n      }\n    }\n  }\n  (**(code **)(puVar20 + 0x143cac))(param_1,1,iVar3 + 0x5568,piVar9);\nLAB_00018318:\n  sqlite3_free(local_98);\n  local_98 = 0;\n  local_94 = 0;\n  local_90 = 0;\n  sqlite3_free(uVar4);\n  FUN_000175b4(piVar11);\n  while( true ) {\n    if (param_3 != (int **)0x0) {\n      FUN_000175b4(param_3);\n    }\nLAB_000182c0:\n    piVar11 = (int *)*piVar16;\n    if (local_8c == piVar11) break;\n    (**(code **)(puVar20 + 0x143d38))();\nLAB_000184e8:\n    (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5568,piVar9);\n    sqlite3_free(local_98);\n    local_98 = 0;\n    local_94 = 0;\n    local_90 = 0;\n    sqlite3_free(uVar4);\n  }\n  return piVar11;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int **ppiVar13;" primitive_type (pointer_declarator "**ppiVar13" * (pointer_declarator "*ppiVar13" * identifier)) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "int *piVar17;" primitive_type (pointer_declarator "*piVar17" * identifier) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "code *pcVar19;" type_identifier (pointer_declarator "*pcVar19" * identifier) ;) (declaration "undefined *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "undefined8 uVar21;" type_identifier identifier ;) (declaration "undefined8 uVar22;" type_identifier identifier ;) (declaration "undefined8 uVar23;" type_identifier identifier ;) (declaration "undefined8 uVar24;" type_identifier identifier ;) (declaration "int local_a8;" primitive_type identifier ;) (declaration "uint local_a4;" type_identifier identifier ;) (declaration "int local_a0;" primitive_type identifier ;) (declaration "int local_9c;" primitive_type identifier ;) (declaration "undefined4 local_98;" type_identifier identifier ;) (declaration "undefined4 local_94;" type_identifier identifier ;) (declaration "undefined4 local_90;" type_identifier identifier ;) (declaration "int *local_8c;" primitive_type (pointer_declarator "*local_8c" * identifier) ;) (declaration "int *local_88;" primitive_type (pointer_declarator "*local_88" * identifier) ;) (declaration "int *local_84;" primitive_type (pointer_declarator "*local_84" * identifier) ;) (declaration "int *local_80;" primitive_type (pointer_declarator "*local_80" * identifier) ;) (declaration "int *local_7c;" primitive_type (pointer_declarator "*local_7c" * identifier) ;) (declaration "int *local_78;" primitive_type (pointer_declarator "*local_78" * identifier) ;) (declaration "int *local_74;" primitive_type (pointer_declarator "*local_74" * identifier) ;) (declaration "int **local_70;" primitive_type (pointer_declarator "**local_70" * (pointer_declarator "*local_70" * identifier)) ;) (declaration "int **local_6c;" primitive_type (pointer_declarator "**local_6c" * (pointer_declarator "*local_6c" * identifier)) ;) (declaration "undefined *local_68;" type_identifier (pointer_declarator "*local_68" * identifier) ;) (declaration "undefined4 local_64;" type_identifier identifier ;) (declaration "int *local_38;" primitive_type (pointer_declarator "*local_38" * identifier) ;) (declaration "undefined *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "undefined *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (declaration "int *local_2c;" primitive_type (pointer_declarator "*local_2c" * identifier) ;) (expression_statement "puVar1 = PTR___stack_chk_guard_0015ba2c;" (assignment_expression "puVar1 = PTR___stack_chk_guard_0015ba2c" identifier = identifier) ;) (expression_statement "local_2c = *(int **)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "local_2c = *(int **)PTR___stack_chk_guard_0015ba2c" identifier = (pointer_expression "*(int **)PTR___stack_chk_guard_0015ba2c" * (cast_expression "(int **)PTR___stack_chk_guard_0015ba2c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (*(int *)(PTR_g_0015b5ec + 8) != 0) {\n    piVar11 = (int *)0x0;\n    piVar2 = (int *)&DAT_00000064;\n    piVar5 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2);\n    do {\n      iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      while( true ) {\n        if (iVar3 != 100) {\n          (*(code *)PTR_sqlite3_reset_0015b648)(piVar5);\n          if (piVar11 == (int *)0x0) {\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }\n          else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }\n          goto LAB_00017854;\n        }\n        param_1 = (int *)&DAT_00000005;\n        iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5);\n        if (iVar3 < 1) break;\n        piVar11 = (int *)((int)piVar11 + 1);\n        iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      }\n    } while( true );\n  }" if (parenthesized_expression "(*(int *)(PTR_g_0015b5ec + 8) != 0)" ( (binary_expression "*(int *)(PTR_g_0015b5ec + 8) != 0" (pointer_expression "*(int *)(PTR_g_0015b5ec + 8)" * (cast_expression "(int *)(PTR_g_0015b5ec + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_g_0015b5ec + 8)" ( (binary_expression "PTR_g_0015b5ec + 8" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    piVar11 = (int *)0x0;\n    piVar2 = (int *)&DAT_00000064;\n    piVar5 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2);\n    do {\n      iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      while( true ) {\n        if (iVar3 != 100) {\n          (*(code *)PTR_sqlite3_reset_0015b648)(piVar5);\n          if (piVar11 == (int *)0x0) {\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }\n          else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }\n          goto LAB_00017854;\n        }\n        param_1 = (int *)&DAT_00000005;\n        iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5);\n        if (iVar3 < 1) break;\n        piVar11 = (int *)((int)piVar11 + 1);\n        iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      }\n    } while( true );\n  }" { (expression_statement "piVar11 = (int *)0x0;" (assignment_expression "piVar11 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar2 = (int *)&DAT_00000064;" (assignment_expression "piVar2 = (int *)&DAT_00000064" identifier = (cast_expression "(int *)&DAT_00000064" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000064" & identifier))) ;) (expression_statement "piVar5 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2);" (assignment_expression "piVar5 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2)" identifier = (cast_expression "(int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000173e0(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2)" identifier (argument_list "(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2)" ( (binary_expression "PTR_LAB_0015b5e8 + 0x5350" identifier + number_literal) , identifier , identifier ))))) ;) (do_statement "do {\n      iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      while( true ) {\n        if (iVar3 != 100) {\n          (*(code *)PTR_sqlite3_reset_0015b648)(piVar5);\n          if (piVar11 == (int *)0x0) {\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }\n          else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }\n          goto LAB_00017854;\n        }\n        param_1 = (int *)&DAT_00000005;\n        iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5);\n        if (iVar3 < 1) break;\n        piVar11 = (int *)((int)piVar11 + 1);\n        iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      }\n    } while( true );" do (compound_statement "{\n      iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      while( true ) {\n        if (iVar3 != 100) {\n          (*(code *)PTR_sqlite3_reset_0015b648)(piVar5);\n          if (piVar11 == (int *)0x0) {\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }\n          else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }\n          goto LAB_00017854;\n        }\n        param_1 = (int *)&DAT_00000005;\n        iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5);\n        if (iVar3 < 1) break;\n        piVar11 = (int *)((int)piVar11 + 1);\n        iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      }\n    }" { (expression_statement "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5)" identifier = (call_expression "(*(code *)PTR_sqlite3_step_0015b630)(piVar5)" (parenthesized_expression "(*(code *)PTR_sqlite3_step_0015b630)" ( (pointer_expression "*(code *)PTR_sqlite3_step_0015b630" * (cast_expression "(code *)PTR_sqlite3_step_0015b630" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5)" ( identifier )))) ;) (while_statement "while( true ) {\n        if (iVar3 != 100) {\n          (*(code *)PTR_sqlite3_reset_0015b648)(piVar5);\n          if (piVar11 == (int *)0x0) {\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }\n          else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }\n          goto LAB_00017854;\n        }\n        param_1 = (int *)&DAT_00000005;\n        iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5);\n        if (iVar3 < 1) break;\n        piVar11 = (int *)((int)piVar11 + 1);\n        iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        if (iVar3 != 100) {\n          (*(code *)PTR_sqlite3_reset_0015b648)(piVar5);\n          if (piVar11 == (int *)0x0) {\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }\n          else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }\n          goto LAB_00017854;\n        }\n        param_1 = (int *)&DAT_00000005;\n        iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5);\n        if (iVar3 < 1) break;\n        piVar11 = (int *)((int)piVar11 + 1);\n        iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      }" { (if_statement "if (iVar3 != 100) {\n          (*(code *)PTR_sqlite3_reset_0015b648)(piVar5);\n          if (piVar11 == (int *)0x0) {\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }\n          else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }\n          goto LAB_00017854;\n        }" if (parenthesized_expression "(iVar3 != 100)" ( (binary_expression "iVar3 != 100" identifier != number_literal) )) (compound_statement "{\n          (*(code *)PTR_sqlite3_reset_0015b648)(piVar5);\n          if (piVar11 == (int *)0x0) {\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }\n          else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }\n          goto LAB_00017854;\n        }" { (expression_statement "(*(code *)PTR_sqlite3_reset_0015b648)(piVar5);" (call_expression "(*(code *)PTR_sqlite3_reset_0015b648)(piVar5)" (parenthesized_expression "(*(code *)PTR_sqlite3_reset_0015b648)" ( (pointer_expression "*(code *)PTR_sqlite3_reset_0015b648" * (cast_expression "(code *)PTR_sqlite3_reset_0015b648" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5)" ( identifier ))) ;) (if_statement "if (piVar11 == (int *)0x0) {\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }\n          else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }" if (parenthesized_expression "(piVar11 == (int *)0x0)" ( (binary_expression "piVar11 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }" { (expression_statement "piVar17 = (int *)&DAT_00000008;" (assignment_expression "piVar17 = (int *)&DAT_00000008" identifier = (cast_expression "(int *)&DAT_00000008" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000008" & identifier))) ;) (expression_statement "piVar11 = (int *)0x1;" (assignment_expression "piVar11 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar15 = (int *)0x1;" (assignment_expression "piVar15 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }" else (compound_statement "{\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }" { (expression_statement "piVar15 = (int *)0x1;" (assignment_expression "piVar15 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar17 = (int *)(((int)piVar11 + 1) * 4);" (assignment_expression "piVar17 = (int *)(((int)piVar11 + 1) * 4)" identifier = (cast_expression "(int *)(((int)piVar11 + 1) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int)piVar11 + 1) * 4)" ( (binary_expression "((int)piVar11 + 1) * 4" (parenthesized_expression "((int)piVar11 + 1)" ( (binary_expression "(int)piVar11 + 1" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) * number_literal) )))) ;) }))) (goto_statement "goto LAB_00017854;" goto statement_identifier ;) })) (expression_statement "param_1 = (int *)&DAT_00000005;" (assignment_expression "param_1 = (int *)&DAT_00000005" identifier = (cast_expression "(int *)&DAT_00000005" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000005" & identifier))) ;) (expression_statement "iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5);" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5)" identifier = (call_expression "(*(code *)PTR_sqlite3_column_int_0015b644)(piVar5)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_int_0015b644)" ( (pointer_expression "*(code *)PTR_sqlite3_column_int_0015b644" * (cast_expression "(code *)PTR_sqlite3_column_int_0015b644" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5)" ( identifier )))) ;) (if_statement "if (iVar3 < 1) break;" if (parenthesized_expression "(iVar3 < 1)" ( (binary_expression "iVar3 < 1" identifier < number_literal) )) (break_statement "break;" break ;)) (expression_statement "piVar11 = (int *)((int)piVar11 + 1);" (assignment_expression "piVar11 = (int *)((int)piVar11 + 1)" identifier = (cast_expression "(int *)((int)piVar11 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + 1)" ( (binary_expression "(int)piVar11 + 1" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5)" identifier = (call_expression "(*(code *)PTR_sqlite3_step_0015b630)(piVar5)" (parenthesized_expression "(*(code *)PTR_sqlite3_step_0015b630)" ( (pointer_expression "*(code *)PTR_sqlite3_step_0015b630" * (cast_expression "(code *)PTR_sqlite3_step_0015b630" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5)" ( identifier )))) ;) })) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "pcVar19 = (code *)(PTR_0015b5e4 + 0x73e0);" (assignment_expression "pcVar19 = (code *)(PTR_0015b5e4 + 0x73e0)" identifier = (cast_expression "(code *)(PTR_0015b5e4 + 0x73e0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_0015b5e4 + 0x73e0)" ( (binary_expression "PTR_0015b5e4 + 0x73e0" identifier + number_literal) )))) ;) (expression_statement "piVar2 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5318,param_1,param_2);" (assignment_expression "piVar2 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5318,param_1,param_2)" identifier = (cast_expression "(int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5318,param_1,param_2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000173e0(PTR_LAB_0015b5e8 + 0x5318,param_1,param_2)" identifier (argument_list "(PTR_LAB_0015b5e8 + 0x5318,param_1,param_2)" ( (binary_expression "PTR_LAB_0015b5e8 + 0x5318" identifier + number_literal) , identifier , identifier ))))) ;) (expression_statement "puVar20 = PTR_LAB_0015b5e8;" (assignment_expression "puVar20 = PTR_LAB_0015b5e8" identifier = identifier) ;) (expression_statement "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2)" identifier = (call_expression "(*(code *)PTR_sqlite3_step_0015b630)(piVar2)" (parenthesized_expression "(*(code *)PTR_sqlite3_step_0015b630)" ( (pointer_expression "*(code *)PTR_sqlite3_step_0015b630" * (cast_expression "(code *)PTR_sqlite3_step_0015b630" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar2)" ( identifier )))) ;) (while_statement "while (iVar3 == 100) {\n    uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,3);\n    iVar3 = sqlite3_stricmp(uVar4,puVar20 + 0x5330);\n    if (iVar3 == 0) {\n      uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,1);\n      piVar5 = (int *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4,uVar4);\n      (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n      piVar2 = piVar5;\n      if (piVar5 != (int *)0x0) {\n        piVar6 = (int *)0x0;\n        piVar15 = (int *)0x0;\n        piVar2 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5);\n        piVar11 = (int *)0x0;\n        do {\n          iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          while( true ) {\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }\n          iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1);\n          if (-1 < iVar3) {\n            piVar15 = (int *)0x1;\n          }\n        } while( true );\n      }\n      goto LAB_00017824;\n    }\n    iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n  }" while (parenthesized_expression "(iVar3 == 100)" ( (binary_expression "iVar3 == 100" identifier == number_literal) )) (compound_statement "{\n    uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,3);\n    iVar3 = sqlite3_stricmp(uVar4,puVar20 + 0x5330);\n    if (iVar3 == 0) {\n      uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,1);\n      piVar5 = (int *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4,uVar4);\n      (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n      piVar2 = piVar5;\n      if (piVar5 != (int *)0x0) {\n        piVar6 = (int *)0x0;\n        piVar15 = (int *)0x0;\n        piVar2 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5);\n        piVar11 = (int *)0x0;\n        do {\n          iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          while( true ) {\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }\n          iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1);\n          if (-1 < iVar3) {\n            piVar15 = (int *)0x1;\n          }\n        } while( true );\n      }\n      goto LAB_00017824;\n    }\n    iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n  }" { (expression_statement "uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,3);" (assignment_expression "uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,3)" identifier = (call_expression "(*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,3)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_text_0015b634)" ( (pointer_expression "*(code *)PTR_sqlite3_column_text_0015b634" * (cast_expression "(code *)PTR_sqlite3_column_text_0015b634" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar2,3)" ( identifier , number_literal )))) ;) (expression_statement "iVar3 = sqlite3_stricmp(uVar4,puVar20 + 0x5330);" (assignment_expression "iVar3 = sqlite3_stricmp(uVar4,puVar20 + 0x5330)" identifier = (call_expression "sqlite3_stricmp(uVar4,puVar20 + 0x5330)" identifier (argument_list "(uVar4,puVar20 + 0x5330)" ( identifier , (binary_expression "puVar20 + 0x5330" identifier + number_literal) )))) ;) (if_statement "if (iVar3 == 0) {\n      uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,1);\n      piVar5 = (int *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4,uVar4);\n      (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n      piVar2 = piVar5;\n      if (piVar5 != (int *)0x0) {\n        piVar6 = (int *)0x0;\n        piVar15 = (int *)0x0;\n        piVar2 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5);\n        piVar11 = (int *)0x0;\n        do {\n          iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          while( true ) {\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }\n          iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1);\n          if (-1 < iVar3) {\n            piVar15 = (int *)0x1;\n          }\n        } while( true );\n      }\n      goto LAB_00017824;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,1);\n      piVar5 = (int *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4,uVar4);\n      (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n      piVar2 = piVar5;\n      if (piVar5 != (int *)0x0) {\n        piVar6 = (int *)0x0;\n        piVar15 = (int *)0x0;\n        piVar2 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5);\n        piVar11 = (int *)0x0;\n        do {\n          iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          while( true ) {\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }\n          iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1);\n          if (-1 < iVar3) {\n            piVar15 = (int *)0x1;\n          }\n        } while( true );\n      }\n      goto LAB_00017824;\n    }" { (expression_statement "uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,1);" (assignment_expression "uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,1)" identifier = (call_expression "(*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,1)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_text_0015b634)" ( (pointer_expression "*(code *)PTR_sqlite3_column_text_0015b634" * (cast_expression "(code *)PTR_sqlite3_column_text_0015b634" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar2,1)" ( identifier , number_literal )))) ;) (expression_statement "piVar5 = (int *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4,uVar4);" (assignment_expression "piVar5 = (int *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4,uVar4)" identifier = (cast_expression "(int *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4,uVar4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4,uVar4)" (parenthesized_expression "(*(code *)PTR_sqlite3_mprintf_0015b628)" ( (pointer_expression "*(code *)PTR_sqlite3_mprintf_0015b628" * (cast_expression "(code *)PTR_sqlite3_mprintf_0015b628" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_0015b5e8 + 0x71f4,uVar4)" ( (binary_expression "PTR_LAB_0015b5e8 + 0x71f4" identifier + number_literal) , identifier ))))) ;) (expression_statement "(*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);" (call_expression "(*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2)" (parenthesized_expression "(*(code *)PTR_sqlite3_finalize_0015b63c)" ( (pointer_expression "*(code *)PTR_sqlite3_finalize_0015b63c" * (cast_expression "(code *)PTR_sqlite3_finalize_0015b63c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar2)" ( identifier ))) ;) (expression_statement "piVar2 = piVar5;" (assignment_expression "piVar2 = piVar5" identifier = identifier) ;) (if_statement "if (piVar5 != (int *)0x0) {\n        piVar6 = (int *)0x0;\n        piVar15 = (int *)0x0;\n        piVar2 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5);\n        piVar11 = (int *)0x0;\n        do {\n          iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          while( true ) {\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }\n          iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1);\n          if (-1 < iVar3) {\n            piVar15 = (int *)0x1;\n          }\n        } while( true );\n      }" if (parenthesized_expression "(piVar5 != (int *)0x0)" ( (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        piVar6 = (int *)0x0;\n        piVar15 = (int *)0x0;\n        piVar2 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5);\n        piVar11 = (int *)0x0;\n        do {\n          iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          while( true ) {\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }\n          iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1);\n          if (-1 < iVar3) {\n            piVar15 = (int *)0x1;\n          }\n        } while( true );\n      }" { (expression_statement "piVar6 = (int *)0x0;" (assignment_expression "piVar6 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar15 = (int *)0x0;" (assignment_expression "piVar15 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar2 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5);" (assignment_expression "piVar2 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5)" identifier = (cast_expression "(int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5)" ( (binary_expression "PTR_LAB_0015b5e8 + 0x5334" identifier + number_literal) , identifier , identifier ))))) ;) (expression_statement "piVar11 = (int *)0x0;" (assignment_expression "piVar11 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n          iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          while( true ) {\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }\n          iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1);\n          if (-1 < iVar3) {\n            piVar15 = (int *)0x1;\n          }\n        } while( true );" do (compound_statement "{\n          iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          while( true ) {\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }\n          iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1);\n          if (-1 < iVar3) {\n            piVar15 = (int *)0x1;\n          }\n        }" { (expression_statement "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2)" identifier = (call_expression "(*(code *)PTR_sqlite3_step_0015b630)(piVar2)" (parenthesized_expression "(*(code *)PTR_sqlite3_step_0015b630)" ( (pointer_expression "*(code *)PTR_sqlite3_step_0015b630" * (cast_expression "(code *)PTR_sqlite3_step_0015b630" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar2)" ( identifier )))) ;) (while_statement "while( true ) {\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }" { (if_statement "if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }" if (parenthesized_expression "(iVar3 != 100)" ( (binary_expression "iVar3 != 100" identifier != number_literal) )) (compound_statement "{\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }" { (if_statement "if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }" if (parenthesized_expression "(piVar6 == piVar11)" ( (binary_expression "piVar6 == piVar11" identifier == identifier) )) (compound_statement "{\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }" { (expression_statement "piVar15 = (int *)0x1;" (assignment_expression "piVar15 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar17 = (int *)(((int)piVar11 + 1) * 4);" (assignment_expression "piVar17 = (int *)(((int)piVar11 + 1) * 4)" identifier = (cast_expression "(int *)(((int)piVar11 + 1) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int)piVar11 + 1) * 4)" ( (binary_expression "((int)piVar11 + 1) * 4" (parenthesized_expression "((int)piVar11 + 1)" ( (binary_expression "(int)piVar11 + 1" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) * number_literal) )))) ;) }) (else_clause "else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }" else (if_statement "if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }" if (parenthesized_expression "(piVar15 == (int *)0x0)" ( (binary_expression "piVar15 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }" { (expression_statement "piVar17 = (int *)&DAT_00000008;" (assignment_expression "piVar17 = (int *)&DAT_00000008" identifier = (cast_expression "(int *)&DAT_00000008" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000008" & identifier))) ;) (expression_statement "piVar11 = (int *)0x1;" (assignment_expression "piVar11 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }" else (compound_statement "{\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }" { (expression_statement "piVar17 = (int *)(((int)piVar6 + 1) * 4);" (assignment_expression "piVar17 = (int *)(((int)piVar6 + 1) * 4)" identifier = (cast_expression "(int *)(((int)piVar6 + 1) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int)piVar6 + 1) * 4)" ( (binary_expression "((int)piVar6 + 1) * 4" (parenthesized_expression "((int)piVar6 + 1)" ( (binary_expression "(int)piVar6 + 1" (cast_expression "(int)piVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) * number_literal) )))) ;) (expression_statement "piVar11 = piVar6;" (assignment_expression "piVar11 = piVar6" identifier = identifier) ;) }))))) (expression_statement "(*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);" (call_expression "(*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2)" (parenthesized_expression "(*(code *)PTR_sqlite3_finalize_0015b63c)" ( (pointer_expression "*(code *)PTR_sqlite3_finalize_0015b63c" * (cast_expression "(code *)PTR_sqlite3_finalize_0015b63c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar2)" ( identifier ))) ;) (expression_statement "sqlite3_free(piVar5);" (call_expression "sqlite3_free(piVar5)" identifier (argument_list "(piVar5)" ( identifier ))) ;) (goto_statement "goto LAB_00017834;" goto statement_identifier ;) })) (expression_statement "piVar11 = (int *)((int)piVar11 + 1);" (assignment_expression "piVar11 = (int *)((int)piVar11 + 1)" identifier = (cast_expression "(int *)((int)piVar11 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + 1)" ( (binary_expression "(int)piVar11 + 1" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5)" identifier = (call_expression "(*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_int_0015b644)" ( (pointer_expression "*(code *)PTR_sqlite3_column_int_0015b644" * (cast_expression "(code *)PTR_sqlite3_column_int_0015b644" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar2,5)" ( identifier , number_literal )))) ;) (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "piVar6 = (int *)((int)piVar6 + 1);" (assignment_expression "piVar6 = (int *)((int)piVar6 + 1)" identifier = (cast_expression "(int *)((int)piVar6 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar6 + 1)" ( (binary_expression "(int)piVar6 + 1" (cast_expression "(int)piVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2)" identifier = (call_expression "(*(code *)PTR_sqlite3_step_0015b630)(piVar2)" (parenthesized_expression "(*(code *)PTR_sqlite3_step_0015b630)" ( (pointer_expression "*(code *)PTR_sqlite3_step_0015b630" * (cast_expression "(code *)PTR_sqlite3_step_0015b630" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar2)" ( identifier )))) ;) })) (expression_statement "iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1);" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1)" identifier = (call_expression "(*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_int_0015b644)" ( (pointer_expression "*(code *)PTR_sqlite3_column_int_0015b644" * (cast_expression "(code *)PTR_sqlite3_column_int_0015b644" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar2,1)" ( identifier , number_literal )))) ;) (if_statement "if (-1 < iVar3) {\n            piVar15 = (int *)0x1;\n          }" if (parenthesized_expression "(-1 < iVar3)" ( (binary_expression "-1 < iVar3" number_literal < identifier) )) (compound_statement "{\n            piVar15 = (int *)0x1;\n          }" { (expression_statement "piVar15 = (int *)0x1;" (assignment_expression "piVar15 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) }) while (parenthesized_expression "( true )" ( true )) ;) })) (goto_statement "goto LAB_00017824;" goto statement_identifier ;) })) (expression_statement "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2)" identifier = (call_expression "(*(code *)PTR_sqlite3_step_0015b630)(piVar2)" (parenthesized_expression "(*(code *)PTR_sqlite3_step_0015b630)" ( (pointer_expression "*(code *)PTR_sqlite3_step_0015b630" * (cast_expression "(code *)PTR_sqlite3_step_0015b630" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar2)" ( identifier )))) ;) })) (expression_statement "(*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);" (call_expression "(*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2)" (parenthesized_expression "(*(code *)PTR_sqlite3_finalize_0015b63c)" ( (pointer_expression "*(code *)PTR_sqlite3_finalize_0015b63c" * (cast_expression "(code *)PTR_sqlite3_finalize_0015b63c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar2)" ( identifier ))) ;) (labeled_statement "LAB_00017824:\n  piVar17 = (int *)&DAT_00000008;" statement_identifier : (expression_statement "piVar17 = (int *)&DAT_00000008;" (assignment_expression "piVar17 = (int *)&DAT_00000008" identifier = (cast_expression "(int *)&DAT_00000008" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000008" & identifier))) ;)) (expression_statement "piVar11 = (int *)0x1;" (assignment_expression "piVar11 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar15 = (int *)0x1;" (assignment_expression "piVar15 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00017834:\n  piVar5 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2);" statement_identifier : (expression_statement "piVar5 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2);" (assignment_expression "piVar5 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2)" identifier = (cast_expression "(int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar19)(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2)" ( (binary_expression "PTR_LAB_0015b5e8 + 0x5350" identifier + number_literal) , identifier , identifier ))))) ;)) (labeled_statement "LAB_00017854:\n  puVar20 = PTR_sqlite3_malloc_0015b640;" statement_identifier : (expression_statement "puVar20 = PTR_sqlite3_malloc_0015b640;" (assignment_expression "puVar20 = PTR_sqlite3_malloc_0015b640" identifier = identifier) ;)) (expression_statement "*param_3 = piVar11;" (assignment_expression "*param_3 = piVar11" (pointer_expression "*param_3" * identifier) = identifier) ;) (expression_statement "piVar6 = (int *)(*(code *)puVar20)(piVar17);" (assignment_expression "piVar6 = (int *)(*(code *)puVar20)(piVar17)" identifier = (cast_expression "(int *)(*(code *)puVar20)(piVar17)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar20)(piVar17)" (parenthesized_expression "(*(code *)puVar20)" ( (pointer_expression "*(code *)puVar20" * (cast_expression "(code *)puVar20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar17)" ( identifier ))))) ;) (if_statement "if (piVar6 == (int *)0x0) {\nLAB_00017cb8:\n    piVar9 = (int *)(PTR_LAB_0015b5e8 + 0x52ac);\n    FUN_00016d3c(piVar9);\n  }\n  else {\n    param_1 = (int *)0x0;\n    (*(code *)PTR_memset_0015b9b4)(piVar6,0,piVar17);\n    param_3 = (int **)&DAT_00000064;\n    param_2 = (int **)0x3fffffff;\n    piVar17 = (int *)(PTR_0015b5e4 + 0x7618);\n    while (iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5), iVar3 == 100) {\n      if ((piVar15 == (int *)0x0) ||\n         (iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1)) {\n        piVar2 = (int *)(((int)piVar11 + 2) * 4);\n        param_1 = piVar2;\n        piVar6 = (int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6);\n        if (piVar6 == (int *)0x0) goto LAB_00017cb8;\n        param_1 = (int *)0x1;\n        piVar11 = (int *)((int)piVar11 + 1);\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = piVar2 + -2;\n      }\n      else {\n        param_1 = (int *)0x1;\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = (int *)((iVar3 + 0x3fffffff) * 4);\n      }\n      piVar2 = (int *)((int)piVar6 + (int)piVar2);\n      iVar3 = FUN_00017618(uVar4);\n      *piVar2 = iVar3;\n    }\n    (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar5);\n    piVar6[(int)piVar11] = 0;\n    if (param_4 != (uint *)0x0) {\n      *param_4 = (uint)(*piVar6 == 0);\n    }\n    if (*piVar6 == 0) {\n      param_3 = &local_38;\n      param_2 = &local_2c;\n      local_34 = PTR_LAB_0015b5e8 + 0x5368;\n      piVar15 = (int *)(PTR_UINT_0015b5fc + -0x7714);\n      piVar17 = piVar6 + 1;\n      local_30 = PTR_LAB_0015b5e8 + 0x5370;\n      local_38 = piVar15;\n      if ((int)piVar11 < 2) {\n        param_1 = piVar15;\n        iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *piVar6 = iVar3;\n        if (iVar3 == 0) goto LAB_00017b14;\n      }\n      else {\n        while( true ) {\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }\n        piVar2 = (int *)0x1;\n        if (*piVar6 == 0) {\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }\n      }\n    }\nLAB_00017984:\n    piVar9 = local_2c;\n    if (local_2c == *(int **)puVar1) {\n      return piVar6;\n    }\n  }" if (parenthesized_expression "(piVar6 == (int *)0x0)" ( (binary_expression "piVar6 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00017cb8:\n    piVar9 = (int *)(PTR_LAB_0015b5e8 + 0x52ac);\n    FUN_00016d3c(piVar9);\n  }" { (labeled_statement "LAB_00017cb8:\n    piVar9 = (int *)(PTR_LAB_0015b5e8 + 0x52ac);" statement_identifier : (expression_statement "piVar9 = (int *)(PTR_LAB_0015b5e8 + 0x52ac);" (assignment_expression "piVar9 = (int *)(PTR_LAB_0015b5e8 + 0x52ac)" identifier = (cast_expression "(int *)(PTR_LAB_0015b5e8 + 0x52ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b5e8 + 0x52ac)" ( (binary_expression "PTR_LAB_0015b5e8 + 0x52ac" identifier + number_literal) )))) ;)) (expression_statement "FUN_00016d3c(piVar9);" (call_expression "FUN_00016d3c(piVar9)" identifier (argument_list "(piVar9)" ( identifier ))) ;) }) (else_clause "else {\n    param_1 = (int *)0x0;\n    (*(code *)PTR_memset_0015b9b4)(piVar6,0,piVar17);\n    param_3 = (int **)&DAT_00000064;\n    param_2 = (int **)0x3fffffff;\n    piVar17 = (int *)(PTR_0015b5e4 + 0x7618);\n    while (iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5), iVar3 == 100) {\n      if ((piVar15 == (int *)0x0) ||\n         (iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1)) {\n        piVar2 = (int *)(((int)piVar11 + 2) * 4);\n        param_1 = piVar2;\n        piVar6 = (int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6);\n        if (piVar6 == (int *)0x0) goto LAB_00017cb8;\n        param_1 = (int *)0x1;\n        piVar11 = (int *)((int)piVar11 + 1);\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = piVar2 + -2;\n      }\n      else {\n        param_1 = (int *)0x1;\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = (int *)((iVar3 + 0x3fffffff) * 4);\n      }\n      piVar2 = (int *)((int)piVar6 + (int)piVar2);\n      iVar3 = FUN_00017618(uVar4);\n      *piVar2 = iVar3;\n    }\n    (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar5);\n    piVar6[(int)piVar11] = 0;\n    if (param_4 != (uint *)0x0) {\n      *param_4 = (uint)(*piVar6 == 0);\n    }\n    if (*piVar6 == 0) {\n      param_3 = &local_38;\n      param_2 = &local_2c;\n      local_34 = PTR_LAB_0015b5e8 + 0x5368;\n      piVar15 = (int *)(PTR_UINT_0015b5fc + -0x7714);\n      piVar17 = piVar6 + 1;\n      local_30 = PTR_LAB_0015b5e8 + 0x5370;\n      local_38 = piVar15;\n      if ((int)piVar11 < 2) {\n        param_1 = piVar15;\n        iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *piVar6 = iVar3;\n        if (iVar3 == 0) goto LAB_00017b14;\n      }\n      else {\n        while( true ) {\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }\n        piVar2 = (int *)0x1;\n        if (*piVar6 == 0) {\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }\n      }\n    }\nLAB_00017984:\n    piVar9 = local_2c;\n    if (local_2c == *(int **)puVar1) {\n      return piVar6;\n    }\n  }" else (compound_statement "{\n    param_1 = (int *)0x0;\n    (*(code *)PTR_memset_0015b9b4)(piVar6,0,piVar17);\n    param_3 = (int **)&DAT_00000064;\n    param_2 = (int **)0x3fffffff;\n    piVar17 = (int *)(PTR_0015b5e4 + 0x7618);\n    while (iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5), iVar3 == 100) {\n      if ((piVar15 == (int *)0x0) ||\n         (iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1)) {\n        piVar2 = (int *)(((int)piVar11 + 2) * 4);\n        param_1 = piVar2;\n        piVar6 = (int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6);\n        if (piVar6 == (int *)0x0) goto LAB_00017cb8;\n        param_1 = (int *)0x1;\n        piVar11 = (int *)((int)piVar11 + 1);\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = piVar2 + -2;\n      }\n      else {\n        param_1 = (int *)0x1;\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = (int *)((iVar3 + 0x3fffffff) * 4);\n      }\n      piVar2 = (int *)((int)piVar6 + (int)piVar2);\n      iVar3 = FUN_00017618(uVar4);\n      *piVar2 = iVar3;\n    }\n    (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar5);\n    piVar6[(int)piVar11] = 0;\n    if (param_4 != (uint *)0x0) {\n      *param_4 = (uint)(*piVar6 == 0);\n    }\n    if (*piVar6 == 0) {\n      param_3 = &local_38;\n      param_2 = &local_2c;\n      local_34 = PTR_LAB_0015b5e8 + 0x5368;\n      piVar15 = (int *)(PTR_UINT_0015b5fc + -0x7714);\n      piVar17 = piVar6 + 1;\n      local_30 = PTR_LAB_0015b5e8 + 0x5370;\n      local_38 = piVar15;\n      if ((int)piVar11 < 2) {\n        param_1 = piVar15;\n        iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *piVar6 = iVar3;\n        if (iVar3 == 0) goto LAB_00017b14;\n      }\n      else {\n        while( true ) {\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }\n        piVar2 = (int *)0x1;\n        if (*piVar6 == 0) {\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }\n      }\n    }\nLAB_00017984:\n    piVar9 = local_2c;\n    if (local_2c == *(int **)puVar1) {\n      return piVar6;\n    }\n  }" { (expression_statement "param_1 = (int *)0x0;" (assignment_expression "param_1 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)PTR_memset_0015b9b4)(piVar6,0,piVar17);" (call_expression "(*(code *)PTR_memset_0015b9b4)(piVar6,0,piVar17)" (parenthesized_expression "(*(code *)PTR_memset_0015b9b4)" ( (pointer_expression "*(code *)PTR_memset_0015b9b4" * (cast_expression "(code *)PTR_memset_0015b9b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar6,0,piVar17)" ( identifier , number_literal , identifier ))) ;) (expression_statement "param_3 = (int **)&DAT_00000064;" (assignment_expression "param_3 = (int **)&DAT_00000064" identifier = (cast_expression "(int **)&DAT_00000064" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&DAT_00000064" & identifier))) ;) (expression_statement "param_2 = (int **)0x3fffffff;" (assignment_expression "param_2 = (int **)0x3fffffff" identifier = (cast_expression "(int **)0x3fffffff" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "piVar17 = (int *)(PTR_0015b5e4 + 0x7618);" (assignment_expression "piVar17 = (int *)(PTR_0015b5e4 + 0x7618)" identifier = (cast_expression "(int *)(PTR_0015b5e4 + 0x7618)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_0015b5e4 + 0x7618)" ( (binary_expression "PTR_0015b5e4 + 0x7618" identifier + number_literal) )))) ;) (while_statement "while (iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5), iVar3 == 100) {\n      if ((piVar15 == (int *)0x0) ||\n         (iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1)) {\n        piVar2 = (int *)(((int)piVar11 + 2) * 4);\n        param_1 = piVar2;\n        piVar6 = (int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6);\n        if (piVar6 == (int *)0x0) goto LAB_00017cb8;\n        param_1 = (int *)0x1;\n        piVar11 = (int *)((int)piVar11 + 1);\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = piVar2 + -2;\n      }\n      else {\n        param_1 = (int *)0x1;\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = (int *)((iVar3 + 0x3fffffff) * 4);\n      }\n      piVar2 = (int *)((int)piVar6 + (int)piVar2);\n      iVar3 = FUN_00017618(uVar4);\n      *piVar2 = iVar3;\n    }" while (parenthesized_expression "(iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5), iVar3 == 100)" ( (comma_expression "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5), iVar3 == 100" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5)" identifier = (call_expression "(*(code *)PTR_sqlite3_step_0015b630)(piVar5)" (parenthesized_expression "(*(code *)PTR_sqlite3_step_0015b630)" ( (pointer_expression "*(code *)PTR_sqlite3_step_0015b630" * (cast_expression "(code *)PTR_sqlite3_step_0015b630" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5)" ( identifier )))) , (binary_expression "iVar3 == 100" identifier == number_literal)) )) (compound_statement "{\n      if ((piVar15 == (int *)0x0) ||\n         (iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1)) {\n        piVar2 = (int *)(((int)piVar11 + 2) * 4);\n        param_1 = piVar2;\n        piVar6 = (int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6);\n        if (piVar6 == (int *)0x0) goto LAB_00017cb8;\n        param_1 = (int *)0x1;\n        piVar11 = (int *)((int)piVar11 + 1);\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = piVar2 + -2;\n      }\n      else {\n        param_1 = (int *)0x1;\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = (int *)((iVar3 + 0x3fffffff) * 4);\n      }\n      piVar2 = (int *)((int)piVar6 + (int)piVar2);\n      iVar3 = FUN_00017618(uVar4);\n      *piVar2 = iVar3;\n    }" { (if_statement "if ((piVar15 == (int *)0x0) ||\n         (iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1)) {\n        piVar2 = (int *)(((int)piVar11 + 2) * 4);\n        param_1 = piVar2;\n        piVar6 = (int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6);\n        if (piVar6 == (int *)0x0) goto LAB_00017cb8;\n        param_1 = (int *)0x1;\n        piVar11 = (int *)((int)piVar11 + 1);\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = piVar2 + -2;\n      }\n      else {\n        param_1 = (int *)0x1;\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = (int *)((iVar3 + 0x3fffffff) * 4);\n      }" if (parenthesized_expression "((piVar15 == (int *)0x0) ||\n         (iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1))" ( (binary_expression "(piVar15 == (int *)0x0) ||\n         (iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1)" (parenthesized_expression "(piVar15 == (int *)0x0)" ( (binary_expression "piVar15 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1)" ( (comma_expression "iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5)" identifier = (call_expression "(*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_int_0015b644)" ( (pointer_expression "*(code *)PTR_sqlite3_column_int_0015b644" * (cast_expression "(code *)PTR_sqlite3_column_int_0015b644" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5,5)" ( identifier , number_literal )))) , (binary_expression "iVar3 < 1" identifier < number_literal)) ))) )) (compound_statement "{\n        piVar2 = (int *)(((int)piVar11 + 2) * 4);\n        param_1 = piVar2;\n        piVar6 = (int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6);\n        if (piVar6 == (int *)0x0) goto LAB_00017cb8;\n        param_1 = (int *)0x1;\n        piVar11 = (int *)((int)piVar11 + 1);\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = piVar2 + -2;\n      }" { (expression_statement "piVar2 = (int *)(((int)piVar11 + 2) * 4);" (assignment_expression "piVar2 = (int *)(((int)piVar11 + 2) * 4)" identifier = (cast_expression "(int *)(((int)piVar11 + 2) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int)piVar11 + 2) * 4)" ( (binary_expression "((int)piVar11 + 2) * 4" (parenthesized_expression "((int)piVar11 + 2)" ( (binary_expression "(int)piVar11 + 2" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) * number_literal) )))) ;) (expression_statement "param_1 = piVar2;" (assignment_expression "param_1 = piVar2" identifier = identifier) ;) (expression_statement "piVar6 = (int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6);" (assignment_expression "piVar6 = (int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6)" identifier = (cast_expression "(int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6)" (parenthesized_expression "(*(code *)PTR_sqlite3_realloc_0015b5f0)" ( (pointer_expression "*(code *)PTR_sqlite3_realloc_0015b5f0" * (cast_expression "(code *)PTR_sqlite3_realloc_0015b5f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar6)" ( identifier ))))) ;) (if_statement "if (piVar6 == (int *)0x0) goto LAB_00017cb8;" if (parenthesized_expression "(piVar6 == (int *)0x0)" ( (binary_expression "piVar6 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00017cb8;" goto statement_identifier ;)) (expression_statement "param_1 = (int *)0x1;" (assignment_expression "param_1 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar11 = (int *)((int)piVar11 + 1);" (assignment_expression "piVar11 = (int *)((int)piVar11 + 1)" identifier = (cast_expression "(int *)((int)piVar11 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + 1)" ( (binary_expression "(int)piVar11 + 1" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);" (assignment_expression "uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5)" identifier = (call_expression "(*(code *)PTR_sqlite3_column_text_0015b634)(piVar5)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_text_0015b634)" ( (pointer_expression "*(code *)PTR_sqlite3_column_text_0015b634" * (cast_expression "(code *)PTR_sqlite3_column_text_0015b634" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5)" ( identifier )))) ;) (expression_statement "piVar2 = piVar2 + -2;" (assignment_expression "piVar2 = piVar2 + -2" identifier = (binary_expression "piVar2 + -2" identifier + number_literal)) ;) }) (else_clause "else {\n        param_1 = (int *)0x1;\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = (int *)((iVar3 + 0x3fffffff) * 4);\n      }" else (compound_statement "{\n        param_1 = (int *)0x1;\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = (int *)((iVar3 + 0x3fffffff) * 4);\n      }" { (expression_statement "param_1 = (int *)0x1;" (assignment_expression "param_1 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);" (assignment_expression "uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5)" identifier = (call_expression "(*(code *)PTR_sqlite3_column_text_0015b634)(piVar5)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_text_0015b634)" ( (pointer_expression "*(code *)PTR_sqlite3_column_text_0015b634" * (cast_expression "(code *)PTR_sqlite3_column_text_0015b634" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5)" ( identifier )))) ;) (expression_statement "piVar2 = (int *)((iVar3 + 0x3fffffff) * 4);" (assignment_expression "piVar2 = (int *)((iVar3 + 0x3fffffff) * 4)" identifier = (cast_expression "(int *)((iVar3 + 0x3fffffff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((iVar3 + 0x3fffffff) * 4)" ( (binary_expression "(iVar3 + 0x3fffffff) * 4" (parenthesized_expression "(iVar3 + 0x3fffffff)" ( (binary_expression "iVar3 + 0x3fffffff" identifier + number_literal) )) * number_literal) )))) ;) }))) (expression_statement "piVar2 = (int *)((int)piVar6 + (int)piVar2);" (assignment_expression "piVar2 = (int *)((int)piVar6 + (int)piVar2)" identifier = (cast_expression "(int *)((int)piVar6 + (int)piVar2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar6 + (int)piVar2)" ( (binary_expression "(int)piVar6 + (int)piVar2" (cast_expression "(int)piVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "iVar3 = FUN_00017618(uVar4);" (assignment_expression "iVar3 = FUN_00017618(uVar4)" identifier = (call_expression "FUN_00017618(uVar4)" identifier (argument_list "(uVar4)" ( identifier )))) ;) (expression_statement "*piVar2 = iVar3;" (assignment_expression "*piVar2 = iVar3" (pointer_expression "*piVar2" * identifier) = identifier) ;) })) (expression_statement "(*(code *)PTR_sqlite3_finalize_0015b63c)(piVar5);" (call_expression "(*(code *)PTR_sqlite3_finalize_0015b63c)(piVar5)" (parenthesized_expression "(*(code *)PTR_sqlite3_finalize_0015b63c)" ( (pointer_expression "*(code *)PTR_sqlite3_finalize_0015b63c" * (cast_expression "(code *)PTR_sqlite3_finalize_0015b63c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5)" ( identifier ))) ;) (expression_statement "piVar6[(int)piVar11] = 0;" (assignment_expression "piVar6[(int)piVar11] = 0" (subscript_expression "piVar6[(int)piVar11]" identifier [ (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) ]) = number_literal) ;) (if_statement "if (param_4 != (uint *)0x0) {\n      *param_4 = (uint)(*piVar6 == 0);\n    }" if (parenthesized_expression "(param_4 != (uint *)0x0)" ( (binary_expression "param_4 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *param_4 = (uint)(*piVar6 == 0);\n    }" { (expression_statement "*param_4 = (uint)(*piVar6 == 0);" (assignment_expression "*param_4 = (uint)(*piVar6 == 0)" (pointer_expression "*param_4" * identifier) = (call_expression "(uint)(*piVar6 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*piVar6 == 0)" ( (binary_expression "*piVar6 == 0" (pointer_expression "*piVar6" * identifier) == number_literal) )))) ;) })) (if_statement "if (*piVar6 == 0) {\n      param_3 = &local_38;\n      param_2 = &local_2c;\n      local_34 = PTR_LAB_0015b5e8 + 0x5368;\n      piVar15 = (int *)(PTR_UINT_0015b5fc + -0x7714);\n      piVar17 = piVar6 + 1;\n      local_30 = PTR_LAB_0015b5e8 + 0x5370;\n      local_38 = piVar15;\n      if ((int)piVar11 < 2) {\n        param_1 = piVar15;\n        iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *piVar6 = iVar3;\n        if (iVar3 == 0) goto LAB_00017b14;\n      }\n      else {\n        while( true ) {\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }\n        piVar2 = (int *)0x1;\n        if (*piVar6 == 0) {\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }\n      }\n    }" if (parenthesized_expression "(*piVar6 == 0)" ( (binary_expression "*piVar6 == 0" (pointer_expression "*piVar6" * identifier) == number_literal) )) (compound_statement "{\n      param_3 = &local_38;\n      param_2 = &local_2c;\n      local_34 = PTR_LAB_0015b5e8 + 0x5368;\n      piVar15 = (int *)(PTR_UINT_0015b5fc + -0x7714);\n      piVar17 = piVar6 + 1;\n      local_30 = PTR_LAB_0015b5e8 + 0x5370;\n      local_38 = piVar15;\n      if ((int)piVar11 < 2) {\n        param_1 = piVar15;\n        iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *piVar6 = iVar3;\n        if (iVar3 == 0) goto LAB_00017b14;\n      }\n      else {\n        while( true ) {\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }\n        piVar2 = (int *)0x1;\n        if (*piVar6 == 0) {\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }\n      }\n    }" { (expression_statement "param_3 = &local_38;" (assignment_expression "param_3 = &local_38" identifier = (pointer_expression "&local_38" & identifier)) ;) (expression_statement "param_2 = &local_2c;" (assignment_expression "param_2 = &local_2c" identifier = (pointer_expression "&local_2c" & identifier)) ;) (expression_statement "local_34 = PTR_LAB_0015b5e8 + 0x5368;" (assignment_expression "local_34 = PTR_LAB_0015b5e8 + 0x5368" identifier = (binary_expression "PTR_LAB_0015b5e8 + 0x5368" identifier + number_literal)) ;) (expression_statement "piVar15 = (int *)(PTR_UINT_0015b5fc + -0x7714);" (assignment_expression "piVar15 = (int *)(PTR_UINT_0015b5fc + -0x7714)" identifier = (cast_expression "(int *)(PTR_UINT_0015b5fc + -0x7714)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_0015b5fc + -0x7714)" ( (binary_expression "PTR_UINT_0015b5fc + -0x7714" identifier + number_literal) )))) ;) (expression_statement "piVar17 = piVar6 + 1;" (assignment_expression "piVar17 = piVar6 + 1" identifier = (binary_expression "piVar6 + 1" identifier + number_literal)) ;) (expression_statement "local_30 = PTR_LAB_0015b5e8 + 0x5370;" (assignment_expression "local_30 = PTR_LAB_0015b5e8 + 0x5370" identifier = (binary_expression "PTR_LAB_0015b5e8 + 0x5370" identifier + number_literal)) ;) (expression_statement "local_38 = piVar15;" (assignment_expression "local_38 = piVar15" identifier = identifier) ;) (if_statement "if ((int)piVar11 < 2) {\n        param_1 = piVar15;\n        iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *piVar6 = iVar3;\n        if (iVar3 == 0) goto LAB_00017b14;\n      }\n      else {\n        while( true ) {\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }\n        piVar2 = (int *)0x1;\n        if (*piVar6 == 0) {\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }\n      }" if (parenthesized_expression "((int)piVar11 < 2)" ( (binary_expression "(int)piVar11 < 2" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        param_1 = piVar15;\n        iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *piVar6 = iVar3;\n        if (iVar3 == 0) goto LAB_00017b14;\n      }" { (expression_statement "param_1 = piVar15;" (assignment_expression "param_1 = piVar15" identifier = identifier) ;) (expression_statement "iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4)" identifier = (call_expression "(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4)" (parenthesized_expression "(*(code *)PTR_sqlite3_mprintf_0015b628)" ( (pointer_expression "*(code *)PTR_sqlite3_mprintf_0015b628" * (cast_expression "(code *)PTR_sqlite3_mprintf_0015b628" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_0015b5e8 + 0x71f4)" ( (binary_expression "PTR_LAB_0015b5e8 + 0x71f4" identifier + number_literal) )))) ;) (expression_statement "*piVar6 = iVar3;" (assignment_expression "*piVar6 = iVar3" (pointer_expression "*piVar6" * identifier) = identifier) ;) (if_statement "if (iVar3 == 0) goto LAB_00017b14;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00017b14;" goto statement_identifier ;)) }) (else_clause "else {\n        while( true ) {\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }\n        piVar2 = (int *)0x1;\n        if (*piVar6 == 0) {\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }\n      }" else (compound_statement "{\n        while( true ) {\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }\n        piVar2 = (int *)0x1;\n        if (*piVar6 == 0) {\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }\n      }" { (while_statement "while( true ) {\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }" { (expression_statement "piVar5 = (int *)0x1;" (assignment_expression "piVar5 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar2 = piVar17;" (assignment_expression "piVar2 = piVar17" identifier = identifier) ;) (while_statement "while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }" while (parenthesized_expression "(param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0)" ( (comma_expression "param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0" (assignment_expression "param_1 = piVar15" identifier = identifier) , (comma_expression "iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0" (assignment_expression "iVar3 = sqlite3_stricmp(*piVar2)" identifier = (call_expression "sqlite3_stricmp(*piVar2)" identifier (argument_list "(*piVar2)" ( (pointer_expression "*piVar2" * identifier) )))) , (binary_expression "iVar3 != 0" identifier != number_literal))) )) (compound_statement "{\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }" { (expression_statement "piVar5 = (int *)((int)piVar5 + 1);" (assignment_expression "piVar5 = (int *)((int)piVar5 + 1)" identifier = (cast_expression "(int *)((int)piVar5 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 1)" ( (binary_expression "(int)piVar5 + 1" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar2 = piVar2 + 1;" (assignment_expression "piVar2 = piVar2 + 1" identifier = (binary_expression "piVar2 + 1" identifier + number_literal)) ;) (if_statement "if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }" if (parenthesized_expression "(piVar11 == piVar5)" ( (binary_expression "piVar11 == piVar5" identifier == identifier) )) (compound_statement "{\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }" { (expression_statement "param_1 = piVar15;" (assignment_expression "param_1 = piVar15" identifier = identifier) ;) (expression_statement "iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4)" identifier = (call_expression "(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4)" (parenthesized_expression "(*(code *)PTR_sqlite3_mprintf_0015b628)" ( (pointer_expression "*(code *)PTR_sqlite3_mprintf_0015b628" * (cast_expression "(code *)PTR_sqlite3_mprintf_0015b628" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_0015b5e8 + 0x71f4)" ( (binary_expression "PTR_LAB_0015b5e8 + 0x71f4" identifier + number_literal) )))) ;) (expression_statement "*piVar6 = iVar3;" (assignment_expression "*piVar6 = iVar3" (pointer_expression "*piVar6" * identifier) = identifier) ;) (if_statement "if (iVar3 != 0) goto LAB_00017984;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00017984;" goto statement_identifier ;)) (expression_statement "piVar2 = (int *)0x1;" (assignment_expression "piVar2 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00017af4;" goto statement_identifier ;) })) })) (expression_statement "param_3 = param_3 + 1;" (assignment_expression "param_3 = param_3 + 1" identifier = (binary_expression "param_3 + 1" identifier + number_literal)) ;) (if_statement "if (param_2 == param_3) break;" if (parenthesized_expression "(param_2 == param_3)" ( (binary_expression "param_2 == param_3" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "piVar15 = *param_3;" (assignment_expression "piVar15 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) })) (expression_statement "piVar2 = (int *)0x1;" (assignment_expression "piVar2 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (*piVar6 == 0) {\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }" if (parenthesized_expression "(*piVar6 == 0)" ( (binary_expression "*piVar6 == 0" (pointer_expression "*piVar6" * identifier) == number_literal) )) (compound_statement "{\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }" { (labeled_statement "LAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);" statement_identifier : (do_statement "do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);" do (compound_statement "{\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          }" { (expression_statement "piVar2 = (int *)((int)piVar2 + 1);" (assignment_expression "piVar2 = (int *)((int)piVar2 + 1)" identifier = (cast_expression "(int *)((int)piVar2 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 1)" ( (binary_expression "(int)piVar2 + 1" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iVar3 = *piVar17;" (assignment_expression "iVar3 = *piVar17" identifier = (pointer_expression "*piVar17" * identifier)) ;) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" identifier = (binary_expression "piVar17 + 1" identifier + number_literal)) ;) (expression_statement "sqlite3_free(iVar3);" (call_expression "sqlite3_free(iVar3)" identifier (argument_list "(iVar3)" ( identifier ))) ;) }) while (parenthesized_expression "((int)piVar2 < (int)piVar11)" ( (binary_expression "(int)piVar2 < (int)piVar11" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;)) (labeled_statement "LAB_00017b14:\n          sqlite3_free(piVar6);" statement_identifier : (expression_statement "sqlite3_free(piVar6);" (call_expression "sqlite3_free(piVar6)" identifier (argument_list "(piVar6)" ( identifier ))) ;)) (expression_statement "piVar6 = (int *)0x0;" (assignment_expression "piVar6 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) }))) })) (labeled_statement "LAB_00017984:\n    piVar9 = local_2c;" statement_identifier : (expression_statement "piVar9 = local_2c;" (assignment_expression "piVar9 = local_2c" identifier = identifier) ;)) (if_statement "if (local_2c == *(int **)puVar1) {\n      return piVar6;\n    }" if (parenthesized_expression "(local_2c == *(int **)puVar1)" ( (binary_expression "local_2c == *(int **)puVar1" identifier == (pointer_expression "*(int **)puVar1" * (cast_expression "(int **)puVar1" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n      return piVar6;\n    }" { (return_statement "return piVar6;" return identifier ;) })) }))) (expression_statement "uVar4 = 0x17cd8;" (assignment_expression "uVar4 = 0x17cd8" identifier = number_literal) ;) (expression_statement "puVar20 = PTR___stack_chk_fail_0015ba10;" (assignment_expression "puVar20 = PTR___stack_chk_fail_0015ba10" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0015ba10)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015ba10)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015ba10)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0015ba10" * (cast_expression "(code *)PTR___stack_chk_fail_0015ba10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "local_68 = puVar1;" (assignment_expression "local_68 = puVar1" identifier = identifier) ;) (expression_statement "piVar16 = *(int **)(puVar20 + 0x143d54);" (assignment_expression "piVar16 = *(int **)(puVar20 + 0x143d54)" identifier = (pointer_expression "*(int **)(puVar20 + 0x143d54)" * (cast_expression "(int **)(puVar20 + 0x143d54)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x143d54)" ( (binary_expression "puVar20 + 0x143d54" identifier + number_literal) ))))) ;) (expression_statement "iVar14 = *(int *)(puVar20 + 0x143914);" (assignment_expression "iVar14 = *(int *)(puVar20 + 0x143914)" identifier = (pointer_expression "*(int *)(puVar20 + 0x143914)" * (cast_expression "(int *)(puVar20 + 0x143914)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143914)" ( (binary_expression "puVar20 + 0x143914" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)(puVar20 + 0x143924);" (assignment_expression "iVar12 = *(int *)(puVar20 + 0x143924)" identifier = (pointer_expression "*(int *)(puVar20 + 0x143924)" * (cast_expression "(int *)(puVar20 + 0x143924)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143924)" ( (binary_expression "puVar20 + 0x143924" identifier + number_literal) ))))) ;) (expression_statement "local_8c = (int *)*piVar16;" (assignment_expression "local_8c = (int *)*piVar16" identifier = (cast_expression "(int *)*piVar16" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar16" * identifier))) ;) (expression_statement "local_88 = piVar2;" (assignment_expression "local_88 = piVar2" identifier = identifier) ;) (expression_statement "local_84 = piVar11;" (assignment_expression "local_84 = piVar11" identifier = identifier) ;) (expression_statement "local_80 = piVar6;" (assignment_expression "local_80 = piVar6" identifier = identifier) ;) (expression_statement "local_7c = piVar5;" (assignment_expression "local_7c = piVar5" identifier = identifier) ;) (expression_statement "local_78 = piVar15;" (assignment_expression "local_78 = piVar15" identifier = identifier) ;) (expression_statement "local_74 = piVar17;" (assignment_expression "local_74 = piVar17" identifier = identifier) ;) (expression_statement "local_70 = param_3;" (assignment_expression "local_70 = param_3" identifier = identifier) ;) (expression_statement "local_6c = param_2;" (assignment_expression "local_6c = param_2" identifier = identifier) ;) (expression_statement "local_64 = uVar4;" (assignment_expression "local_64 = uVar4" identifier = identifier) ;) (expression_statement "uVar4 = FUN_00017618();" (assignment_expression "uVar4 = FUN_00017618()" identifier = (call_expression "FUN_00017618()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "iVar3 = (**(code **)(puVar20 + 0x143974))\n                    (*(undefined4 *)(iVar14 + 0x14),iVar12 + -0x236c,piVar9,0,0,0,0,0,0);" (assignment_expression "iVar3 = (**(code **)(puVar20 + 0x143974))\n                    (*(undefined4 *)(iVar14 + 0x14),iVar12 + -0x236c,piVar9,0,0,0,0,0,0)" identifier = (call_expression "(**(code **)(puVar20 + 0x143974))\n                    (*(undefined4 *)(iVar14 + 0x14),iVar12 + -0x236c,piVar9,0,0,0,0,0,0)" (parenthesized_expression "(**(code **)(puVar20 + 0x143974))" ( (pointer_expression "**(code **)(puVar20 + 0x143974)" * (pointer_expression "*(code **)(puVar20 + 0x143974)" * (cast_expression "(code **)(puVar20 + 0x143974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x143974)" ( (binary_expression "puVar20 + 0x143974" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar14 + 0x14),iVar12 + -0x236c,piVar9,0,0,0,0,0,0)" ( (pointer_expression "*(undefined4 *)(iVar14 + 0x14)" * (cast_expression "(undefined4 *)(iVar14 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x14)" ( (binary_expression "iVar14 + 0x14" identifier + number_literal) )))) , (binary_expression "iVar12 + -0x236c" identifier + number_literal) , identifier , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal )))) ;) (if_statement "if (iVar3 != 0) {\n    iVar3 = (**(code **)(puVar20 + 0x143974))\n                      (*(undefined4 *)(iVar14 + 0x14),*(int *)(puVar20 + 0x143910) + 0x538c,piVar9,0\n                       ,0,0,0,0,0);\n    if (iVar3 == 0) {\n      (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5394,piVar9);\n    }\nLAB_00018294:\n    sqlite3_free(local_98);\n    local_98 = 0;\n    local_94 = 0;\n    local_90 = 0;\n    sqlite3_free(uVar4);\n    goto LAB_000182c0;\n  }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar3 = (**(code **)(puVar20 + 0x143974))\n                      (*(undefined4 *)(iVar14 + 0x14),*(int *)(puVar20 + 0x143910) + 0x538c,piVar9,0\n                       ,0,0,0,0,0);\n    if (iVar3 == 0) {\n      (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5394,piVar9);\n    }\nLAB_00018294:\n    sqlite3_free(local_98);\n    local_98 = 0;\n    local_94 = 0;\n    local_90 = 0;\n    sqlite3_free(uVar4);\n    goto LAB_000182c0;\n  }" { (expression_statement "iVar3 = (**(code **)(puVar20 + 0x143974))\n                      (*(undefined4 *)(iVar14 + 0x14),*(int *)(puVar20 + 0x143910) + 0x538c,piVar9,0\n                       ,0,0,0,0,0);" (assignment_expression "iVar3 = (**(code **)(puVar20 + 0x143974))\n                      (*(undefined4 *)(iVar14 + 0x14),*(int *)(puVar20 + 0x143910) + 0x538c,piVar9,0\n                       ,0,0,0,0,0)" identifier = (call_expression "(**(code **)(puVar20 + 0x143974))\n                      (*(undefined4 *)(iVar14 + 0x14),*(int *)(puVar20 + 0x143910) + 0x538c,piVar9,0\n                       ,0,0,0,0,0)" (parenthesized_expression "(**(code **)(puVar20 + 0x143974))" ( (pointer_expression "**(code **)(puVar20 + 0x143974)" * (pointer_expression "*(code **)(puVar20 + 0x143974)" * (cast_expression "(code **)(puVar20 + 0x143974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x143974)" ( (binary_expression "puVar20 + 0x143974" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar14 + 0x14),*(int *)(puVar20 + 0x143910) + 0x538c,piVar9,0\n                       ,0,0,0,0,0)" ( (pointer_expression "*(undefined4 *)(iVar14 + 0x14)" * (cast_expression "(undefined4 *)(iVar14 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x14)" ( (binary_expression "iVar14 + 0x14" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar20 + 0x143910) + 0x538c" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal) , identifier , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal )))) ;) (if_statement "if (iVar3 == 0) {\n      (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5394,piVar9);\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5394,piVar9);\n    }" { (expression_statement "(**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5394,piVar9);" (call_expression "(**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5394,piVar9)" (parenthesized_expression "(**(code **)(puVar20 + 0x143cac))" ( (pointer_expression "**(code **)(puVar20 + 0x143cac)" * (pointer_expression "*(code **)(puVar20 + 0x143cac)" * (cast_expression "(code **)(puVar20 + 0x143cac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x143cac)" ( (binary_expression "puVar20 + 0x143cac" identifier + number_literal) ))))) )) (argument_list "(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5394,piVar9)" ( identifier , number_literal , (binary_expression "*(int *)(puVar20 + 0x143910) + 0x5394" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal) , identifier ))) ;) })) (labeled_statement "LAB_00018294:\n    sqlite3_free(local_98);" statement_identifier : (expression_statement "sqlite3_free(local_98);" (call_expression "sqlite3_free(local_98)" identifier (argument_list "(local_98)" ( identifier ))) ;)) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "sqlite3_free(uVar4);" (call_expression "sqlite3_free(uVar4)" identifier (argument_list "(uVar4)" ( identifier ))) ;) (goto_statement "goto LAB_000182c0;" goto statement_identifier ;) })) (expression_statement "iVar18 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar18 = *(int *)(puVar20 + 0x143910)" identifier = (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = (**(code **)(puVar20 + 0x143974))\n                    (*(undefined4 *)(iVar14 + 0x14),iVar18 + 0x538c,piVar9,0,0,0,0,0,0);" (assignment_expression "iVar3 = (**(code **)(puVar20 + 0x143974))\n                    (*(undefined4 *)(iVar14 + 0x14),iVar18 + 0x538c,piVar9,0,0,0,0,0,0)" identifier = (call_expression "(**(code **)(puVar20 + 0x143974))\n                    (*(undefined4 *)(iVar14 + 0x14),iVar18 + 0x538c,piVar9,0,0,0,0,0,0)" (parenthesized_expression "(**(code **)(puVar20 + 0x143974))" ( (pointer_expression "**(code **)(puVar20 + 0x143974)" * (pointer_expression "*(code **)(puVar20 + 0x143974)" * (cast_expression "(code **)(puVar20 + 0x143974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x143974)" ( (binary_expression "puVar20 + 0x143974" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar14 + 0x14),iVar18 + 0x538c,piVar9,0,0,0,0,0,0)" ( (pointer_expression "*(undefined4 *)(iVar14 + 0x14)" * (cast_expression "(undefined4 *)(iVar14 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x14)" ( (binary_expression "iVar14 + 0x14" identifier + number_literal) )))) , (binary_expression "iVar18 + 0x538c" identifier + number_literal) , identifier , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal )))) ;) (if_statement "if (iVar3 != 0) {\n    (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x53b8,piVar9);\n    goto LAB_00018294;\n  }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n    (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x53b8,piVar9);\n    goto LAB_00018294;\n  }" { (expression_statement "(**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x53b8,piVar9);" (call_expression "(**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x53b8,piVar9)" (parenthesized_expression "(**(code **)(puVar20 + 0x143cac))" ( (pointer_expression "**(code **)(puVar20 + 0x143cac)" * (pointer_expression "*(code **)(puVar20 + 0x143cac)" * (cast_expression "(code **)(puVar20 + 0x143cac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x143cac)" ( (binary_expression "puVar20 + 0x143cac" identifier + number_literal) ))))) )) (argument_list "(param_1,1,*(int *)(puVar20 + 0x143910) + 0x53b8,piVar9)" ( identifier , number_literal , (binary_expression "*(int *)(puVar20 + 0x143910) + 0x53b8" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (goto_statement "goto LAB_00018294;" goto statement_identifier ;) })) (expression_statement "piVar11 = (int *)FUN_00017720(iVar18 + 0x538c,piVar9,&local_a0,0);" (assignment_expression "piVar11 = (int *)FUN_00017720(iVar18 + 0x538c,piVar9,&local_a0,0)" identifier = (cast_expression "(int *)FUN_00017720(iVar18 + 0x538c,piVar9,&local_a0,0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00017720(iVar18 + 0x538c,piVar9,&local_a0,0)" identifier (argument_list "(iVar18 + 0x538c,piVar9,&local_a0,0)" ( (binary_expression "iVar18 + 0x538c" identifier + number_literal) , identifier , (pointer_expression "&local_a0" & identifier) , number_literal ))))) ;) (expression_statement "param_3 = (int **)FUN_00017720(iVar12 + -0x236c,piVar9,&local_9c,0);" (assignment_expression "param_3 = (int **)FUN_00017720(iVar12 + -0x236c,piVar9,&local_9c,0)" identifier = (cast_expression "(int **)FUN_00017720(iVar12 + -0x236c,piVar9,&local_9c,0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "FUN_00017720(iVar12 + -0x236c,piVar9,&local_9c,0)" identifier (argument_list "(iVar12 + -0x236c,piVar9,&local_9c,0)" ( (binary_expression "iVar12 + -0x236c" identifier + number_literal) , identifier , (pointer_expression "&local_9c" & identifier) , number_literal ))))) ;) (if_statement "if (piVar11 == (int *)0x0) goto LAB_000184e8;" if (parenthesized_expression "(piVar11 == (int *)0x0)" ( (binary_expression "piVar11 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000184e8;" goto statement_identifier ;)) (expression_statement "iVar3 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar3 = *(int *)(puVar20 + 0x143910)" identifier = (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) ))))) ;) (if_statement "if (param_3 != (int **)0x0) {\n    iVar3 = *piVar11;\n    if (iVar3 == 0) {\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if (local_9c == local_a0) {\n        iVar12 = 0;\n        goto LAB_00017e78;\n      }\n    }\n    else {\n      iVar12 = 0;\n      ppiVar13 = param_3;\n      piVar2 = piVar11;\n      do {\n        piVar2 = piVar2 + 1;\n        iVar3 = sqlite3_stricmp(iVar3,*ppiVar13);\n        if (iVar3 != 0) break;\n        iVar3 = *piVar2;\n        iVar12 = iVar12 + 1;\n        ppiVar13 = ppiVar13 + 1;\n      } while (iVar3 != 0);\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if ((local_a0 == local_9c) && (piVar11[iVar12] == 0)) {\nLAB_00017e78:\n        pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4);\n        FUN_00016de4(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc);\n        if (local_9c == iVar12) {\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);\n        }\n        else {\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4);\n        if (0 < local_a0) {\n          iVar12 = *(int *)(puVar20 + 0x143910);\n          iVar8 = 0;\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;\n          do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);\n        }\n        iVar3 = *(int *)(puVar20 + 0x143910);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar10 = 0;\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);\n        }\n        (*pcVar19)(&local_98,local_a8 + 0x5414);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          iVar3 = 0;\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508);\n        if ((*(uint *)(iVar14 + 0x10) & 2) == 0) {\n          uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);\n          local_a8 = 0;\n          uVar23 = 0;\n          uVar24 = 0;\n          local_a4 = 0;\n          uVar21 = 0;\nLAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );\n        }\n        (**(code **)(puVar20 + 0x143ccc))(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98);\n        goto LAB_00018318;\n      }\n    }\n  }" if (parenthesized_expression "(param_3 != (int **)0x0)" ( (binary_expression "param_3 != (int **)0x0" identifier != (cast_expression "(int **)0x0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n    iVar3 = *piVar11;\n    if (iVar3 == 0) {\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if (local_9c == local_a0) {\n        iVar12 = 0;\n        goto LAB_00017e78;\n      }\n    }\n    else {\n      iVar12 = 0;\n      ppiVar13 = param_3;\n      piVar2 = piVar11;\n      do {\n        piVar2 = piVar2 + 1;\n        iVar3 = sqlite3_stricmp(iVar3,*ppiVar13);\n        if (iVar3 != 0) break;\n        iVar3 = *piVar2;\n        iVar12 = iVar12 + 1;\n        ppiVar13 = ppiVar13 + 1;\n      } while (iVar3 != 0);\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if ((local_a0 == local_9c) && (piVar11[iVar12] == 0)) {\nLAB_00017e78:\n        pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4);\n        FUN_00016de4(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc);\n        if (local_9c == iVar12) {\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);\n        }\n        else {\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4);\n        if (0 < local_a0) {\n          iVar12 = *(int *)(puVar20 + 0x143910);\n          iVar8 = 0;\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;\n          do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);\n        }\n        iVar3 = *(int *)(puVar20 + 0x143910);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar10 = 0;\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);\n        }\n        (*pcVar19)(&local_98,local_a8 + 0x5414);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          iVar3 = 0;\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508);\n        if ((*(uint *)(iVar14 + 0x10) & 2) == 0) {\n          uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);\n          local_a8 = 0;\n          uVar23 = 0;\n          uVar24 = 0;\n          local_a4 = 0;\n          uVar21 = 0;\nLAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );\n        }\n        (**(code **)(puVar20 + 0x143ccc))(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98);\n        goto LAB_00018318;\n      }\n    }\n  }" { (expression_statement "iVar3 = *piVar11;" (assignment_expression "iVar3 = *piVar11" identifier = (pointer_expression "*piVar11" * identifier)) ;) (if_statement "if (iVar3 == 0) {\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if (local_9c == local_a0) {\n        iVar12 = 0;\n        goto LAB_00017e78;\n      }\n    }\n    else {\n      iVar12 = 0;\n      ppiVar13 = param_3;\n      piVar2 = piVar11;\n      do {\n        piVar2 = piVar2 + 1;\n        iVar3 = sqlite3_stricmp(iVar3,*ppiVar13);\n        if (iVar3 != 0) break;\n        iVar3 = *piVar2;\n        iVar12 = iVar12 + 1;\n        ppiVar13 = ppiVar13 + 1;\n      } while (iVar3 != 0);\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if ((local_a0 == local_9c) && (piVar11[iVar12] == 0)) {\nLAB_00017e78:\n        pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4);\n        FUN_00016de4(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc);\n        if (local_9c == iVar12) {\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);\n        }\n        else {\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4);\n        if (0 < local_a0) {\n          iVar12 = *(int *)(puVar20 + 0x143910);\n          iVar8 = 0;\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;\n          do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);\n        }\n        iVar3 = *(int *)(puVar20 + 0x143910);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar10 = 0;\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);\n        }\n        (*pcVar19)(&local_98,local_a8 + 0x5414);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          iVar3 = 0;\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508);\n        if ((*(uint *)(iVar14 + 0x10) & 2) == 0) {\n          uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);\n          local_a8 = 0;\n          uVar23 = 0;\n          uVar24 = 0;\n          local_a4 = 0;\n          uVar21 = 0;\nLAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );\n        }\n        (**(code **)(puVar20 + 0x143ccc))(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98);\n        goto LAB_00018318;\n      }\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if (local_9c == local_a0) {\n        iVar12 = 0;\n        goto LAB_00017e78;\n      }\n    }" { (expression_statement "iVar3 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar3 = *(int *)(puVar20 + 0x143910)" identifier = (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) ))))) ;) (if_statement "if (local_9c == local_a0) {\n        iVar12 = 0;\n        goto LAB_00017e78;\n      }" if (parenthesized_expression "(local_9c == local_a0)" ( (binary_expression "local_9c == local_a0" identifier == identifier) )) (compound_statement "{\n        iVar12 = 0;\n        goto LAB_00017e78;\n      }" { (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00017e78;" goto statement_identifier ;) })) }) (else_clause "else {\n      iVar12 = 0;\n      ppiVar13 = param_3;\n      piVar2 = piVar11;\n      do {\n        piVar2 = piVar2 + 1;\n        iVar3 = sqlite3_stricmp(iVar3,*ppiVar13);\n        if (iVar3 != 0) break;\n        iVar3 = *piVar2;\n        iVar12 = iVar12 + 1;\n        ppiVar13 = ppiVar13 + 1;\n      } while (iVar3 != 0);\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if ((local_a0 == local_9c) && (piVar11[iVar12] == 0)) {\nLAB_00017e78:\n        pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4);\n        FUN_00016de4(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc);\n        if (local_9c == iVar12) {\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);\n        }\n        else {\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4);\n        if (0 < local_a0) {\n          iVar12 = *(int *)(puVar20 + 0x143910);\n          iVar8 = 0;\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;\n          do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);\n        }\n        iVar3 = *(int *)(puVar20 + 0x143910);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar10 = 0;\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);\n        }\n        (*pcVar19)(&local_98,local_a8 + 0x5414);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          iVar3 = 0;\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508);\n        if ((*(uint *)(iVar14 + 0x10) & 2) == 0) {\n          uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);\n          local_a8 = 0;\n          uVar23 = 0;\n          uVar24 = 0;\n          local_a4 = 0;\n          uVar21 = 0;\nLAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );\n        }\n        (**(code **)(puVar20 + 0x143ccc))(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98);\n        goto LAB_00018318;\n      }\n    }" else (compound_statement "{\n      iVar12 = 0;\n      ppiVar13 = param_3;\n      piVar2 = piVar11;\n      do {\n        piVar2 = piVar2 + 1;\n        iVar3 = sqlite3_stricmp(iVar3,*ppiVar13);\n        if (iVar3 != 0) break;\n        iVar3 = *piVar2;\n        iVar12 = iVar12 + 1;\n        ppiVar13 = ppiVar13 + 1;\n      } while (iVar3 != 0);\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if ((local_a0 == local_9c) && (piVar11[iVar12] == 0)) {\nLAB_00017e78:\n        pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4);\n        FUN_00016de4(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc);\n        if (local_9c == iVar12) {\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);\n        }\n        else {\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4);\n        if (0 < local_a0) {\n          iVar12 = *(int *)(puVar20 + 0x143910);\n          iVar8 = 0;\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;\n          do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);\n        }\n        iVar3 = *(int *)(puVar20 + 0x143910);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar10 = 0;\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);\n        }\n        (*pcVar19)(&local_98,local_a8 + 0x5414);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          iVar3 = 0;\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508);\n        if ((*(uint *)(iVar14 + 0x10) & 2) == 0) {\n          uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);\n          local_a8 = 0;\n          uVar23 = 0;\n          uVar24 = 0;\n          local_a4 = 0;\n          uVar21 = 0;\nLAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );\n        }\n        (**(code **)(puVar20 + 0x143ccc))(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98);\n        goto LAB_00018318;\n      }\n    }" { (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (expression_statement "ppiVar13 = param_3;" (assignment_expression "ppiVar13 = param_3" identifier = identifier) ;) (expression_statement "piVar2 = piVar11;" (assignment_expression "piVar2 = piVar11" identifier = identifier) ;) (do_statement "do {\n        piVar2 = piVar2 + 1;\n        iVar3 = sqlite3_stricmp(iVar3,*ppiVar13);\n        if (iVar3 != 0) break;\n        iVar3 = *piVar2;\n        iVar12 = iVar12 + 1;\n        ppiVar13 = ppiVar13 + 1;\n      } while (iVar3 != 0);" do (compound_statement "{\n        piVar2 = piVar2 + 1;\n        iVar3 = sqlite3_stricmp(iVar3,*ppiVar13);\n        if (iVar3 != 0) break;\n        iVar3 = *piVar2;\n        iVar12 = iVar12 + 1;\n        ppiVar13 = ppiVar13 + 1;\n      }" { (expression_statement "piVar2 = piVar2 + 1;" (assignment_expression "piVar2 = piVar2 + 1" identifier = (binary_expression "piVar2 + 1" identifier + number_literal)) ;) (expression_statement "iVar3 = sqlite3_stricmp(iVar3,*ppiVar13);" (assignment_expression "iVar3 = sqlite3_stricmp(iVar3,*ppiVar13)" identifier = (call_expression "sqlite3_stricmp(iVar3,*ppiVar13)" identifier (argument_list "(iVar3,*ppiVar13)" ( identifier , (pointer_expression "*ppiVar13" * identifier) )))) ;) (if_statement "if (iVar3 != 0) break;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = *piVar2;" (assignment_expression "iVar3 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;) (expression_statement "ppiVar13 = ppiVar13 + 1;" (assignment_expression "ppiVar13 = ppiVar13 + 1" identifier = (binary_expression "ppiVar13 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) ;) (expression_statement "iVar3 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar3 = *(int *)(puVar20 + 0x143910)" identifier = (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) ))))) ;) (if_statement "if ((local_a0 == local_9c) && (piVar11[iVar12] == 0)) {\nLAB_00017e78:\n        pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4);\n        FUN_00016de4(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc);\n        if (local_9c == iVar12) {\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);\n        }\n        else {\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4);\n        if (0 < local_a0) {\n          iVar12 = *(int *)(puVar20 + 0x143910);\n          iVar8 = 0;\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;\n          do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);\n        }\n        iVar3 = *(int *)(puVar20 + 0x143910);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar10 = 0;\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);\n        }\n        (*pcVar19)(&local_98,local_a8 + 0x5414);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          iVar3 = 0;\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508);\n        if ((*(uint *)(iVar14 + 0x10) & 2) == 0) {\n          uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);\n          local_a8 = 0;\n          uVar23 = 0;\n          uVar24 = 0;\n          local_a4 = 0;\n          uVar21 = 0;\nLAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );\n        }\n        (**(code **)(puVar20 + 0x143ccc))(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98);\n        goto LAB_00018318;\n      }" if (parenthesized_expression "((local_a0 == local_9c) && (piVar11[iVar12] == 0))" ( (binary_expression "(local_a0 == local_9c) && (piVar11[iVar12] == 0)" (parenthesized_expression "(local_a0 == local_9c)" ( (binary_expression "local_a0 == local_9c" identifier == identifier) )) && (parenthesized_expression "(piVar11[iVar12] == 0)" ( (binary_expression "piVar11[iVar12] == 0" (subscript_expression "piVar11[iVar12]" identifier [ identifier ]) == number_literal) ))) )) (compound_statement "{\nLAB_00017e78:\n        pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4);\n        FUN_00016de4(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc);\n        if (local_9c == iVar12) {\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);\n        }\n        else {\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4);\n        if (0 < local_a0) {\n          iVar12 = *(int *)(puVar20 + 0x143910);\n          iVar8 = 0;\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;\n          do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);\n        }\n        iVar3 = *(int *)(puVar20 + 0x143910);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar10 = 0;\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);\n        }\n        (*pcVar19)(&local_98,local_a8 + 0x5414);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          iVar3 = 0;\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508);\n        if ((*(uint *)(iVar14 + 0x10) & 2) == 0) {\n          uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);\n          local_a8 = 0;\n          uVar23 = 0;\n          uVar24 = 0;\n          local_a4 = 0;\n          uVar21 = 0;\nLAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );\n        }\n        (**(code **)(puVar20 + 0x143ccc))(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98);\n        goto LAB_00018318;\n      }" { (labeled_statement "LAB_00017e78:\n        pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4);" statement_identifier : (expression_statement "pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4);" (assignment_expression "pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4)" identifier = (cast_expression "(code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar20 + 0x14390c) + 0x6de4)" ( (binary_expression "*(int *)(puVar20 + 0x14390c) + 0x6de4" (pointer_expression "*(int *)(puVar20 + 0x14390c)" * (cast_expression "(int *)(puVar20 + 0x14390c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x14390c)" ( (binary_expression "puVar20 + 0x14390c" identifier + number_literal) )))) + number_literal) )))) ;)) (expression_statement "FUN_00016de4(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc);" (call_expression "FUN_00016de4(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc)" identifier (argument_list "(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc)" ( (pointer_expression "&local_98" & identifier) , (binary_expression "*(int *)(puVar20 + 0x143910) + 0x53dc" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (local_9c == iVar12) {\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);\n        }\n        else {\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }" if (parenthesized_expression "(local_9c == iVar12)" ( (binary_expression "local_9c == iVar12" identifier == identifier) )) (compound_statement "{\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);\n        }" { (expression_statement "local_a8 = *(int *)(puVar20 + 0x143910);" (assignment_expression "local_a8 = *(int *)(puVar20 + 0x143910)" identifier = (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);" (call_expression "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0)" ( (pointer_expression "&local_98" & identifier) , (binary_expression "*(int *)(puVar20 + 0x143910) + 0x53f0" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }" else (compound_statement "{\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }" { (expression_statement "piVar2 = piVar11 + local_a0;" (assignment_expression "piVar2 = piVar11 + local_a0" identifier = (binary_expression "piVar11 + local_a0" identifier + identifier)) ;) (expression_statement "iVar12 = *piVar2;" (assignment_expression "iVar12 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "iVar3 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar3 = *(int *)(puVar20 + 0x143910)" identifier = (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) ))))) ;) (if_statement "if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (compound_statement "{\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }" { (expression_statement "iVar8 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar8 = *(int *)(puVar20 + 0x143910)" identifier = (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) ))))) ;) (expression_statement "iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;" (assignment_expression "iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374" identifier = (binary_expression "*(int *)(puVar20 + 0x143910) + 0x5374" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal)) ;) (do_statement "do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);" do (compound_statement "{\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            }" { (expression_statement "piVar2 = piVar2 + 1;" (assignment_expression "piVar2 = piVar2 + 1" identifier = (binary_expression "piVar2 + 1" identifier + number_literal)) ;) (expression_statement "(*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);" (call_expression "(*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12)" ( (pointer_expression "&local_98" & identifier) , (binary_expression "iVar3 + 0x53f8" identifier + number_literal) , identifier , identifier , identifier ))) ;) (expression_statement "iVar12 = *piVar2;" (assignment_expression "iVar12 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "iVar18 = iVar8 + 0x540c;" (assignment_expression "iVar18 = iVar8 + 0x540c" identifier = (binary_expression "iVar8 + 0x540c" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) ;) })) (expression_statement "local_a8 = *(int *)(puVar20 + 0x143910);" (assignment_expression "local_a8 = *(int *)(puVar20 + 0x143910)" identifier = (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar19)(&local_98,local_a8 + 0x5414);" (call_expression "(*pcVar19)(&local_98,local_a8 + 0x5414)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(&local_98,local_a8 + 0x5414)" ( (pointer_expression "&local_98" & identifier) , (binary_expression "local_a8 + 0x5414" identifier + number_literal) ))) ;) }))) (expression_statement "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4);" (call_expression "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4)" ( (pointer_expression "&local_98" & identifier) , (binary_expression "*(int *)(puVar20 + 0x143910) + 0x5418" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal) , identifier , identifier ))) ;) (if_statement "if (0 < local_a0) {\n          iVar12 = *(int *)(puVar20 + 0x143910);\n          iVar8 = 0;\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;\n          do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);\n        }" if (parenthesized_expression "(0 < local_a0)" ( (binary_expression "0 < local_a0" number_literal < identifier) )) (compound_statement "{\n          iVar12 = *(int *)(puVar20 + 0x143910);\n          iVar8 = 0;\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;\n          do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);\n        }" { (expression_statement "iVar12 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar12 = *(int *)(puVar20 + 0x143910)" identifier = (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "iVar18 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar18 = *(int *)(puVar20 + 0x143910)" identifier = (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) ))))) ;) (expression_statement "piVar2 = piVar11;" (assignment_expression "piVar2 = piVar11" identifier = identifier) ;) (expression_statement "iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;" (assignment_expression "iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c" identifier = (binary_expression "*(int *)(puVar20 + 0x143910) + 0x537c" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal)) ;) (do_statement "do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);" do (compound_statement "{\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          }" { (expression_statement "(*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);" (call_expression "(*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2)" ( (pointer_expression "&local_98" & identifier) , (binary_expression "iVar12 + 0x5434" identifier + number_literal) , identifier , (pointer_expression "*piVar2" * identifier) , (pointer_expression "*piVar2" * identifier) ))) ;) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "piVar2 = piVar2 + 1;" (assignment_expression "piVar2 = piVar2 + 1" identifier = (binary_expression "piVar2 + 1" identifier + number_literal)) ;) (expression_statement "iVar3 = iVar18 + 0x5444;" (assignment_expression "iVar3 = iVar18 + 0x5444" identifier = (binary_expression "iVar18 + 0x5444" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar8 < local_a0)" ( (binary_expression "iVar8 < local_a0" identifier < identifier) )) ;) })) (expression_statement "iVar3 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar3 = *(int *)(puVar20 + 0x143910)" identifier = (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar19)(&local_98,iVar3 + 0x544c);" (call_expression "(*pcVar19)(&local_98,iVar3 + 0x544c)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(&local_98,iVar3 + 0x544c)" ( (pointer_expression "&local_98" & identifier) , (binary_expression "iVar3 + 0x544c" identifier + number_literal) ))) ;) (expression_statement "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458);" (call_expression "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458)" ( (pointer_expression "&local_98" & identifier) , (binary_expression "*(int *)(puVar20 + 0x143910) + 0x5458" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4);" (call_expression "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4)" ( (pointer_expression "&local_98" & identifier) , (binary_expression "*(int *)(puVar20 + 0x143910) + 0x5470" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (expression_statement "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4);" (call_expression "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4)" ( (pointer_expression "&local_98" & identifier) , (binary_expression "*(int *)(puVar20 + 0x143910) + 0x5484" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (if_statement "if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar10 = 0;\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);\n        }" if (parenthesized_expression "(0 < local_a0)" ( (binary_expression "0 < local_a0" number_literal < identifier) )) (compound_statement "{\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar10 = 0;\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);\n        }" { (expression_statement "iVar18 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar18 = *(int *)(puVar20 + 0x143910)" identifier = (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (expression_statement "iVar8 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar8 = *(int *)(puVar20 + 0x143910)" identifier = (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) ))))) ;) (expression_statement "piVar2 = piVar11;" (assignment_expression "piVar2 = piVar11" identifier = identifier) ;) (expression_statement "iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;" (assignment_expression "iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384" identifier = (binary_expression "*(int *)(puVar20 + 0x143910) + 0x5384" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal)) ;) (do_statement "do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);" do (compound_statement "{\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          }" { (expression_statement "(*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);" (call_expression "(*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2)" ( (pointer_expression "&local_98" & identifier) , (binary_expression "iVar18 + 0x5434" identifier + number_literal) , identifier , (pointer_expression "*piVar2" * identifier) , (pointer_expression "*piVar2" * identifier) ))) ;) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) (expression_statement "piVar2 = piVar2 + 1;" (assignment_expression "piVar2 = piVar2 + 1" identifier = (binary_expression "piVar2 + 1" identifier + number_literal)) ;) (expression_statement "iVar12 = iVar8 + 0x5444;" (assignment_expression "iVar12 = iVar8 + 0x5444" identifier = (binary_expression "iVar8 + 0x5444" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar10 < local_a0)" ( (binary_expression "iVar10 < local_a0" identifier < identifier) )) ;) })) (expression_statement "(*pcVar19)(&local_98,local_a8 + 0x5414);" (call_expression "(*pcVar19)(&local_98,local_a8 + 0x5414)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(&local_98,local_a8 + 0x5414)" ( (pointer_expression "&local_98" & identifier) , (binary_expression "local_a8 + 0x5414" identifier + number_literal) ))) ;) (expression_statement "(*pcVar19)(&local_98,iVar3 + 0x544c);" (call_expression "(*pcVar19)(&local_98,iVar3 + 0x544c)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(&local_98,iVar3 + 0x544c)" ( (pointer_expression "&local_98" & identifier) , (binary_expression "iVar3 + 0x544c" identifier + number_literal) ))) ;) (expression_statement "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0);" (call_expression "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0)" ( (pointer_expression "&local_98" & identifier) , (binary_expression "*(int *)(puVar20 + 0x143910) + 0x54b0" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4);" (call_expression "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4)" ( (pointer_expression "&local_98" & identifier) , (binary_expression "*(int *)(puVar20 + 0x143910) + 0x54c8" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (expression_statement "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4);" (call_expression "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4)" ( (pointer_expression "&local_98" & identifier) , (binary_expression "*(int *)(puVar20 + 0x143910) + 0x54dc" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (if_statement "if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          iVar3 = 0;\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);\n        }" if (parenthesized_expression "(0 < local_a0)" ( (binary_expression "0 < local_a0" number_literal < identifier) )) (compound_statement "{\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          iVar3 = 0;\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);\n        }" { (expression_statement "iVar18 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar18 = *(int *)(puVar20 + 0x143910)" identifier = (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar8 = *(int *)(puVar20 + 0x143910)" identifier = (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "piVar2 = piVar11;" (assignment_expression "piVar2 = piVar11" identifier = identifier) ;) (expression_statement "iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;" (assignment_expression "iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384" identifier = (binary_expression "*(int *)(puVar20 + 0x143910) + 0x5384" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal)) ;) (do_statement "do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);" do (compound_statement "{\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          }" { (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "(*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);" (call_expression "(*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2)" ( (pointer_expression "&local_98" & identifier) , (binary_expression "iVar18 + 0x5434" identifier + number_literal) , identifier , (pointer_expression "*piVar2" * identifier) , (pointer_expression "*piVar2" * identifier) ))) ;) (expression_statement "piVar2 = piVar2 + 1;" (assignment_expression "piVar2 = piVar2 + 1" identifier = (binary_expression "piVar2 + 1" identifier + number_literal)) ;) (expression_statement "iVar12 = iVar8 + 0x5444;" (assignment_expression "iVar12 = iVar8 + 0x5444" identifier = (binary_expression "iVar8 + 0x5444" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar3 < local_a0)" ( (binary_expression "iVar3 < local_a0" identifier < identifier) )) ;) })) (expression_statement "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508);" (call_expression "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508)" ( (pointer_expression "&local_98" & identifier) , (binary_expression "*(int *)(puVar20 + 0x143910) + 0x5508" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if ((*(uint *)(iVar14 + 0x10) & 2) == 0) {\n          uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);\n          local_a8 = 0;\n          uVar23 = 0;\n          uVar24 = 0;\n          local_a4 = 0;\n          uVar21 = 0;\nLAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );\n        }" if (parenthesized_expression "((*(uint *)(iVar14 + 0x10) & 2) == 0)" ( (binary_expression "(*(uint *)(iVar14 + 0x10) & 2) == 0" (parenthesized_expression "(*(uint *)(iVar14 + 0x10) & 2)" ( (binary_expression "*(uint *)(iVar14 + 0x10) & 2" (pointer_expression "*(uint *)(iVar14 + 0x10)" * (cast_expression "(uint *)(iVar14 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x10)" ( (binary_expression "iVar14 + 0x10" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);\n          local_a8 = 0;\n          uVar23 = 0;\n          uVar24 = 0;\n          local_a4 = 0;\n          uVar21 = 0;\nLAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );\n        }" { (expression_statement "uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);" (assignment_expression "uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98)" identifier = (call_expression "FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98)" identifier (argument_list "(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98)" ( (binary_expression "*(int *)(puVar20 + 0x143910) + 0x71f4" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" identifier = number_literal) ;) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) (expression_statement "local_a4 = 0;" (assignment_expression "local_a4 = 0" identifier = number_literal) ;) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (labeled_statement "LAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );" statement_identifier : (do_statement "do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );" do (compound_statement "{\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          }" { (expression_statement "pcVar19 = *(code **)(puVar20 + 0x143958);" (assignment_expression "pcVar19 = *(code **)(puVar20 + 0x143958)" identifier = (pointer_expression "*(code **)(puVar20 + 0x143958)" * (cast_expression "(code **)(puVar20 + 0x143958)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x143958)" ( (binary_expression "puVar20 + 0x143958" identifier + number_literal) ))))) ;) (do_statement "do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);" do (compound_statement "{\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            }" { (expression_statement "iVar3 = (*pcVar19)(uVar7);" (assignment_expression "iVar3 = (*pcVar19)(uVar7)" identifier = (call_expression "(*pcVar19)(uVar7)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(uVar7)" ( identifier )))) ;) (if_statement "if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }" if (parenthesized_expression "(iVar3 != 100)" ( (binary_expression "iVar3 != 100" identifier != number_literal) )) (compound_statement "{\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }" { (expression_statement "(**(code **)(puVar20 + 0x143964))(uVar7);" (call_expression "(**(code **)(puVar20 + 0x143964))(uVar7)" (parenthesized_expression "(**(code **)(puVar20 + 0x143964))" ( (pointer_expression "**(code **)(puVar20 + 0x143964)" * (pointer_expression "*(code **)(puVar20 + 0x143964)" * (cast_expression "(code **)(puVar20 + 0x143964)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x143964)" ( (binary_expression "puVar20 + 0x143964" identifier + number_literal) ))))) )) (argument_list "(uVar7)" ( identifier ))) ;) (expression_statement "(**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);" (call_expression "(**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4)" (parenthesized_expression "(**(code **)(puVar20 + 0x143cac))" ( (pointer_expression "**(code **)(puVar20 + 0x143cac)" * (pointer_expression "*(code **)(puVar20 + 0x143cac)" * (cast_expression "(code **)(puVar20 + 0x143cac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x143cac)" ( (binary_expression "puVar20 + 0x143cac" identifier + number_literal) ))))) )) (argument_list "(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4)" ( identifier , number_literal , (binary_expression "*(int *)(puVar20 + 0x143910) + 0x5528" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal) , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (goto_statement "goto LAB_00018318;" goto statement_identifier ;) })) (expression_statement "iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);" (assignment_expression "iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0)" identifier = (call_expression "(**(code **)(puVar20 + 0x14396c))(uVar7,0)" (parenthesized_expression "(**(code **)(puVar20 + 0x14396c))" ( (pointer_expression "**(code **)(puVar20 + 0x14396c)" * (pointer_expression "*(code **)(puVar20 + 0x14396c)" * (cast_expression "(code **)(puVar20 + 0x14396c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x14396c)" ( (binary_expression "puVar20 + 0x14396c" identifier + number_literal) ))))) )) (argument_list "(uVar7,0)" ( identifier , number_literal )))) ;) (if_statement "if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }" if (parenthesized_expression "(iVar3 == 2)" ( (binary_expression "iVar3 == 2" identifier == number_literal) )) (compound_statement "{\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }" { (expression_statement "uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);" (assignment_expression "uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1)" identifier = (call_expression "(**(code **)(puVar20 + 0x143978))(uVar7,1)" (parenthesized_expression "(**(code **)(puVar20 + 0x143978))" ( (pointer_expression "**(code **)(puVar20 + 0x143978)" * (pointer_expression "*(code **)(puVar20 + 0x143978)" * (cast_expression "(code **)(puVar20 + 0x143978)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x143978)" ( (binary_expression "puVar20 + 0x143978" identifier + number_literal) ))))) )) (argument_list "(uVar7,1)" ( identifier , number_literal )))) ;) (goto_statement "goto LAB_000181e0;" goto statement_identifier ;) })) (if_statement "if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }" if (parenthesized_expression "(iVar3 == 3)" ( (binary_expression "iVar3 == 3" identifier == number_literal) )) (compound_statement "{\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }" { (expression_statement "uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);" (assignment_expression "uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1)" identifier = (call_expression "(**(code **)(puVar20 + 0x143978))(uVar7,1)" (parenthesized_expression "(**(code **)(puVar20 + 0x143978))" ( (pointer_expression "**(code **)(puVar20 + 0x143978)" * (pointer_expression "*(code **)(puVar20 + 0x143978)" * (cast_expression "(code **)(puVar20 + 0x143978)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x143978)" ( (binary_expression "puVar20 + 0x143978" identifier + number_literal) ))))) )) (argument_list "(uVar7,1)" ( identifier , number_literal )))) ;) (goto_statement "goto LAB_000181e0;" goto statement_identifier ;) })) (expression_statement "pcVar19 = *(code **)(puVar20 + 0x143958);" (assignment_expression "pcVar19 = *(code **)(puVar20 + 0x143958)" identifier = (pointer_expression "*(code **)(puVar20 + 0x143958)" * (cast_expression "(code **)(puVar20 + 0x143958)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x143958)" ( (binary_expression "puVar20 + 0x143958" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar3 != 1)" ( (binary_expression "iVar3 != 1" identifier != number_literal) )) ;) (expression_statement "uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);" (assignment_expression "uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2)" identifier = (call_expression "(**(code **)(puVar20 + 0x143978))(uVar7,2)" (parenthesized_expression "(**(code **)(puVar20 + 0x143978))" ( (pointer_expression "**(code **)(puVar20 + 0x143978)" * (pointer_expression "*(code **)(puVar20 + 0x143978)" * (cast_expression "(code **)(puVar20 + 0x143978)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x143978)" ( (binary_expression "puVar20 + 0x143978" identifier + number_literal) ))))) )) (argument_list "(uVar7,2)" ( identifier , number_literal )))) ;) (expression_statement "uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);" (assignment_expression "uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1)" identifier = (call_expression "(**(code **)(puVar20 + 0x143978))(uVar7,1)" (parenthesized_expression "(**(code **)(puVar20 + 0x143978))" ( (pointer_expression "**(code **)(puVar20 + 0x143978)" * (pointer_expression "*(code **)(puVar20 + 0x143978)" * (cast_expression "(code **)(puVar20 + 0x143978)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x143978)" ( (binary_expression "puVar20 + 0x143978" identifier + number_literal) ))))) )) (argument_list "(uVar7,1)" ( identifier , number_literal )))) ;) (expression_statement "local_a4 = (uint)uVar22 - (int)uVar21;" (assignment_expression "local_a4 = (uint)uVar22 - (int)uVar21" identifier = (binary_expression "(uint)uVar22 - (int)uVar21" (cast_expression "(uint)uVar22" ( (type_descriptor "uint" type_identifier) ) identifier) - (cast_expression "(int)uVar21" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);" (assignment_expression "local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4)" identifier = (binary_expression "((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4)" (parenthesized_expression "((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20))" ( (binary_expression "(int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)" (cast_expression "(int)((ulonglong)uVar22 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar22 >> 0x20)" ( (binary_expression "(ulonglong)uVar22 >> 0x20" (cast_expression "(ulonglong)uVar22" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) - (cast_expression "(int)((ulonglong)uVar21 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar21 >> 0x20)" ( (binary_expression "(ulonglong)uVar21 >> 0x20" (cast_expression "(ulonglong)uVar21" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) )) - (call_expression "(uint)((uint)uVar22 < local_a4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)uVar22 < local_a4)" ( (binary_expression "(uint)uVar22 < local_a4" (cast_expression "(uint)uVar22" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier) ))))) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (expression_statement "(**(code **)(puVar20 + 0x143ccc))(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98);" (call_expression "(**(code **)(puVar20 + 0x143ccc))(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98)" (parenthesized_expression "(**(code **)(puVar20 + 0x143ccc))" ( (pointer_expression "**(code **)(puVar20 + 0x143ccc)" * (pointer_expression "*(code **)(puVar20 + 0x143ccc)" * (cast_expression "(code **)(puVar20 + 0x143ccc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x143ccc)" ( (binary_expression "puVar20 + 0x143ccc" identifier + number_literal) ))))) )) (argument_list "(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98)" ( number_literal , (binary_expression "*(int *)(puVar20 + 0x143910) + 0x5518" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal) , identifier , identifier ))) ;) (goto_statement "goto LAB_00018318;" goto statement_identifier ;) })) }))) })) (expression_statement "(**(code **)(puVar20 + 0x143cac))(param_1,1,iVar3 + 0x5568,piVar9);" (call_expression "(**(code **)(puVar20 + 0x143cac))(param_1,1,iVar3 + 0x5568,piVar9)" (parenthesized_expression "(**(code **)(puVar20 + 0x143cac))" ( (pointer_expression "**(code **)(puVar20 + 0x143cac)" * (pointer_expression "*(code **)(puVar20 + 0x143cac)" * (cast_expression "(code **)(puVar20 + 0x143cac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x143cac)" ( (binary_expression "puVar20 + 0x143cac" identifier + number_literal) ))))) )) (argument_list "(param_1,1,iVar3 + 0x5568,piVar9)" ( identifier , number_literal , (binary_expression "iVar3 + 0x5568" identifier + number_literal) , identifier ))) ;) (labeled_statement "LAB_00018318:\n  sqlite3_free(local_98);" statement_identifier : (expression_statement "sqlite3_free(local_98);" (call_expression "sqlite3_free(local_98)" identifier (argument_list "(local_98)" ( identifier ))) ;)) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "sqlite3_free(uVar4);" (call_expression "sqlite3_free(uVar4)" identifier (argument_list "(uVar4)" ( identifier ))) ;) (expression_statement "FUN_000175b4(piVar11);" (call_expression "FUN_000175b4(piVar11)" identifier (argument_list "(piVar11)" ( identifier ))) ;) (while_statement "while( true ) {\n    if (param_3 != (int **)0x0) {\n      FUN_000175b4(param_3);\n    }\nLAB_000182c0:\n    piVar11 = (int *)*piVar16;\n    if (local_8c == piVar11) break;\n    (**(code **)(puVar20 + 0x143d38))();\nLAB_000184e8:\n    (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5568,piVar9);\n    sqlite3_free(local_98);\n    local_98 = 0;\n    local_94 = 0;\n    local_90 = 0;\n    sqlite3_free(uVar4);\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    if (param_3 != (int **)0x0) {\n      FUN_000175b4(param_3);\n    }\nLAB_000182c0:\n    piVar11 = (int *)*piVar16;\n    if (local_8c == piVar11) break;\n    (**(code **)(puVar20 + 0x143d38))();\nLAB_000184e8:\n    (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5568,piVar9);\n    sqlite3_free(local_98);\n    local_98 = 0;\n    local_94 = 0;\n    local_90 = 0;\n    sqlite3_free(uVar4);\n  }" { (if_statement "if (param_3 != (int **)0x0) {\n      FUN_000175b4(param_3);\n    }" if (parenthesized_expression "(param_3 != (int **)0x0)" ( (binary_expression "param_3 != (int **)0x0" identifier != (cast_expression "(int **)0x0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n      FUN_000175b4(param_3);\n    }" { (expression_statement "FUN_000175b4(param_3);" (call_expression "FUN_000175b4(param_3)" identifier (argument_list "(param_3)" ( identifier ))) ;) })) (labeled_statement "LAB_000182c0:\n    piVar11 = (int *)*piVar16;" statement_identifier : (expression_statement "piVar11 = (int *)*piVar16;" (assignment_expression "piVar11 = (int *)*piVar16" identifier = (cast_expression "(int *)*piVar16" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar16" * identifier))) ;)) (if_statement "if (local_8c == piVar11) break;" if (parenthesized_expression "(local_8c == piVar11)" ( (binary_expression "local_8c == piVar11" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "(**(code **)(puVar20 + 0x143d38))();" (call_expression "(**(code **)(puVar20 + 0x143d38))()" (parenthesized_expression "(**(code **)(puVar20 + 0x143d38))" ( (pointer_expression "**(code **)(puVar20 + 0x143d38)" * (pointer_expression "*(code **)(puVar20 + 0x143d38)" * (cast_expression "(code **)(puVar20 + 0x143d38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x143d38)" ( (binary_expression "puVar20 + 0x143d38" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_000184e8:\n    (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5568,piVar9);" statement_identifier : (expression_statement "(**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5568,piVar9);" (call_expression "(**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5568,piVar9)" (parenthesized_expression "(**(code **)(puVar20 + 0x143cac))" ( (pointer_expression "**(code **)(puVar20 + 0x143cac)" * (pointer_expression "*(code **)(puVar20 + 0x143cac)" * (cast_expression "(code **)(puVar20 + 0x143cac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x143cac)" ( (binary_expression "puVar20 + 0x143cac" identifier + number_literal) ))))) )) (argument_list "(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5568,piVar9)" ( identifier , number_literal , (binary_expression "*(int *)(puVar20 + 0x143910) + 0x5568" (pointer_expression "*(int *)(puVar20 + 0x143910)" * (cast_expression "(int *)(puVar20 + 0x143910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x143910)" ( (binary_expression "puVar20 + 0x143910" identifier + number_literal) )))) + number_literal) , identifier ))) ;)) (expression_statement "sqlite3_free(local_98);" (call_expression "sqlite3_free(local_98)" identifier (argument_list "(local_98)" ( identifier ))) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "sqlite3_free(uVar4);" (call_expression "sqlite3_free(uVar4)" identifier (argument_list "(uVar4)" ( identifier ))) ;) })) (return_statement "return piVar11;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * IDENT))) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * IDENT))) , (parameter_declaration TYPE (pointer_declarator * IDENT)) )))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT ))))) ;) (do_statement do (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 )))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )) * LIT) )))) ;) }))) (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 = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) })) }) while (parenthesized_expression ( BOOL )) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (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 )))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )) * LIT) )))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )) * LIT) )))) ;) (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 ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (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 = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) })) }) while (parenthesized_expression ( BOOL )) ;) })) (goto_statement goto statement_identifier ;) })) (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 (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT ))))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression (pointer_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 *)) ) IDENT)) )) (argument_list ( 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) )))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) )) (compound_statement { (if_statement if (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT )))) , (binary_expression IDENT < LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )) * LIT) )))) ;) (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 *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (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)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (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 (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT) )))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( 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 (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) 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 (pointer_expression * IDENT) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * IDENT) == LIT) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) , (binary_expression IDENT != LIT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) })) }))) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (compound_statement { (return_statement return IDENT ;) })) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression IDENT + LIT) , IDENT , LIT , LIT , LIT , LIT , LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (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) , IDENT , LIT , LIT , LIT , LIT , LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression IDENT + LIT) , IDENT , LIT , LIT , LIT , LIT , LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (pointer_expression & IDENT) , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (pointer_expression & IDENT) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression * IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ IDENT ]) == LIT) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;)) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression IDENT + LIT) , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression IDENT + LIT) ))) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (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 = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (do_statement do (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression IDENT + LIT) , IDENT , (pointer_expression * IDENT) , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression IDENT + LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & 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 LIT < IDENT) )) (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 = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (do_statement do (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression IDENT + LIT) , IDENT , (pointer_expression * IDENT) , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression IDENT + LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression IDENT + LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & 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 LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression IDENT + LIT) , IDENT , (pointer_expression * IDENT) , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT )))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) - (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < IDENT) ))))) ;) }) while (parenthesized_expression ( BOOL )) ;)) })) (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 ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) }))) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , (binary_expression IDENT + LIT) , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( 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 IDENT == IDENT) )) (break_statement break ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (return_statement return IDENT ;) })))
(function_definition "int * FUN_00017720(int *param_1,int **param_2,int **param_3,uint *param_4)\n\n{\n  undefined *puVar1;\n  int *piVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int *piVar5;\n  int *piVar6;\n  undefined4 uVar7;\n  int iVar8;\n  int *piVar9;\n  int iVar10;\n  int *piVar11;\n  int iVar12;\n  int **ppiVar13;\n  int iVar14;\n  int *piVar15;\n  int *piVar16;\n  int *piVar17;\n  int iVar18;\n  code *pcVar19;\n  undefined *puVar20;\n  undefined8 uVar21;\n  undefined8 uVar22;\n  undefined8 uVar23;\n  undefined8 uVar24;\n  int local_a8;\n  uint local_a4;\n  int local_a0;\n  int local_9c;\n  undefined4 local_98;\n  undefined4 local_94;\n  undefined4 local_90;\n  int *local_8c;\n  int *local_88;\n  int *local_84;\n  int *local_80;\n  int *local_7c;\n  int *local_78;\n  int *local_74;\n  int **local_70;\n  int **local_6c;\n  undefined *local_68;\n  undefined4 local_64;\n  int *local_38;\n  undefined *local_34;\n  undefined *local_30;\n  int *local_2c;\n  \n  puVar1 = PTR___stack_chk_guard_0015ba2c;\n  local_2c = *(int **)PTR___stack_chk_guard_0015ba2c;\n  if (*(int *)(PTR_g_0015b5ec + 8) != 0) {\n    piVar11 = (int *)0x0;\n    piVar2 = (int *)&DAT_00000064;\n    piVar5 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2);\n    do {\n      iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      while( true ) {\n        if (iVar3 != 100) {\n          (*(code *)PTR_sqlite3_reset_0015b648)(piVar5);\n          if (piVar11 == (int *)0x0) {\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }\n          else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }\n          goto LAB_00017854;\n        }\n        param_1 = (int *)&DAT_00000005;\n        iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5);\n        if (iVar3 < 1) break;\n        piVar11 = (int *)((int)piVar11 + 1);\n        iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      }\n    } while( true );\n  }\n  pcVar19 = (code *)(PTR_0015b5e4 + 0x73e0);\n  piVar2 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5318,param_1,param_2);\n  puVar20 = PTR_LAB_0015b5e8;\n  iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n  while (iVar3 == 100) {\n    uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,3);\n    iVar3 = sqlite3_stricmp(uVar4,puVar20 + 0x5330);\n    if (iVar3 == 0) {\n      uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,1);\n      piVar5 = (int *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4,uVar4);\n      (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n      piVar2 = piVar5;\n      if (piVar5 != (int *)0x0) {\n        piVar6 = (int *)0x0;\n        piVar15 = (int *)0x0;\n        piVar2 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5);\n        piVar11 = (int *)0x0;\n        do {\n          iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          while( true ) {\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }\n          iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1);\n          if (-1 < iVar3) {\n            piVar15 = (int *)0x1;\n          }\n        } while( true );\n      }\n      goto LAB_00017824;\n    }\n    iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n  }\n  (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\nLAB_00017824:\n  piVar17 = (int *)&DAT_00000008;\n  piVar11 = (int *)0x1;\n  piVar15 = (int *)0x1;\nLAB_00017834:\n  piVar5 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2);\nLAB_00017854:\n  puVar20 = PTR_sqlite3_malloc_0015b640;\n  *param_3 = piVar11;\n  piVar6 = (int *)(*(code *)puVar20)(piVar17);\n  if (piVar6 == (int *)0x0) {\nLAB_00017cb8:\n    piVar9 = (int *)(PTR_LAB_0015b5e8 + 0x52ac);\n    FUN_00016d3c(piVar9);\n  }\n  else {\n    param_1 = (int *)0x0;\n    (*(code *)PTR_memset_0015b9b4)(piVar6,0,piVar17);\n    param_3 = (int **)&DAT_00000064;\n    param_2 = (int **)0x3fffffff;\n    piVar17 = (int *)(PTR_0015b5e4 + 0x7618);\n    while (iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5), iVar3 == 100) {\n      if ((piVar15 == (int *)0x0) ||\n         (iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1)) {\n        piVar2 = (int *)(((int)piVar11 + 2) * 4);\n        param_1 = piVar2;\n        piVar6 = (int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6);\n        if (piVar6 == (int *)0x0) goto LAB_00017cb8;\n        param_1 = (int *)0x1;\n        piVar11 = (int *)((int)piVar11 + 1);\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = piVar2 + -2;\n      }\n      else {\n        param_1 = (int *)0x1;\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = (int *)((iVar3 + 0x3fffffff) * 4);\n      }\n      piVar2 = (int *)((int)piVar6 + (int)piVar2);\n      iVar3 = FUN_00017618(uVar4);\n      *piVar2 = iVar3;\n    }\n    (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar5);\n    piVar6[(int)piVar11] = 0;\n    if (param_4 != (uint *)0x0) {\n      *param_4 = (uint)(*piVar6 == 0);\n    }\n    if (*piVar6 == 0) {\n      param_3 = &local_38;\n      param_2 = &local_2c;\n      local_34 = PTR_LAB_0015b5e8 + 0x5368;\n      piVar15 = (int *)(PTR_UINT_0015b5fc + -0x7714);\n      piVar17 = piVar6 + 1;\n      local_30 = PTR_LAB_0015b5e8 + 0x5370;\n      local_38 = piVar15;\n      if ((int)piVar11 < 2) {\n        param_1 = piVar15;\n        iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *piVar6 = iVar3;\n        if (iVar3 == 0) goto LAB_00017b14;\n      }\n      else {\n        while( true ) {\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }\n        piVar2 = (int *)0x1;\n        if (*piVar6 == 0) {\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }\n      }\n    }\nLAB_00017984:\n    piVar9 = local_2c;\n    if (local_2c == *(int **)puVar1) {\n      return piVar6;\n    }\n  }\n  uVar4 = 0x17cd8;\n  puVar20 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  local_68 = puVar1;\n  piVar16 = *(int **)(puVar20 + 0x143d54);\n  iVar14 = *(int *)(puVar20 + 0x143914);\n  iVar12 = *(int *)(puVar20 + 0x143924);\n  local_8c = (int *)*piVar16;\n  local_88 = piVar2;\n  local_84 = piVar11;\n  local_80 = piVar6;\n  local_7c = piVar5;\n  local_78 = piVar15;\n  local_74 = piVar17;\n  local_70 = param_3;\n  local_6c = param_2;\n  local_64 = uVar4;\n  uVar4 = FUN_00017618();\n  local_98 = 0;\n  local_94 = 0;\n  local_90 = 0;\n  iVar3 = (**(code **)(puVar20 + 0x143974))\n                    (*(undefined4 *)(iVar14 + 0x14),iVar12 + -0x236c,piVar9,0,0,0,0,0,0);\n  if (iVar3 != 0) {\n    iVar3 = (**(code **)(puVar20 + 0x143974))\n                      (*(undefined4 *)(iVar14 + 0x14),*(int *)(puVar20 + 0x143910) + 0x538c,piVar9,0\n                       ,0,0,0,0,0);\n    if (iVar3 == 0) {\n      (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5394,piVar9);\n    }\nLAB_00018294:\n    sqlite3_free(local_98);\n    local_98 = 0;\n    local_94 = 0;\n    local_90 = 0;\n    sqlite3_free(uVar4);\n    goto LAB_000182c0;\n  }\n  iVar18 = *(int *)(puVar20 + 0x143910);\n  iVar3 = (**(code **)(puVar20 + 0x143974))\n                    (*(undefined4 *)(iVar14 + 0x14),iVar18 + 0x538c,piVar9,0,0,0,0,0,0);\n  if (iVar3 != 0) {\n    (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x53b8,piVar9);\n    goto LAB_00018294;\n  }\n  piVar11 = (int *)FUN_00017720(iVar18 + 0x538c,piVar9,&local_a0,0);\n  param_3 = (int **)FUN_00017720(iVar12 + -0x236c,piVar9,&local_9c,0);\n  if (piVar11 == (int *)0x0) goto LAB_000184e8;\n  iVar3 = *(int *)(puVar20 + 0x143910);\n  if (param_3 != (int **)0x0) {\n    iVar3 = *piVar11;\n    if (iVar3 == 0) {\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if (local_9c == local_a0) {\n        iVar12 = 0;\n        goto LAB_00017e78;\n      }\n    }\n    else {\n      iVar12 = 0;\n      ppiVar13 = param_3;\n      piVar2 = piVar11;\n      do {\n        piVar2 = piVar2 + 1;\n        iVar3 = sqlite3_stricmp(iVar3,*ppiVar13);\n        if (iVar3 != 0) break;\n        iVar3 = *piVar2;\n        iVar12 = iVar12 + 1;\n        ppiVar13 = ppiVar13 + 1;\n      } while (iVar3 != 0);\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if ((local_a0 == local_9c) && (piVar11[iVar12] == 0)) {\nLAB_00017e78:\n        pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4);\n        FUN_00016de4(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc);\n        if (local_9c == iVar12) {\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);\n        }\n        else {\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4);\n        if (0 < local_a0) {\n          iVar12 = *(int *)(puVar20 + 0x143910);\n          iVar8 = 0;\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;\n          do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);\n        }\n        iVar3 = *(int *)(puVar20 + 0x143910);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar10 = 0;\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);\n        }\n        (*pcVar19)(&local_98,local_a8 + 0x5414);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          iVar3 = 0;\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508);\n        if ((*(uint *)(iVar14 + 0x10) & 2) == 0) {\n          uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);\n          local_a8 = 0;\n          uVar23 = 0;\n          uVar24 = 0;\n          local_a4 = 0;\n          uVar21 = 0;\nLAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );\n        }\n        (**(code **)(puVar20 + 0x143ccc))(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98);\n        goto LAB_00018318;\n      }\n    }\n  }\n  (**(code **)(puVar20 + 0x143cac))(param_1,1,iVar3 + 0x5568,piVar9);\nLAB_00018318:\n  sqlite3_free(local_98);\n  local_98 = 0;\n  local_94 = 0;\n  local_90 = 0;\n  sqlite3_free(uVar4);\n  FUN_000175b4(piVar11);\n  while( true ) {\n    if (param_3 != (int **)0x0) {\n      FUN_000175b4(param_3);\n    }\nLAB_000182c0:\n    piVar11 = (int *)*piVar16;\n    if (local_8c == piVar11) break;\n    (**(code **)(puVar20 + 0x143d38))();\nLAB_000184e8:\n    (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5568,piVar9);\n    sqlite3_free(local_98);\n    local_98 = 0;\n    local_94 = 0;\n    local_90 = 0;\n    sqlite3_free(uVar4);\n  }\n  return piVar11;\n}" (primitive_type "int") (pointer_declarator "* FUN_00017720(int *param_1,int **param_2,int **param_3,uint *param_4)" (* "*") (function_declarator "FUN_00017720(int *param_1,int **param_2,int **param_3,uint *param_4)" (identifier "FUN_00017720") (parameter_list "(int *param_1,int **param_2,int **param_3,uint *param_4)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int **param_2" (primitive_type "int") (pointer_declarator "**param_2" (* "*") (pointer_declarator "*param_2" (* "*") (identifier "param_2")))) (, ",") (parameter_declaration "int **param_3" (primitive_type "int") (pointer_declarator "**param_3" (* "*") (pointer_declarator "*param_3" (* "*") (identifier "param_3")))) (, ",") (parameter_declaration "uint *param_4" (type_identifier "uint") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) () ")")))) (compound_statement "{\n  undefined *puVar1;\n  int *piVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int *piVar5;\n  int *piVar6;\n  undefined4 uVar7;\n  int iVar8;\n  int *piVar9;\n  int iVar10;\n  int *piVar11;\n  int iVar12;\n  int **ppiVar13;\n  int iVar14;\n  int *piVar15;\n  int *piVar16;\n  int *piVar17;\n  int iVar18;\n  code *pcVar19;\n  undefined *puVar20;\n  undefined8 uVar21;\n  undefined8 uVar22;\n  undefined8 uVar23;\n  undefined8 uVar24;\n  int local_a8;\n  uint local_a4;\n  int local_a0;\n  int local_9c;\n  undefined4 local_98;\n  undefined4 local_94;\n  undefined4 local_90;\n  int *local_8c;\n  int *local_88;\n  int *local_84;\n  int *local_80;\n  int *local_7c;\n  int *local_78;\n  int *local_74;\n  int **local_70;\n  int **local_6c;\n  undefined *local_68;\n  undefined4 local_64;\n  int *local_38;\n  undefined *local_34;\n  undefined *local_30;\n  int *local_2c;\n  \n  puVar1 = PTR___stack_chk_guard_0015ba2c;\n  local_2c = *(int **)PTR___stack_chk_guard_0015ba2c;\n  if (*(int *)(PTR_g_0015b5ec + 8) != 0) {\n    piVar11 = (int *)0x0;\n    piVar2 = (int *)&DAT_00000064;\n    piVar5 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2);\n    do {\n      iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      while( true ) {\n        if (iVar3 != 100) {\n          (*(code *)PTR_sqlite3_reset_0015b648)(piVar5);\n          if (piVar11 == (int *)0x0) {\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }\n          else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }\n          goto LAB_00017854;\n        }\n        param_1 = (int *)&DAT_00000005;\n        iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5);\n        if (iVar3 < 1) break;\n        piVar11 = (int *)((int)piVar11 + 1);\n        iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      }\n    } while( true );\n  }\n  pcVar19 = (code *)(PTR_0015b5e4 + 0x73e0);\n  piVar2 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5318,param_1,param_2);\n  puVar20 = PTR_LAB_0015b5e8;\n  iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n  while (iVar3 == 100) {\n    uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,3);\n    iVar3 = sqlite3_stricmp(uVar4,puVar20 + 0x5330);\n    if (iVar3 == 0) {\n      uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,1);\n      piVar5 = (int *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4,uVar4);\n      (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n      piVar2 = piVar5;\n      if (piVar5 != (int *)0x0) {\n        piVar6 = (int *)0x0;\n        piVar15 = (int *)0x0;\n        piVar2 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5);\n        piVar11 = (int *)0x0;\n        do {\n          iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          while( true ) {\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }\n          iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1);\n          if (-1 < iVar3) {\n            piVar15 = (int *)0x1;\n          }\n        } while( true );\n      }\n      goto LAB_00017824;\n    }\n    iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n  }\n  (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\nLAB_00017824:\n  piVar17 = (int *)&DAT_00000008;\n  piVar11 = (int *)0x1;\n  piVar15 = (int *)0x1;\nLAB_00017834:\n  piVar5 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2);\nLAB_00017854:\n  puVar20 = PTR_sqlite3_malloc_0015b640;\n  *param_3 = piVar11;\n  piVar6 = (int *)(*(code *)puVar20)(piVar17);\n  if (piVar6 == (int *)0x0) {\nLAB_00017cb8:\n    piVar9 = (int *)(PTR_LAB_0015b5e8 + 0x52ac);\n    FUN_00016d3c(piVar9);\n  }\n  else {\n    param_1 = (int *)0x0;\n    (*(code *)PTR_memset_0015b9b4)(piVar6,0,piVar17);\n    param_3 = (int **)&DAT_00000064;\n    param_2 = (int **)0x3fffffff;\n    piVar17 = (int *)(PTR_0015b5e4 + 0x7618);\n    while (iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5), iVar3 == 100) {\n      if ((piVar15 == (int *)0x0) ||\n         (iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1)) {\n        piVar2 = (int *)(((int)piVar11 + 2) * 4);\n        param_1 = piVar2;\n        piVar6 = (int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6);\n        if (piVar6 == (int *)0x0) goto LAB_00017cb8;\n        param_1 = (int *)0x1;\n        piVar11 = (int *)((int)piVar11 + 1);\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = piVar2 + -2;\n      }\n      else {\n        param_1 = (int *)0x1;\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = (int *)((iVar3 + 0x3fffffff) * 4);\n      }\n      piVar2 = (int *)((int)piVar6 + (int)piVar2);\n      iVar3 = FUN_00017618(uVar4);\n      *piVar2 = iVar3;\n    }\n    (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar5);\n    piVar6[(int)piVar11] = 0;\n    if (param_4 != (uint *)0x0) {\n      *param_4 = (uint)(*piVar6 == 0);\n    }\n    if (*piVar6 == 0) {\n      param_3 = &local_38;\n      param_2 = &local_2c;\n      local_34 = PTR_LAB_0015b5e8 + 0x5368;\n      piVar15 = (int *)(PTR_UINT_0015b5fc + -0x7714);\n      piVar17 = piVar6 + 1;\n      local_30 = PTR_LAB_0015b5e8 + 0x5370;\n      local_38 = piVar15;\n      if ((int)piVar11 < 2) {\n        param_1 = piVar15;\n        iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *piVar6 = iVar3;\n        if (iVar3 == 0) goto LAB_00017b14;\n      }\n      else {\n        while( true ) {\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }\n        piVar2 = (int *)0x1;\n        if (*piVar6 == 0) {\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }\n      }\n    }\nLAB_00017984:\n    piVar9 = local_2c;\n    if (local_2c == *(int **)puVar1) {\n      return piVar6;\n    }\n  }\n  uVar4 = 0x17cd8;\n  puVar20 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  local_68 = puVar1;\n  piVar16 = *(int **)(puVar20 + 0x143d54);\n  iVar14 = *(int *)(puVar20 + 0x143914);\n  iVar12 = *(int *)(puVar20 + 0x143924);\n  local_8c = (int *)*piVar16;\n  local_88 = piVar2;\n  local_84 = piVar11;\n  local_80 = piVar6;\n  local_7c = piVar5;\n  local_78 = piVar15;\n  local_74 = piVar17;\n  local_70 = param_3;\n  local_6c = param_2;\n  local_64 = uVar4;\n  uVar4 = FUN_00017618();\n  local_98 = 0;\n  local_94 = 0;\n  local_90 = 0;\n  iVar3 = (**(code **)(puVar20 + 0x143974))\n                    (*(undefined4 *)(iVar14 + 0x14),iVar12 + -0x236c,piVar9,0,0,0,0,0,0);\n  if (iVar3 != 0) {\n    iVar3 = (**(code **)(puVar20 + 0x143974))\n                      (*(undefined4 *)(iVar14 + 0x14),*(int *)(puVar20 + 0x143910) + 0x538c,piVar9,0\n                       ,0,0,0,0,0);\n    if (iVar3 == 0) {\n      (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5394,piVar9);\n    }\nLAB_00018294:\n    sqlite3_free(local_98);\n    local_98 = 0;\n    local_94 = 0;\n    local_90 = 0;\n    sqlite3_free(uVar4);\n    goto LAB_000182c0;\n  }\n  iVar18 = *(int *)(puVar20 + 0x143910);\n  iVar3 = (**(code **)(puVar20 + 0x143974))\n                    (*(undefined4 *)(iVar14 + 0x14),iVar18 + 0x538c,piVar9,0,0,0,0,0,0);\n  if (iVar3 != 0) {\n    (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x53b8,piVar9);\n    goto LAB_00018294;\n  }\n  piVar11 = (int *)FUN_00017720(iVar18 + 0x538c,piVar9,&local_a0,0);\n  param_3 = (int **)FUN_00017720(iVar12 + -0x236c,piVar9,&local_9c,0);\n  if (piVar11 == (int *)0x0) goto LAB_000184e8;\n  iVar3 = *(int *)(puVar20 + 0x143910);\n  if (param_3 != (int **)0x0) {\n    iVar3 = *piVar11;\n    if (iVar3 == 0) {\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if (local_9c == local_a0) {\n        iVar12 = 0;\n        goto LAB_00017e78;\n      }\n    }\n    else {\n      iVar12 = 0;\n      ppiVar13 = param_3;\n      piVar2 = piVar11;\n      do {\n        piVar2 = piVar2 + 1;\n        iVar3 = sqlite3_stricmp(iVar3,*ppiVar13);\n        if (iVar3 != 0) break;\n        iVar3 = *piVar2;\n        iVar12 = iVar12 + 1;\n        ppiVar13 = ppiVar13 + 1;\n      } while (iVar3 != 0);\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if ((local_a0 == local_9c) && (piVar11[iVar12] == 0)) {\nLAB_00017e78:\n        pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4);\n        FUN_00016de4(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc);\n        if (local_9c == iVar12) {\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);\n        }\n        else {\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4);\n        if (0 < local_a0) {\n          iVar12 = *(int *)(puVar20 + 0x143910);\n          iVar8 = 0;\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;\n          do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);\n        }\n        iVar3 = *(int *)(puVar20 + 0x143910);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar10 = 0;\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);\n        }\n        (*pcVar19)(&local_98,local_a8 + 0x5414);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          iVar3 = 0;\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508);\n        if ((*(uint *)(iVar14 + 0x10) & 2) == 0) {\n          uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);\n          local_a8 = 0;\n          uVar23 = 0;\n          uVar24 = 0;\n          local_a4 = 0;\n          uVar21 = 0;\nLAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );\n        }\n        (**(code **)(puVar20 + 0x143ccc))(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98);\n        goto LAB_00018318;\n      }\n    }\n  }\n  (**(code **)(puVar20 + 0x143cac))(param_1,1,iVar3 + 0x5568,piVar9);\nLAB_00018318:\n  sqlite3_free(local_98);\n  local_98 = 0;\n  local_94 = 0;\n  local_90 = 0;\n  sqlite3_free(uVar4);\n  FUN_000175b4(piVar11);\n  while( true ) {\n    if (param_3 != (int **)0x0) {\n      FUN_000175b4(param_3);\n    }\nLAB_000182c0:\n    piVar11 = (int *)*piVar16;\n    if (local_8c == piVar11) break;\n    (**(code **)(puVar20 + 0x143d38))();\nLAB_000184e8:\n    (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5568,piVar9);\n    sqlite3_free(local_98);\n    local_98 = 0;\n    local_94 = 0;\n    local_90 = 0;\n    sqlite3_free(uVar4);\n  }\n  return piVar11;\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "int *piVar6;" (primitive_type "int") (pointer_declarator "*piVar6" (* "*") (identifier "piVar6")) (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "int *piVar9;" (primitive_type "int") (pointer_declarator "*piVar9" (* "*") (identifier "piVar9")) (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "int *piVar11;" (primitive_type "int") (pointer_declarator "*piVar11" (* "*") (identifier "piVar11")) (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "int **ppiVar13;" (primitive_type "int") (pointer_declarator "**ppiVar13" (* "*") (pointer_declarator "*ppiVar13" (* "*") (identifier "ppiVar13"))) (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "int *piVar15;" (primitive_type "int") (pointer_declarator "*piVar15" (* "*") (identifier "piVar15")) (; ";")) (declaration "int *piVar16;" (primitive_type "int") (pointer_declarator "*piVar16" (* "*") (identifier "piVar16")) (; ";")) (declaration "int *piVar17;" (primitive_type "int") (pointer_declarator "*piVar17" (* "*") (identifier "piVar17")) (; ";")) (declaration "int iVar18;" (primitive_type "int") (identifier "iVar18") (; ";")) (declaration "code *pcVar19;" (type_identifier "code") (pointer_declarator "*pcVar19" (* "*") (identifier "pcVar19")) (; ";")) (declaration "undefined *puVar20;" (type_identifier "undefined") (pointer_declarator "*puVar20" (* "*") (identifier "puVar20")) (; ";")) (declaration "undefined8 uVar21;" (type_identifier "undefined8") (identifier "uVar21") (; ";")) (declaration "undefined8 uVar22;" (type_identifier "undefined8") (identifier "uVar22") (; ";")) (declaration "undefined8 uVar23;" (type_identifier "undefined8") (identifier "uVar23") (; ";")) (declaration "undefined8 uVar24;" (type_identifier "undefined8") (identifier "uVar24") (; ";")) (declaration "int local_a8;" (primitive_type "int") (identifier "local_a8") (; ";")) (declaration "uint local_a4;" (type_identifier "uint") (identifier "local_a4") (; ";")) (declaration "int local_a0;" (primitive_type "int") (identifier "local_a0") (; ";")) (declaration "int local_9c;" (primitive_type "int") (identifier "local_9c") (; ";")) (declaration "undefined4 local_98;" (type_identifier "undefined4") (identifier "local_98") (; ";")) (declaration "undefined4 local_94;" (type_identifier "undefined4") (identifier "local_94") (; ";")) (declaration "undefined4 local_90;" (type_identifier "undefined4") (identifier "local_90") (; ";")) (declaration "int *local_8c;" (primitive_type "int") (pointer_declarator "*local_8c" (* "*") (identifier "local_8c")) (; ";")) (declaration "int *local_88;" (primitive_type "int") (pointer_declarator "*local_88" (* "*") (identifier "local_88")) (; ";")) (declaration "int *local_84;" (primitive_type "int") (pointer_declarator "*local_84" (* "*") (identifier "local_84")) (; ";")) (declaration "int *local_80;" (primitive_type "int") (pointer_declarator "*local_80" (* "*") (identifier "local_80")) (; ";")) (declaration "int *local_7c;" (primitive_type "int") (pointer_declarator "*local_7c" (* "*") (identifier "local_7c")) (; ";")) (declaration "int *local_78;" (primitive_type "int") (pointer_declarator "*local_78" (* "*") (identifier "local_78")) (; ";")) (declaration "int *local_74;" (primitive_type "int") (pointer_declarator "*local_74" (* "*") (identifier "local_74")) (; ";")) (declaration "int **local_70;" (primitive_type "int") (pointer_declarator "**local_70" (* "*") (pointer_declarator "*local_70" (* "*") (identifier "local_70"))) (; ";")) (declaration "int **local_6c;" (primitive_type "int") (pointer_declarator "**local_6c" (* "*") (pointer_declarator "*local_6c" (* "*") (identifier "local_6c"))) (; ";")) (declaration "undefined *local_68;" (type_identifier "undefined") (pointer_declarator "*local_68" (* "*") (identifier "local_68")) (; ";")) (declaration "undefined4 local_64;" (type_identifier "undefined4") (identifier "local_64") (; ";")) (declaration "int *local_38;" (primitive_type "int") (pointer_declarator "*local_38" (* "*") (identifier "local_38")) (; ";")) (declaration "undefined *local_34;" (type_identifier "undefined") (pointer_declarator "*local_34" (* "*") (identifier "local_34")) (; ";")) (declaration "undefined *local_30;" (type_identifier "undefined") (pointer_declarator "*local_30" (* "*") (identifier "local_30")) (; ";")) (declaration "int *local_2c;" (primitive_type "int") (pointer_declarator "*local_2c" (* "*") (identifier "local_2c")) (; ";")) (expression_statement "puVar1 = PTR___stack_chk_guard_0015ba2c;" (assignment_expression "puVar1 = PTR___stack_chk_guard_0015ba2c" (identifier "puVar1") (= "=") (identifier "PTR___stack_chk_guard_0015ba2c")) (; ";")) (expression_statement "local_2c = *(int **)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "local_2c = *(int **)PTR___stack_chk_guard_0015ba2c" (identifier "local_2c") (= "=") (pointer_expression "*(int **)PTR___stack_chk_guard_0015ba2c" (* "*") (cast_expression "(int **)PTR___stack_chk_guard_0015ba2c" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR___stack_chk_guard_0015ba2c")))) (; ";")) (if_statement "if (*(int *)(PTR_g_0015b5ec + 8) != 0) {\n    piVar11 = (int *)0x0;\n    piVar2 = (int *)&DAT_00000064;\n    piVar5 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2);\n    do {\n      iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      while( true ) {\n        if (iVar3 != 100) {\n          (*(code *)PTR_sqlite3_reset_0015b648)(piVar5);\n          if (piVar11 == (int *)0x0) {\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }\n          else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }\n          goto LAB_00017854;\n        }\n        param_1 = (int *)&DAT_00000005;\n        iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5);\n        if (iVar3 < 1) break;\n        piVar11 = (int *)((int)piVar11 + 1);\n        iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      }\n    } while( true );\n  }" (if "if") (parenthesized_expression "(*(int *)(PTR_g_0015b5ec + 8) != 0)" (( "(") (binary_expression "*(int *)(PTR_g_0015b5ec + 8) != 0" (pointer_expression "*(int *)(PTR_g_0015b5ec + 8)" (* "*") (cast_expression "(int *)(PTR_g_0015b5ec + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_g_0015b5ec + 8)" (( "(") (binary_expression "PTR_g_0015b5ec + 8" (identifier "PTR_g_0015b5ec") (+ "+") (number_literal "8")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    piVar11 = (int *)0x0;\n    piVar2 = (int *)&DAT_00000064;\n    piVar5 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2);\n    do {\n      iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      while( true ) {\n        if (iVar3 != 100) {\n          (*(code *)PTR_sqlite3_reset_0015b648)(piVar5);\n          if (piVar11 == (int *)0x0) {\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }\n          else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }\n          goto LAB_00017854;\n        }\n        param_1 = (int *)&DAT_00000005;\n        iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5);\n        if (iVar3 < 1) break;\n        piVar11 = (int *)((int)piVar11 + 1);\n        iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      }\n    } while( true );\n  }" ({ "{") (expression_statement "piVar11 = (int *)0x0;" (assignment_expression "piVar11 = (int *)0x0" (identifier "piVar11") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "piVar2 = (int *)&DAT_00000064;" (assignment_expression "piVar2 = (int *)&DAT_00000064" (identifier "piVar2") (= "=") (cast_expression "(int *)&DAT_00000064" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000064" (& "&") (identifier "DAT_00000064")))) (; ";")) (expression_statement "piVar5 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2);" (assignment_expression "piVar5 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2)" (identifier "piVar5") (= "=") (cast_expression "(int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_000173e0(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2)" (identifier "FUN_000173e0") (argument_list "(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2)" (( "(") (binary_expression "PTR_LAB_0015b5e8 + 0x5350" (identifier "PTR_LAB_0015b5e8") (+ "+") (number_literal "0x5350")) (, ",") (identifier "param_1") (, ",") (identifier "param_2") () ")"))))) (; ";")) (do_statement "do {\n      iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      while( true ) {\n        if (iVar3 != 100) {\n          (*(code *)PTR_sqlite3_reset_0015b648)(piVar5);\n          if (piVar11 == (int *)0x0) {\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }\n          else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }\n          goto LAB_00017854;\n        }\n        param_1 = (int *)&DAT_00000005;\n        iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5);\n        if (iVar3 < 1) break;\n        piVar11 = (int *)((int)piVar11 + 1);\n        iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      }\n    } while( true );" (do "do") (compound_statement "{\n      iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      while( true ) {\n        if (iVar3 != 100) {\n          (*(code *)PTR_sqlite3_reset_0015b648)(piVar5);\n          if (piVar11 == (int *)0x0) {\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }\n          else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }\n          goto LAB_00017854;\n        }\n        param_1 = (int *)&DAT_00000005;\n        iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5);\n        if (iVar3 < 1) break;\n        piVar11 = (int *)((int)piVar11 + 1);\n        iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      }\n    }" ({ "{") (expression_statement "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_sqlite3_step_0015b630)(piVar5)" (parenthesized_expression "(*(code *)PTR_sqlite3_step_0015b630)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_step_0015b630" (* "*") (cast_expression "(code *)PTR_sqlite3_step_0015b630" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_step_0015b630"))) () ")")) (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")")))) (; ";")) (while_statement "while( true ) {\n        if (iVar3 != 100) {\n          (*(code *)PTR_sqlite3_reset_0015b648)(piVar5);\n          if (piVar11 == (int *)0x0) {\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }\n          else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }\n          goto LAB_00017854;\n        }\n        param_1 = (int *)&DAT_00000005;\n        iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5);\n        if (iVar3 < 1) break;\n        piVar11 = (int *)((int)piVar11 + 1);\n        iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        if (iVar3 != 100) {\n          (*(code *)PTR_sqlite3_reset_0015b648)(piVar5);\n          if (piVar11 == (int *)0x0) {\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }\n          else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }\n          goto LAB_00017854;\n        }\n        param_1 = (int *)&DAT_00000005;\n        iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5);\n        if (iVar3 < 1) break;\n        piVar11 = (int *)((int)piVar11 + 1);\n        iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);\n      }" ({ "{") (if_statement "if (iVar3 != 100) {\n          (*(code *)PTR_sqlite3_reset_0015b648)(piVar5);\n          if (piVar11 == (int *)0x0) {\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }\n          else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }\n          goto LAB_00017854;\n        }" (if "if") (parenthesized_expression "(iVar3 != 100)" (( "(") (binary_expression "iVar3 != 100" (identifier "iVar3") (!= "!=") (number_literal "100")) () ")")) (compound_statement "{\n          (*(code *)PTR_sqlite3_reset_0015b648)(piVar5);\n          if (piVar11 == (int *)0x0) {\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }\n          else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }\n          goto LAB_00017854;\n        }" ({ "{") (expression_statement "(*(code *)PTR_sqlite3_reset_0015b648)(piVar5);" (call_expression "(*(code *)PTR_sqlite3_reset_0015b648)(piVar5)" (parenthesized_expression "(*(code *)PTR_sqlite3_reset_0015b648)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_reset_0015b648" (* "*") (cast_expression "(code *)PTR_sqlite3_reset_0015b648" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_reset_0015b648"))) () ")")) (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")"))) (; ";")) (if_statement "if (piVar11 == (int *)0x0) {\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }\n          else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }" (if "if") (parenthesized_expression "(piVar11 == (int *)0x0)" (( "(") (binary_expression "piVar11 == (int *)0x0" (identifier "piVar11") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            piVar17 = (int *)&DAT_00000008;\n            piVar11 = (int *)0x1;\n            piVar15 = (int *)0x1;\n          }" ({ "{") (expression_statement "piVar17 = (int *)&DAT_00000008;" (assignment_expression "piVar17 = (int *)&DAT_00000008" (identifier "piVar17") (= "=") (cast_expression "(int *)&DAT_00000008" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000008" (& "&") (identifier "DAT_00000008")))) (; ";")) (expression_statement "piVar11 = (int *)0x1;" (assignment_expression "piVar11 = (int *)0x1" (identifier "piVar11") (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "piVar15 = (int *)0x1;" (assignment_expression "piVar15 = (int *)0x1" (identifier "piVar15") (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (} "}")) (else_clause "else {\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }" (else "else") (compound_statement "{\n            piVar15 = (int *)0x1;\n            piVar17 = (int *)(((int)piVar11 + 1) * 4);\n          }" ({ "{") (expression_statement "piVar15 = (int *)0x1;" (assignment_expression "piVar15 = (int *)0x1" (identifier "piVar15") (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "piVar17 = (int *)(((int)piVar11 + 1) * 4);" (assignment_expression "piVar17 = (int *)(((int)piVar11 + 1) * 4)" (identifier "piVar17") (= "=") (cast_expression "(int *)(((int)piVar11 + 1) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(((int)piVar11 + 1) * 4)" (( "(") (binary_expression "((int)piVar11 + 1) * 4" (parenthesized_expression "((int)piVar11 + 1)" (( "(") (binary_expression "(int)piVar11 + 1" (cast_expression "(int)piVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar11")) (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "4")) () ")")))) (; ";")) (} "}")))) (goto_statement "goto LAB_00017854;" (goto "goto") (statement_identifier "LAB_00017854") (; ";")) (} "}"))) (expression_statement "param_1 = (int *)&DAT_00000005;" (assignment_expression "param_1 = (int *)&DAT_00000005" (identifier "param_1") (= "=") (cast_expression "(int *)&DAT_00000005" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000005" (& "&") (identifier "DAT_00000005")))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5);" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_sqlite3_column_int_0015b644)(piVar5)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_int_0015b644)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_column_int_0015b644" (* "*") (cast_expression "(code *)PTR_sqlite3_column_int_0015b644" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_column_int_0015b644"))) () ")")) (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")")))) (; ";")) (if_statement "if (iVar3 < 1) break;" (if "if") (parenthesized_expression "(iVar3 < 1)" (( "(") (binary_expression "iVar3 < 1" (identifier "iVar3") (< "<") (number_literal "1")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "piVar11 = (int *)((int)piVar11 + 1);" (assignment_expression "piVar11 = (int *)((int)piVar11 + 1)" (identifier "piVar11") (= "=") (cast_expression "(int *)((int)piVar11 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar11 + 1)" (( "(") (binary_expression "(int)piVar11 + 1" (cast_expression "(int)piVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar11")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_sqlite3_step_0015b630)(piVar5)" (parenthesized_expression "(*(code *)PTR_sqlite3_step_0015b630)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_step_0015b630" (* "*") (cast_expression "(code *)PTR_sqlite3_step_0015b630" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_step_0015b630"))) () ")")) (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")")))) (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (expression_statement "pcVar19 = (code *)(PTR_0015b5e4 + 0x73e0);" (assignment_expression "pcVar19 = (code *)(PTR_0015b5e4 + 0x73e0)" (identifier "pcVar19") (= "=") (cast_expression "(code *)(PTR_0015b5e4 + 0x73e0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_0015b5e4 + 0x73e0)" (( "(") (binary_expression "PTR_0015b5e4 + 0x73e0" (identifier "PTR_0015b5e4") (+ "+") (number_literal "0x73e0")) () ")")))) (; ";")) (expression_statement "piVar2 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5318,param_1,param_2);" (assignment_expression "piVar2 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5318,param_1,param_2)" (identifier "piVar2") (= "=") (cast_expression "(int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5318,param_1,param_2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_000173e0(PTR_LAB_0015b5e8 + 0x5318,param_1,param_2)" (identifier "FUN_000173e0") (argument_list "(PTR_LAB_0015b5e8 + 0x5318,param_1,param_2)" (( "(") (binary_expression "PTR_LAB_0015b5e8 + 0x5318" (identifier "PTR_LAB_0015b5e8") (+ "+") (number_literal "0x5318")) (, ",") (identifier "param_1") (, ",") (identifier "param_2") () ")"))))) (; ";")) (expression_statement "puVar20 = PTR_LAB_0015b5e8;" (assignment_expression "puVar20 = PTR_LAB_0015b5e8" (identifier "puVar20") (= "=") (identifier "PTR_LAB_0015b5e8")) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_sqlite3_step_0015b630)(piVar2)" (parenthesized_expression "(*(code *)PTR_sqlite3_step_0015b630)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_step_0015b630" (* "*") (cast_expression "(code *)PTR_sqlite3_step_0015b630" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_step_0015b630"))) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (while_statement "while (iVar3 == 100) {\n    uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,3);\n    iVar3 = sqlite3_stricmp(uVar4,puVar20 + 0x5330);\n    if (iVar3 == 0) {\n      uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,1);\n      piVar5 = (int *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4,uVar4);\n      (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n      piVar2 = piVar5;\n      if (piVar5 != (int *)0x0) {\n        piVar6 = (int *)0x0;\n        piVar15 = (int *)0x0;\n        piVar2 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5);\n        piVar11 = (int *)0x0;\n        do {\n          iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          while( true ) {\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }\n          iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1);\n          if (-1 < iVar3) {\n            piVar15 = (int *)0x1;\n          }\n        } while( true );\n      }\n      goto LAB_00017824;\n    }\n    iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n  }" (while "while") (parenthesized_expression "(iVar3 == 100)" (( "(") (binary_expression "iVar3 == 100" (identifier "iVar3") (== "==") (number_literal "100")) () ")")) (compound_statement "{\n    uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,3);\n    iVar3 = sqlite3_stricmp(uVar4,puVar20 + 0x5330);\n    if (iVar3 == 0) {\n      uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,1);\n      piVar5 = (int *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4,uVar4);\n      (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n      piVar2 = piVar5;\n      if (piVar5 != (int *)0x0) {\n        piVar6 = (int *)0x0;\n        piVar15 = (int *)0x0;\n        piVar2 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5);\n        piVar11 = (int *)0x0;\n        do {\n          iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          while( true ) {\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }\n          iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1);\n          if (-1 < iVar3) {\n            piVar15 = (int *)0x1;\n          }\n        } while( true );\n      }\n      goto LAB_00017824;\n    }\n    iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n  }" ({ "{") (expression_statement "uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,3);" (assignment_expression "uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,3)" (identifier "uVar4") (= "=") (call_expression "(*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,3)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_text_0015b634)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_column_text_0015b634" (* "*") (cast_expression "(code *)PTR_sqlite3_column_text_0015b634" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_column_text_0015b634"))) () ")")) (argument_list "(piVar2,3)" (( "(") (identifier "piVar2") (, ",") (number_literal "3") () ")")))) (; ";")) (expression_statement "iVar3 = sqlite3_stricmp(uVar4,puVar20 + 0x5330);" (assignment_expression "iVar3 = sqlite3_stricmp(uVar4,puVar20 + 0x5330)" (identifier "iVar3") (= "=") (call_expression "sqlite3_stricmp(uVar4,puVar20 + 0x5330)" (identifier "sqlite3_stricmp") (argument_list "(uVar4,puVar20 + 0x5330)" (( "(") (identifier "uVar4") (, ",") (binary_expression "puVar20 + 0x5330" (identifier "puVar20") (+ "+") (number_literal "0x5330")) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n      uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,1);\n      piVar5 = (int *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4,uVar4);\n      (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n      piVar2 = piVar5;\n      if (piVar5 != (int *)0x0) {\n        piVar6 = (int *)0x0;\n        piVar15 = (int *)0x0;\n        piVar2 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5);\n        piVar11 = (int *)0x0;\n        do {\n          iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          while( true ) {\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }\n          iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1);\n          if (-1 < iVar3) {\n            piVar15 = (int *)0x1;\n          }\n        } while( true );\n      }\n      goto LAB_00017824;\n    }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,1);\n      piVar5 = (int *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4,uVar4);\n      (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n      piVar2 = piVar5;\n      if (piVar5 != (int *)0x0) {\n        piVar6 = (int *)0x0;\n        piVar15 = (int *)0x0;\n        piVar2 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5);\n        piVar11 = (int *)0x0;\n        do {\n          iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          while( true ) {\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }\n          iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1);\n          if (-1 < iVar3) {\n            piVar15 = (int *)0x1;\n          }\n        } while( true );\n      }\n      goto LAB_00017824;\n    }" ({ "{") (expression_statement "uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,1);" (assignment_expression "uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,1)" (identifier "uVar4") (= "=") (call_expression "(*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,1)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_text_0015b634)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_column_text_0015b634" (* "*") (cast_expression "(code *)PTR_sqlite3_column_text_0015b634" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_column_text_0015b634"))) () ")")) (argument_list "(piVar2,1)" (( "(") (identifier "piVar2") (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "piVar5 = (int *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4,uVar4);" (assignment_expression "piVar5 = (int *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4,uVar4)" (identifier "piVar5") (= "=") (cast_expression "(int *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4,uVar4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4,uVar4)" (parenthesized_expression "(*(code *)PTR_sqlite3_mprintf_0015b628)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_mprintf_0015b628" (* "*") (cast_expression "(code *)PTR_sqlite3_mprintf_0015b628" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_mprintf_0015b628"))) () ")")) (argument_list "(PTR_LAB_0015b5e8 + 0x71f4,uVar4)" (( "(") (binary_expression "PTR_LAB_0015b5e8 + 0x71f4" (identifier "PTR_LAB_0015b5e8") (+ "+") (number_literal "0x71f4")) (, ",") (identifier "uVar4") () ")"))))) (; ";")) (expression_statement "(*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);" (call_expression "(*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2)" (parenthesized_expression "(*(code *)PTR_sqlite3_finalize_0015b63c)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_finalize_0015b63c" (* "*") (cast_expression "(code *)PTR_sqlite3_finalize_0015b63c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_finalize_0015b63c"))) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")"))) (; ";")) (expression_statement "piVar2 = piVar5;" (assignment_expression "piVar2 = piVar5" (identifier "piVar2") (= "=") (identifier "piVar5")) (; ";")) (if_statement "if (piVar5 != (int *)0x0) {\n        piVar6 = (int *)0x0;\n        piVar15 = (int *)0x0;\n        piVar2 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5);\n        piVar11 = (int *)0x0;\n        do {\n          iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          while( true ) {\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }\n          iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1);\n          if (-1 < iVar3) {\n            piVar15 = (int *)0x1;\n          }\n        } while( true );\n      }" (if "if") (parenthesized_expression "(piVar5 != (int *)0x0)" (( "(") (binary_expression "piVar5 != (int *)0x0" (identifier "piVar5") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        piVar6 = (int *)0x0;\n        piVar15 = (int *)0x0;\n        piVar2 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5);\n        piVar11 = (int *)0x0;\n        do {\n          iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          while( true ) {\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }\n          iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1);\n          if (-1 < iVar3) {\n            piVar15 = (int *)0x1;\n          }\n        } while( true );\n      }" ({ "{") (expression_statement "piVar6 = (int *)0x0;" (assignment_expression "piVar6 = (int *)0x0" (identifier "piVar6") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "piVar15 = (int *)0x0;" (assignment_expression "piVar15 = (int *)0x0" (identifier "piVar15") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "piVar2 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5);" (assignment_expression "piVar2 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5)" (identifier "piVar2") (= "=") (cast_expression "(int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5)" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5)" (( "(") (binary_expression "PTR_LAB_0015b5e8 + 0x5334" (identifier "PTR_LAB_0015b5e8") (+ "+") (number_literal "0x5334")) (, ",") (identifier "param_1") (, ",") (identifier "piVar5") () ")"))))) (; ";")) (expression_statement "piVar11 = (int *)0x0;" (assignment_expression "piVar11 = (int *)0x0" (identifier "piVar11") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (do_statement "do {\n          iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          while( true ) {\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }\n          iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1);\n          if (-1 < iVar3) {\n            piVar15 = (int *)0x1;\n          }\n        } while( true );" (do "do") (compound_statement "{\n          iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          while( true ) {\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }\n          iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1);\n          if (-1 < iVar3) {\n            piVar15 = (int *)0x1;\n          }\n        }" ({ "{") (expression_statement "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_sqlite3_step_0015b630)(piVar2)" (parenthesized_expression "(*(code *)PTR_sqlite3_step_0015b630)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_step_0015b630" (* "*") (cast_expression "(code *)PTR_sqlite3_step_0015b630" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_step_0015b630"))) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (while_statement "while( true ) {\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n            if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }\n            piVar11 = (int *)((int)piVar11 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);\n            if (iVar3 == 0) break;\n            piVar6 = (int *)((int)piVar6 + 1);\n            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);\n          }" ({ "{") (if_statement "if (iVar3 != 100) {\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }" (if "if") (parenthesized_expression "(iVar3 != 100)" (( "(") (binary_expression "iVar3 != 100" (identifier "iVar3") (!= "!=") (number_literal "100")) () ")")) (compound_statement "{\n              if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }\n              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);\n              sqlite3_free(piVar5);\n              goto LAB_00017834;\n            }" ({ "{") (if_statement "if (piVar6 == piVar11) {\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }\n              else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }" (if "if") (parenthesized_expression "(piVar6 == piVar11)" (( "(") (binary_expression "piVar6 == piVar11" (identifier "piVar6") (== "==") (identifier "piVar11")) () ")")) (compound_statement "{\n                piVar15 = (int *)0x1;\n                piVar17 = (int *)(((int)piVar11 + 1) * 4);\n              }" ({ "{") (expression_statement "piVar15 = (int *)0x1;" (assignment_expression "piVar15 = (int *)0x1" (identifier "piVar15") (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "piVar17 = (int *)(((int)piVar11 + 1) * 4);" (assignment_expression "piVar17 = (int *)(((int)piVar11 + 1) * 4)" (identifier "piVar17") (= "=") (cast_expression "(int *)(((int)piVar11 + 1) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(((int)piVar11 + 1) * 4)" (( "(") (binary_expression "((int)piVar11 + 1) * 4" (parenthesized_expression "((int)piVar11 + 1)" (( "(") (binary_expression "(int)piVar11 + 1" (cast_expression "(int)piVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar11")) (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "4")) () ")")))) (; ";")) (} "}")) (else_clause "else if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }" (else "else") (if_statement "if (piVar15 == (int *)0x0) {\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }\n              else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }" (if "if") (parenthesized_expression "(piVar15 == (int *)0x0)" (( "(") (binary_expression "piVar15 == (int *)0x0" (identifier "piVar15") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                piVar17 = (int *)&DAT_00000008;\n                piVar11 = (int *)0x1;\n              }" ({ "{") (expression_statement "piVar17 = (int *)&DAT_00000008;" (assignment_expression "piVar17 = (int *)&DAT_00000008" (identifier "piVar17") (= "=") (cast_expression "(int *)&DAT_00000008" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000008" (& "&") (identifier "DAT_00000008")))) (; ";")) (expression_statement "piVar11 = (int *)0x1;" (assignment_expression "piVar11 = (int *)0x1" (identifier "piVar11") (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (} "}")) (else_clause "else {\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }" (else "else") (compound_statement "{\n                piVar17 = (int *)(((int)piVar6 + 1) * 4);\n                piVar11 = piVar6;\n              }" ({ "{") (expression_statement "piVar17 = (int *)(((int)piVar6 + 1) * 4);" (assignment_expression "piVar17 = (int *)(((int)piVar6 + 1) * 4)" (identifier "piVar17") (= "=") (cast_expression "(int *)(((int)piVar6 + 1) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(((int)piVar6 + 1) * 4)" (( "(") (binary_expression "((int)piVar6 + 1) * 4" (parenthesized_expression "((int)piVar6 + 1)" (( "(") (binary_expression "(int)piVar6 + 1" (cast_expression "(int)piVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar6")) (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "4")) () ")")))) (; ";")) (expression_statement "piVar11 = piVar6;" (assignment_expression "piVar11 = piVar6" (identifier "piVar11") (= "=") (identifier "piVar6")) (; ";")) (} "}")))))) (expression_statement "(*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);" (call_expression "(*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2)" (parenthesized_expression "(*(code *)PTR_sqlite3_finalize_0015b63c)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_finalize_0015b63c" (* "*") (cast_expression "(code *)PTR_sqlite3_finalize_0015b63c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_finalize_0015b63c"))) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")"))) (; ";")) (expression_statement "sqlite3_free(piVar5);" (call_expression "sqlite3_free(piVar5)" (identifier "sqlite3_free") (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")"))) (; ";")) (goto_statement "goto LAB_00017834;" (goto "goto") (statement_identifier "LAB_00017834") (; ";")) (} "}"))) (expression_statement "piVar11 = (int *)((int)piVar11 + 1);" (assignment_expression "piVar11 = (int *)((int)piVar11 + 1)" (identifier "piVar11") (= "=") (cast_expression "(int *)((int)piVar11 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar11 + 1)" (( "(") (binary_expression "(int)piVar11 + 1" (cast_expression "(int)piVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar11")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_int_0015b644)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_column_int_0015b644" (* "*") (cast_expression "(code *)PTR_sqlite3_column_int_0015b644" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_column_int_0015b644"))) () ")")) (argument_list "(piVar2,5)" (( "(") (identifier "piVar2") (, ",") (number_literal "5") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) break;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "piVar6 = (int *)((int)piVar6 + 1);" (assignment_expression "piVar6 = (int *)((int)piVar6 + 1)" (identifier "piVar6") (= "=") (cast_expression "(int *)((int)piVar6 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar6 + 1)" (( "(") (binary_expression "(int)piVar6 + 1" (cast_expression "(int)piVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar6")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_sqlite3_step_0015b630)(piVar2)" (parenthesized_expression "(*(code *)PTR_sqlite3_step_0015b630)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_step_0015b630" (* "*") (cast_expression "(code *)PTR_sqlite3_step_0015b630" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_step_0015b630"))) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (} "}"))) (expression_statement "iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1);" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_int_0015b644)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_column_int_0015b644" (* "*") (cast_expression "(code *)PTR_sqlite3_column_int_0015b644" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_column_int_0015b644"))) () ")")) (argument_list "(piVar2,1)" (( "(") (identifier "piVar2") (, ",") (number_literal "1") () ")")))) (; ";")) (if_statement "if (-1 < iVar3) {\n            piVar15 = (int *)0x1;\n          }" (if "if") (parenthesized_expression "(-1 < iVar3)" (( "(") (binary_expression "-1 < iVar3" (number_literal "-1") (< "<") (identifier "iVar3")) () ")")) (compound_statement "{\n            piVar15 = (int *)0x1;\n          }" ({ "{") (expression_statement "piVar15 = (int *)0x1;" (assignment_expression "piVar15 = (int *)0x1" (identifier "piVar15") (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (goto_statement "goto LAB_00017824;" (goto "goto") (statement_identifier "LAB_00017824") (; ";")) (} "}"))) (expression_statement "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_sqlite3_step_0015b630)(piVar2)" (parenthesized_expression "(*(code *)PTR_sqlite3_step_0015b630)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_step_0015b630" (* "*") (cast_expression "(code *)PTR_sqlite3_step_0015b630" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_step_0015b630"))) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);" (call_expression "(*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2)" (parenthesized_expression "(*(code *)PTR_sqlite3_finalize_0015b63c)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_finalize_0015b63c" (* "*") (cast_expression "(code *)PTR_sqlite3_finalize_0015b63c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_finalize_0015b63c"))) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")"))) (; ";")) (labeled_statement "LAB_00017824:\n  piVar17 = (int *)&DAT_00000008;" (statement_identifier "LAB_00017824") (: ":") (expression_statement "piVar17 = (int *)&DAT_00000008;" (assignment_expression "piVar17 = (int *)&DAT_00000008" (identifier "piVar17") (= "=") (cast_expression "(int *)&DAT_00000008" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000008" (& "&") (identifier "DAT_00000008")))) (; ";"))) (expression_statement "piVar11 = (int *)0x1;" (assignment_expression "piVar11 = (int *)0x1" (identifier "piVar11") (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "piVar15 = (int *)0x1;" (assignment_expression "piVar15 = (int *)0x1" (identifier "piVar15") (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (labeled_statement "LAB_00017834:\n  piVar5 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2);" (statement_identifier "LAB_00017834") (: ":") (expression_statement "piVar5 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2);" (assignment_expression "piVar5 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2)" (identifier "piVar5") (= "=") (cast_expression "(int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar19)(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2)" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2)" (( "(") (binary_expression "PTR_LAB_0015b5e8 + 0x5350" (identifier "PTR_LAB_0015b5e8") (+ "+") (number_literal "0x5350")) (, ",") (identifier "param_1") (, ",") (identifier "param_2") () ")"))))) (; ";"))) (labeled_statement "LAB_00017854:\n  puVar20 = PTR_sqlite3_malloc_0015b640;" (statement_identifier "LAB_00017854") (: ":") (expression_statement "puVar20 = PTR_sqlite3_malloc_0015b640;" (assignment_expression "puVar20 = PTR_sqlite3_malloc_0015b640" (identifier "puVar20") (= "=") (identifier "PTR_sqlite3_malloc_0015b640")) (; ";"))) (expression_statement "*param_3 = piVar11;" (assignment_expression "*param_3 = piVar11" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (identifier "piVar11")) (; ";")) (expression_statement "piVar6 = (int *)(*(code *)puVar20)(piVar17);" (assignment_expression "piVar6 = (int *)(*(code *)puVar20)(piVar17)" (identifier "piVar6") (= "=") (cast_expression "(int *)(*(code *)puVar20)(piVar17)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)puVar20)(piVar17)" (parenthesized_expression "(*(code *)puVar20)" (( "(") (pointer_expression "*(code *)puVar20" (* "*") (cast_expression "(code *)puVar20" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar20"))) () ")")) (argument_list "(piVar17)" (( "(") (identifier "piVar17") () ")"))))) (; ";")) (if_statement "if (piVar6 == (int *)0x0) {\nLAB_00017cb8:\n    piVar9 = (int *)(PTR_LAB_0015b5e8 + 0x52ac);\n    FUN_00016d3c(piVar9);\n  }\n  else {\n    param_1 = (int *)0x0;\n    (*(code *)PTR_memset_0015b9b4)(piVar6,0,piVar17);\n    param_3 = (int **)&DAT_00000064;\n    param_2 = (int **)0x3fffffff;\n    piVar17 = (int *)(PTR_0015b5e4 + 0x7618);\n    while (iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5), iVar3 == 100) {\n      if ((piVar15 == (int *)0x0) ||\n         (iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1)) {\n        piVar2 = (int *)(((int)piVar11 + 2) * 4);\n        param_1 = piVar2;\n        piVar6 = (int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6);\n        if (piVar6 == (int *)0x0) goto LAB_00017cb8;\n        param_1 = (int *)0x1;\n        piVar11 = (int *)((int)piVar11 + 1);\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = piVar2 + -2;\n      }\n      else {\n        param_1 = (int *)0x1;\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = (int *)((iVar3 + 0x3fffffff) * 4);\n      }\n      piVar2 = (int *)((int)piVar6 + (int)piVar2);\n      iVar3 = FUN_00017618(uVar4);\n      *piVar2 = iVar3;\n    }\n    (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar5);\n    piVar6[(int)piVar11] = 0;\n    if (param_4 != (uint *)0x0) {\n      *param_4 = (uint)(*piVar6 == 0);\n    }\n    if (*piVar6 == 0) {\n      param_3 = &local_38;\n      param_2 = &local_2c;\n      local_34 = PTR_LAB_0015b5e8 + 0x5368;\n      piVar15 = (int *)(PTR_UINT_0015b5fc + -0x7714);\n      piVar17 = piVar6 + 1;\n      local_30 = PTR_LAB_0015b5e8 + 0x5370;\n      local_38 = piVar15;\n      if ((int)piVar11 < 2) {\n        param_1 = piVar15;\n        iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *piVar6 = iVar3;\n        if (iVar3 == 0) goto LAB_00017b14;\n      }\n      else {\n        while( true ) {\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }\n        piVar2 = (int *)0x1;\n        if (*piVar6 == 0) {\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }\n      }\n    }\nLAB_00017984:\n    piVar9 = local_2c;\n    if (local_2c == *(int **)puVar1) {\n      return piVar6;\n    }\n  }" (if "if") (parenthesized_expression "(piVar6 == (int *)0x0)" (( "(") (binary_expression "piVar6 == (int *)0x0" (identifier "piVar6") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00017cb8:\n    piVar9 = (int *)(PTR_LAB_0015b5e8 + 0x52ac);\n    FUN_00016d3c(piVar9);\n  }" ({ "{") (labeled_statement "LAB_00017cb8:\n    piVar9 = (int *)(PTR_LAB_0015b5e8 + 0x52ac);" (statement_identifier "LAB_00017cb8") (: ":") (expression_statement "piVar9 = (int *)(PTR_LAB_0015b5e8 + 0x52ac);" (assignment_expression "piVar9 = (int *)(PTR_LAB_0015b5e8 + 0x52ac)" (identifier "piVar9") (= "=") (cast_expression "(int *)(PTR_LAB_0015b5e8 + 0x52ac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0015b5e8 + 0x52ac)" (( "(") (binary_expression "PTR_LAB_0015b5e8 + 0x52ac" (identifier "PTR_LAB_0015b5e8") (+ "+") (number_literal "0x52ac")) () ")")))) (; ";"))) (expression_statement "FUN_00016d3c(piVar9);" (call_expression "FUN_00016d3c(piVar9)" (identifier "FUN_00016d3c") (argument_list "(piVar9)" (( "(") (identifier "piVar9") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    param_1 = (int *)0x0;\n    (*(code *)PTR_memset_0015b9b4)(piVar6,0,piVar17);\n    param_3 = (int **)&DAT_00000064;\n    param_2 = (int **)0x3fffffff;\n    piVar17 = (int *)(PTR_0015b5e4 + 0x7618);\n    while (iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5), iVar3 == 100) {\n      if ((piVar15 == (int *)0x0) ||\n         (iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1)) {\n        piVar2 = (int *)(((int)piVar11 + 2) * 4);\n        param_1 = piVar2;\n        piVar6 = (int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6);\n        if (piVar6 == (int *)0x0) goto LAB_00017cb8;\n        param_1 = (int *)0x1;\n        piVar11 = (int *)((int)piVar11 + 1);\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = piVar2 + -2;\n      }\n      else {\n        param_1 = (int *)0x1;\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = (int *)((iVar3 + 0x3fffffff) * 4);\n      }\n      piVar2 = (int *)((int)piVar6 + (int)piVar2);\n      iVar3 = FUN_00017618(uVar4);\n      *piVar2 = iVar3;\n    }\n    (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar5);\n    piVar6[(int)piVar11] = 0;\n    if (param_4 != (uint *)0x0) {\n      *param_4 = (uint)(*piVar6 == 0);\n    }\n    if (*piVar6 == 0) {\n      param_3 = &local_38;\n      param_2 = &local_2c;\n      local_34 = PTR_LAB_0015b5e8 + 0x5368;\n      piVar15 = (int *)(PTR_UINT_0015b5fc + -0x7714);\n      piVar17 = piVar6 + 1;\n      local_30 = PTR_LAB_0015b5e8 + 0x5370;\n      local_38 = piVar15;\n      if ((int)piVar11 < 2) {\n        param_1 = piVar15;\n        iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *piVar6 = iVar3;\n        if (iVar3 == 0) goto LAB_00017b14;\n      }\n      else {\n        while( true ) {\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }\n        piVar2 = (int *)0x1;\n        if (*piVar6 == 0) {\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }\n      }\n    }\nLAB_00017984:\n    piVar9 = local_2c;\n    if (local_2c == *(int **)puVar1) {\n      return piVar6;\n    }\n  }" (else "else") (compound_statement "{\n    param_1 = (int *)0x0;\n    (*(code *)PTR_memset_0015b9b4)(piVar6,0,piVar17);\n    param_3 = (int **)&DAT_00000064;\n    param_2 = (int **)0x3fffffff;\n    piVar17 = (int *)(PTR_0015b5e4 + 0x7618);\n    while (iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5), iVar3 == 100) {\n      if ((piVar15 == (int *)0x0) ||\n         (iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1)) {\n        piVar2 = (int *)(((int)piVar11 + 2) * 4);\n        param_1 = piVar2;\n        piVar6 = (int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6);\n        if (piVar6 == (int *)0x0) goto LAB_00017cb8;\n        param_1 = (int *)0x1;\n        piVar11 = (int *)((int)piVar11 + 1);\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = piVar2 + -2;\n      }\n      else {\n        param_1 = (int *)0x1;\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = (int *)((iVar3 + 0x3fffffff) * 4);\n      }\n      piVar2 = (int *)((int)piVar6 + (int)piVar2);\n      iVar3 = FUN_00017618(uVar4);\n      *piVar2 = iVar3;\n    }\n    (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar5);\n    piVar6[(int)piVar11] = 0;\n    if (param_4 != (uint *)0x0) {\n      *param_4 = (uint)(*piVar6 == 0);\n    }\n    if (*piVar6 == 0) {\n      param_3 = &local_38;\n      param_2 = &local_2c;\n      local_34 = PTR_LAB_0015b5e8 + 0x5368;\n      piVar15 = (int *)(PTR_UINT_0015b5fc + -0x7714);\n      piVar17 = piVar6 + 1;\n      local_30 = PTR_LAB_0015b5e8 + 0x5370;\n      local_38 = piVar15;\n      if ((int)piVar11 < 2) {\n        param_1 = piVar15;\n        iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *piVar6 = iVar3;\n        if (iVar3 == 0) goto LAB_00017b14;\n      }\n      else {\n        while( true ) {\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }\n        piVar2 = (int *)0x1;\n        if (*piVar6 == 0) {\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }\n      }\n    }\nLAB_00017984:\n    piVar9 = local_2c;\n    if (local_2c == *(int **)puVar1) {\n      return piVar6;\n    }\n  }" ({ "{") (expression_statement "param_1 = (int *)0x0;" (assignment_expression "param_1 = (int *)0x0" (identifier "param_1") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "(*(code *)PTR_memset_0015b9b4)(piVar6,0,piVar17);" (call_expression "(*(code *)PTR_memset_0015b9b4)(piVar6,0,piVar17)" (parenthesized_expression "(*(code *)PTR_memset_0015b9b4)" (( "(") (pointer_expression "*(code *)PTR_memset_0015b9b4" (* "*") (cast_expression "(code *)PTR_memset_0015b9b4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memset_0015b9b4"))) () ")")) (argument_list "(piVar6,0,piVar17)" (( "(") (identifier "piVar6") (, ",") (number_literal "0") (, ",") (identifier "piVar17") () ")"))) (; ";")) (expression_statement "param_3 = (int **)&DAT_00000064;" (assignment_expression "param_3 = (int **)&DAT_00000064" (identifier "param_3") (= "=") (cast_expression "(int **)&DAT_00000064" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "&DAT_00000064" (& "&") (identifier "DAT_00000064")))) (; ";")) (expression_statement "param_2 = (int **)0x3fffffff;" (assignment_expression "param_2 = (int **)0x3fffffff" (identifier "param_2") (= "=") (cast_expression "(int **)0x3fffffff" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x3fffffff"))) (; ";")) (expression_statement "piVar17 = (int *)(PTR_0015b5e4 + 0x7618);" (assignment_expression "piVar17 = (int *)(PTR_0015b5e4 + 0x7618)" (identifier "piVar17") (= "=") (cast_expression "(int *)(PTR_0015b5e4 + 0x7618)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_0015b5e4 + 0x7618)" (( "(") (binary_expression "PTR_0015b5e4 + 0x7618" (identifier "PTR_0015b5e4") (+ "+") (number_literal "0x7618")) () ")")))) (; ";")) (while_statement "while (iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5), iVar3 == 100) {\n      if ((piVar15 == (int *)0x0) ||\n         (iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1)) {\n        piVar2 = (int *)(((int)piVar11 + 2) * 4);\n        param_1 = piVar2;\n        piVar6 = (int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6);\n        if (piVar6 == (int *)0x0) goto LAB_00017cb8;\n        param_1 = (int *)0x1;\n        piVar11 = (int *)((int)piVar11 + 1);\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = piVar2 + -2;\n      }\n      else {\n        param_1 = (int *)0x1;\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = (int *)((iVar3 + 0x3fffffff) * 4);\n      }\n      piVar2 = (int *)((int)piVar6 + (int)piVar2);\n      iVar3 = FUN_00017618(uVar4);\n      *piVar2 = iVar3;\n    }" (while "while") (parenthesized_expression "(iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5), iVar3 == 100)" (( "(") (comma_expression "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5), iVar3 == 100" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_sqlite3_step_0015b630)(piVar5)" (parenthesized_expression "(*(code *)PTR_sqlite3_step_0015b630)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_step_0015b630" (* "*") (cast_expression "(code *)PTR_sqlite3_step_0015b630" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_step_0015b630"))) () ")")) (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")")))) (, ",") (binary_expression "iVar3 == 100" (identifier "iVar3") (== "==") (number_literal "100"))) () ")")) (compound_statement "{\n      if ((piVar15 == (int *)0x0) ||\n         (iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1)) {\n        piVar2 = (int *)(((int)piVar11 + 2) * 4);\n        param_1 = piVar2;\n        piVar6 = (int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6);\n        if (piVar6 == (int *)0x0) goto LAB_00017cb8;\n        param_1 = (int *)0x1;\n        piVar11 = (int *)((int)piVar11 + 1);\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = piVar2 + -2;\n      }\n      else {\n        param_1 = (int *)0x1;\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = (int *)((iVar3 + 0x3fffffff) * 4);\n      }\n      piVar2 = (int *)((int)piVar6 + (int)piVar2);\n      iVar3 = FUN_00017618(uVar4);\n      *piVar2 = iVar3;\n    }" ({ "{") (if_statement "if ((piVar15 == (int *)0x0) ||\n         (iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1)) {\n        piVar2 = (int *)(((int)piVar11 + 2) * 4);\n        param_1 = piVar2;\n        piVar6 = (int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6);\n        if (piVar6 == (int *)0x0) goto LAB_00017cb8;\n        param_1 = (int *)0x1;\n        piVar11 = (int *)((int)piVar11 + 1);\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = piVar2 + -2;\n      }\n      else {\n        param_1 = (int *)0x1;\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = (int *)((iVar3 + 0x3fffffff) * 4);\n      }" (if "if") (parenthesized_expression "((piVar15 == (int *)0x0) ||\n         (iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1))" (( "(") (binary_expression "(piVar15 == (int *)0x0) ||\n         (iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1)" (parenthesized_expression "(piVar15 == (int *)0x0)" (( "(") (binary_expression "piVar15 == (int *)0x0" (identifier "piVar15") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1)" (( "(") (comma_expression "iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_int_0015b644)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_column_int_0015b644" (* "*") (cast_expression "(code *)PTR_sqlite3_column_int_0015b644" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_column_int_0015b644"))) () ")")) (argument_list "(piVar5,5)" (( "(") (identifier "piVar5") (, ",") (number_literal "5") () ")")))) (, ",") (binary_expression "iVar3 < 1" (identifier "iVar3") (< "<") (number_literal "1"))) () ")"))) () ")")) (compound_statement "{\n        piVar2 = (int *)(((int)piVar11 + 2) * 4);\n        param_1 = piVar2;\n        piVar6 = (int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6);\n        if (piVar6 == (int *)0x0) goto LAB_00017cb8;\n        param_1 = (int *)0x1;\n        piVar11 = (int *)((int)piVar11 + 1);\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = piVar2 + -2;\n      }" ({ "{") (expression_statement "piVar2 = (int *)(((int)piVar11 + 2) * 4);" (assignment_expression "piVar2 = (int *)(((int)piVar11 + 2) * 4)" (identifier "piVar2") (= "=") (cast_expression "(int *)(((int)piVar11 + 2) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(((int)piVar11 + 2) * 4)" (( "(") (binary_expression "((int)piVar11 + 2) * 4" (parenthesized_expression "((int)piVar11 + 2)" (( "(") (binary_expression "(int)piVar11 + 2" (cast_expression "(int)piVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar11")) (+ "+") (number_literal "2")) () ")")) (* "*") (number_literal "4")) () ")")))) (; ";")) (expression_statement "param_1 = piVar2;" (assignment_expression "param_1 = piVar2" (identifier "param_1") (= "=") (identifier "piVar2")) (; ";")) (expression_statement "piVar6 = (int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6);" (assignment_expression "piVar6 = (int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6)" (identifier "piVar6") (= "=") (cast_expression "(int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6)" (parenthesized_expression "(*(code *)PTR_sqlite3_realloc_0015b5f0)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_realloc_0015b5f0" (* "*") (cast_expression "(code *)PTR_sqlite3_realloc_0015b5f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_realloc_0015b5f0"))) () ")")) (argument_list "(piVar6)" (( "(") (identifier "piVar6") () ")"))))) (; ";")) (if_statement "if (piVar6 == (int *)0x0) goto LAB_00017cb8;" (if "if") (parenthesized_expression "(piVar6 == (int *)0x0)" (( "(") (binary_expression "piVar6 == (int *)0x0" (identifier "piVar6") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00017cb8;" (goto "goto") (statement_identifier "LAB_00017cb8") (; ";"))) (expression_statement "param_1 = (int *)0x1;" (assignment_expression "param_1 = (int *)0x1" (identifier "param_1") (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "piVar11 = (int *)((int)piVar11 + 1);" (assignment_expression "piVar11 = (int *)((int)piVar11 + 1)" (identifier "piVar11") (= "=") (cast_expression "(int *)((int)piVar11 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar11 + 1)" (( "(") (binary_expression "(int)piVar11 + 1" (cast_expression "(int)piVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar11")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);" (assignment_expression "uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5)" (identifier "uVar4") (= "=") (call_expression "(*(code *)PTR_sqlite3_column_text_0015b634)(piVar5)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_text_0015b634)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_column_text_0015b634" (* "*") (cast_expression "(code *)PTR_sqlite3_column_text_0015b634" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_column_text_0015b634"))) () ")")) (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")")))) (; ";")) (expression_statement "piVar2 = piVar2 + -2;" (assignment_expression "piVar2 = piVar2 + -2" (identifier "piVar2") (= "=") (binary_expression "piVar2 + -2" (identifier "piVar2") (+ "+") (number_literal "-2"))) (; ";")) (} "}")) (else_clause "else {\n        param_1 = (int *)0x1;\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = (int *)((iVar3 + 0x3fffffff) * 4);\n      }" (else "else") (compound_statement "{\n        param_1 = (int *)0x1;\n        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);\n        piVar2 = (int *)((iVar3 + 0x3fffffff) * 4);\n      }" ({ "{") (expression_statement "param_1 = (int *)0x1;" (assignment_expression "param_1 = (int *)0x1" (identifier "param_1") (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);" (assignment_expression "uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5)" (identifier "uVar4") (= "=") (call_expression "(*(code *)PTR_sqlite3_column_text_0015b634)(piVar5)" (parenthesized_expression "(*(code *)PTR_sqlite3_column_text_0015b634)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_column_text_0015b634" (* "*") (cast_expression "(code *)PTR_sqlite3_column_text_0015b634" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_column_text_0015b634"))) () ")")) (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")")))) (; ";")) (expression_statement "piVar2 = (int *)((iVar3 + 0x3fffffff) * 4);" (assignment_expression "piVar2 = (int *)((iVar3 + 0x3fffffff) * 4)" (identifier "piVar2") (= "=") (cast_expression "(int *)((iVar3 + 0x3fffffff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((iVar3 + 0x3fffffff) * 4)" (( "(") (binary_expression "(iVar3 + 0x3fffffff) * 4" (parenthesized_expression "(iVar3 + 0x3fffffff)" (( "(") (binary_expression "iVar3 + 0x3fffffff" (identifier "iVar3") (+ "+") (number_literal "0x3fffffff")) () ")")) (* "*") (number_literal "4")) () ")")))) (; ";")) (} "}")))) (expression_statement "piVar2 = (int *)((int)piVar6 + (int)piVar2);" (assignment_expression "piVar2 = (int *)((int)piVar6 + (int)piVar2)" (identifier "piVar2") (= "=") (cast_expression "(int *)((int)piVar6 + (int)piVar2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar6 + (int)piVar2)" (( "(") (binary_expression "(int)piVar6 + (int)piVar2" (cast_expression "(int)piVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar6")) (+ "+") (cast_expression "(int)piVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar2"))) () ")")))) (; ";")) (expression_statement "iVar3 = FUN_00017618(uVar4);" (assignment_expression "iVar3 = FUN_00017618(uVar4)" (identifier "iVar3") (= "=") (call_expression "FUN_00017618(uVar4)" (identifier "FUN_00017618") (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")")))) (; ";")) (expression_statement "*piVar2 = iVar3;" (assignment_expression "*piVar2 = iVar3" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (identifier "iVar3")) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_sqlite3_finalize_0015b63c)(piVar5);" (call_expression "(*(code *)PTR_sqlite3_finalize_0015b63c)(piVar5)" (parenthesized_expression "(*(code *)PTR_sqlite3_finalize_0015b63c)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_finalize_0015b63c" (* "*") (cast_expression "(code *)PTR_sqlite3_finalize_0015b63c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_finalize_0015b63c"))) () ")")) (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")"))) (; ";")) (expression_statement "piVar6[(int)piVar11] = 0;" (assignment_expression "piVar6[(int)piVar11] = 0" (subscript_expression "piVar6[(int)piVar11]" (identifier "piVar6") ([ "[") (cast_expression "(int)piVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar11")) (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (param_4 != (uint *)0x0) {\n      *param_4 = (uint)(*piVar6 == 0);\n    }" (if "if") (parenthesized_expression "(param_4 != (uint *)0x0)" (( "(") (binary_expression "param_4 != (uint *)0x0" (identifier "param_4") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      *param_4 = (uint)(*piVar6 == 0);\n    }" ({ "{") (expression_statement "*param_4 = (uint)(*piVar6 == 0);" (assignment_expression "*param_4 = (uint)(*piVar6 == 0)" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (= "=") (call_expression "(uint)(*piVar6 == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*piVar6 == 0)" (( "(") (binary_expression "*piVar6 == 0" (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (== "==") (number_literal "0")) () ")")))) (; ";")) (} "}"))) (if_statement "if (*piVar6 == 0) {\n      param_3 = &local_38;\n      param_2 = &local_2c;\n      local_34 = PTR_LAB_0015b5e8 + 0x5368;\n      piVar15 = (int *)(PTR_UINT_0015b5fc + -0x7714);\n      piVar17 = piVar6 + 1;\n      local_30 = PTR_LAB_0015b5e8 + 0x5370;\n      local_38 = piVar15;\n      if ((int)piVar11 < 2) {\n        param_1 = piVar15;\n        iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *piVar6 = iVar3;\n        if (iVar3 == 0) goto LAB_00017b14;\n      }\n      else {\n        while( true ) {\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }\n        piVar2 = (int *)0x1;\n        if (*piVar6 == 0) {\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }\n      }\n    }" (if "if") (parenthesized_expression "(*piVar6 == 0)" (( "(") (binary_expression "*piVar6 == 0" (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      param_3 = &local_38;\n      param_2 = &local_2c;\n      local_34 = PTR_LAB_0015b5e8 + 0x5368;\n      piVar15 = (int *)(PTR_UINT_0015b5fc + -0x7714);\n      piVar17 = piVar6 + 1;\n      local_30 = PTR_LAB_0015b5e8 + 0x5370;\n      local_38 = piVar15;\n      if ((int)piVar11 < 2) {\n        param_1 = piVar15;\n        iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *piVar6 = iVar3;\n        if (iVar3 == 0) goto LAB_00017b14;\n      }\n      else {\n        while( true ) {\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }\n        piVar2 = (int *)0x1;\n        if (*piVar6 == 0) {\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }\n      }\n    }" ({ "{") (expression_statement "param_3 = &local_38;" (assignment_expression "param_3 = &local_38" (identifier "param_3") (= "=") (pointer_expression "&local_38" (& "&") (identifier "local_38"))) (; ";")) (expression_statement "param_2 = &local_2c;" (assignment_expression "param_2 = &local_2c" (identifier "param_2") (= "=") (pointer_expression "&local_2c" (& "&") (identifier "local_2c"))) (; ";")) (expression_statement "local_34 = PTR_LAB_0015b5e8 + 0x5368;" (assignment_expression "local_34 = PTR_LAB_0015b5e8 + 0x5368" (identifier "local_34") (= "=") (binary_expression "PTR_LAB_0015b5e8 + 0x5368" (identifier "PTR_LAB_0015b5e8") (+ "+") (number_literal "0x5368"))) (; ";")) (expression_statement "piVar15 = (int *)(PTR_UINT_0015b5fc + -0x7714);" (assignment_expression "piVar15 = (int *)(PTR_UINT_0015b5fc + -0x7714)" (identifier "piVar15") (= "=") (cast_expression "(int *)(PTR_UINT_0015b5fc + -0x7714)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_UINT_0015b5fc + -0x7714)" (( "(") (binary_expression "PTR_UINT_0015b5fc + -0x7714" (identifier "PTR_UINT_0015b5fc") (+ "+") (number_literal "-0x7714")) () ")")))) (; ";")) (expression_statement "piVar17 = piVar6 + 1;" (assignment_expression "piVar17 = piVar6 + 1" (identifier "piVar17") (= "=") (binary_expression "piVar6 + 1" (identifier "piVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_30 = PTR_LAB_0015b5e8 + 0x5370;" (assignment_expression "local_30 = PTR_LAB_0015b5e8 + 0x5370" (identifier "local_30") (= "=") (binary_expression "PTR_LAB_0015b5e8 + 0x5370" (identifier "PTR_LAB_0015b5e8") (+ "+") (number_literal "0x5370"))) (; ";")) (expression_statement "local_38 = piVar15;" (assignment_expression "local_38 = piVar15" (identifier "local_38") (= "=") (identifier "piVar15")) (; ";")) (if_statement "if ((int)piVar11 < 2) {\n        param_1 = piVar15;\n        iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *piVar6 = iVar3;\n        if (iVar3 == 0) goto LAB_00017b14;\n      }\n      else {\n        while( true ) {\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }\n        piVar2 = (int *)0x1;\n        if (*piVar6 == 0) {\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }\n      }" (if "if") (parenthesized_expression "((int)piVar11 < 2)" (( "(") (binary_expression "(int)piVar11 < 2" (cast_expression "(int)piVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar11")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n        param_1 = piVar15;\n        iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n        *piVar6 = iVar3;\n        if (iVar3 == 0) goto LAB_00017b14;\n      }" ({ "{") (expression_statement "param_1 = piVar15;" (assignment_expression "param_1 = piVar15" (identifier "param_1") (= "=") (identifier "piVar15")) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4)" (parenthesized_expression "(*(code *)PTR_sqlite3_mprintf_0015b628)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_mprintf_0015b628" (* "*") (cast_expression "(code *)PTR_sqlite3_mprintf_0015b628" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_mprintf_0015b628"))) () ")")) (argument_list "(PTR_LAB_0015b5e8 + 0x71f4)" (( "(") (binary_expression "PTR_LAB_0015b5e8 + 0x71f4" (identifier "PTR_LAB_0015b5e8") (+ "+") (number_literal "0x71f4")) () ")")))) (; ";")) (expression_statement "*piVar6 = iVar3;" (assignment_expression "*piVar6 = iVar3" (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (= "=") (identifier "iVar3")) (; ";")) (if_statement "if (iVar3 == 0) goto LAB_00017b14;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00017b14;" (goto "goto") (statement_identifier "LAB_00017b14") (; ";"))) (} "}")) (else_clause "else {\n        while( true ) {\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }\n        piVar2 = (int *)0x1;\n        if (*piVar6 == 0) {\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }\n      }" (else "else") (compound_statement "{\n        while( true ) {\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }\n        piVar2 = (int *)0x1;\n        if (*piVar6 == 0) {\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }\n      }" ({ "{") (while_statement "while( true ) {\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n          piVar5 = (int *)0x1;\n          piVar2 = piVar17;\n          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }\n          param_3 = param_3 + 1;\n          if (param_2 == param_3) break;\n          piVar15 = *param_3;\n        }" ({ "{") (expression_statement "piVar5 = (int *)0x1;" (assignment_expression "piVar5 = (int *)0x1" (identifier "piVar5") (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "piVar2 = piVar17;" (assignment_expression "piVar2 = piVar17" (identifier "piVar2") (= "=") (identifier "piVar17")) (; ";")) (while_statement "while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }" (while "while") (parenthesized_expression "(param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0)" (( "(") (comma_expression "param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0" (assignment_expression "param_1 = piVar15" (identifier "param_1") (= "=") (identifier "piVar15")) (, ",") (comma_expression "iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0" (assignment_expression "iVar3 = sqlite3_stricmp(*piVar2)" (identifier "iVar3") (= "=") (call_expression "sqlite3_stricmp(*piVar2)" (identifier "sqlite3_stricmp") (argument_list "(*piVar2)" (( "(") (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) () ")")))) (, ",") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")))) () ")")) (compound_statement "{\n            piVar5 = (int *)((int)piVar5 + 1);\n            piVar2 = piVar2 + 1;\n            if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }\n          }" ({ "{") (expression_statement "piVar5 = (int *)((int)piVar5 + 1);" (assignment_expression "piVar5 = (int *)((int)piVar5 + 1)" (identifier "piVar5") (= "=") (cast_expression "(int *)((int)piVar5 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar5 + 1)" (( "(") (binary_expression "(int)piVar5 + 1" (cast_expression "(int)piVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar5")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "piVar2 = piVar2 + 1;" (assignment_expression "piVar2 = piVar2 + 1" (identifier "piVar2") (= "=") (binary_expression "piVar2 + 1" (identifier "piVar2") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (piVar11 == piVar5) {\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }" (if "if") (parenthesized_expression "(piVar11 == piVar5)" (( "(") (binary_expression "piVar11 == piVar5" (identifier "piVar11") (== "==") (identifier "piVar5")) () ")")) (compound_statement "{\n              param_1 = piVar15;\n              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);\n              *piVar6 = iVar3;\n              if (iVar3 != 0) goto LAB_00017984;\n              piVar2 = (int *)0x1;\n              goto LAB_00017af4;\n            }" ({ "{") (expression_statement "param_1 = piVar15;" (assignment_expression "param_1 = piVar15" (identifier "param_1") (= "=") (identifier "piVar15")) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4)" (parenthesized_expression "(*(code *)PTR_sqlite3_mprintf_0015b628)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_mprintf_0015b628" (* "*") (cast_expression "(code *)PTR_sqlite3_mprintf_0015b628" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_mprintf_0015b628"))) () ")")) (argument_list "(PTR_LAB_0015b5e8 + 0x71f4)" (( "(") (binary_expression "PTR_LAB_0015b5e8 + 0x71f4" (identifier "PTR_LAB_0015b5e8") (+ "+") (number_literal "0x71f4")) () ")")))) (; ";")) (expression_statement "*piVar6 = iVar3;" (assignment_expression "*piVar6 = iVar3" (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (= "=") (identifier "iVar3")) (; ";")) (if_statement "if (iVar3 != 0) goto LAB_00017984;" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00017984;" (goto "goto") (statement_identifier "LAB_00017984") (; ";"))) (expression_statement "piVar2 = (int *)0x1;" (assignment_expression "piVar2 = (int *)0x1" (identifier "piVar2") (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (goto_statement "goto LAB_00017af4;" (goto "goto") (statement_identifier "LAB_00017af4") (; ";")) (} "}"))) (} "}"))) (expression_statement "param_3 = param_3 + 1;" (assignment_expression "param_3 = param_3 + 1" (identifier "param_3") (= "=") (binary_expression "param_3 + 1" (identifier "param_3") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (param_2 == param_3) break;" (if "if") (parenthesized_expression "(param_2 == param_3)" (( "(") (binary_expression "param_2 == param_3" (identifier "param_2") (== "==") (identifier "param_3")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "piVar15 = *param_3;" (assignment_expression "piVar15 = *param_3" (identifier "piVar15") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (} "}"))) (expression_statement "piVar2 = (int *)0x1;" (assignment_expression "piVar2 = (int *)0x1" (identifier "piVar2") (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (if_statement "if (*piVar6 == 0) {\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }" (if "if") (parenthesized_expression "(*piVar6 == 0)" (( "(") (binary_expression "*piVar6 == 0" (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);\nLAB_00017b14:\n          sqlite3_free(piVar6);\n          piVar6 = (int *)0x0;\n        }" ({ "{") (labeled_statement "LAB_00017af4:\n          do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);" (statement_identifier "LAB_00017af4") (: ":") (do_statement "do {\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          } while ((int)piVar2 < (int)piVar11);" (do "do") (compound_statement "{\n            piVar2 = (int *)((int)piVar2 + 1);\n            iVar3 = *piVar17;\n            piVar17 = piVar17 + 1;\n            sqlite3_free(iVar3);\n          }" ({ "{") (expression_statement "piVar2 = (int *)((int)piVar2 + 1);" (assignment_expression "piVar2 = (int *)((int)piVar2 + 1)" (identifier "piVar2") (= "=") (cast_expression "(int *)((int)piVar2 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar2 + 1)" (( "(") (binary_expression "(int)piVar2 + 1" (cast_expression "(int)piVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar2")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "iVar3 = *piVar17;" (assignment_expression "iVar3 = *piVar17" (identifier "iVar3") (= "=") (pointer_expression "*piVar17" (* "*") (identifier "piVar17"))) (; ";")) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" (identifier "piVar17") (= "=") (binary_expression "piVar17 + 1" (identifier "piVar17") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "sqlite3_free(iVar3);" (call_expression "sqlite3_free(iVar3)" (identifier "sqlite3_free") (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)piVar2 < (int)piVar11)" (( "(") (binary_expression "(int)piVar2 < (int)piVar11" (cast_expression "(int)piVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar2")) (< "<") (cast_expression "(int)piVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar11"))) () ")")) (; ";"))) (labeled_statement "LAB_00017b14:\n          sqlite3_free(piVar6);" (statement_identifier "LAB_00017b14") (: ":") (expression_statement "sqlite3_free(piVar6);" (call_expression "sqlite3_free(piVar6)" (identifier "sqlite3_free") (argument_list "(piVar6)" (( "(") (identifier "piVar6") () ")"))) (; ";"))) (expression_statement "piVar6 = (int *)0x0;" (assignment_expression "piVar6 = (int *)0x0" (identifier "piVar6") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}"))) (} "}")))) (} "}"))) (labeled_statement "LAB_00017984:\n    piVar9 = local_2c;" (statement_identifier "LAB_00017984") (: ":") (expression_statement "piVar9 = local_2c;" (assignment_expression "piVar9 = local_2c" (identifier "piVar9") (= "=") (identifier "local_2c")) (; ";"))) (if_statement "if (local_2c == *(int **)puVar1) {\n      return piVar6;\n    }" (if "if") (parenthesized_expression "(local_2c == *(int **)puVar1)" (( "(") (binary_expression "local_2c == *(int **)puVar1" (identifier "local_2c") (== "==") (pointer_expression "*(int **)puVar1" (* "*") (cast_expression "(int **)puVar1" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar1")))) () ")")) (compound_statement "{\n      return piVar6;\n    }" ({ "{") (return_statement "return piVar6;" (return "return") (identifier "piVar6") (; ";")) (} "}"))) (} "}")))) (expression_statement "uVar4 = 0x17cd8;" (assignment_expression "uVar4 = 0x17cd8" (identifier "uVar4") (= "=") (number_literal "0x17cd8")) (; ";")) (expression_statement "puVar20 = PTR___stack_chk_fail_0015ba10;" (assignment_expression "puVar20 = PTR___stack_chk_fail_0015ba10" (identifier "puVar20") (= "=") (identifier "PTR___stack_chk_fail_0015ba10")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_0015ba10)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015ba10)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015ba10)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_0015ba10" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_0015ba10" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_0015ba10"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_68 = puVar1;" (assignment_expression "local_68 = puVar1" (identifier "local_68") (= "=") (identifier "puVar1")) (; ";")) (expression_statement "piVar16 = *(int **)(puVar20 + 0x143d54);" (assignment_expression "piVar16 = *(int **)(puVar20 + 0x143d54)" (identifier "piVar16") (= "=") (pointer_expression "*(int **)(puVar20 + 0x143d54)" (* "*") (cast_expression "(int **)(puVar20 + 0x143d54)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x143d54)" (( "(") (binary_expression "puVar20 + 0x143d54" (identifier "puVar20") (+ "+") (number_literal "0x143d54")) () ")"))))) (; ";")) (expression_statement "iVar14 = *(int *)(puVar20 + 0x143914);" (assignment_expression "iVar14 = *(int *)(puVar20 + 0x143914)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(puVar20 + 0x143914)" (* "*") (cast_expression "(int *)(puVar20 + 0x143914)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143914)" (( "(") (binary_expression "puVar20 + 0x143914" (identifier "puVar20") (+ "+") (number_literal "0x143914")) () ")"))))) (; ";")) (expression_statement "iVar12 = *(int *)(puVar20 + 0x143924);" (assignment_expression "iVar12 = *(int *)(puVar20 + 0x143924)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(puVar20 + 0x143924)" (* "*") (cast_expression "(int *)(puVar20 + 0x143924)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143924)" (( "(") (binary_expression "puVar20 + 0x143924" (identifier "puVar20") (+ "+") (number_literal "0x143924")) () ")"))))) (; ";")) (expression_statement "local_8c = (int *)*piVar16;" (assignment_expression "local_8c = (int *)*piVar16" (identifier "local_8c") (= "=") (cast_expression "(int *)*piVar16" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar16" (* "*") (identifier "piVar16")))) (; ";")) (expression_statement "local_88 = piVar2;" (assignment_expression "local_88 = piVar2" (identifier "local_88") (= "=") (identifier "piVar2")) (; ";")) (expression_statement "local_84 = piVar11;" (assignment_expression "local_84 = piVar11" (identifier "local_84") (= "=") (identifier "piVar11")) (; ";")) (expression_statement "local_80 = piVar6;" (assignment_expression "local_80 = piVar6" (identifier "local_80") (= "=") (identifier "piVar6")) (; ";")) (expression_statement "local_7c = piVar5;" (assignment_expression "local_7c = piVar5" (identifier "local_7c") (= "=") (identifier "piVar5")) (; ";")) (expression_statement "local_78 = piVar15;" (assignment_expression "local_78 = piVar15" (identifier "local_78") (= "=") (identifier "piVar15")) (; ";")) (expression_statement "local_74 = piVar17;" (assignment_expression "local_74 = piVar17" (identifier "local_74") (= "=") (identifier "piVar17")) (; ";")) (expression_statement "local_70 = param_3;" (assignment_expression "local_70 = param_3" (identifier "local_70") (= "=") (identifier "param_3")) (; ";")) (expression_statement "local_6c = param_2;" (assignment_expression "local_6c = param_2" (identifier "local_6c") (= "=") (identifier "param_2")) (; ";")) (expression_statement "local_64 = uVar4;" (assignment_expression "local_64 = uVar4" (identifier "local_64") (= "=") (identifier "uVar4")) (; ";")) (expression_statement "uVar4 = FUN_00017618();" (assignment_expression "uVar4 = FUN_00017618()" (identifier "uVar4") (= "=") (call_expression "FUN_00017618()" (identifier "FUN_00017618") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" (identifier "local_98") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" (identifier "local_94") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" (identifier "local_90") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar3 = (**(code **)(puVar20 + 0x143974))\n                    (*(undefined4 *)(iVar14 + 0x14),iVar12 + -0x236c,piVar9,0,0,0,0,0,0);" (assignment_expression "iVar3 = (**(code **)(puVar20 + 0x143974))\n                    (*(undefined4 *)(iVar14 + 0x14),iVar12 + -0x236c,piVar9,0,0,0,0,0,0)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar20 + 0x143974))\n                    (*(undefined4 *)(iVar14 + 0x14),iVar12 + -0x236c,piVar9,0,0,0,0,0,0)" (parenthesized_expression "(**(code **)(puVar20 + 0x143974))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x143974)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x143974)" (* "*") (cast_expression "(code **)(puVar20 + 0x143974)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x143974)" (( "(") (binary_expression "puVar20 + 0x143974" (identifier "puVar20") (+ "+") (number_literal "0x143974")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar14 + 0x14),iVar12 + -0x236c,piVar9,0,0,0,0,0,0)" (( "(") (pointer_expression "*(undefined4 *)(iVar14 + 0x14)" (* "*") (cast_expression "(undefined4 *)(iVar14 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x14)" (( "(") (binary_expression "iVar14 + 0x14" (identifier "iVar14") (+ "+") (number_literal "0x14")) () ")")))) (, ",") (binary_expression "iVar12 + -0x236c" (identifier "iVar12") (+ "+") (number_literal "-0x236c")) (, ",") (identifier "piVar9") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar3 != 0) {\n    iVar3 = (**(code **)(puVar20 + 0x143974))\n                      (*(undefined4 *)(iVar14 + 0x14),*(int *)(puVar20 + 0x143910) + 0x538c,piVar9,0\n                       ,0,0,0,0,0);\n    if (iVar3 == 0) {\n      (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5394,piVar9);\n    }\nLAB_00018294:\n    sqlite3_free(local_98);\n    local_98 = 0;\n    local_94 = 0;\n    local_90 = 0;\n    sqlite3_free(uVar4);\n    goto LAB_000182c0;\n  }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar3 = (**(code **)(puVar20 + 0x143974))\n                      (*(undefined4 *)(iVar14 + 0x14),*(int *)(puVar20 + 0x143910) + 0x538c,piVar9,0\n                       ,0,0,0,0,0);\n    if (iVar3 == 0) {\n      (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5394,piVar9);\n    }\nLAB_00018294:\n    sqlite3_free(local_98);\n    local_98 = 0;\n    local_94 = 0;\n    local_90 = 0;\n    sqlite3_free(uVar4);\n    goto LAB_000182c0;\n  }" ({ "{") (expression_statement "iVar3 = (**(code **)(puVar20 + 0x143974))\n                      (*(undefined4 *)(iVar14 + 0x14),*(int *)(puVar20 + 0x143910) + 0x538c,piVar9,0\n                       ,0,0,0,0,0);" (assignment_expression "iVar3 = (**(code **)(puVar20 + 0x143974))\n                      (*(undefined4 *)(iVar14 + 0x14),*(int *)(puVar20 + 0x143910) + 0x538c,piVar9,0\n                       ,0,0,0,0,0)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar20 + 0x143974))\n                      (*(undefined4 *)(iVar14 + 0x14),*(int *)(puVar20 + 0x143910) + 0x538c,piVar9,0\n                       ,0,0,0,0,0)" (parenthesized_expression "(**(code **)(puVar20 + 0x143974))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x143974)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x143974)" (* "*") (cast_expression "(code **)(puVar20 + 0x143974)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x143974)" (( "(") (binary_expression "puVar20 + 0x143974" (identifier "puVar20") (+ "+") (number_literal "0x143974")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar14 + 0x14),*(int *)(puVar20 + 0x143910) + 0x538c,piVar9,0\n                       ,0,0,0,0,0)" (( "(") (pointer_expression "*(undefined4 *)(iVar14 + 0x14)" (* "*") (cast_expression "(undefined4 *)(iVar14 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x14)" (( "(") (binary_expression "iVar14 + 0x14" (identifier "iVar14") (+ "+") (number_literal "0x14")) () ")")))) (, ",") (binary_expression "*(int *)(puVar20 + 0x143910) + 0x538c" (pointer_expression "*(int *)(puVar20 + 0x143910)" (* "*") (cast_expression "(int *)(puVar20 + 0x143910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143910)" (( "(") (binary_expression "puVar20 + 0x143910" (identifier "puVar20") (+ "+") (number_literal "0x143910")) () ")")))) (+ "+") (number_literal "0x538c")) (, ",") (identifier "piVar9") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n      (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5394,piVar9);\n    }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5394,piVar9);\n    }" ({ "{") (expression_statement "(**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5394,piVar9);" (call_expression "(**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5394,piVar9)" (parenthesized_expression "(**(code **)(puVar20 + 0x143cac))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x143cac)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x143cac)" (* "*") (cast_expression "(code **)(puVar20 + 0x143cac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x143cac)" (( "(") (binary_expression "puVar20 + 0x143cac" (identifier "puVar20") (+ "+") (number_literal "0x143cac")) () ")"))))) () ")")) (argument_list "(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5394,piVar9)" (( "(") (identifier "param_1") (, ",") (number_literal "1") (, ",") (binary_expression "*(int *)(puVar20 + 0x143910) + 0x5394" (pointer_expression "*(int *)(puVar20 + 0x143910)" (* "*") (cast_expression "(int *)(puVar20 + 0x143910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143910)" (( "(") (binary_expression "puVar20 + 0x143910" (identifier "puVar20") (+ "+") (number_literal "0x143910")) () ")")))) (+ "+") (number_literal "0x5394")) (, ",") (identifier "piVar9") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_00018294:\n    sqlite3_free(local_98);" (statement_identifier "LAB_00018294") (: ":") (expression_statement "sqlite3_free(local_98);" (call_expression "sqlite3_free(local_98)" (identifier "sqlite3_free") (argument_list "(local_98)" (( "(") (identifier "local_98") () ")"))) (; ";"))) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" (identifier "local_98") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" (identifier "local_94") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" (identifier "local_90") (= "=") (number_literal "0")) (; ";")) (expression_statement "sqlite3_free(uVar4);" (call_expression "sqlite3_free(uVar4)" (identifier "sqlite3_free") (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")"))) (; ";")) (goto_statement "goto LAB_000182c0;" (goto "goto") (statement_identifier "LAB_000182c0") (; ";")) (} "}"))) (expression_statement "iVar18 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar18 = *(int *)(puVar20 + 0x143910)" (identifier "iVar18") (= "=") (pointer_expression "*(int *)(puVar20 + 0x143910)" (* "*") (cast_expression "(int *)(puVar20 + 0x143910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143910)" (( "(") (binary_expression "puVar20 + 0x143910" (identifier "puVar20") (+ "+") (number_literal "0x143910")) () ")"))))) (; ";")) (expression_statement "iVar3 = (**(code **)(puVar20 + 0x143974))\n                    (*(undefined4 *)(iVar14 + 0x14),iVar18 + 0x538c,piVar9,0,0,0,0,0,0);" (assignment_expression "iVar3 = (**(code **)(puVar20 + 0x143974))\n                    (*(undefined4 *)(iVar14 + 0x14),iVar18 + 0x538c,piVar9,0,0,0,0,0,0)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar20 + 0x143974))\n                    (*(undefined4 *)(iVar14 + 0x14),iVar18 + 0x538c,piVar9,0,0,0,0,0,0)" (parenthesized_expression "(**(code **)(puVar20 + 0x143974))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x143974)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x143974)" (* "*") (cast_expression "(code **)(puVar20 + 0x143974)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x143974)" (( "(") (binary_expression "puVar20 + 0x143974" (identifier "puVar20") (+ "+") (number_literal "0x143974")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar14 + 0x14),iVar18 + 0x538c,piVar9,0,0,0,0,0,0)" (( "(") (pointer_expression "*(undefined4 *)(iVar14 + 0x14)" (* "*") (cast_expression "(undefined4 *)(iVar14 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x14)" (( "(") (binary_expression "iVar14 + 0x14" (identifier "iVar14") (+ "+") (number_literal "0x14")) () ")")))) (, ",") (binary_expression "iVar18 + 0x538c" (identifier "iVar18") (+ "+") (number_literal "0x538c")) (, ",") (identifier "piVar9") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar3 != 0) {\n    (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x53b8,piVar9);\n    goto LAB_00018294;\n  }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x53b8,piVar9);\n    goto LAB_00018294;\n  }" ({ "{") (expression_statement "(**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x53b8,piVar9);" (call_expression "(**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x53b8,piVar9)" (parenthesized_expression "(**(code **)(puVar20 + 0x143cac))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x143cac)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x143cac)" (* "*") (cast_expression "(code **)(puVar20 + 0x143cac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x143cac)" (( "(") (binary_expression "puVar20 + 0x143cac" (identifier "puVar20") (+ "+") (number_literal "0x143cac")) () ")"))))) () ")")) (argument_list "(param_1,1,*(int *)(puVar20 + 0x143910) + 0x53b8,piVar9)" (( "(") (identifier "param_1") (, ",") (number_literal "1") (, ",") (binary_expression "*(int *)(puVar20 + 0x143910) + 0x53b8" (pointer_expression "*(int *)(puVar20 + 0x143910)" (* "*") (cast_expression "(int *)(puVar20 + 0x143910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143910)" (( "(") (binary_expression "puVar20 + 0x143910" (identifier "puVar20") (+ "+") (number_literal "0x143910")) () ")")))) (+ "+") (number_literal "0x53b8")) (, ",") (identifier "piVar9") () ")"))) (; ";")) (goto_statement "goto LAB_00018294;" (goto "goto") (statement_identifier "LAB_00018294") (; ";")) (} "}"))) (expression_statement "piVar11 = (int *)FUN_00017720(iVar18 + 0x538c,piVar9,&local_a0,0);" (assignment_expression "piVar11 = (int *)FUN_00017720(iVar18 + 0x538c,piVar9,&local_a0,0)" (identifier "piVar11") (= "=") (cast_expression "(int *)FUN_00017720(iVar18 + 0x538c,piVar9,&local_a0,0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00017720(iVar18 + 0x538c,piVar9,&local_a0,0)" (identifier "FUN_00017720") (argument_list "(iVar18 + 0x538c,piVar9,&local_a0,0)" (( "(") (binary_expression "iVar18 + 0x538c" (identifier "iVar18") (+ "+") (number_literal "0x538c")) (, ",") (identifier "piVar9") (, ",") (pointer_expression "&local_a0" (& "&") (identifier "local_a0")) (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "param_3 = (int **)FUN_00017720(iVar12 + -0x236c,piVar9,&local_9c,0);" (assignment_expression "param_3 = (int **)FUN_00017720(iVar12 + -0x236c,piVar9,&local_9c,0)" (identifier "param_3") (= "=") (cast_expression "(int **)FUN_00017720(iVar12 + -0x236c,piVar9,&local_9c,0)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "FUN_00017720(iVar12 + -0x236c,piVar9,&local_9c,0)" (identifier "FUN_00017720") (argument_list "(iVar12 + -0x236c,piVar9,&local_9c,0)" (( "(") (binary_expression "iVar12 + -0x236c" (identifier "iVar12") (+ "+") (number_literal "-0x236c")) (, ",") (identifier "piVar9") (, ",") (pointer_expression "&local_9c" (& "&") (identifier "local_9c")) (, ",") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (piVar11 == (int *)0x0) goto LAB_000184e8;" (if "if") (parenthesized_expression "(piVar11 == (int *)0x0)" (( "(") (binary_expression "piVar11 == (int *)0x0" (identifier "piVar11") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000184e8;" (goto "goto") (statement_identifier "LAB_000184e8") (; ";"))) (expression_statement "iVar3 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar3 = *(int *)(puVar20 + 0x143910)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(puVar20 + 0x143910)" (* "*") (cast_expression "(int *)(puVar20 + 0x143910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143910)" (( "(") (binary_expression "puVar20 + 0x143910" (identifier "puVar20") (+ "+") (number_literal "0x143910")) () ")"))))) (; ";")) (if_statement "if (param_3 != (int **)0x0) {\n    iVar3 = *piVar11;\n    if (iVar3 == 0) {\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if (local_9c == local_a0) {\n        iVar12 = 0;\n        goto LAB_00017e78;\n      }\n    }\n    else {\n      iVar12 = 0;\n      ppiVar13 = param_3;\n      piVar2 = piVar11;\n      do {\n        piVar2 = piVar2 + 1;\n        iVar3 = sqlite3_stricmp(iVar3,*ppiVar13);\n        if (iVar3 != 0) break;\n        iVar3 = *piVar2;\n        iVar12 = iVar12 + 1;\n        ppiVar13 = ppiVar13 + 1;\n      } while (iVar3 != 0);\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if ((local_a0 == local_9c) && (piVar11[iVar12] == 0)) {\nLAB_00017e78:\n        pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4);\n        FUN_00016de4(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc);\n        if (local_9c == iVar12) {\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);\n        }\n        else {\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4);\n        if (0 < local_a0) {\n          iVar12 = *(int *)(puVar20 + 0x143910);\n          iVar8 = 0;\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;\n          do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);\n        }\n        iVar3 = *(int *)(puVar20 + 0x143910);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar10 = 0;\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);\n        }\n        (*pcVar19)(&local_98,local_a8 + 0x5414);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          iVar3 = 0;\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508);\n        if ((*(uint *)(iVar14 + 0x10) & 2) == 0) {\n          uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);\n          local_a8 = 0;\n          uVar23 = 0;\n          uVar24 = 0;\n          local_a4 = 0;\n          uVar21 = 0;\nLAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );\n        }\n        (**(code **)(puVar20 + 0x143ccc))(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98);\n        goto LAB_00018318;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(param_3 != (int **)0x0)" (( "(") (binary_expression "param_3 != (int **)0x0" (identifier "param_3") (!= "!=") (cast_expression "(int **)0x0" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    iVar3 = *piVar11;\n    if (iVar3 == 0) {\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if (local_9c == local_a0) {\n        iVar12 = 0;\n        goto LAB_00017e78;\n      }\n    }\n    else {\n      iVar12 = 0;\n      ppiVar13 = param_3;\n      piVar2 = piVar11;\n      do {\n        piVar2 = piVar2 + 1;\n        iVar3 = sqlite3_stricmp(iVar3,*ppiVar13);\n        if (iVar3 != 0) break;\n        iVar3 = *piVar2;\n        iVar12 = iVar12 + 1;\n        ppiVar13 = ppiVar13 + 1;\n      } while (iVar3 != 0);\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if ((local_a0 == local_9c) && (piVar11[iVar12] == 0)) {\nLAB_00017e78:\n        pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4);\n        FUN_00016de4(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc);\n        if (local_9c == iVar12) {\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);\n        }\n        else {\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4);\n        if (0 < local_a0) {\n          iVar12 = *(int *)(puVar20 + 0x143910);\n          iVar8 = 0;\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;\n          do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);\n        }\n        iVar3 = *(int *)(puVar20 + 0x143910);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar10 = 0;\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);\n        }\n        (*pcVar19)(&local_98,local_a8 + 0x5414);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          iVar3 = 0;\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508);\n        if ((*(uint *)(iVar14 + 0x10) & 2) == 0) {\n          uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);\n          local_a8 = 0;\n          uVar23 = 0;\n          uVar24 = 0;\n          local_a4 = 0;\n          uVar21 = 0;\nLAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );\n        }\n        (**(code **)(puVar20 + 0x143ccc))(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98);\n        goto LAB_00018318;\n      }\n    }\n  }" ({ "{") (expression_statement "iVar3 = *piVar11;" (assignment_expression "iVar3 = *piVar11" (identifier "iVar3") (= "=") (pointer_expression "*piVar11" (* "*") (identifier "piVar11"))) (; ";")) (if_statement "if (iVar3 == 0) {\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if (local_9c == local_a0) {\n        iVar12 = 0;\n        goto LAB_00017e78;\n      }\n    }\n    else {\n      iVar12 = 0;\n      ppiVar13 = param_3;\n      piVar2 = piVar11;\n      do {\n        piVar2 = piVar2 + 1;\n        iVar3 = sqlite3_stricmp(iVar3,*ppiVar13);\n        if (iVar3 != 0) break;\n        iVar3 = *piVar2;\n        iVar12 = iVar12 + 1;\n        ppiVar13 = ppiVar13 + 1;\n      } while (iVar3 != 0);\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if ((local_a0 == local_9c) && (piVar11[iVar12] == 0)) {\nLAB_00017e78:\n        pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4);\n        FUN_00016de4(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc);\n        if (local_9c == iVar12) {\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);\n        }\n        else {\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4);\n        if (0 < local_a0) {\n          iVar12 = *(int *)(puVar20 + 0x143910);\n          iVar8 = 0;\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;\n          do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);\n        }\n        iVar3 = *(int *)(puVar20 + 0x143910);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar10 = 0;\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);\n        }\n        (*pcVar19)(&local_98,local_a8 + 0x5414);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          iVar3 = 0;\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508);\n        if ((*(uint *)(iVar14 + 0x10) & 2) == 0) {\n          uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);\n          local_a8 = 0;\n          uVar23 = 0;\n          uVar24 = 0;\n          local_a4 = 0;\n          uVar21 = 0;\nLAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );\n        }\n        (**(code **)(puVar20 + 0x143ccc))(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98);\n        goto LAB_00018318;\n      }\n    }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if (local_9c == local_a0) {\n        iVar12 = 0;\n        goto LAB_00017e78;\n      }\n    }" ({ "{") (expression_statement "iVar3 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar3 = *(int *)(puVar20 + 0x143910)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(puVar20 + 0x143910)" (* "*") (cast_expression "(int *)(puVar20 + 0x143910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143910)" (( "(") (binary_expression "puVar20 + 0x143910" (identifier "puVar20") (+ "+") (number_literal "0x143910")) () ")"))))) (; ";")) (if_statement "if (local_9c == local_a0) {\n        iVar12 = 0;\n        goto LAB_00017e78;\n      }" (if "if") (parenthesized_expression "(local_9c == local_a0)" (( "(") (binary_expression "local_9c == local_a0" (identifier "local_9c") (== "==") (identifier "local_a0")) () ")")) (compound_statement "{\n        iVar12 = 0;\n        goto LAB_00017e78;\n      }" ({ "{") (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" (identifier "iVar12") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00017e78;" (goto "goto") (statement_identifier "LAB_00017e78") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      iVar12 = 0;\n      ppiVar13 = param_3;\n      piVar2 = piVar11;\n      do {\n        piVar2 = piVar2 + 1;\n        iVar3 = sqlite3_stricmp(iVar3,*ppiVar13);\n        if (iVar3 != 0) break;\n        iVar3 = *piVar2;\n        iVar12 = iVar12 + 1;\n        ppiVar13 = ppiVar13 + 1;\n      } while (iVar3 != 0);\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if ((local_a0 == local_9c) && (piVar11[iVar12] == 0)) {\nLAB_00017e78:\n        pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4);\n        FUN_00016de4(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc);\n        if (local_9c == iVar12) {\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);\n        }\n        else {\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4);\n        if (0 < local_a0) {\n          iVar12 = *(int *)(puVar20 + 0x143910);\n          iVar8 = 0;\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;\n          do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);\n        }\n        iVar3 = *(int *)(puVar20 + 0x143910);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar10 = 0;\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);\n        }\n        (*pcVar19)(&local_98,local_a8 + 0x5414);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          iVar3 = 0;\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508);\n        if ((*(uint *)(iVar14 + 0x10) & 2) == 0) {\n          uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);\n          local_a8 = 0;\n          uVar23 = 0;\n          uVar24 = 0;\n          local_a4 = 0;\n          uVar21 = 0;\nLAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );\n        }\n        (**(code **)(puVar20 + 0x143ccc))(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98);\n        goto LAB_00018318;\n      }\n    }" (else "else") (compound_statement "{\n      iVar12 = 0;\n      ppiVar13 = param_3;\n      piVar2 = piVar11;\n      do {\n        piVar2 = piVar2 + 1;\n        iVar3 = sqlite3_stricmp(iVar3,*ppiVar13);\n        if (iVar3 != 0) break;\n        iVar3 = *piVar2;\n        iVar12 = iVar12 + 1;\n        ppiVar13 = ppiVar13 + 1;\n      } while (iVar3 != 0);\n      iVar3 = *(int *)(puVar20 + 0x143910);\n      if ((local_a0 == local_9c) && (piVar11[iVar12] == 0)) {\nLAB_00017e78:\n        pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4);\n        FUN_00016de4(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc);\n        if (local_9c == iVar12) {\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);\n        }\n        else {\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4);\n        if (0 < local_a0) {\n          iVar12 = *(int *)(puVar20 + 0x143910);\n          iVar8 = 0;\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;\n          do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);\n        }\n        iVar3 = *(int *)(puVar20 + 0x143910);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar10 = 0;\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);\n        }\n        (*pcVar19)(&local_98,local_a8 + 0x5414);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          iVar3 = 0;\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508);\n        if ((*(uint *)(iVar14 + 0x10) & 2) == 0) {\n          uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);\n          local_a8 = 0;\n          uVar23 = 0;\n          uVar24 = 0;\n          local_a4 = 0;\n          uVar21 = 0;\nLAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );\n        }\n        (**(code **)(puVar20 + 0x143ccc))(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98);\n        goto LAB_00018318;\n      }\n    }" ({ "{") (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" (identifier "iVar12") (= "=") (number_literal "0")) (; ";")) (expression_statement "ppiVar13 = param_3;" (assignment_expression "ppiVar13 = param_3" (identifier "ppiVar13") (= "=") (identifier "param_3")) (; ";")) (expression_statement "piVar2 = piVar11;" (assignment_expression "piVar2 = piVar11" (identifier "piVar2") (= "=") (identifier "piVar11")) (; ";")) (do_statement "do {\n        piVar2 = piVar2 + 1;\n        iVar3 = sqlite3_stricmp(iVar3,*ppiVar13);\n        if (iVar3 != 0) break;\n        iVar3 = *piVar2;\n        iVar12 = iVar12 + 1;\n        ppiVar13 = ppiVar13 + 1;\n      } while (iVar3 != 0);" (do "do") (compound_statement "{\n        piVar2 = piVar2 + 1;\n        iVar3 = sqlite3_stricmp(iVar3,*ppiVar13);\n        if (iVar3 != 0) break;\n        iVar3 = *piVar2;\n        iVar12 = iVar12 + 1;\n        ppiVar13 = ppiVar13 + 1;\n      }" ({ "{") (expression_statement "piVar2 = piVar2 + 1;" (assignment_expression "piVar2 = piVar2 + 1" (identifier "piVar2") (= "=") (binary_expression "piVar2 + 1" (identifier "piVar2") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar3 = sqlite3_stricmp(iVar3,*ppiVar13);" (assignment_expression "iVar3 = sqlite3_stricmp(iVar3,*ppiVar13)" (identifier "iVar3") (= "=") (call_expression "sqlite3_stricmp(iVar3,*ppiVar13)" (identifier "sqlite3_stricmp") (argument_list "(iVar3,*ppiVar13)" (( "(") (identifier "iVar3") (, ",") (pointer_expression "*ppiVar13" (* "*") (identifier "ppiVar13")) () ")")))) (; ";")) (if_statement "if (iVar3 != 0) break;" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar3 = *piVar2;" (assignment_expression "iVar3 = *piVar2" (identifier "iVar3") (= "=") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) (; ";")) (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" (identifier "iVar12") (= "=") (binary_expression "iVar12 + 1" (identifier "iVar12") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "ppiVar13 = ppiVar13 + 1;" (assignment_expression "ppiVar13 = ppiVar13 + 1" (identifier "ppiVar13") (= "=") (binary_expression "ppiVar13 + 1" (identifier "ppiVar13") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "iVar3 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar3 = *(int *)(puVar20 + 0x143910)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(puVar20 + 0x143910)" (* "*") (cast_expression "(int *)(puVar20 + 0x143910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143910)" (( "(") (binary_expression "puVar20 + 0x143910" (identifier "puVar20") (+ "+") (number_literal "0x143910")) () ")"))))) (; ";")) (if_statement "if ((local_a0 == local_9c) && (piVar11[iVar12] == 0)) {\nLAB_00017e78:\n        pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4);\n        FUN_00016de4(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc);\n        if (local_9c == iVar12) {\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);\n        }\n        else {\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4);\n        if (0 < local_a0) {\n          iVar12 = *(int *)(puVar20 + 0x143910);\n          iVar8 = 0;\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;\n          do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);\n        }\n        iVar3 = *(int *)(puVar20 + 0x143910);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar10 = 0;\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);\n        }\n        (*pcVar19)(&local_98,local_a8 + 0x5414);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          iVar3 = 0;\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508);\n        if ((*(uint *)(iVar14 + 0x10) & 2) == 0) {\n          uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);\n          local_a8 = 0;\n          uVar23 = 0;\n          uVar24 = 0;\n          local_a4 = 0;\n          uVar21 = 0;\nLAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );\n        }\n        (**(code **)(puVar20 + 0x143ccc))(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98);\n        goto LAB_00018318;\n      }" (if "if") (parenthesized_expression "((local_a0 == local_9c) && (piVar11[iVar12] == 0))" (( "(") (binary_expression "(local_a0 == local_9c) && (piVar11[iVar12] == 0)" (parenthesized_expression "(local_a0 == local_9c)" (( "(") (binary_expression "local_a0 == local_9c" (identifier "local_a0") (== "==") (identifier "local_9c")) () ")")) (&& "&&") (parenthesized_expression "(piVar11[iVar12] == 0)" (( "(") (binary_expression "piVar11[iVar12] == 0" (subscript_expression "piVar11[iVar12]" (identifier "piVar11") ([ "[") (identifier "iVar12") (] "]")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\nLAB_00017e78:\n        pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4);\n        FUN_00016de4(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc);\n        if (local_9c == iVar12) {\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);\n        }\n        else {\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4);\n        if (0 < local_a0) {\n          iVar12 = *(int *)(puVar20 + 0x143910);\n          iVar8 = 0;\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;\n          do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);\n        }\n        iVar3 = *(int *)(puVar20 + 0x143910);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar10 = 0;\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);\n        }\n        (*pcVar19)(&local_98,local_a8 + 0x5414);\n        (*pcVar19)(&local_98,iVar3 + 0x544c);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4);\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4);\n        if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          iVar3 = 0;\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);\n        }\n        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508);\n        if ((*(uint *)(iVar14 + 0x10) & 2) == 0) {\n          uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);\n          local_a8 = 0;\n          uVar23 = 0;\n          uVar24 = 0;\n          local_a4 = 0;\n          uVar21 = 0;\nLAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );\n        }\n        (**(code **)(puVar20 + 0x143ccc))(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98);\n        goto LAB_00018318;\n      }" ({ "{") (labeled_statement "LAB_00017e78:\n        pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4);" (statement_identifier "LAB_00017e78") (: ":") (expression_statement "pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4);" (assignment_expression "pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4)" (identifier "pcVar19") (= "=") (cast_expression "(code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar20 + 0x14390c) + 0x6de4)" (( "(") (binary_expression "*(int *)(puVar20 + 0x14390c) + 0x6de4" (pointer_expression "*(int *)(puVar20 + 0x14390c)" (* "*") (cast_expression "(int *)(puVar20 + 0x14390c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x14390c)" (( "(") (binary_expression "puVar20 + 0x14390c" (identifier "puVar20") (+ "+") (number_literal "0x14390c")) () ")")))) (+ "+") (number_literal "0x6de4")) () ")")))) (; ";"))) (expression_statement "FUN_00016de4(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc);" (call_expression "FUN_00016de4(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc)" (identifier "FUN_00016de4") (argument_list "(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc)" (( "(") (pointer_expression "&local_98" (& "&") (identifier "local_98")) (, ",") (binary_expression "*(int *)(puVar20 + 0x143910) + 0x53dc" (pointer_expression "*(int *)(puVar20 + 0x143910)" (* "*") (cast_expression "(int *)(puVar20 + 0x143910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143910)" (( "(") (binary_expression "puVar20 + 0x143910" (identifier "puVar20") (+ "+") (number_literal "0x143910")) () ")")))) (+ "+") (number_literal "0x53dc")) () ")"))) (; ";")) (if_statement "if (local_9c == iVar12) {\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);\n        }\n        else {\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }" (if "if") (parenthesized_expression "(local_9c == iVar12)" (( "(") (binary_expression "local_9c == iVar12" (identifier "local_9c") (== "==") (identifier "iVar12")) () ")")) (compound_statement "{\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);\n        }" ({ "{") (expression_statement "local_a8 = *(int *)(puVar20 + 0x143910);" (assignment_expression "local_a8 = *(int *)(puVar20 + 0x143910)" (identifier "local_a8") (= "=") (pointer_expression "*(int *)(puVar20 + 0x143910)" (* "*") (cast_expression "(int *)(puVar20 + 0x143910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143910)" (( "(") (binary_expression "puVar20 + 0x143910" (identifier "puVar20") (+ "+") (number_literal "0x143910")) () ")"))))) (; ";")) (expression_statement "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);" (call_expression "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0)" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0)" (( "(") (pointer_expression "&local_98" (& "&") (identifier "local_98")) (, ",") (binary_expression "*(int *)(puVar20 + 0x143910) + 0x53f0" (pointer_expression "*(int *)(puVar20 + 0x143910)" (* "*") (cast_expression "(int *)(puVar20 + 0x143910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143910)" (( "(") (binary_expression "puVar20 + 0x143910" (identifier "puVar20") (+ "+") (number_literal "0x143910")) () ")")))) (+ "+") (number_literal "0x53f0")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }" (else "else") (compound_statement "{\n          piVar2 = piVar11 + local_a0;\n          iVar12 = *piVar2;\n          iVar3 = *(int *)(puVar20 + 0x143910);\n          if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }\n          local_a8 = *(int *)(puVar20 + 0x143910);\n          (*pcVar19)(&local_98,local_a8 + 0x5414);\n        }" ({ "{") (expression_statement "piVar2 = piVar11 + local_a0;" (assignment_expression "piVar2 = piVar11 + local_a0" (identifier "piVar2") (= "=") (binary_expression "piVar11 + local_a0" (identifier "piVar11") (+ "+") (identifier "local_a0"))) (; ";")) (expression_statement "iVar12 = *piVar2;" (assignment_expression "iVar12 = *piVar2" (identifier "iVar12") (= "=") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) (; ";")) (expression_statement "iVar3 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar3 = *(int *)(puVar20 + 0x143910)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(puVar20 + 0x143910)" (* "*") (cast_expression "(int *)(puVar20 + 0x143910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143910)" (( "(") (binary_expression "puVar20 + 0x143910" (identifier "puVar20") (+ "+") (number_literal "0x143910")) () ")"))))) (; ";")) (if_statement "if (iVar12 != 0) {\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }" (if "if") (parenthesized_expression "(iVar12 != 0)" (( "(") (binary_expression "iVar12 != 0" (identifier "iVar12") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            iVar8 = *(int *)(puVar20 + 0x143910);\n            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;\n            do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);\n          }" ({ "{") (expression_statement "iVar8 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar8 = *(int *)(puVar20 + 0x143910)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(puVar20 + 0x143910)" (* "*") (cast_expression "(int *)(puVar20 + 0x143910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143910)" (( "(") (binary_expression "puVar20 + 0x143910" (identifier "puVar20") (+ "+") (number_literal "0x143910")) () ")"))))) (; ";")) (expression_statement "iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;" (assignment_expression "iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374" (identifier "iVar18") (= "=") (binary_expression "*(int *)(puVar20 + 0x143910) + 0x5374" (pointer_expression "*(int *)(puVar20 + 0x143910)" (* "*") (cast_expression "(int *)(puVar20 + 0x143910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143910)" (( "(") (binary_expression "puVar20 + 0x143910" (identifier "puVar20") (+ "+") (number_literal "0x143910")) () ")")))) (+ "+") (number_literal "0x5374"))) (; ";")) (do_statement "do {\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            } while (iVar12 != 0);" (do "do") (compound_statement "{\n              piVar2 = piVar2 + 1;\n              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);\n              iVar12 = *piVar2;\n              iVar18 = iVar8 + 0x540c;\n            }" ({ "{") (expression_statement "piVar2 = piVar2 + 1;" (assignment_expression "piVar2 = piVar2 + 1" (identifier "piVar2") (= "=") (binary_expression "piVar2 + 1" (identifier "piVar2") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "(*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);" (call_expression "(*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12)" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12)" (( "(") (pointer_expression "&local_98" (& "&") (identifier "local_98")) (, ",") (binary_expression "iVar3 + 0x53f8" (identifier "iVar3") (+ "+") (number_literal "0x53f8")) (, ",") (identifier "iVar18") (, ",") (identifier "iVar12") (, ",") (identifier "iVar12") () ")"))) (; ";")) (expression_statement "iVar12 = *piVar2;" (assignment_expression "iVar12 = *piVar2" (identifier "iVar12") (= "=") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) (; ";")) (expression_statement "iVar18 = iVar8 + 0x540c;" (assignment_expression "iVar18 = iVar8 + 0x540c" (identifier "iVar18") (= "=") (binary_expression "iVar8 + 0x540c" (identifier "iVar8") (+ "+") (number_literal "0x540c"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar12 != 0)" (( "(") (binary_expression "iVar12 != 0" (identifier "iVar12") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))) (expression_statement "local_a8 = *(int *)(puVar20 + 0x143910);" (assignment_expression "local_a8 = *(int *)(puVar20 + 0x143910)" (identifier "local_a8") (= "=") (pointer_expression "*(int *)(puVar20 + 0x143910)" (* "*") (cast_expression "(int *)(puVar20 + 0x143910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143910)" (( "(") (binary_expression "puVar20 + 0x143910" (identifier "puVar20") (+ "+") (number_literal "0x143910")) () ")"))))) (; ";")) (expression_statement "(*pcVar19)(&local_98,local_a8 + 0x5414);" (call_expression "(*pcVar19)(&local_98,local_a8 + 0x5414)" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "(&local_98,local_a8 + 0x5414)" (( "(") (pointer_expression "&local_98" (& "&") (identifier "local_98")) (, ",") (binary_expression "local_a8 + 0x5414" (identifier "local_a8") (+ "+") (number_literal "0x5414")) () ")"))) (; ";")) (} "}")))) (expression_statement "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4);" (call_expression "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4)" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4)" (( "(") (pointer_expression "&local_98" (& "&") (identifier "local_98")) (, ",") (binary_expression "*(int *)(puVar20 + 0x143910) + 0x5418" (pointer_expression "*(int *)(puVar20 + 0x143910)" (* "*") (cast_expression "(int *)(puVar20 + 0x143910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143910)" (( "(") (binary_expression "puVar20 + 0x143910" (identifier "puVar20") (+ "+") (number_literal "0x143910")) () ")")))) (+ "+") (number_literal "0x5418")) (, ",") (identifier "uVar4") (, ",") (identifier "uVar4") () ")"))) (; ";")) (if_statement "if (0 < local_a0) {\n          iVar12 = *(int *)(puVar20 + 0x143910);\n          iVar8 = 0;\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;\n          do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);\n        }" (if "if") (parenthesized_expression "(0 < local_a0)" (( "(") (binary_expression "0 < local_a0" (number_literal "0") (< "<") (identifier "local_a0")) () ")")) (compound_statement "{\n          iVar12 = *(int *)(puVar20 + 0x143910);\n          iVar8 = 0;\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;\n          do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);\n        }" ({ "{") (expression_statement "iVar12 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar12 = *(int *)(puVar20 + 0x143910)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(puVar20 + 0x143910)" (* "*") (cast_expression "(int *)(puVar20 + 0x143910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143910)" (( "(") (binary_expression "puVar20 + 0x143910" (identifier "puVar20") (+ "+") (number_literal "0x143910")) () ")"))))) (; ";")) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar18 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar18 = *(int *)(puVar20 + 0x143910)" (identifier "iVar18") (= "=") (pointer_expression "*(int *)(puVar20 + 0x143910)" (* "*") (cast_expression "(int *)(puVar20 + 0x143910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143910)" (( "(") (binary_expression "puVar20 + 0x143910" (identifier "puVar20") (+ "+") (number_literal "0x143910")) () ")"))))) (; ";")) (expression_statement "piVar2 = piVar11;" (assignment_expression "piVar2 = piVar11" (identifier "piVar2") (= "=") (identifier "piVar11")) (; ";")) (expression_statement "iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;" (assignment_expression "iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c" (identifier "iVar3") (= "=") (binary_expression "*(int *)(puVar20 + 0x143910) + 0x537c" (pointer_expression "*(int *)(puVar20 + 0x143910)" (* "*") (cast_expression "(int *)(puVar20 + 0x143910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143910)" (( "(") (binary_expression "puVar20 + 0x143910" (identifier "puVar20") (+ "+") (number_literal "0x143910")) () ")")))) (+ "+") (number_literal "0x537c"))) (; ";")) (do_statement "do {\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          } while (iVar8 < local_a0);" (do "do") (compound_statement "{\n            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);\n            iVar8 = iVar8 + 1;\n            piVar2 = piVar2 + 1;\n            iVar3 = iVar18 + 0x5444;\n          }" ({ "{") (expression_statement "(*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);" (call_expression "(*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2)" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2)" (( "(") (pointer_expression "&local_98" (& "&") (identifier "local_98")) (, ",") (binary_expression "iVar12 + 0x5434" (identifier "iVar12") (+ "+") (number_literal "0x5434")) (, ",") (identifier "iVar3") (, ",") (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (, ",") (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) () ")"))) (; ";")) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar2 = piVar2 + 1;" (assignment_expression "piVar2 = piVar2 + 1" (identifier "piVar2") (= "=") (binary_expression "piVar2 + 1" (identifier "piVar2") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar3 = iVar18 + 0x5444;" (assignment_expression "iVar3 = iVar18 + 0x5444" (identifier "iVar3") (= "=") (binary_expression "iVar18 + 0x5444" (identifier "iVar18") (+ "+") (number_literal "0x5444"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar8 < local_a0)" (( "(") (binary_expression "iVar8 < local_a0" (identifier "iVar8") (< "<") (identifier "local_a0")) () ")")) (; ";")) (} "}"))) (expression_statement "iVar3 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar3 = *(int *)(puVar20 + 0x143910)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(puVar20 + 0x143910)" (* "*") (cast_expression "(int *)(puVar20 + 0x143910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143910)" (( "(") (binary_expression "puVar20 + 0x143910" (identifier "puVar20") (+ "+") (number_literal "0x143910")) () ")"))))) (; ";")) (expression_statement "(*pcVar19)(&local_98,iVar3 + 0x544c);" (call_expression "(*pcVar19)(&local_98,iVar3 + 0x544c)" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "(&local_98,iVar3 + 0x544c)" (( "(") (pointer_expression "&local_98" (& "&") (identifier "local_98")) (, ",") (binary_expression "iVar3 + 0x544c" (identifier "iVar3") (+ "+") (number_literal "0x544c")) () ")"))) (; ";")) (expression_statement "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458);" (call_expression "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458)" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458)" (( "(") (pointer_expression "&local_98" (& "&") (identifier "local_98")) (, ",") (binary_expression "*(int *)(puVar20 + 0x143910) + 0x5458" (pointer_expression "*(int *)(puVar20 + 0x143910)" (* "*") (cast_expression "(int *)(puVar20 + 0x143910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143910)" (( "(") (binary_expression "puVar20 + 0x143910" (identifier "puVar20") (+ "+") (number_literal "0x143910")) () ")")))) (+ "+") (number_literal "0x5458")) () ")"))) (; ";")) (expression_statement "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4);" (call_expression "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4)" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4)" (( "(") (pointer_expression "&local_98" (& "&") (identifier "local_98")) (, ",") (binary_expression "*(int *)(puVar20 + 0x143910) + 0x5470" (pointer_expression "*(int *)(puVar20 + 0x143910)" (* "*") (cast_expression "(int *)(puVar20 + 0x143910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143910)" (( "(") (binary_expression "puVar20 + 0x143910" (identifier "puVar20") (+ "+") (number_literal "0x143910")) () ")")))) (+ "+") (number_literal "0x5470")) (, ",") (identifier "uVar4") () ")"))) (; ";")) (expression_statement "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4);" (call_expression "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4)" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4)" (( "(") (pointer_expression "&local_98" (& "&") (identifier "local_98")) (, ",") (binary_expression "*(int *)(puVar20 + 0x143910) + 0x5484" (pointer_expression "*(int *)(puVar20 + 0x143910)" (* "*") (cast_expression "(int *)(puVar20 + 0x143910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143910)" (( "(") (binary_expression "puVar20 + 0x143910" (identifier "puVar20") (+ "+") (number_literal "0x143910")) () ")")))) (+ "+") (number_literal "0x5484")) (, ",") (identifier "uVar4") () ")"))) (; ";")) (if_statement "if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar10 = 0;\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);\n        }" (if "if") (parenthesized_expression "(0 < local_a0)" (( "(") (binary_expression "0 < local_a0" (number_literal "0") (< "<") (identifier "local_a0")) () ")")) (compound_statement "{\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar10 = 0;\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);\n        }" ({ "{") (expression_statement "iVar18 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar18 = *(int *)(puVar20 + 0x143910)" (identifier "iVar18") (= "=") (pointer_expression "*(int *)(puVar20 + 0x143910)" (* "*") (cast_expression "(int *)(puVar20 + 0x143910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143910)" (( "(") (binary_expression "puVar20 + 0x143910" (identifier "puVar20") (+ "+") (number_literal "0x143910")) () ")"))))) (; ";")) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" (identifier "iVar10") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar8 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar8 = *(int *)(puVar20 + 0x143910)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(puVar20 + 0x143910)" (* "*") (cast_expression "(int *)(puVar20 + 0x143910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143910)" (( "(") (binary_expression "puVar20 + 0x143910" (identifier "puVar20") (+ "+") (number_literal "0x143910")) () ")"))))) (; ";")) (expression_statement "piVar2 = piVar11;" (assignment_expression "piVar2 = piVar11" (identifier "piVar2") (= "=") (identifier "piVar11")) (; ";")) (expression_statement "iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;" (assignment_expression "iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384" (identifier "iVar12") (= "=") (binary_expression "*(int *)(puVar20 + 0x143910) + 0x5384" (pointer_expression "*(int *)(puVar20 + 0x143910)" (* "*") (cast_expression "(int *)(puVar20 + 0x143910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143910)" (( "(") (binary_expression "puVar20 + 0x143910" (identifier "puVar20") (+ "+") (number_literal "0x143910")) () ")")))) (+ "+") (number_literal "0x5384"))) (; ";")) (do_statement "do {\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar10 < local_a0);" (do "do") (compound_statement "{\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            iVar10 = iVar10 + 1;\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          }" ({ "{") (expression_statement "(*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);" (call_expression "(*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2)" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2)" (( "(") (pointer_expression "&local_98" (& "&") (identifier "local_98")) (, ",") (binary_expression "iVar18 + 0x5434" (identifier "iVar18") (+ "+") (number_literal "0x5434")) (, ",") (identifier "iVar12") (, ",") (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (, ",") (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) () ")"))) (; ";")) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" (identifier "iVar10") (= "=") (binary_expression "iVar10 + 1" (identifier "iVar10") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar2 = piVar2 + 1;" (assignment_expression "piVar2 = piVar2 + 1" (identifier "piVar2") (= "=") (binary_expression "piVar2 + 1" (identifier "piVar2") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar12 = iVar8 + 0x5444;" (assignment_expression "iVar12 = iVar8 + 0x5444" (identifier "iVar12") (= "=") (binary_expression "iVar8 + 0x5444" (identifier "iVar8") (+ "+") (number_literal "0x5444"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar10 < local_a0)" (( "(") (binary_expression "iVar10 < local_a0" (identifier "iVar10") (< "<") (identifier "local_a0")) () ")")) (; ";")) (} "}"))) (expression_statement "(*pcVar19)(&local_98,local_a8 + 0x5414);" (call_expression "(*pcVar19)(&local_98,local_a8 + 0x5414)" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "(&local_98,local_a8 + 0x5414)" (( "(") (pointer_expression "&local_98" (& "&") (identifier "local_98")) (, ",") (binary_expression "local_a8 + 0x5414" (identifier "local_a8") (+ "+") (number_literal "0x5414")) () ")"))) (; ";")) (expression_statement "(*pcVar19)(&local_98,iVar3 + 0x544c);" (call_expression "(*pcVar19)(&local_98,iVar3 + 0x544c)" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "(&local_98,iVar3 + 0x544c)" (( "(") (pointer_expression "&local_98" (& "&") (identifier "local_98")) (, ",") (binary_expression "iVar3 + 0x544c" (identifier "iVar3") (+ "+") (number_literal "0x544c")) () ")"))) (; ";")) (expression_statement "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0);" (call_expression "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0)" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0)" (( "(") (pointer_expression "&local_98" (& "&") (identifier "local_98")) (, ",") (binary_expression "*(int *)(puVar20 + 0x143910) + 0x54b0" (pointer_expression "*(int *)(puVar20 + 0x143910)" (* "*") (cast_expression "(int *)(puVar20 + 0x143910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143910)" (( "(") (binary_expression "puVar20 + 0x143910" (identifier "puVar20") (+ "+") (number_literal "0x143910")) () ")")))) (+ "+") (number_literal "0x54b0")) () ")"))) (; ";")) (expression_statement "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4);" (call_expression "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4)" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4)" (( "(") (pointer_expression "&local_98" (& "&") (identifier "local_98")) (, ",") (binary_expression "*(int *)(puVar20 + 0x143910) + 0x54c8" (pointer_expression "*(int *)(puVar20 + 0x143910)" (* "*") (cast_expression "(int *)(puVar20 + 0x143910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143910)" (( "(") (binary_expression "puVar20 + 0x143910" (identifier "puVar20") (+ "+") (number_literal "0x143910")) () ")")))) (+ "+") (number_literal "0x54c8")) (, ",") (identifier "uVar4") () ")"))) (; ";")) (expression_statement "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4);" (call_expression "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4)" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4)" (( "(") (pointer_expression "&local_98" (& "&") (identifier "local_98")) (, ",") (binary_expression "*(int *)(puVar20 + 0x143910) + 0x54dc" (pointer_expression "*(int *)(puVar20 + 0x143910)" (* "*") (cast_expression "(int *)(puVar20 + 0x143910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143910)" (( "(") (binary_expression "puVar20 + 0x143910" (identifier "puVar20") (+ "+") (number_literal "0x143910")) () ")")))) (+ "+") (number_literal "0x54dc")) (, ",") (identifier "uVar4") () ")"))) (; ";")) (if_statement "if (0 < local_a0) {\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          iVar3 = 0;\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);\n        }" (if "if") (parenthesized_expression "(0 < local_a0)" (( "(") (binary_expression "0 < local_a0" (number_literal "0") (< "<") (identifier "local_a0")) () ")")) (compound_statement "{\n          iVar18 = *(int *)(puVar20 + 0x143910);\n          iVar8 = *(int *)(puVar20 + 0x143910);\n          iVar3 = 0;\n          piVar2 = piVar11;\n          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;\n          do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);\n        }" ({ "{") (expression_statement "iVar18 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar18 = *(int *)(puVar20 + 0x143910)" (identifier "iVar18") (= "=") (pointer_expression "*(int *)(puVar20 + 0x143910)" (* "*") (cast_expression "(int *)(puVar20 + 0x143910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143910)" (( "(") (binary_expression "puVar20 + 0x143910" (identifier "puVar20") (+ "+") (number_literal "0x143910")) () ")"))))) (; ";")) (expression_statement "iVar8 = *(int *)(puVar20 + 0x143910);" (assignment_expression "iVar8 = *(int *)(puVar20 + 0x143910)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(puVar20 + 0x143910)" (* "*") (cast_expression "(int *)(puVar20 + 0x143910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143910)" (( "(") (binary_expression "puVar20 + 0x143910" (identifier "puVar20") (+ "+") (number_literal "0x143910")) () ")"))))) (; ";")) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" (identifier "iVar3") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2 = piVar11;" (assignment_expression "piVar2 = piVar11" (identifier "piVar2") (= "=") (identifier "piVar11")) (; ";")) (expression_statement "iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;" (assignment_expression "iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384" (identifier "iVar12") (= "=") (binary_expression "*(int *)(puVar20 + 0x143910) + 0x5384" (pointer_expression "*(int *)(puVar20 + 0x143910)" (* "*") (cast_expression "(int *)(puVar20 + 0x143910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143910)" (( "(") (binary_expression "puVar20 + 0x143910" (identifier "puVar20") (+ "+") (number_literal "0x143910")) () ")")))) (+ "+") (number_literal "0x5384"))) (; ";")) (do_statement "do {\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          } while (iVar3 < local_a0);" (do "do") (compound_statement "{\n            iVar3 = iVar3 + 1;\n            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);\n            piVar2 = piVar2 + 1;\n            iVar12 = iVar8 + 0x5444;\n          }" ({ "{") (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + 1" (identifier "iVar3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "(*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);" (call_expression "(*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2)" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2)" (( "(") (pointer_expression "&local_98" (& "&") (identifier "local_98")) (, ",") (binary_expression "iVar18 + 0x5434" (identifier "iVar18") (+ "+") (number_literal "0x5434")) (, ",") (identifier "iVar12") (, ",") (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (, ",") (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) () ")"))) (; ";")) (expression_statement "piVar2 = piVar2 + 1;" (assignment_expression "piVar2 = piVar2 + 1" (identifier "piVar2") (= "=") (binary_expression "piVar2 + 1" (identifier "piVar2") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar12 = iVar8 + 0x5444;" (assignment_expression "iVar12 = iVar8 + 0x5444" (identifier "iVar12") (= "=") (binary_expression "iVar8 + 0x5444" (identifier "iVar8") (+ "+") (number_literal "0x5444"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar3 < local_a0)" (( "(") (binary_expression "iVar3 < local_a0" (identifier "iVar3") (< "<") (identifier "local_a0")) () ")")) (; ";")) (} "}"))) (expression_statement "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508);" (call_expression "(*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508)" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508)" (( "(") (pointer_expression "&local_98" (& "&") (identifier "local_98")) (, ",") (binary_expression "*(int *)(puVar20 + 0x143910) + 0x5508" (pointer_expression "*(int *)(puVar20 + 0x143910)" (* "*") (cast_expression "(int *)(puVar20 + 0x143910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143910)" (( "(") (binary_expression "puVar20 + 0x143910" (identifier "puVar20") (+ "+") (number_literal "0x143910")) () ")")))) (+ "+") (number_literal "0x5508")) () ")"))) (; ";")) (if_statement "if ((*(uint *)(iVar14 + 0x10) & 2) == 0) {\n          uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);\n          local_a8 = 0;\n          uVar23 = 0;\n          uVar24 = 0;\n          local_a4 = 0;\n          uVar21 = 0;\nLAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );\n        }" (if "if") (parenthesized_expression "((*(uint *)(iVar14 + 0x10) & 2) == 0)" (( "(") (binary_expression "(*(uint *)(iVar14 + 0x10) & 2) == 0" (parenthesized_expression "(*(uint *)(iVar14 + 0x10) & 2)" (( "(") (binary_expression "*(uint *)(iVar14 + 0x10) & 2" (pointer_expression "*(uint *)(iVar14 + 0x10)" (* "*") (cast_expression "(uint *)(iVar14 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x10)" (( "(") (binary_expression "iVar14 + 0x10" (identifier "iVar14") (+ "+") (number_literal "0x10")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);\n          local_a8 = 0;\n          uVar23 = 0;\n          uVar24 = 0;\n          local_a4 = 0;\n          uVar21 = 0;\nLAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );\n        }" ({ "{") (expression_statement "uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);" (assignment_expression "uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98)" (identifier "uVar7") (= "=") (call_expression "FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98)" (identifier "FUN_000173e0") (argument_list "(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98)" (( "(") (binary_expression "*(int *)(puVar20 + 0x143910) + 0x71f4" (pointer_expression "*(int *)(puVar20 + 0x143910)" (* "*") (cast_expression "(int *)(puVar20 + 0x143910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143910)" (( "(") (binary_expression "puVar20 + 0x143910" (identifier "puVar20") (+ "+") (number_literal "0x143910")) () ")")))) (+ "+") (number_literal "0x71f4")) (, ",") (identifier "local_98") () ")")))) (; ";")) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" (identifier "local_a8") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" (identifier "uVar23") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" (identifier "uVar24") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_a4 = 0;" (assignment_expression "local_a4 = 0" (identifier "local_a4") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" (identifier "uVar21") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_000181e0:\n          do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );" (statement_identifier "LAB_000181e0") (: ":") (do_statement "do {\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          } while( true );" (do "do") (compound_statement "{\n            pcVar19 = *(code **)(puVar20 + 0x143958);\n            do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);\n            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);\n            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n            local_a4 = (uint)uVar22 - (int)uVar21;\n            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);\n          }" ({ "{") (expression_statement "pcVar19 = *(code **)(puVar20 + 0x143958);" (assignment_expression "pcVar19 = *(code **)(puVar20 + 0x143958)" (identifier "pcVar19") (= "=") (pointer_expression "*(code **)(puVar20 + 0x143958)" (* "*") (cast_expression "(code **)(puVar20 + 0x143958)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x143958)" (( "(") (binary_expression "puVar20 + 0x143958" (identifier "puVar20") (+ "+") (number_literal "0x143958")) () ")"))))) (; ";")) (do_statement "do {\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            } while (iVar3 != 1);" (do "do") (compound_statement "{\n              iVar3 = (*pcVar19)(uVar7);\n              if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }\n              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);\n              if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }\n              pcVar19 = *(code **)(puVar20 + 0x143958);\n            }" ({ "{") (expression_statement "iVar3 = (*pcVar19)(uVar7);" (assignment_expression "iVar3 = (*pcVar19)(uVar7)" (identifier "iVar3") (= "=") (call_expression "(*pcVar19)(uVar7)" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")")))) (; ";")) (if_statement "if (iVar3 != 100) {\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }" (if "if") (parenthesized_expression "(iVar3 != 100)" (( "(") (binary_expression "iVar3 != 100" (identifier "iVar3") (!= "!=") (number_literal "100")) () ")")) (compound_statement "{\n                (**(code **)(puVar20 + 0x143964))(uVar7);\n                (**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);\n                goto LAB_00018318;\n              }" ({ "{") (expression_statement "(**(code **)(puVar20 + 0x143964))(uVar7);" (call_expression "(**(code **)(puVar20 + 0x143964))(uVar7)" (parenthesized_expression "(**(code **)(puVar20 + 0x143964))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x143964)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x143964)" (* "*") (cast_expression "(code **)(puVar20 + 0x143964)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x143964)" (( "(") (binary_expression "puVar20 + 0x143964" (identifier "puVar20") (+ "+") (number_literal "0x143964")) () ")"))))) () ")")) (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4);" (call_expression "(**(code **)(puVar20 + 0x143cac))\n                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4)" (parenthesized_expression "(**(code **)(puVar20 + 0x143cac))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x143cac)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x143cac)" (* "*") (cast_expression "(code **)(puVar20 + 0x143cac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x143cac)" (( "(") (binary_expression "puVar20 + 0x143cac" (identifier "puVar20") (+ "+") (number_literal "0x143cac")) () ")"))))) () ")")) (argument_list "(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,\n                           uVar24,local_a8,local_a4)" (( "(") (identifier "param_1") (, ",") (number_literal "1") (, ",") (binary_expression "*(int *)(puVar20 + 0x143910) + 0x5528" (pointer_expression "*(int *)(puVar20 + 0x143910)" (* "*") (cast_expression "(int *)(puVar20 + 0x143910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143910)" (( "(") (binary_expression "puVar20 + 0x143910" (identifier "puVar20") (+ "+") (number_literal "0x143910")) () ")")))) (+ "+") (number_literal "0x5528")) (, ",") (identifier "piVar9") (, ",") (identifier "uVar21") (, ",") (identifier "uVar23") (, ",") (identifier "uVar24") (, ",") (identifier "local_a8") (, ",") (identifier "local_a4") () ")"))) (; ";")) (goto_statement "goto LAB_00018318;" (goto "goto") (statement_identifier "LAB_00018318") (; ";")) (} "}"))) (expression_statement "iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);" (assignment_expression "iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar20 + 0x14396c))(uVar7,0)" (parenthesized_expression "(**(code **)(puVar20 + 0x14396c))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x14396c)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x14396c)" (* "*") (cast_expression "(code **)(puVar20 + 0x14396c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x14396c)" (( "(") (binary_expression "puVar20 + 0x14396c" (identifier "puVar20") (+ "+") (number_literal "0x14396c")) () ")"))))) () ")")) (argument_list "(uVar7,0)" (( "(") (identifier "uVar7") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar3 == 2) {\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }" (if "if") (parenthesized_expression "(iVar3 == 2)" (( "(") (binary_expression "iVar3 == 2" (identifier "iVar3") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }" ({ "{") (expression_statement "uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);" (assignment_expression "uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1)" (identifier "uVar24") (= "=") (call_expression "(**(code **)(puVar20 + 0x143978))(uVar7,1)" (parenthesized_expression "(**(code **)(puVar20 + 0x143978))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x143978)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x143978)" (* "*") (cast_expression "(code **)(puVar20 + 0x143978)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x143978)" (( "(") (binary_expression "puVar20 + 0x143978" (identifier "puVar20") (+ "+") (number_literal "0x143978")) () ")"))))) () ")")) (argument_list "(uVar7,1)" (( "(") (identifier "uVar7") (, ",") (number_literal "1") () ")")))) (; ";")) (goto_statement "goto LAB_000181e0;" (goto "goto") (statement_identifier "LAB_000181e0") (; ";")) (} "}"))) (if_statement "if (iVar3 == 3) {\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }" (if "if") (parenthesized_expression "(iVar3 == 3)" (( "(") (binary_expression "iVar3 == 3" (identifier "iVar3") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);\n                goto LAB_000181e0;\n              }" ({ "{") (expression_statement "uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);" (assignment_expression "uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1)" (identifier "uVar23") (= "=") (call_expression "(**(code **)(puVar20 + 0x143978))(uVar7,1)" (parenthesized_expression "(**(code **)(puVar20 + 0x143978))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x143978)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x143978)" (* "*") (cast_expression "(code **)(puVar20 + 0x143978)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x143978)" (( "(") (binary_expression "puVar20 + 0x143978" (identifier "puVar20") (+ "+") (number_literal "0x143978")) () ")"))))) () ")")) (argument_list "(uVar7,1)" (( "(") (identifier "uVar7") (, ",") (number_literal "1") () ")")))) (; ";")) (goto_statement "goto LAB_000181e0;" (goto "goto") (statement_identifier "LAB_000181e0") (; ";")) (} "}"))) (expression_statement "pcVar19 = *(code **)(puVar20 + 0x143958);" (assignment_expression "pcVar19 = *(code **)(puVar20 + 0x143958)" (identifier "pcVar19") (= "=") (pointer_expression "*(code **)(puVar20 + 0x143958)" (* "*") (cast_expression "(code **)(puVar20 + 0x143958)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x143958)" (( "(") (binary_expression "puVar20 + 0x143958" (identifier "puVar20") (+ "+") (number_literal "0x143958")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar3 != 1)" (( "(") (binary_expression "iVar3 != 1" (identifier "iVar3") (!= "!=") (number_literal "1")) () ")")) (; ";")) (expression_statement "uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);" (assignment_expression "uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2)" (identifier "uVar21") (= "=") (call_expression "(**(code **)(puVar20 + 0x143978))(uVar7,2)" (parenthesized_expression "(**(code **)(puVar20 + 0x143978))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x143978)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x143978)" (* "*") (cast_expression "(code **)(puVar20 + 0x143978)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x143978)" (( "(") (binary_expression "puVar20 + 0x143978" (identifier "puVar20") (+ "+") (number_literal "0x143978")) () ")"))))) () ")")) (argument_list "(uVar7,2)" (( "(") (identifier "uVar7") (, ",") (number_literal "2") () ")")))) (; ";")) (expression_statement "uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);" (assignment_expression "uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1)" (identifier "uVar22") (= "=") (call_expression "(**(code **)(puVar20 + 0x143978))(uVar7,1)" (parenthesized_expression "(**(code **)(puVar20 + 0x143978))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x143978)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x143978)" (* "*") (cast_expression "(code **)(puVar20 + 0x143978)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x143978)" (( "(") (binary_expression "puVar20 + 0x143978" (identifier "puVar20") (+ "+") (number_literal "0x143978")) () ")"))))) () ")")) (argument_list "(uVar7,1)" (( "(") (identifier "uVar7") (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "local_a4 = (uint)uVar22 - (int)uVar21;" (assignment_expression "local_a4 = (uint)uVar22 - (int)uVar21" (identifier "local_a4") (= "=") (binary_expression "(uint)uVar22 - (int)uVar21" (cast_expression "(uint)uVar22" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar22")) (- "-") (cast_expression "(int)uVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar21")))) (; ";")) (expression_statement "local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4);" (assignment_expression "local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4)" (identifier "local_a8") (= "=") (binary_expression "((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -\n                       (uint)((uint)uVar22 < local_a4)" (parenthesized_expression "((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20))" (( "(") (binary_expression "(int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)" (cast_expression "(int)((ulonglong)uVar22 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar22 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar22 >> 0x20" (cast_expression "(ulonglong)uVar22" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar22")) (>> ">>") (number_literal "0x20")) () ")"))) (- "-") (cast_expression "(int)((ulonglong)uVar21 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar21 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar21 >> 0x20" (cast_expression "(ulonglong)uVar21" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar21")) (>> ">>") (number_literal "0x20")) () ")")))) () ")")) (- "-") (call_expression "(uint)((uint)uVar22 < local_a4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uint)uVar22 < local_a4)" (( "(") (binary_expression "(uint)uVar22 < local_a4" (cast_expression "(uint)uVar22" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar22")) (< "<") (identifier "local_a4")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";"))) (} "}"))) (expression_statement "(**(code **)(puVar20 + 0x143ccc))(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98);" (call_expression "(**(code **)(puVar20 + 0x143ccc))(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98)" (parenthesized_expression "(**(code **)(puVar20 + 0x143ccc))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x143ccc)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x143ccc)" (* "*") (cast_expression "(code **)(puVar20 + 0x143ccc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x143ccc)" (( "(") (binary_expression "puVar20 + 0x143ccc" (identifier "puVar20") (+ "+") (number_literal "0x143ccc")) () ")"))))) () ")")) (argument_list "(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98)" (( "(") (number_literal "1") (, ",") (binary_expression "*(int *)(puVar20 + 0x143910) + 0x5518" (pointer_expression "*(int *)(puVar20 + 0x143910)" (* "*") (cast_expression "(int *)(puVar20 + 0x143910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143910)" (( "(") (binary_expression "puVar20 + 0x143910" (identifier "puVar20") (+ "+") (number_literal "0x143910")) () ")")))) (+ "+") (number_literal "0x5518")) (, ",") (identifier "uVar4") (, ",") (identifier "local_98") () ")"))) (; ";")) (goto_statement "goto LAB_00018318;" (goto "goto") (statement_identifier "LAB_00018318") (; ";")) (} "}"))) (} "}")))) (} "}"))) (expression_statement "(**(code **)(puVar20 + 0x143cac))(param_1,1,iVar3 + 0x5568,piVar9);" (call_expression "(**(code **)(puVar20 + 0x143cac))(param_1,1,iVar3 + 0x5568,piVar9)" (parenthesized_expression "(**(code **)(puVar20 + 0x143cac))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x143cac)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x143cac)" (* "*") (cast_expression "(code **)(puVar20 + 0x143cac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x143cac)" (( "(") (binary_expression "puVar20 + 0x143cac" (identifier "puVar20") (+ "+") (number_literal "0x143cac")) () ")"))))) () ")")) (argument_list "(param_1,1,iVar3 + 0x5568,piVar9)" (( "(") (identifier "param_1") (, ",") (number_literal "1") (, ",") (binary_expression "iVar3 + 0x5568" (identifier "iVar3") (+ "+") (number_literal "0x5568")) (, ",") (identifier "piVar9") () ")"))) (; ";")) (labeled_statement "LAB_00018318:\n  sqlite3_free(local_98);" (statement_identifier "LAB_00018318") (: ":") (expression_statement "sqlite3_free(local_98);" (call_expression "sqlite3_free(local_98)" (identifier "sqlite3_free") (argument_list "(local_98)" (( "(") (identifier "local_98") () ")"))) (; ";"))) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" (identifier "local_98") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" (identifier "local_94") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" (identifier "local_90") (= "=") (number_literal "0")) (; ";")) (expression_statement "sqlite3_free(uVar4);" (call_expression "sqlite3_free(uVar4)" (identifier "sqlite3_free") (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")"))) (; ";")) (expression_statement "FUN_000175b4(piVar11);" (call_expression "FUN_000175b4(piVar11)" (identifier "FUN_000175b4") (argument_list "(piVar11)" (( "(") (identifier "piVar11") () ")"))) (; ";")) (while_statement "while( true ) {\n    if (param_3 != (int **)0x0) {\n      FUN_000175b4(param_3);\n    }\nLAB_000182c0:\n    piVar11 = (int *)*piVar16;\n    if (local_8c == piVar11) break;\n    (**(code **)(puVar20 + 0x143d38))();\nLAB_000184e8:\n    (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5568,piVar9);\n    sqlite3_free(local_98);\n    local_98 = 0;\n    local_94 = 0;\n    local_90 = 0;\n    sqlite3_free(uVar4);\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    if (param_3 != (int **)0x0) {\n      FUN_000175b4(param_3);\n    }\nLAB_000182c0:\n    piVar11 = (int *)*piVar16;\n    if (local_8c == piVar11) break;\n    (**(code **)(puVar20 + 0x143d38))();\nLAB_000184e8:\n    (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5568,piVar9);\n    sqlite3_free(local_98);\n    local_98 = 0;\n    local_94 = 0;\n    local_90 = 0;\n    sqlite3_free(uVar4);\n  }" ({ "{") (if_statement "if (param_3 != (int **)0x0) {\n      FUN_000175b4(param_3);\n    }" (if "if") (parenthesized_expression "(param_3 != (int **)0x0)" (( "(") (binary_expression "param_3 != (int **)0x0" (identifier "param_3") (!= "!=") (cast_expression "(int **)0x0" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      FUN_000175b4(param_3);\n    }" ({ "{") (expression_statement "FUN_000175b4(param_3);" (call_expression "FUN_000175b4(param_3)" (identifier "FUN_000175b4") (argument_list "(param_3)" (( "(") (identifier "param_3") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_000182c0:\n    piVar11 = (int *)*piVar16;" (statement_identifier "LAB_000182c0") (: ":") (expression_statement "piVar11 = (int *)*piVar16;" (assignment_expression "piVar11 = (int *)*piVar16" (identifier "piVar11") (= "=") (cast_expression "(int *)*piVar16" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar16" (* "*") (identifier "piVar16")))) (; ";"))) (if_statement "if (local_8c == piVar11) break;" (if "if") (parenthesized_expression "(local_8c == piVar11)" (( "(") (binary_expression "local_8c == piVar11" (identifier "local_8c") (== "==") (identifier "piVar11")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "(**(code **)(puVar20 + 0x143d38))();" (call_expression "(**(code **)(puVar20 + 0x143d38))()" (parenthesized_expression "(**(code **)(puVar20 + 0x143d38))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x143d38)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x143d38)" (* "*") (cast_expression "(code **)(puVar20 + 0x143d38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x143d38)" (( "(") (binary_expression "puVar20 + 0x143d38" (identifier "puVar20") (+ "+") (number_literal "0x143d38")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_000184e8:\n    (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5568,piVar9);" (statement_identifier "LAB_000184e8") (: ":") (expression_statement "(**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5568,piVar9);" (call_expression "(**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5568,piVar9)" (parenthesized_expression "(**(code **)(puVar20 + 0x143cac))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x143cac)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x143cac)" (* "*") (cast_expression "(code **)(puVar20 + 0x143cac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x143cac)" (( "(") (binary_expression "puVar20 + 0x143cac" (identifier "puVar20") (+ "+") (number_literal "0x143cac")) () ")"))))) () ")")) (argument_list "(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5568,piVar9)" (( "(") (identifier "param_1") (, ",") (number_literal "1") (, ",") (binary_expression "*(int *)(puVar20 + 0x143910) + 0x5568" (pointer_expression "*(int *)(puVar20 + 0x143910)" (* "*") (cast_expression "(int *)(puVar20 + 0x143910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x143910)" (( "(") (binary_expression "puVar20 + 0x143910" (identifier "puVar20") (+ "+") (number_literal "0x143910")) () ")")))) (+ "+") (number_literal "0x5568")) (, ",") (identifier "piVar9") () ")"))) (; ";"))) (expression_statement "sqlite3_free(local_98);" (call_expression "sqlite3_free(local_98)" (identifier "sqlite3_free") (argument_list "(local_98)" (( "(") (identifier "local_98") () ")"))) (; ";")) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" (identifier "local_98") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" (identifier "local_94") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" (identifier "local_90") (= "=") (number_literal "0")) (; ";")) (expression_statement "sqlite3_free(uVar4);" (call_expression "sqlite3_free(uVar4)" (identifier "sqlite3_free") (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")"))) (; ";")) (} "}"))) (return_statement "return piVar11;" (return "return") (identifier "piVar11") (; ";")) (} "}")))

char ** function_1(char *zDb,char *zTab,int *pnPKey,int *var_11)

{
  type_1 *puVar1;
  type_2 *psVar2;
  int var_5;
  char *pcVar4;
  type_2 *psVar5;
  char **var_9;
  char *var_13;
  char *pcVar8;
  int var_17;
  int var_8;
  char **var_19;
  int var_18;
  char **ppcVar13;
  char **ppcVar14;
  type_3 *pcVar15;
  type_1 *var_7;
  int var_21;
  int var_20;
  type_4 SStack_98;
  type_5 uStack_8c;
  type_2 *psStack_88;
  int iStack_84;
  char **ppcStack_80;
  type_2 *psStack_7c;
  char *pcStack_78;
  char **ppcStack_74;
  char **ppcStack_70;
  char **ppcStack_6c;
  type_1 *puStack_68;
  type_3 *pcStack_64;
  char *azRowid [3];
  char *var_15;
  
  puVar1 = PTR___stack_chk_guard_0015ba2c;
  var_15 = *(char **)PTR___stack_chk_guard_0015ba2c;
  if (*(int *)(var_1 + 8) == 0) {
    pcVar15 = (type_3 *)(var_2 + 0x73e0);
    psVar2 = var_3(var_4 + 0x5318,zDb,zTab);
    var_7 = var_4;
    var_5 = (*(type_3 *)PTR_sqlite3_step_0015b630)(psVar2);
    if (var_5 == 100) {
      pcVar4 = (char *)(*(type_3 *)PTR_sqlite3_column_text_0015b634)(psVar2,3);
                    /* WARNING: Subroutine does not return */
      var_6(pcVar4,var_7 + 0x5330);
    }
    (*(type_3 *)PTR_sqlite3_finalize_0015b63c)(psVar2);
    var_8 = 8;
    var_5 = 1;
    psVar5 = (type_2 *)(*pcVar15)(var_4 + 0x5350,zDb,zTab);
  }
  else {
    var_5 = 0;
    psVar2 = (type_2 *)&DAT_00000064;
    psVar5 = var_3(var_4 + 0x5350,zDb,zTab);
    while (var_8 = (*(type_3 *)PTR_sqlite3_step_0015b630)(psVar5), var_8 == 100) {
      while (var_8 = (*(type_3 *)PTR_sqlite3_column_int_0015b644)(psVar5,5), 0 < var_8) {
        var_5 = var_5 + 1;
        var_8 = (*(type_3 *)PTR_sqlite3_step_0015b630)(psVar5);
        if (var_8 != 100) goto LAB_00017a28;
      }
    }
LAB_00017a28:
    (*(type_3 *)PTR_sqlite3_reset_0015b648)(psVar5);
    if (var_5 == 0) {
      var_8 = 8;
      var_5 = 1;
    }
    else {
      var_8 = (var_5 + 1) * 4;
    }
  }
  var_7 = PTR_sqlite3_malloc_0015b640;
  pcVar4 = (char *)0x1;
  *pnPKey = var_5;
  var_9 = (char **)(*(type_3 *)var_7)(var_8);
  if (var_9 == (char **)0x0) {
LAB_00017cb8:
                    /* WARNING: Subroutine does not return */
    var_10(var_4 + 0x52ac);
  }
  pcVar8 = (char *)0x0;
  (*(type_3 *)PTR_memset_0015b9b4)(var_9,0,var_8);
  ppcVar13 = (char **)&DAT_00000064;
  ppcVar14 = (char **)0x3fffffff;
  var_19 = (char **)(var_2 + 0x7618);
  do {
    var_8 = (*(type_3 *)PTR_sqlite3_step_0015b630)(psVar5);
    if (var_8 != 100) {
      (*(type_3 *)PTR_sqlite3_finalize_0015b63c)(psVar5);
      var_9[var_5] = (char *)0x0;
      if (var_11 != (int *)0x0) {
        *var_11 = (uint)(*var_9 == (char *)0x0);
      }
      if (*var_9 == (char *)0x0) {
        ppcVar13 = azRowid;
        ppcVar14 = &var_15;
        azRowid[1] = var_4 + 0x5368;
        pcVar4 = var_12 + -0x7714;
        var_19 = var_9 + 1;
        azRowid[2] = var_4 + 0x5370;
        azRowid[0] = pcVar4;
        if (1 < var_5) {
                    /* WARNING: Subroutine does not return */
          var_6(*var_19,pcVar4);
        }
        pcVar8 = pcVar4;
        var_13 = (char *)(*(type_3 *)PTR_sqlite3_mprintf_0015b628)(var_4 + 0x71f4);
        *var_9 = var_13;
        if (var_13 == (char *)0x0) {
                    /* WARNING: Subroutine does not return */
          var_14(var_9);
        }
      }
      if (var_15 == *(char **)puVar1) {
        return var_9;
      }
      pcVar15 = summarize_one_table;
      var_13 = var_15;
      var_7 = PTR___stack_chk_fail_0015ba10;
      (*(type_3 *)PTR___stack_chk_fail_0015ba10)();
      puStack_68 = puVar1;
      var_17 = *(int *)(var_7 + 0x143914);
      var_8 = *(int *)(var_7 + 0x143924);
      uStack_8c = **(type_5 **)(var_7 + 0x143d54);
      psStack_88 = psVar2;
      iStack_84 = var_5;
      ppcStack_80 = var_9;
      psStack_7c = psVar5;
      pcStack_78 = pcVar4;
      ppcStack_74 = var_19;
      ppcStack_70 = ppcVar13;
      ppcStack_6c = ppcVar14;
      pcStack_64 = pcVar15;
      var_16(var_13);
      SStack_98.z = (char *)0x0;
      SStack_98.nAlloc = 0;
      SStack_98.nUsed = 0;
      var_5 = (**(type_3 **)(var_7 + 0x143974))
                        (*(type_5 *)(var_17 + 0x14),var_8 + -0x236c,var_13,0,0,0,0,0,0);
      if (var_5 == 0) {
        var_18 = *(int *)(var_7 + 0x143910);
        var_5 = (**(type_3 **)(var_7 + 0x143974))
                          (*(type_5 *)(var_17 + 0x14),var_18 + 0x538c,var_13,0,0,0,0,0,0);
        if (var_5 == 0) {
          var_9 = function_1((char *)(var_18 + 0x538c),var_13,&var_21,(int *)0x0);
          var_19 = function_1((char *)(var_8 + -0x236c),var_13,&var_20,(int *)0x0);
          if (var_9 == (char **)0x0) {
            (**(type_3 **)(var_7 + 0x143cac))(pcVar8,1,*(int *)(var_7 + 0x143910) + 0x5568,var_13)
            ;
                    /* WARNING: Subroutine does not return */
            var_14(SStack_98.z);
          }
          var_5 = *(int *)(var_7 + 0x143910);
          if (var_19 != (char **)0x0) {
            if (*var_9 != (char *)0x0) {
                    /* WARNING: Subroutine does not return */
              var_6(*var_9,*var_19);
            }
            var_5 = *(int *)(var_7 + 0x143910);
            if (var_20 == var_21) {
                    /* WARNING: Subroutine does not return */
              var_22(&SStack_98,(char *)(*(int *)(var_7 + 0x143910) + 0x53dc));
            }
          }
          (**(type_3 **)(var_7 + 0x143cac))(pcVar8,1,var_5 + 0x5568,var_13);
                    /* WARNING: Subroutine does not return */
          var_14(SStack_98.z);
        }
        (**(type_3 **)(var_7 + 0x143cac))(pcVar8,1,*(int *)(var_7 + 0x143910) + 0x53b8,var_13);
      }
      else {
        var_5 = (**(type_3 **)(var_7 + 0x143974))
                          (*(type_5 *)(var_17 + 0x14),*(int *)(var_7 + 0x143910) + 0x538c,
                           var_13,0,0,0,0,0,0);
        if (var_5 == 0) {
          (**(type_3 **)(var_7 + 0x143cac))(pcVar8,1,*(int *)(var_7 + 0x143910) + 0x5394,var_13);
        }
      }
                    /* WARNING: Subroutine does not return */
      var_14(SStack_98.z);
    }
    var_8 = (*(type_3 *)PTR_sqlite3_column_int_0015b644)(psVar5,5);
    if (var_8 < 1) {
      var_8 = (var_5 + 2) * 4;
      var_9 = (char **)(*(type_3 *)PTR_sqlite3_realloc_0015b5f0)(var_9,var_8);
      if (var_9 == (char **)0x0) goto LAB_00017cb8;
      pcVar8 = (char *)0x1;
      var_5 = var_5 + 1;
      var_13 = (char *)(*(type_3 *)PTR_sqlite3_column_text_0015b634)(psVar5);
      var_8 = var_8 + -8;
    }
    else {
      pcVar8 = (char *)0x1;
      var_13 = (char *)(*(type_3 *)PTR_sqlite3_column_text_0015b634)(psVar5);
      var_8 = (var_8 + 0x3fffffff) * 4;
    }
    psVar2 = (type_2 *)((int)var_9 + var_8);
    var_13 = var_16(var_13);
    *(char **)psVar2 = var_13;
  } while( true );
}


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

int * MASKED(int *param_1,int **param_2,int **param_3,uint *param_4)

{
  undefined *puVar1;
  int *piVar2;
  int iVar3;
  undefined4 uVar4;
  int *piVar5;
  int *piVar6;
  undefined4 uVar7;
  int iVar8;
  int *piVar9;
  int iVar10;
  int *piVar11;
  int iVar12;
  int **ppiVar13;
  int iVar14;
  int *piVar15;
  int *piVar16;
  int *piVar17;
  int iVar18;
  code *pcVar19;
  undefined *puVar20;
  undefined8 uVar21;
  undefined8 uVar22;
  undefined8 uVar23;
  undefined8 uVar24;
  int local_a8;
  uint local_a4;
  int local_a0;
  int local_9c;
  undefined4 local_98;
  undefined4 local_94;
  undefined4 local_90;
  int *local_8c;
  int *local_88;
  int *local_84;
  int *local_80;
  int *local_7c;
  int *local_78;
  int *local_74;
  int **local_70;
  int **local_6c;
  undefined *local_68;
  undefined4 local_64;
  int *local_38;
  undefined *local_34;
  undefined *local_30;
  int *local_2c;
  
  puVar1 = PTR___stack_chk_guard_0015ba2c;
  local_2c = *(int **)PTR___stack_chk_guard_0015ba2c;
  if (*(int *)(PTR_g_0015b5ec + 8) != 0) {
    piVar11 = (int *)0x0;
    piVar2 = (int *)&DAT_00000064;
    piVar5 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2);
    do {
      iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);
      while( true ) {
        if (iVar3 != 100) {
          (*(code *)PTR_sqlite3_reset_0015b648)(piVar5);
          if (piVar11 == (int *)0x0) {
            piVar17 = (int *)&DAT_00000008;
            piVar11 = (int *)0x1;
            piVar15 = (int *)0x1;
          }
          else {
            piVar15 = (int *)0x1;
            piVar17 = (int *)(((int)piVar11 + 1) * 4);
          }
          goto LAB_00017854;
        }
        param_1 = (int *)&DAT_00000005;
        iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5);
        if (iVar3 < 1) break;
        piVar11 = (int *)((int)piVar11 + 1);
        iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5);
      }
    } while( true );
  }
  pcVar19 = (code *)(PTR_0015b5e4 + 0x73e0);
  piVar2 = (int *)FUN_000173e0(PTR_LAB_0015b5e8 + 0x5318,param_1,param_2);
  puVar20 = PTR_LAB_0015b5e8;
  iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);
  while (iVar3 == 100) {
    uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,3);
    iVar3 = sqlite3_stricmp(uVar4,puVar20 + 0x5330);
    if (iVar3 == 0) {
      uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar2,1);
      piVar5 = (int *)(*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4,uVar4);
      (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);
      piVar2 = piVar5;
      if (piVar5 != (int *)0x0) {
        piVar6 = (int *)0x0;
        piVar15 = (int *)0x0;
        piVar2 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5334,param_1,piVar5);
        piVar11 = (int *)0x0;
        do {
          iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);
          while( true ) {
            if (iVar3 != 100) {
              if (piVar6 == piVar11) {
                piVar15 = (int *)0x1;
                piVar17 = (int *)(((int)piVar11 + 1) * 4);
              }
              else if (piVar15 == (int *)0x0) {
                piVar17 = (int *)&DAT_00000008;
                piVar11 = (int *)0x1;
              }
              else {
                piVar17 = (int *)(((int)piVar6 + 1) * 4);
                piVar11 = piVar6;
              }
              (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);
              sqlite3_free(piVar5);
              goto LAB_00017834;
            }
            piVar11 = (int *)((int)piVar11 + 1);
            iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,5);
            if (iVar3 == 0) break;
            piVar6 = (int *)((int)piVar6 + 1);
            iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);
          }
          iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar2,1);
          if (-1 < iVar3) {
            piVar15 = (int *)0x1;
          }
        } while( true );
      }
      goto LAB_00017824;
    }
    iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar2);
  }
  (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar2);
LAB_00017824:
  piVar17 = (int *)&DAT_00000008;
  piVar11 = (int *)0x1;
  piVar15 = (int *)0x1;
LAB_00017834:
  piVar5 = (int *)(*pcVar19)(PTR_LAB_0015b5e8 + 0x5350,param_1,param_2);
LAB_00017854:
  puVar20 = PTR_sqlite3_malloc_0015b640;
  *param_3 = piVar11;
  piVar6 = (int *)(*(code *)puVar20)(piVar17);
  if (piVar6 == (int *)0x0) {
LAB_00017cb8:
    piVar9 = (int *)(PTR_LAB_0015b5e8 + 0x52ac);
    FUN_00016d3c(piVar9);
  }
  else {
    param_1 = (int *)0x0;
    (*(code *)PTR_memset_0015b9b4)(piVar6,0,piVar17);
    param_3 = (int **)&DAT_00000064;
    param_2 = (int **)0x3fffffff;
    piVar17 = (int *)(PTR_0015b5e4 + 0x7618);
    while (iVar3 = (*(code *)PTR_sqlite3_step_0015b630)(piVar5), iVar3 == 100) {
      if ((piVar15 == (int *)0x0) ||
         (iVar3 = (*(code *)PTR_sqlite3_column_int_0015b644)(piVar5,5), iVar3 < 1)) {
        piVar2 = (int *)(((int)piVar11 + 2) * 4);
        param_1 = piVar2;
        piVar6 = (int *)(*(code *)PTR_sqlite3_realloc_0015b5f0)(piVar6);
        if (piVar6 == (int *)0x0) goto LAB_00017cb8;
        param_1 = (int *)0x1;
        piVar11 = (int *)((int)piVar11 + 1);
        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);
        piVar2 = piVar2 + -2;
      }
      else {
        param_1 = (int *)0x1;
        uVar4 = (*(code *)PTR_sqlite3_column_text_0015b634)(piVar5);
        piVar2 = (int *)((iVar3 + 0x3fffffff) * 4);
      }
      piVar2 = (int *)((int)piVar6 + (int)piVar2);
      iVar3 = FUN_00017618(uVar4);
      *piVar2 = iVar3;
    }
    (*(code *)PTR_sqlite3_finalize_0015b63c)(piVar5);
    piVar6[(int)piVar11] = 0;
    if (param_4 != (uint *)0x0) {
      *param_4 = (uint)(*piVar6 == 0);
    }
    if (*piVar6 == 0) {
      param_3 = &local_38;
      param_2 = &local_2c;
      local_34 = PTR_LAB_0015b5e8 + 0x5368;
      piVar15 = (int *)(PTR_UINT_0015b5fc + -0x7714);
      piVar17 = piVar6 + 1;
      local_30 = PTR_LAB_0015b5e8 + 0x5370;
      local_38 = piVar15;
      if ((int)piVar11 < 2) {
        param_1 = piVar15;
        iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);
        *piVar6 = iVar3;
        if (iVar3 == 0) goto LAB_00017b14;
      }
      else {
        while( true ) {
          piVar5 = (int *)0x1;
          piVar2 = piVar17;
          while (param_1 = piVar15, iVar3 = sqlite3_stricmp(*piVar2), iVar3 != 0) {
            piVar5 = (int *)((int)piVar5 + 1);
            piVar2 = piVar2 + 1;
            if (piVar11 == piVar5) {
              param_1 = piVar15;
              iVar3 = (*(code *)PTR_sqlite3_mprintf_0015b628)(PTR_LAB_0015b5e8 + 0x71f4);
              *piVar6 = iVar3;
              if (iVar3 != 0) goto LAB_00017984;
              piVar2 = (int *)0x1;
              goto LAB_00017af4;
            }
          }
          param_3 = param_3 + 1;
          if (param_2 == param_3) break;
          piVar15 = *param_3;
        }
        piVar2 = (int *)0x1;
        if (*piVar6 == 0) {
LAB_00017af4:
          do {
            piVar2 = (int *)((int)piVar2 + 1);
            iVar3 = *piVar17;
            piVar17 = piVar17 + 1;
            sqlite3_free(iVar3);
          } while ((int)piVar2 < (int)piVar11);
LAB_00017b14:
          sqlite3_free(piVar6);
          piVar6 = (int *)0x0;
        }
      }
    }
LAB_00017984:
    piVar9 = local_2c;
    if (local_2c == *(int **)puVar1) {
      return piVar6;
    }
  }
  uVar4 = 0x17cd8;
  puVar20 = PTR___stack_chk_fail_0015ba10;
  (*(code *)PTR___stack_chk_fail_0015ba10)();
  local_68 = puVar1;
  piVar16 = *(int **)(puVar20 + 0x143d54);
  iVar14 = *(int *)(puVar20 + 0x143914);
  iVar12 = *(int *)(puVar20 + 0x143924);
  local_8c = (int *)*piVar16;
  local_88 = piVar2;
  local_84 = piVar11;
  local_80 = piVar6;
  local_7c = piVar5;
  local_78 = piVar15;
  local_74 = piVar17;
  local_70 = param_3;
  local_6c = param_2;
  local_64 = uVar4;
  uVar4 = FUN_00017618();
  local_98 = 0;
  local_94 = 0;
  local_90 = 0;
  iVar3 = (**(code **)(puVar20 + 0x143974))
                    (*(undefined4 *)(iVar14 + 0x14),iVar12 + -0x236c,piVar9,0,0,0,0,0,0);
  if (iVar3 != 0) {
    iVar3 = (**(code **)(puVar20 + 0x143974))
                      (*(undefined4 *)(iVar14 + 0x14),*(int *)(puVar20 + 0x143910) + 0x538c,piVar9,0
                       ,0,0,0,0,0);
    if (iVar3 == 0) {
      (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5394,piVar9);
    }
LAB_00018294:
    sqlite3_free(local_98);
    local_98 = 0;
    local_94 = 0;
    local_90 = 0;
    sqlite3_free(uVar4);
    goto LAB_000182c0;
  }
  iVar18 = *(int *)(puVar20 + 0x143910);
  iVar3 = (**(code **)(puVar20 + 0x143974))
                    (*(undefined4 *)(iVar14 + 0x14),iVar18 + 0x538c,piVar9,0,0,0,0,0,0);
  if (iVar3 != 0) {
    (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x53b8,piVar9);
    goto LAB_00018294;
  }
  piVar11 = (int *)MASKED(iVar18 + 0x538c,piVar9,&local_a0,0);
  param_3 = (int **)MASKED(iVar12 + -0x236c,piVar9,&local_9c,0);
  if (piVar11 == (int *)0x0) goto LAB_000184e8;
  iVar3 = *(int *)(puVar20 + 0x143910);
  if (param_3 != (int **)0x0) {
    iVar3 = *piVar11;
    if (iVar3 == 0) {
      iVar3 = *(int *)(puVar20 + 0x143910);
      if (local_9c == local_a0) {
        iVar12 = 0;
        goto LAB_00017e78;
      }
    }
    else {
      iVar12 = 0;
      ppiVar13 = param_3;
      piVar2 = piVar11;
      do {
        piVar2 = piVar2 + 1;
        iVar3 = sqlite3_stricmp(iVar3,*ppiVar13);
        if (iVar3 != 0) break;
        iVar3 = *piVar2;
        iVar12 = iVar12 + 1;
        ppiVar13 = ppiVar13 + 1;
      } while (iVar3 != 0);
      iVar3 = *(int *)(puVar20 + 0x143910);
      if ((local_a0 == local_9c) && (piVar11[iVar12] == 0)) {
LAB_00017e78:
        pcVar19 = (code *)(*(int *)(puVar20 + 0x14390c) + 0x6de4);
        FUN_00016de4(&local_98,*(int *)(puVar20 + 0x143910) + 0x53dc);
        if (local_9c == iVar12) {
          local_a8 = *(int *)(puVar20 + 0x143910);
          (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x53f0);
        }
        else {
          piVar2 = piVar11 + local_a0;
          iVar12 = *piVar2;
          iVar3 = *(int *)(puVar20 + 0x143910);
          if (iVar12 != 0) {
            iVar8 = *(int *)(puVar20 + 0x143910);
            iVar18 = *(int *)(puVar20 + 0x143910) + 0x5374;
            do {
              piVar2 = piVar2 + 1;
              (*pcVar19)(&local_98,iVar3 + 0x53f8,iVar18,iVar12,iVar12);
              iVar12 = *piVar2;
              iVar18 = iVar8 + 0x540c;
            } while (iVar12 != 0);
          }
          local_a8 = *(int *)(puVar20 + 0x143910);
          (*pcVar19)(&local_98,local_a8 + 0x5414);
        }
        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5418,uVar4,uVar4);
        if (0 < local_a0) {
          iVar12 = *(int *)(puVar20 + 0x143910);
          iVar8 = 0;
          iVar18 = *(int *)(puVar20 + 0x143910);
          piVar2 = piVar11;
          iVar3 = *(int *)(puVar20 + 0x143910) + 0x537c;
          do {
            (*pcVar19)(&local_98,iVar12 + 0x5434,iVar3,*piVar2,*piVar2);
            iVar8 = iVar8 + 1;
            piVar2 = piVar2 + 1;
            iVar3 = iVar18 + 0x5444;
          } while (iVar8 < local_a0);
        }
        iVar3 = *(int *)(puVar20 + 0x143910);
        (*pcVar19)(&local_98,iVar3 + 0x544c);
        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5458);
        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5470,uVar4);
        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5484,uVar4);
        if (0 < local_a0) {
          iVar18 = *(int *)(puVar20 + 0x143910);
          iVar10 = 0;
          iVar8 = *(int *)(puVar20 + 0x143910);
          piVar2 = piVar11;
          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;
          do {
            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);
            iVar10 = iVar10 + 1;
            piVar2 = piVar2 + 1;
            iVar12 = iVar8 + 0x5444;
          } while (iVar10 < local_a0);
        }
        (*pcVar19)(&local_98,local_a8 + 0x5414);
        (*pcVar19)(&local_98,iVar3 + 0x544c);
        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54b0);
        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54c8,uVar4);
        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x54dc,uVar4);
        if (0 < local_a0) {
          iVar18 = *(int *)(puVar20 + 0x143910);
          iVar8 = *(int *)(puVar20 + 0x143910);
          iVar3 = 0;
          piVar2 = piVar11;
          iVar12 = *(int *)(puVar20 + 0x143910) + 0x5384;
          do {
            iVar3 = iVar3 + 1;
            (*pcVar19)(&local_98,iVar18 + 0x5434,iVar12,*piVar2,*piVar2);
            piVar2 = piVar2 + 1;
            iVar12 = iVar8 + 0x5444;
          } while (iVar3 < local_a0);
        }
        (*pcVar19)(&local_98,*(int *)(puVar20 + 0x143910) + 0x5508);
        if ((*(uint *)(iVar14 + 0x10) & 2) == 0) {
          uVar7 = FUN_000173e0(*(int *)(puVar20 + 0x143910) + 0x71f4,local_98);
          local_a8 = 0;
          uVar23 = 0;
          uVar24 = 0;
          local_a4 = 0;
          uVar21 = 0;
LAB_000181e0:
          do {
            pcVar19 = *(code **)(puVar20 + 0x143958);
            do {
              iVar3 = (*pcVar19)(uVar7);
              if (iVar3 != 100) {
                (**(code **)(puVar20 + 0x143964))(uVar7);
                (**(code **)(puVar20 + 0x143cac))
                          (param_1,1,*(int *)(puVar20 + 0x143910) + 0x5528,piVar9,uVar21,uVar23,
                           uVar24,local_a8,local_a4);
                goto LAB_00018318;
              }
              iVar3 = (**(code **)(puVar20 + 0x14396c))(uVar7,0);
              if (iVar3 == 2) {
                uVar24 = (**(code **)(puVar20 + 0x143978))(uVar7,1);
                goto LAB_000181e0;
              }
              if (iVar3 == 3) {
                uVar23 = (**(code **)(puVar20 + 0x143978))(uVar7,1);
                goto LAB_000181e0;
              }
              pcVar19 = *(code **)(puVar20 + 0x143958);
            } while (iVar3 != 1);
            uVar21 = (**(code **)(puVar20 + 0x143978))(uVar7,2);
            uVar22 = (**(code **)(puVar20 + 0x143978))(uVar7,1);
            local_a4 = (uint)uVar22 - (int)uVar21;
            local_a8 = ((int)((ulonglong)uVar22 >> 0x20) - (int)((ulonglong)uVar21 >> 0x20)) -
                       (uint)((uint)uVar22 < local_a4);
          } while( true );
        }
        (**(code **)(puVar20 + 0x143ccc))(1,*(int *)(puVar20 + 0x143910) + 0x5518,uVar4,local_98);
        goto LAB_00018318;
      }
    }
  }
  (**(code **)(puVar20 + 0x143cac))(param_1,1,iVar3 + 0x5568,piVar9);
LAB_00018318:
  sqlite3_free(local_98);
  local_98 = 0;
  local_94 = 0;
  local_90 = 0;
  sqlite3_free(uVar4);
  FUN_000175b4(piVar11);
  while( true ) {
    if (param_3 != (int **)0x0) {
      FUN_000175b4(param_3);
    }
LAB_000182c0:
    piVar11 = (int *)*piVar16;
    if (local_8c == piVar11) break;
    (**(code **)(puVar20 + 0x143d38))();
LAB_000184e8:
    (**(code **)(puVar20 + 0x143cac))(param_1,1,*(int *)(puVar20 + 0x143910) + 0x5568,piVar9);
    sqlite3_free(local_98);
    local_98 = 0;
    local_94 = 0;
    local_90 = 0;
    sqlite3_free(uVar4);
  }
  return piVar11;
}

