
void strftimeFunc(sqlite3_context *context,int argc,sqlite3_value **argv)

{
  bool bVar1;
  undefined *puVar2;
  undefined *puVar3;
  int iVar4;
  byte *pbVar5;
  int iVar6;
  byte *n;
  byte bVar7;
  sqlite3_context *pCtx_1;
  uint uVar8;
  int iVar9;
  sqlite3 *psVar10;
  int iVar11;
  uint uVar12;
  uint uVar13;
  byte *pbVar14;
  byte *pbVar15;
  byte *pbStack_114;
  DateTime x;
  DateTime y;
  char zBuf [100];
  
  puVar3 = PTR___stack_chk_guard_00190e24;
  iVar4 = *(int *)PTR___stack_chk_guard_00190e24;
  if ((argc == 0) || (pbVar5 = (byte *)sqlite3ValueText(*argv,'\x01'), pbVar5 == (byte *)0x0))
  goto LAB_0008b3d0;
  iVar6 = isDate(context,argc + -1,argv + 1,&x);
  puVar2 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;
  if (iVar6 != 0) goto LAB_0008b3d0;
  iVar6 = (int)(char)*pbVar5;
  if (iVar6 == 0) {
LAB_0008b5ac:
    n = (byte *)zBuf;
  }
  else {
    iVar11 = 0;
    uVar13 = 0;
    uVar8 = 1;
    do {
      iVar11 = iVar11 + 1;
      bVar1 = iVar6 == 0x25;
      iVar6 = (int)(char)pbVar5[iVar11];
      if (bVar1) {
        uVar8 = iVar6 - 0x25U & 0xff;
        if (uVar8 < 0x53) {
                    /* WARNING: Could not emulate address calculation at 0x0008b4cc */
                    /* WARNING: Treating indirect jump as call */
          (*(code *)(&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +
                                    uVar8 * 4 + 0x39dc)))();
          return;
        }
        goto LAB_0008b3d0;
      }
      uVar12 = uVar8 + 1;
      uVar13 = (uVar12 < uVar8) + uVar13;
      uVar8 = uVar12;
    } while (iVar6 != 0);
    if ((uVar13 == 0) && (uVar12 < 100)) goto LAB_0008b5ac;
    psVar10 = context->pOut->db;
    uVar8 = psVar10->aLimit[0] >> 0x1f;
    if ((uVar8 < uVar13) || ((uVar13 == uVar8 && ((uint)psVar10->aLimit[0] < uVar12)))) {
      context->isError = 0x12;
      sqlite3VdbeMemSetStr(context->pOut,puVar2 + -0x612c,-1,'\x01',(_func_void_void_ptr *)0x0);
      goto LAB_0008b3d0;
    }
    if ((psVar10->mallocFailed != '\0') ||
       (n = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(psVar10,0,(int)uVar12 >> 0x1f),
       n == (byte *)0x0)) {
      (*(code *)PTR_sqlite3_result_error_nomem_001909dc)(context);
      goto LAB_0008b3d0;
    }
  }
  pbStack_114 = (byte *)zBuf;
  if (x.validJD == '\0') {
    (*(code *)(PTR_LAB_00190ba8 + -0x3bac))(&x);
  }
  (*(code *)(PTR_LAB_00190ba8 + -0x35ac))(&x);
  bVar7 = *pbVar5;
  pbVar15 = n;
  if (bVar7 != 0) {
    iVar11 = 0;
    iVar6 = 0;
    do {
      iVar9 = iVar6 + 1;
      pbVar14 = pbVar5 + iVar9;
      if (bVar7 == 0x25) {
        iVar9 = iVar6 + 2;
        uVar8 = *pbVar14 - 0x48 & 0xff;
        pbVar14 = pbVar5 + iVar9;
        if (uVar8 < 0x30) {
                    /* WARNING: Could not emulate address calculation at 0x0008b67c */
                    /* WARNING: Treating indirect jump as call */
          (*(code *)(&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +
                                    uVar8 * 4 + 0x3b28)))();
          return;
        }
        *pbVar15 = 0x25;
      }
      else {
        *pbVar15 = bVar7;
      }
      iVar11 = iVar11 + 1;
      pbVar15 = n + iVar11;
      bVar7 = *pbVar14;
      iVar6 = iVar9;
    } while (bVar7 != 0);
  }
  *pbVar15 = 0;
  if (n == pbStack_114) {
    pCtx_1 = (sqlite3_context *)0xffffffff;
  }
  else {
    pCtx_1 = (sqlite3_context *)(PTR_LAB_00190b40 + -0xf88);
  }
  setResultStrOrError(context,(char *)&context->isError,(int)n,0xff,(_func_void_void_ptr *)0x1,
                      pCtx_1);
LAB_0008b3d0:
  if (iVar4 != *(int *)puVar3) {
    (*(code *)PTR___stack_chk_fail_00190df8)();
    return;
  }
  return;
}



void FUN_0008b378(byte *param_1,int param_2,undefined4 *param_3)

{
  bool bVar1;
  undefined *puVar2;
  byte *pbVar3;
  byte bVar5;
  int iVar4;
  uint uVar6;
  int iVar7;
  byte *pbVar8;
  uint uVar9;
  uint uVar10;
  byte *pbVar11;
  byte *unaff_s0;
  undefined1 *unaff_s1;
  byte *unaff_s2;
  code *pcVar12;
  undefined *puVar13;
  int iVar14;
  undefined1 *puVar15;
  undefined4 uVar16;
  undefined1 auStack_138 [16];
  undefined4 local_128;
  undefined *puStack_124;
  byte *local_114;
  undefined1 local_100 [40];
  char local_d8;
  byte abStack_a0 [100];
  int local_3c;
  
  puVar13 = PTR___stack_chk_guard_00190e24;
  local_3c = *(int *)PTR___stack_chk_guard_00190e24;
  pbVar8 = param_1;
  if (param_2 == 0) goto switchD_0008b4d8_caseD_1;
  pbVar8 = (byte *)*param_3;
  unaff_s2 = (byte *)FUN_00086f60(pbVar8,1);
  unaff_s0 = param_1;
  if (unaff_s2 == (byte *)0x0) goto switchD_0008b4d8_caseD_1;
  unaff_s1 = local_100;
  pbVar8 = param_1;
  iVar4 = FUN_00087980(param_1,param_2 + -1,param_3 + 1,unaff_s1);
  puVar2 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;
  if (iVar4 != 0) goto switchD_0008b4d8_caseD_1;
  iVar4 = (int)(char)*unaff_s2;
  if (iVar4 == 0) {
LAB_0008b5ac:
    pbVar3 = abStack_a0;
  }
  else {
    iVar14 = 0;
    uVar10 = 0;
    uVar6 = 1;
    do {
      iVar14 = iVar14 + 1;
      bVar1 = iVar4 == 0x25;
      iVar4 = (int)(char)unaff_s2[iVar14];
      if (bVar1) {
        uVar6 = iVar4 - 0x25U & 0xff;
        pbVar8 = (byte *)(uint)(uVar6 < 0x53);
        if (pbVar8 != (byte *)0x0) {
                    /* WARNING: Could not emulate address calculation at 0x0008b4cc */
                    /* WARNING: Treating indirect jump as call */
          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +
                                      uVar6 * 4 + 0x39dc)))();
          return;
        }
        goto switchD_0008b4d8_caseD_1;
      }
      uVar9 = uVar6 + 1;
      uVar10 = (uVar9 < uVar6) + uVar10;
      uVar6 = uVar9;
    } while (iVar4 != 0);
    if ((uVar10 == 0) && (uVar9 < 100)) goto LAB_0008b5ac;
    pbVar8 = *(byte **)param_1;
    iVar4 = *(int *)(pbVar8 + 0x20);
    uVar6 = (int)*(uint *)(iVar4 + 0x6c) >> 0x1f;
    if ((uVar6 < uVar10) || ((uVar10 == uVar6 && (*(uint *)(iVar4 + 0x6c) < uVar9)))) {
      param_1[0x14] = 0;
      param_1[0x15] = 0;
      param_1[0x16] = 0;
      param_1[0x17] = 0x12;
      local_128 = 0;
      FUN_0007d514(pbVar8,puVar2 + -0x612c,0xffffffff,1);
      goto switchD_0008b4d8_caseD_1;
    }
    if ((*(char *)(iVar4 + 0x51) != '\0') ||
       (pbVar3 = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f),
       pbVar3 == (byte *)0x0)) {
      pbVar8 = param_1;
      (*(code *)PTR_sqlite3_result_error_nomem_001909dc)();
      goto switchD_0008b4d8_caseD_1;
    }
  }
  local_114 = abStack_a0;
  if (local_d8 == '\0') {
    (*(code *)(PTR_LAB_00190ba8 + -0x3bac))(unaff_s1);
  }
  (*(code *)(PTR_LAB_00190ba8 + -0x35ac))(unaff_s1);
  bVar5 = *unaff_s2;
  pbVar8 = pbVar3;
  if (bVar5 != 0) {
    iVar14 = 0;
    iVar4 = 0;
    do {
      iVar7 = iVar4 + 1;
      pbVar11 = unaff_s2 + iVar7;
      if (bVar5 == 0x25) {
        iVar7 = iVar4 + 2;
        uVar6 = *pbVar11 - 0x48 & 0xff;
        pbVar11 = unaff_s2 + iVar7;
        if (uVar6 < 0x30) {
                    /* WARNING: Could not emulate address calculation at 0x0008b67c */
                    /* WARNING: Treating indirect jump as call */
          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +
                                      uVar6 * 4 + 0x3b28)))();
          return;
        }
        *pbVar8 = 0x25;
      }
      else {
        *pbVar8 = bVar5;
      }
      iVar14 = iVar14 + 1;
      pbVar8 = pbVar3 + iVar14;
      bVar5 = *pbVar11;
      iVar4 = iVar7;
    } while (bVar5 != 0);
  }
  *pbVar8 = 0;
  if (pbVar3 == local_114) {
    puStack_124 = (undefined *)0xffffffff;
  }
  else {
    puStack_124 = PTR_LAB_00190b40 + -0xf88;
  }
  local_128 = 1;
  pbVar8 = param_1;
  FUN_0007ec40(param_1,param_1 + 0x14,pbVar3,0xffffffff);
switchD_0008b4d8_caseD_1:
  if (local_3c != *(int *)puVar13) {
    uVar16 = 0x8bb30;
    puVar13 = PTR___stack_chk_fail_00190df8;
    (*(code *)PTR___stack_chk_fail_00190df8)();
    puVar15 = auStack_138;
    while( true ) {
      pbVar3 = pbVar8;
      *(byte **)(puVar15 + -0x10) = unaff_s0;
      *(undefined **)(puVar15 + -0xb0) = puVar13 + 0x10cdf0;
      *(byte **)(puVar15 + -8) = unaff_s2;
      *(undefined1 **)(puVar15 + -0xc) = unaff_s1;
      *(undefined4 *)(puVar15 + -4) = uVar16;
      unaff_s0 = *(byte **)(puVar13 + 0x1052f4);
      *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)unaff_s0;
      pbVar8 = pbVar3;
      iVar4 = FUN_00087980();
      iVar14 = *(int *)(puVar15 + -0xb0);
      unaff_s1 = puVar15 + -0xa8;
      if (iVar4 == 0) {
        unaff_s1 = puVar15 + -0x78;
        (*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))(puVar15 + -0xa8);
        *(undefined4 *)(puVar15 + -0xbc) = *(undefined4 *)(puVar15 + -0x90);
        iVar4 = *(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4);
        *(undefined4 *)(puVar15 + -0xc0) = *(undefined4 *)(puVar15 + -0x94);
        *(undefined4 *)(puVar15 + -0xc4) = *(undefined4 *)(puVar15 + -0x98);
        *(int *)(puVar15 + -0xb8) = (int)*(double *)(puVar15 + -0x88);
        *(undefined4 *)(puVar15 + -200) = *(undefined4 *)(puVar15 + -0x9c);
        sqlite3_snprintf(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0));
        *(undefined4 *)(puVar15 + -0xc4) = 0xffffffff;
        *(undefined4 *)(puVar15 + -200) = 1;
        pbVar8 = pbVar3;
        FUN_0007ec40(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff);
        iVar14 = *(int *)(puVar15 + -0xb0);
      }
      if (*(int *)(puVar15 + -0x14) == *(int *)unaff_s0) break;
      pcVar12 = *(code **)(iVar14 + -0x7b28);
      uVar16 = 0x8bc4c;
      (*pcVar12)();
      puVar13 = (undefined *)(*(int *)(pcVar12 + 0x104f90) + -0x44d0);
      unaff_s2 = pbVar3;
      puVar15 = puVar15 + -0xd8;
    }
    return;
  }
  return;
}


lui gp,0x11
addiu gp,gp,-0x2a58
addu gp,gp,t9
addiu sp,sp,-0x138
sdc1 f22,0x130(sp)
sw s3,0x10c(sp)
sw gp,0x18(sp)
sw ra,0x124(sp)
sw s8,0x120(sp)
sw s7,0x11c(sp)
sw s6,0x118(sp)
sw s5,0x114(sp)
sw s4,0x110(sp)
sw s2,0x108(sp)
sw s1,0x104(sp)
sw s0,0x100(sp)
lw s3,-0x7afc(gp)
sdc1 f20,0x128(sp)
lw v0,0x0(s3)
sw v0,0xfc(sp)
bne a1,zero,0x0008b414
_lw t9,-0x7d60(gp)
lw v1,0xfc(sp)
lw v0,0x0(s3)
bne v1,v0,0x0008bb24
_lw ra,0x124(sp)
lw s8,0x120(sp)
lw s7,0x11c(sp)
lw s6,0x118(sp)
lw s5,0x114(sp)
lw s4,0x110(sp)
lw s3,0x10c(sp)
lw s2,0x108(sp)
lw s1,0x104(sp)
lw s0,0x100(sp)
ldc1 f22,0x130(sp)
ldc1 f20,0x128(sp)
jr ra
_addiu sp,sp,0x138
or s0,a0,zero
lw a0,0x0(a2)
or s4,a1,zero
li a1,0x1
addiu t9,t9,0x6f60
bal 0x00086f60
_sw a2,0x20(sp)
lw gp,0x18(sp)
beq v0,zero,0x0008b3d0
_or s2,v0,zero
lw t9,-0x7d60(gp)
addiu s1,sp,0x38
lw a2,0x20(sp)
addiu a1,s4,-0x1
or a3,s1,zero
addiu t9,t9,0x7980
addiu a2,a2,0x4
bal 0x00087980
_or a0,s0,zero
bne v0,zero,0x0008b3d0
_lw gp,0x18(sp)
lb a1,0x0(s2)
beq a1,zero,0x0008b5ac
_lw t2,-0x7fc4(gp)
or a2,zero,zero
or t0,zero,zero
li v0,0x1
li t1,0x25
b 0x0008b4a8
_addiu t2,t2,0x39dc
or a1,v1,zero
addiu a3,v0,0x1
or a2,a0,zero
sltu v0,a3,v0
addu t0,v0,t0
beq a1,zero,0x0008b514
_or v0,a3,zero
addiu a0,a2,0x1
addu v1,s2,a0
bne a1,t1,0x0008b48c
_lb v1,0x0(v1)
addiu v1,v1,-0x25
andi v1,v1,0xff
sltiu a0,v1,0x53
beq a0,zero,0x0008b3d0
_sll v1,v1,0x2
addu v1,t2,v1
lw v1,0x0(v1)
addu v1,v1,gp
jr v1
_nop
addiu a0,a2,0x2
addiu v1,v0,0x8
addu a1,s2,a0
sltu v0,v1,v0
addu t0,v0,t0
or v0,v1,zero
lb a1,0x0(a1)
addiu a3,v0,0x1
or a2,a0,zero
sltu v0,a3,v0
addu t0,v0,t0
bne a1,zero,0x0008b4a8
_or v0,a3,zero
beq t0,zero,0x0008b5a4
_sltiu v0,a3,0x64
lw t1,0x0(s0)
lw a0,0x20(t1)
lw v1,0x6c(a0)
sra v0,v1,0x1f
sltu a1,v0,t0
bne a1,zero,0x0008ba24
_nop
beq t0,v0,0x0008ba1c
_sltu v1,v1,a3
lbu v0,0x51(a0)
bne v0,zero,0x0008ba7c
_lw t9,-0x7d78(gp)
addiu t9,t9,0x854
jalr t9
_sra a2,a3,0x1f
lw gp,0x18(sp)
beq v0,zero,0x0008ba7c
_or s7,v0,zero
addiu v0,sp,0x98
b 0x0008b5b8
_sw v0,0x24(sp)
addiu a0,a2,0x2
b 0x0008b4e8
_addiu v1,v0,0x3
addiu a0,a2,0x2
b 0x0008b4e8
_addiu v1,v0,0x32
addiu a0,a2,0x2
b 0x0008b4e8
_addiu v1,v0,0x1
addiu a0,a2,0x2
addu v1,s2,a0
b 0x0008b490
_lb a1,0x0(v1)
beq v0,zero,0x0008b51c
_nop
addiu v0,sp,0x98
sw v0,0x24(sp)
or s7,v0,zero
lb v0,0x60(sp)
bne v0,zero,0x0008b5d4
_lw t9,-0x7d78(gp)
addiu t9,t9,-0x3bac
jalr t9
_or a0,s1,zero
lw gp,0x18(sp)
lw t9,-0x7d78(gp)
addiu t9,t9,-0x35ac
jalr t9
_or a0,s1,zero
lb v0,0x0(s2)
beq v0,zero,0x0008b690
_lw gp,0x18(sp)
lw v1,-0x7fc4(gp)
or s5,zero,zero
or s6,zero,zero
or s4,s7,zero
ldc1 f22,-0x6630(v1)
lw v1,-0x7fc4(gp)
sw v1,0x28(sp)
lw v1,-0x7d8c(gp)
ldc1 f20,-0x3a00(v1)
lw v1,-0x7fc4(gp)
addiu v1,v1,0x3b28
b 0x0008b644
_sw v1,0x20(sp)
addiu s5,s5,0x1
sb v0,0x0(s4)
or s6,v1,zero
addu s4,s7,s5
or t3,s4,zero
lb v0,0x0(t2)
beq v0,zero,0x0008b694
_nop
addiu v1,s6,0x1
li a0,0x25
addu t2,s2,v1
bne v0,a0,0x0008b624
_or t3,s4,zero
lbu v0,0x0(t2)
addiu s6,s6,0x2
addiu v0,v0,-0x48
andi v0,v0,0xff
sltiu v1,v0,0x30
beq v1,zero,0x0008ba58
_addu s8,s2,s6
lw v1,0x20(sp)
sll v0,v0,0x2
addu v0,v1,v0
lw v0,0x0(v0)
addu v0,v0,gp
jr v0
_nop
or t3,s7,zero
lw v0,0x24(sp)
beq s7,v0,0x0008ba74
_sb zero,0x0(t3)
lw v0,-0x7de0(gp)
addiu v0,v0,-0xf88
lw t9,-0x7d60(gp)
li a3,-0x1
sw v0,0x14(sp)
li v0,0x1
addiu a1,s0,0x14
addiu t9,t9,-0x13c0
sw v0,0x10(sp)
or a2,s7,zero
bal 0x0007ec40
_or a0,s0,zero
b 0x0008b3d0
_lw gp,0x18(sp)
lw v0,0x3c(sp)
lui a1,0x7b9
lw a0,0x38(sp)
lui a3,0x526
ori a1,a1,0x8a00
lw t9,-0x7e80(gp)
addu a1,v0,a1
or a2,zero,zero
sltu v0,a1,v0
addu a0,v0,a0
jalr t9
_ori a3,a3,0x5c00
li a3,0x7
lw gp,0x18(sp)
or a2,zero,zero
or a1,v1,zero
or a0,v0,zero
lw t9,-0x7d88(gp)
jalr t9
_addiu s5,s5,0x1
or t2,s8,zero
addiu v0,v1,0x30
lw gp,0x18(sp)
sb v0,0x0(s4)
addu s4,s7,s5
b 0x0008b638
_or t3,s4,zero
lw v0,0x28(sp)
li a0,0x5
lw t9,-0x7edc(gp)
or a1,s4,zero
lw a3,0x40(sp)
addiu a2,v0,-0x5eb4
bal 0x0008681c
_sw s4,0x2c(sp)
lw gp,0x18(sp)
beq s4,zero,0x0008b790
_lw t3,0x2c(sp)
lw t9,-0x7ba0(gp)
jalr t9
_or a0,s4,zero
ext v0,v0,0x0,0x1e
lw gp,0x18(sp)
addu s5,s5,v0
addu s4,s7,s5
or t3,s4,zero
b 0x0008b638
_or t2,s8,zero
addiu v1,sp,0x68
or v0,s1,zero
or a0,v1,zero
or t5,v1,zero
lw t3,0x0(v0)
addiu v0,v0,0x10
addiu v1,v1,0x10
lw a3,-0xc(v0)
lw a2,-0x8(v0)
lw a1,-0x4(v0)
sw t3,-0x10(v1)
sw a3,-0xc(v1)
sw a2,-0x8(v1)
bne v0,t5,0x0008b7a8
_sw a1,-0x4(v1)
lw t9,-0x7d78(gp)
li v0,0x1
sw t2,0x34(sp)
sw v0,0x74(sp)
addiu t9,t9,-0x3bac
sw v0,0x78(sp)
jalr t9
_sb zero,0x90(sp)
lui t3,0x293
lw t5,0x3c(sp)
lui a3,0x526
lw v0,0x6c(sp)
addiu t3,t3,0x2e00
lw t6,0x38(sp)
or a2,zero,zero
lw a0,0x68(sp)
ori a3,a3,0x5c00
subu v0,t5,v0
lw gp,0x18(sp)
sw t5,0x30(sp)
subu a0,t6,a0
sw t6,0x2c(sp)
addu a1,v0,t3
sltu v1,t5,v0
lw t9,-0x7e80(gp)
subu a0,a0,v1
sltu v0,a1,v0
jalr t9
_addu a0,v0,a0
lui a1,0x293
lw t2,0x34(sp)
li v0,0x57
lw gp,0x18(sp)
ori t3,a1,0x2e00
lw t6,0x2c(sp)
lb a0,0x0(t2)
beq a0,v0,0x0008ba90
_lw t5,0x30(sp)
lw a2,-0x7fc4(gp)
addiu a3,v1,0x1
lw t9,-0x7edc(gp)
li a0,0x4
or a1,s4,zero
addiu a2,a2,-0x5ec4
bal 0x0008681c
_addiu s5,s5,0x3
lw gp,0x18(sp)
addu s4,s7,s5
or t2,s8,zero
b 0x0008b638
_or t3,s4,zero
ldc1 f0,0x58(sp)
addiu s5,s5,0x2
lw a2,-0x7fc4(gp)
or a1,s4,zero
lw t9,-0x7edc(gp)
li a0,0x3
addu s4,s7,s5
addiu a2,a2,-0x5ed4
trunc.w.D f0,f0
bal 0x0008681c
_mfc1 a3,f0
or t3,s4,zero
lw gp,0x18(sp)
b 0x0008b638
_or t2,s8,zero
lw t9,-0x7e80(gp)
li a3,0x3e8
lw a1,0x3c(sp)
or a2,zero,zero
lw a0,0x38(sp)
jalr t9
_sw s4,0x2c(sp)
lui a0,0xe75c
lw gp,0x18(sp)
addiu v0,v0,-0x32
ori a0,a0,0x96c0
addu a0,v1,a0
or a1,s4,zero
lw a2,-0x7fc4(gp)
sltu v1,a0,v1
addu v0,v1,v0
lw t9,-0x7edc(gp)
sw a0,0x14(sp)
li a0,0x1e
addiu a2,a2,-0x47b8
bal 0x0008681c
_sw v0,0x10(sp)
lw gp,0x18(sp)
bne s4,zero,0x0008b770
_lw t3,0x2c(sp)
b 0x0008b638
_or t2,s8,zero
lw a3,0x44(sp)
addiu s5,s5,0x2
lw a2,-0x7fc4(gp)
or a1,s4,zero
lw t9,-0x7edc(gp)
li a0,0x3
addu s4,s7,s5
bal 0x0008681c
_addiu a2,a2,-0x5ed4
or t2,s8,zero
lw gp,0x18(sp)
b 0x0008b638
_or t3,s4,zero
ldc1 f0,0x58(sp)
c.lt.D f20,f0
bc1f 0x0008b990
_lw a2,-0x7fc4(gp)
mov.D f0,f20
li a0,0x7
sdc1 f0,0x10(sp)
or a1,s4,zero
sw t3,0x2c(sp)
addiu a2,a2,-0x5ecc
lw t9,-0x7edc(gp)
bal 0x0008681c
_nop
lw gp,0x18(sp)
bne s4,zero,0x0008b770
_lw t3,0x2c(sp)
b 0x0008b638
_or t2,s8,zero
addiu s5,s5,0x2
b 0x0008b950
_lw a3,0x48(sp)
lw t9,-0x7e04(gp)
lw a1,0x3c(sp)
lw a0,0x38(sp)
jalr t9
_sw s4,0x2c(sp)
li a0,0x14
div.D f0,f0,f22
lw gp,0x18(sp)
or a1,s4,zero
lw a2,-0x7fc4(gp)
addiu a2,a2,-0x5ebc
b 0x0008b9a4
_sdc1 f0,0x10(sp)
addiu s5,s5,0x2
b 0x0008b950
_lw a3,0x4c(sp)
addiu s5,s5,0x2
b 0x0008b950
_lw a3,0x50(sp)
beq v1,zero,0x0008b540
_nop
lw a1,-0x7fc4(gp)
li v0,0x12
lw t9,-0x7d60(gp)
li a3,0x1
li a2,-0x1
sw v0,0x14(s0)
addiu a1,a1,-0x612c
sw zero,0x10(sp)
addiu t9,t9,-0x2aec
bal 0x0007d514
_or a0,t1,zero
b 0x0008b3d0
_lw gp,0x18(sp)
addiu s5,s5,0x1
li v0,0x25
or t2,s8,zero
sb v0,0x0(s4)
addu s4,s7,s5
b 0x0008b638
_or t3,s4,zero
b 0x0008b6a8
_li v0,-0x1
lw t9,-0x7f44(gp)
jalr t9
_or a0,s0,zero
b 0x0008b3d0
_lw gp,0x18(sp)
addu a1,t5,t3
lw t9,-0x7e80(gp)
addiu t2,v1,0x7
sltu a0,a1,t5
lui a3,0x526
sw t2,0x2c(sp)
addu a0,a0,t6
or a2,zero,zero
jalr t9
_ori a3,a3,0x5c00
li a3,0x7
lw gp,0x18(sp)
or a2,zero,zero
or a1,v1,zero
or a0,v0,zero
lw t9,-0x7d88(gp)
jalr t9
_addiu s5,s5,0x2
lui v0,0x9249
lw t2,0x2c(sp)
li a0,0x3
addiu v0,v0,0x2493
lw gp,0x18(sp)
or a1,s4,zero
subu t2,t2,v1
mult t2,v0
lw a2,-0x7fc4(gp)
sra a3,t2,0x1f
lw t9,-0x7edc(gp)
addiu a2,a2,-0x5ed4
mfhi v0
addu v0,v0,t2
sra v0,v0,0x2
bal 0x0008681c
_subu a3,v0,a3
b 0x0008b890
_lw gp,0x18(sp)
lw t9,-0x7b28(gp)
jalr t9
_nop
lui gp,0x11
addiu gp,gp,-0x3210
addu gp,gp,t9
addiu sp,sp,-0xd8
lw t9,-0x7d60(gp)
sw s0,0xc8(sp)
addiu t9,t9,0x7980
sw gp,0x28(sp)
sw s2,0xd0(sp)
or s2,a0,zero
sw s1,0xcc(sp)
addiu s1,sp,0x30
sw ra,0xd4(sp)
lw s0,-0x7afc(gp)
or a3,s1,zero
lw v0,0x0(s0)
sw v0,0xc4(sp)
bal 0x00087980
_nop
beq v0,zero,0x0008bba8
_lw gp,0x28(sp)
lw v1,0xc4(sp)
lw v0,0x0(s0)
bne v1,v0,0x0008bc40
_lw ra,0xd4(sp)
lw s2,0xd0(sp)
lw s1,0xcc(sp)
lw s0,0xc8(sp)
jr ra
_addiu sp,sp,0xd8
lw t9,-0x7d78(gp)
or a0,s1,zero
addiu t9,t9,-0x35ac
jalr t9
_addiu s1,sp,0x60
li a0,0x64
ldc1 f0,0x50(sp)
or a1,s1,zero
lw v1,0x48(sp)
lw gp,0x28(sp)
lw a3,0x38(sp)
sw v1,0x1c(sp)
lw v1,0x44(sp)
lw a2,-0x7fc4(gp)
lw t9,-0x7edc(gp)
trunc.w.D f0,f0
sw v1,0x18(sp)
lw v1,0x40(sp)
addiu a2,a2,-0x5eac
sw v1,0x14(sp)
lw v1,0x3c(sp)
swc1 f0,0x20(sp)
bal 0x0008681c
_sw v1,0x10(sp)
li v0,-0x1
lw gp,0x28(sp)
li a3,-0x1
sw v0,0x14(sp)
li v0,0x1
addiu a1,s2,0x14
sw v0,0x10(sp)
or a2,s1,zero
lw t9,-0x7d60(gp)
addiu t9,t9,-0x13c0
bal 0x0007ec40
_or a0,s2,zero
b 0x0008bb84
_lw gp,0x28(sp)
lw t9,-0x7b28(gp)
jalr t9
_nop
lui gp,0x11
addiu gp,gp,-0x332c
addu gp,gp,t9
lw t9,-0x7d44(gp)
or a2,zero,zero
addiu t9,t9,-0x44d0
b 0x0008bb30
_or a1,zero,zero
(translation_unit "void FUN_0008b378(byte *param_1,int param_2,undefined4 *param_3)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  byte *pbVar3;\n  byte bVar5;\n  int iVar4;\n  uint uVar6;\n  int iVar7;\n  byte *pbVar8;\n  uint uVar9;\n  uint uVar10;\n  byte *pbVar11;\n  byte *unaff_s0;\n  undefined1 *unaff_s1;\n  byte *unaff_s2;\n  code *pcVar12;\n  undefined *puVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  undefined4 uVar16;\n  undefined1 auStack_138 [16];\n  undefined4 local_128;\n  undefined *puStack_124;\n  byte *local_114;\n  undefined1 local_100 [40];\n  char local_d8;\n  byte abStack_a0 [100];\n  int local_3c;\n  \n  puVar13 = PTR___stack_chk_guard_00190e24;\n  local_3c = *(int *)PTR___stack_chk_guard_00190e24;\n  pbVar8 = param_1;\n  if (param_2 == 0) goto switchD_0008b4d8_caseD_1;\n  pbVar8 = (byte *)*param_3;\n  unaff_s2 = (byte *)FUN_00086f60(pbVar8,1);\n  unaff_s0 = param_1;\n  if (unaff_s2 == (byte *)0x0) goto switchD_0008b4d8_caseD_1;\n  unaff_s1 = local_100;\n  pbVar8 = param_1;\n  iVar4 = FUN_00087980(param_1,param_2 + -1,param_3 + 1,unaff_s1);\n  puVar2 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n  if (iVar4 != 0) goto switchD_0008b4d8_caseD_1;\n  iVar4 = (int)(char)*unaff_s2;\n  if (iVar4 == 0) {\nLAB_0008b5ac:\n    pbVar3 = abStack_a0;\n  }\n  else {\n    iVar14 = 0;\n    uVar10 = 0;\n    uVar6 = 1;\n    do {\n      iVar14 = iVar14 + 1;\n      bVar1 = iVar4 == 0x25;\n      iVar4 = (int)(char)unaff_s2[iVar14];\n      if (bVar1) {\n        uVar6 = iVar4 - 0x25U & 0xff;\n        pbVar8 = (byte *)(uint)(uVar6 < 0x53);\n        if (pbVar8 != (byte *)0x0) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b4cc */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();\n          return;\n        }\n        goto switchD_0008b4d8_caseD_1;\n      }\n      uVar9 = uVar6 + 1;\n      uVar10 = (uVar9 < uVar6) + uVar10;\n      uVar6 = uVar9;\n    } while (iVar4 != 0);\n    if ((uVar10 == 0) && (uVar9 < 100)) goto LAB_0008b5ac;\n    pbVar8 = *(byte **)param_1;\n    iVar4 = *(int *)(pbVar8 + 0x20);\n    uVar6 = (int)*(uint *)(iVar4 + 0x6c) >> 0x1f;\n    if ((uVar6 < uVar10) || ((uVar10 == uVar6 && (*(uint *)(iVar4 + 0x6c) < uVar9)))) {\n      param_1[0x14] = 0;\n      param_1[0x15] = 0;\n      param_1[0x16] = 0;\n      param_1[0x17] = 0x12;\n      local_128 = 0;\n      FUN_0007d514(pbVar8,puVar2 + -0x612c,0xffffffff,1);\n      goto switchD_0008b4d8_caseD_1;\n    }\n    if ((*(char *)(iVar4 + 0x51) != '\0') ||\n       (pbVar3 = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f),\n       pbVar3 == (byte *)0x0)) {\n      pbVar8 = param_1;\n      (*(code *)PTR_sqlite3_result_error_nomem_001909dc)();\n      goto switchD_0008b4d8_caseD_1;\n    }\n  }\n  local_114 = abStack_a0;\n  if (local_d8 == '\0') {\n    (*(code *)(PTR_LAB_00190ba8 + -0x3bac))(unaff_s1);\n  }\n  (*(code *)(PTR_LAB_00190ba8 + -0x35ac))(unaff_s1);\n  bVar5 = *unaff_s2;\n  pbVar8 = pbVar3;\n  if (bVar5 != 0) {\n    iVar14 = 0;\n    iVar4 = 0;\n    do {\n      iVar7 = iVar4 + 1;\n      pbVar11 = unaff_s2 + iVar7;\n      if (bVar5 == 0x25) {\n        iVar7 = iVar4 + 2;\n        uVar6 = *pbVar11 - 0x48 & 0xff;\n        pbVar11 = unaff_s2 + iVar7;\n        if (uVar6 < 0x30) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b67c */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))();\n          return;\n        }\n        *pbVar8 = 0x25;\n      }\n      else {\n        *pbVar8 = bVar5;\n      }\n      iVar14 = iVar14 + 1;\n      pbVar8 = pbVar3 + iVar14;\n      bVar5 = *pbVar11;\n      iVar4 = iVar7;\n    } while (bVar5 != 0);\n  }\n  *pbVar8 = 0;\n  if (pbVar3 == local_114) {\n    puStack_124 = (undefined *)0xffffffff;\n  }\n  else {\n    puStack_124 = PTR_LAB_00190b40 + -0xf88;\n  }\n  local_128 = 1;\n  pbVar8 = param_1;\n  FUN_0007ec40(param_1,param_1 + 0x14,pbVar3,0xffffffff);\nswitchD_0008b4d8_caseD_1:\n  if (local_3c != *(int *)puVar13) {\n    uVar16 = 0x8bb30;\n    puVar13 = PTR___stack_chk_fail_00190df8;\n    (*(code *)PTR___stack_chk_fail_00190df8)();\n    puVar15 = auStack_138;\n    while( true ) {\n      pbVar3 = pbVar8;\n      *(byte **)(puVar15 + -0x10) = unaff_s0;\n      *(undefined **)(puVar15 + -0xb0) = puVar13 + 0x10cdf0;\n      *(byte **)(puVar15 + -8) = unaff_s2;\n      *(undefined1 **)(puVar15 + -0xc) = unaff_s1;\n      *(undefined4 *)(puVar15 + -4) = uVar16;\n      unaff_s0 = *(byte **)(puVar13 + 0x1052f4);\n      *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)unaff_s0;\n      pbVar8 = pbVar3;\n      iVar4 = FUN_00087980();\n      iVar14 = *(int *)(puVar15 + -0xb0);\n      unaff_s1 = puVar15 + -0xa8;\n      if (iVar4 == 0) {\n        unaff_s1 = puVar15 + -0x78;\n        (*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))(puVar15 + -0xa8);\n        *(undefined4 *)(puVar15 + -0xbc) = *(undefined4 *)(puVar15 + -0x90);\n        iVar4 = *(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4);\n        *(undefined4 *)(puVar15 + -0xc0) = *(undefined4 *)(puVar15 + -0x94);\n        *(undefined4 *)(puVar15 + -0xc4) = *(undefined4 *)(puVar15 + -0x98);\n        *(int *)(puVar15 + -0xb8) = (int)*(double *)(puVar15 + -0x88);\n        *(undefined4 *)(puVar15 + -200) = *(undefined4 *)(puVar15 + -0x9c);\n        sqlite3_snprintf(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0));\n        *(undefined4 *)(puVar15 + -0xc4) = 0xffffffff;\n        *(undefined4 *)(puVar15 + -200) = 1;\n        pbVar8 = pbVar3;\n        FUN_0007ec40(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff);\n        iVar14 = *(int *)(puVar15 + -0xb0);\n      }\n      if (*(int *)(puVar15 + -0x14) == *(int *)unaff_s0) break;\n      pcVar12 = *(code **)(iVar14 + -0x7b28);\n      uVar16 = 0x8bc4c;\n      (*pcVar12)();\n      puVar13 = (undefined *)(*(int *)(pcVar12 + 0x104f90) + -0x44d0);\n      unaff_s2 = pbVar3;\n      puVar15 = puVar15 + -0xd8;\n    }\n    return;\n  }\n  return;\n}\n\n" (function_definition "void FUN_0008b378(byte *param_1,int param_2,undefined4 *param_3)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  byte *pbVar3;\n  byte bVar5;\n  int iVar4;\n  uint uVar6;\n  int iVar7;\n  byte *pbVar8;\n  uint uVar9;\n  uint uVar10;\n  byte *pbVar11;\n  byte *unaff_s0;\n  undefined1 *unaff_s1;\n  byte *unaff_s2;\n  code *pcVar12;\n  undefined *puVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  undefined4 uVar16;\n  undefined1 auStack_138 [16];\n  undefined4 local_128;\n  undefined *puStack_124;\n  byte *local_114;\n  undefined1 local_100 [40];\n  char local_d8;\n  byte abStack_a0 [100];\n  int local_3c;\n  \n  puVar13 = PTR___stack_chk_guard_00190e24;\n  local_3c = *(int *)PTR___stack_chk_guard_00190e24;\n  pbVar8 = param_1;\n  if (param_2 == 0) goto switchD_0008b4d8_caseD_1;\n  pbVar8 = (byte *)*param_3;\n  unaff_s2 = (byte *)FUN_00086f60(pbVar8,1);\n  unaff_s0 = param_1;\n  if (unaff_s2 == (byte *)0x0) goto switchD_0008b4d8_caseD_1;\n  unaff_s1 = local_100;\n  pbVar8 = param_1;\n  iVar4 = FUN_00087980(param_1,param_2 + -1,param_3 + 1,unaff_s1);\n  puVar2 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n  if (iVar4 != 0) goto switchD_0008b4d8_caseD_1;\n  iVar4 = (int)(char)*unaff_s2;\n  if (iVar4 == 0) {\nLAB_0008b5ac:\n    pbVar3 = abStack_a0;\n  }\n  else {\n    iVar14 = 0;\n    uVar10 = 0;\n    uVar6 = 1;\n    do {\n      iVar14 = iVar14 + 1;\n      bVar1 = iVar4 == 0x25;\n      iVar4 = (int)(char)unaff_s2[iVar14];\n      if (bVar1) {\n        uVar6 = iVar4 - 0x25U & 0xff;\n        pbVar8 = (byte *)(uint)(uVar6 < 0x53);\n        if (pbVar8 != (byte *)0x0) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b4cc */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();\n          return;\n        }\n        goto switchD_0008b4d8_caseD_1;\n      }\n      uVar9 = uVar6 + 1;\n      uVar10 = (uVar9 < uVar6) + uVar10;\n      uVar6 = uVar9;\n    } while (iVar4 != 0);\n    if ((uVar10 == 0) && (uVar9 < 100)) goto LAB_0008b5ac;\n    pbVar8 = *(byte **)param_1;\n    iVar4 = *(int *)(pbVar8 + 0x20);\n    uVar6 = (int)*(uint *)(iVar4 + 0x6c) >> 0x1f;\n    if ((uVar6 < uVar10) || ((uVar10 == uVar6 && (*(uint *)(iVar4 + 0x6c) < uVar9)))) {\n      param_1[0x14] = 0;\n      param_1[0x15] = 0;\n      param_1[0x16] = 0;\n      param_1[0x17] = 0x12;\n      local_128 = 0;\n      FUN_0007d514(pbVar8,puVar2 + -0x612c,0xffffffff,1);\n      goto switchD_0008b4d8_caseD_1;\n    }\n    if ((*(char *)(iVar4 + 0x51) != '\0') ||\n       (pbVar3 = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f),\n       pbVar3 == (byte *)0x0)) {\n      pbVar8 = param_1;\n      (*(code *)PTR_sqlite3_result_error_nomem_001909dc)();\n      goto switchD_0008b4d8_caseD_1;\n    }\n  }\n  local_114 = abStack_a0;\n  if (local_d8 == '\0') {\n    (*(code *)(PTR_LAB_00190ba8 + -0x3bac))(unaff_s1);\n  }\n  (*(code *)(PTR_LAB_00190ba8 + -0x35ac))(unaff_s1);\n  bVar5 = *unaff_s2;\n  pbVar8 = pbVar3;\n  if (bVar5 != 0) {\n    iVar14 = 0;\n    iVar4 = 0;\n    do {\n      iVar7 = iVar4 + 1;\n      pbVar11 = unaff_s2 + iVar7;\n      if (bVar5 == 0x25) {\n        iVar7 = iVar4 + 2;\n        uVar6 = *pbVar11 - 0x48 & 0xff;\n        pbVar11 = unaff_s2 + iVar7;\n        if (uVar6 < 0x30) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b67c */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))();\n          return;\n        }\n        *pbVar8 = 0x25;\n      }\n      else {\n        *pbVar8 = bVar5;\n      }\n      iVar14 = iVar14 + 1;\n      pbVar8 = pbVar3 + iVar14;\n      bVar5 = *pbVar11;\n      iVar4 = iVar7;\n    } while (bVar5 != 0);\n  }\n  *pbVar8 = 0;\n  if (pbVar3 == local_114) {\n    puStack_124 = (undefined *)0xffffffff;\n  }\n  else {\n    puStack_124 = PTR_LAB_00190b40 + -0xf88;\n  }\n  local_128 = 1;\n  pbVar8 = param_1;\n  FUN_0007ec40(param_1,param_1 + 0x14,pbVar3,0xffffffff);\nswitchD_0008b4d8_caseD_1:\n  if (local_3c != *(int *)puVar13) {\n    uVar16 = 0x8bb30;\n    puVar13 = PTR___stack_chk_fail_00190df8;\n    (*(code *)PTR___stack_chk_fail_00190df8)();\n    puVar15 = auStack_138;\n    while( true ) {\n      pbVar3 = pbVar8;\n      *(byte **)(puVar15 + -0x10) = unaff_s0;\n      *(undefined **)(puVar15 + -0xb0) = puVar13 + 0x10cdf0;\n      *(byte **)(puVar15 + -8) = unaff_s2;\n      *(undefined1 **)(puVar15 + -0xc) = unaff_s1;\n      *(undefined4 *)(puVar15 + -4) = uVar16;\n      unaff_s0 = *(byte **)(puVar13 + 0x1052f4);\n      *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)unaff_s0;\n      pbVar8 = pbVar3;\n      iVar4 = FUN_00087980();\n      iVar14 = *(int *)(puVar15 + -0xb0);\n      unaff_s1 = puVar15 + -0xa8;\n      if (iVar4 == 0) {\n        unaff_s1 = puVar15 + -0x78;\n        (*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))(puVar15 + -0xa8);\n        *(undefined4 *)(puVar15 + -0xbc) = *(undefined4 *)(puVar15 + -0x90);\n        iVar4 = *(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4);\n        *(undefined4 *)(puVar15 + -0xc0) = *(undefined4 *)(puVar15 + -0x94);\n        *(undefined4 *)(puVar15 + -0xc4) = *(undefined4 *)(puVar15 + -0x98);\n        *(int *)(puVar15 + -0xb8) = (int)*(double *)(puVar15 + -0x88);\n        *(undefined4 *)(puVar15 + -200) = *(undefined4 *)(puVar15 + -0x9c);\n        sqlite3_snprintf(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0));\n        *(undefined4 *)(puVar15 + -0xc4) = 0xffffffff;\n        *(undefined4 *)(puVar15 + -200) = 1;\n        pbVar8 = pbVar3;\n        FUN_0007ec40(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff);\n        iVar14 = *(int *)(puVar15 + -0xb0);\n      }\n      if (*(int *)(puVar15 + -0x14) == *(int *)unaff_s0) break;\n      pcVar12 = *(code **)(iVar14 + -0x7b28);\n      uVar16 = 0x8bc4c;\n      (*pcVar12)();\n      puVar13 = (undefined *)(*(int *)(pcVar12 + 0x104f90) + -0x44d0);\n      unaff_s2 = pbVar3;\n      puVar15 = puVar15 + -0xd8;\n    }\n    return;\n  }\n  return;\n}" primitive_type (function_declarator "FUN_0008b378(byte *param_1,int param_2,undefined4 *param_3)" identifier (parameter_list "(byte *param_1,int param_2,undefined4 *param_3)" ( (parameter_declaration "byte *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined4 *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  byte *pbVar3;\n  byte bVar5;\n  int iVar4;\n  uint uVar6;\n  int iVar7;\n  byte *pbVar8;\n  uint uVar9;\n  uint uVar10;\n  byte *pbVar11;\n  byte *unaff_s0;\n  undefined1 *unaff_s1;\n  byte *unaff_s2;\n  code *pcVar12;\n  undefined *puVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  undefined4 uVar16;\n  undefined1 auStack_138 [16];\n  undefined4 local_128;\n  undefined *puStack_124;\n  byte *local_114;\n  undefined1 local_100 [40];\n  char local_d8;\n  byte abStack_a0 [100];\n  int local_3c;\n  \n  puVar13 = PTR___stack_chk_guard_00190e24;\n  local_3c = *(int *)PTR___stack_chk_guard_00190e24;\n  pbVar8 = param_1;\n  if (param_2 == 0) goto switchD_0008b4d8_caseD_1;\n  pbVar8 = (byte *)*param_3;\n  unaff_s2 = (byte *)FUN_00086f60(pbVar8,1);\n  unaff_s0 = param_1;\n  if (unaff_s2 == (byte *)0x0) goto switchD_0008b4d8_caseD_1;\n  unaff_s1 = local_100;\n  pbVar8 = param_1;\n  iVar4 = FUN_00087980(param_1,param_2 + -1,param_3 + 1,unaff_s1);\n  puVar2 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n  if (iVar4 != 0) goto switchD_0008b4d8_caseD_1;\n  iVar4 = (int)(char)*unaff_s2;\n  if (iVar4 == 0) {\nLAB_0008b5ac:\n    pbVar3 = abStack_a0;\n  }\n  else {\n    iVar14 = 0;\n    uVar10 = 0;\n    uVar6 = 1;\n    do {\n      iVar14 = iVar14 + 1;\n      bVar1 = iVar4 == 0x25;\n      iVar4 = (int)(char)unaff_s2[iVar14];\n      if (bVar1) {\n        uVar6 = iVar4 - 0x25U & 0xff;\n        pbVar8 = (byte *)(uint)(uVar6 < 0x53);\n        if (pbVar8 != (byte *)0x0) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b4cc */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();\n          return;\n        }\n        goto switchD_0008b4d8_caseD_1;\n      }\n      uVar9 = uVar6 + 1;\n      uVar10 = (uVar9 < uVar6) + uVar10;\n      uVar6 = uVar9;\n    } while (iVar4 != 0);\n    if ((uVar10 == 0) && (uVar9 < 100)) goto LAB_0008b5ac;\n    pbVar8 = *(byte **)param_1;\n    iVar4 = *(int *)(pbVar8 + 0x20);\n    uVar6 = (int)*(uint *)(iVar4 + 0x6c) >> 0x1f;\n    if ((uVar6 < uVar10) || ((uVar10 == uVar6 && (*(uint *)(iVar4 + 0x6c) < uVar9)))) {\n      param_1[0x14] = 0;\n      param_1[0x15] = 0;\n      param_1[0x16] = 0;\n      param_1[0x17] = 0x12;\n      local_128 = 0;\n      FUN_0007d514(pbVar8,puVar2 + -0x612c,0xffffffff,1);\n      goto switchD_0008b4d8_caseD_1;\n    }\n    if ((*(char *)(iVar4 + 0x51) != '\0') ||\n       (pbVar3 = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f),\n       pbVar3 == (byte *)0x0)) {\n      pbVar8 = param_1;\n      (*(code *)PTR_sqlite3_result_error_nomem_001909dc)();\n      goto switchD_0008b4d8_caseD_1;\n    }\n  }\n  local_114 = abStack_a0;\n  if (local_d8 == '\0') {\n    (*(code *)(PTR_LAB_00190ba8 + -0x3bac))(unaff_s1);\n  }\n  (*(code *)(PTR_LAB_00190ba8 + -0x35ac))(unaff_s1);\n  bVar5 = *unaff_s2;\n  pbVar8 = pbVar3;\n  if (bVar5 != 0) {\n    iVar14 = 0;\n    iVar4 = 0;\n    do {\n      iVar7 = iVar4 + 1;\n      pbVar11 = unaff_s2 + iVar7;\n      if (bVar5 == 0x25) {\n        iVar7 = iVar4 + 2;\n        uVar6 = *pbVar11 - 0x48 & 0xff;\n        pbVar11 = unaff_s2 + iVar7;\n        if (uVar6 < 0x30) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b67c */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))();\n          return;\n        }\n        *pbVar8 = 0x25;\n      }\n      else {\n        *pbVar8 = bVar5;\n      }\n      iVar14 = iVar14 + 1;\n      pbVar8 = pbVar3 + iVar14;\n      bVar5 = *pbVar11;\n      iVar4 = iVar7;\n    } while (bVar5 != 0);\n  }\n  *pbVar8 = 0;\n  if (pbVar3 == local_114) {\n    puStack_124 = (undefined *)0xffffffff;\n  }\n  else {\n    puStack_124 = PTR_LAB_00190b40 + -0xf88;\n  }\n  local_128 = 1;\n  pbVar8 = param_1;\n  FUN_0007ec40(param_1,param_1 + 0x14,pbVar3,0xffffffff);\nswitchD_0008b4d8_caseD_1:\n  if (local_3c != *(int *)puVar13) {\n    uVar16 = 0x8bb30;\n    puVar13 = PTR___stack_chk_fail_00190df8;\n    (*(code *)PTR___stack_chk_fail_00190df8)();\n    puVar15 = auStack_138;\n    while( true ) {\n      pbVar3 = pbVar8;\n      *(byte **)(puVar15 + -0x10) = unaff_s0;\n      *(undefined **)(puVar15 + -0xb0) = puVar13 + 0x10cdf0;\n      *(byte **)(puVar15 + -8) = unaff_s2;\n      *(undefined1 **)(puVar15 + -0xc) = unaff_s1;\n      *(undefined4 *)(puVar15 + -4) = uVar16;\n      unaff_s0 = *(byte **)(puVar13 + 0x1052f4);\n      *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)unaff_s0;\n      pbVar8 = pbVar3;\n      iVar4 = FUN_00087980();\n      iVar14 = *(int *)(puVar15 + -0xb0);\n      unaff_s1 = puVar15 + -0xa8;\n      if (iVar4 == 0) {\n        unaff_s1 = puVar15 + -0x78;\n        (*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))(puVar15 + -0xa8);\n        *(undefined4 *)(puVar15 + -0xbc) = *(undefined4 *)(puVar15 + -0x90);\n        iVar4 = *(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4);\n        *(undefined4 *)(puVar15 + -0xc0) = *(undefined4 *)(puVar15 + -0x94);\n        *(undefined4 *)(puVar15 + -0xc4) = *(undefined4 *)(puVar15 + -0x98);\n        *(int *)(puVar15 + -0xb8) = (int)*(double *)(puVar15 + -0x88);\n        *(undefined4 *)(puVar15 + -200) = *(undefined4 *)(puVar15 + -0x9c);\n        sqlite3_snprintf(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0));\n        *(undefined4 *)(puVar15 + -0xc4) = 0xffffffff;\n        *(undefined4 *)(puVar15 + -200) = 1;\n        pbVar8 = pbVar3;\n        FUN_0007ec40(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff);\n        iVar14 = *(int *)(puVar15 + -0xb0);\n      }\n      if (*(int *)(puVar15 + -0x14) == *(int *)unaff_s0) break;\n      pcVar12 = *(code **)(iVar14 + -0x7b28);\n      uVar16 = 0x8bc4c;\n      (*pcVar12)();\n      puVar13 = (undefined *)(*(int *)(pcVar12 + 0x104f90) + -0x44d0);\n      unaff_s2 = pbVar3;\n      puVar15 = puVar15 + -0xd8;\n    }\n    return;\n  }\n  return;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "byte *pbVar3;" type_identifier (pointer_declarator "*pbVar3" * identifier) ;) (declaration "byte bVar5;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "byte *pbVar11;" type_identifier (pointer_declarator "*pbVar11" * identifier) ;) (declaration "byte *unaff_s0;" type_identifier (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "undefined1 *unaff_s1;" type_identifier (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "byte *unaff_s2;" type_identifier (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "code *pcVar12;" type_identifier (pointer_declarator "*pcVar12" * identifier) ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "undefined1 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "undefined4 uVar16;" type_identifier identifier ;) (declaration "undefined1 auStack_138 [16];" type_identifier (array_declarator "auStack_138 [16]" identifier [ number_literal ]) ;) (declaration "undefined4 local_128;" type_identifier identifier ;) (declaration "undefined *puStack_124;" type_identifier (pointer_declarator "*puStack_124" * identifier) ;) (declaration "byte *local_114;" type_identifier (pointer_declarator "*local_114" * identifier) ;) (declaration "undefined1 local_100 [40];" type_identifier (array_declarator "local_100 [40]" identifier [ number_literal ]) ;) (declaration "char local_d8;" primitive_type identifier ;) (declaration "byte abStack_a0 [100];" type_identifier (array_declarator "abStack_a0 [100]" identifier [ number_literal ]) ;) (declaration "int local_3c;" primitive_type identifier ;) (expression_statement "puVar13 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar13 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "local_3c = *(int *)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_3c = *(int *)PTR___stack_chk_guard_00190e24" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_00190e24" * (cast_expression "(int *)PTR___stack_chk_guard_00190e24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pbVar8 = param_1;" (assignment_expression "pbVar8 = param_1" identifier = identifier) ;) (if_statement "if (param_2 == 0) goto switchD_0008b4d8_caseD_1;" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (goto_statement "goto switchD_0008b4d8_caseD_1;" goto statement_identifier ;)) (expression_statement "pbVar8 = (byte *)*param_3;" (assignment_expression "pbVar8 = (byte *)*param_3" identifier = (cast_expression "(byte *)*param_3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_3" * identifier))) ;) (expression_statement "unaff_s2 = (byte *)FUN_00086f60(pbVar8,1);" (assignment_expression "unaff_s2 = (byte *)FUN_00086f60(pbVar8,1)" identifier = (cast_expression "(byte *)FUN_00086f60(pbVar8,1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00086f60(pbVar8,1)" identifier (argument_list "(pbVar8,1)" ( identifier , number_literal ))))) ;) (expression_statement "unaff_s0 = param_1;" (assignment_expression "unaff_s0 = param_1" identifier = identifier) ;) (if_statement "if (unaff_s2 == (byte *)0x0) goto switchD_0008b4d8_caseD_1;" if (parenthesized_expression "(unaff_s2 == (byte *)0x0)" ( (binary_expression "unaff_s2 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto switchD_0008b4d8_caseD_1;" goto statement_identifier ;)) (expression_statement "unaff_s1 = local_100;" (assignment_expression "unaff_s1 = local_100" identifier = identifier) ;) (expression_statement "pbVar8 = param_1;" (assignment_expression "pbVar8 = param_1" identifier = identifier) ;) (expression_statement "iVar4 = FUN_00087980(param_1,param_2 + -1,param_3 + 1,unaff_s1);" (assignment_expression "iVar4 = FUN_00087980(param_1,param_2 + -1,param_3 + 1,unaff_s1)" identifier = (call_expression "FUN_00087980(param_1,param_2 + -1,param_3 + 1,unaff_s1)" identifier (argument_list "(param_1,param_2 + -1,param_3 + 1,unaff_s1)" ( identifier , (binary_expression "param_2 + -1" identifier + number_literal) , (binary_expression "param_3 + 1" identifier + number_literal) , identifier )))) ;) (expression_statement "puVar2 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;" (assignment_expression "puVar2 = PTR_s_o_page_from_root____pageno_INTEG_0019095c" identifier = identifier) ;) (if_statement "if (iVar4 != 0) goto switchD_0008b4d8_caseD_1;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (goto_statement "goto switchD_0008b4d8_caseD_1;" goto statement_identifier ;)) (expression_statement "iVar4 = (int)(char)*unaff_s2;" (assignment_expression "iVar4 = (int)(char)*unaff_s2" identifier = (cast_expression "(int)(char)*unaff_s2" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*unaff_s2" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*unaff_s2" * identifier)))) ;) (if_statement "if (iVar4 == 0) {\nLAB_0008b5ac:\n    pbVar3 = abStack_a0;\n  }\n  else {\n    iVar14 = 0;\n    uVar10 = 0;\n    uVar6 = 1;\n    do {\n      iVar14 = iVar14 + 1;\n      bVar1 = iVar4 == 0x25;\n      iVar4 = (int)(char)unaff_s2[iVar14];\n      if (bVar1) {\n        uVar6 = iVar4 - 0x25U & 0xff;\n        pbVar8 = (byte *)(uint)(uVar6 < 0x53);\n        if (pbVar8 != (byte *)0x0) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b4cc */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();\n          return;\n        }\n        goto switchD_0008b4d8_caseD_1;\n      }\n      uVar9 = uVar6 + 1;\n      uVar10 = (uVar9 < uVar6) + uVar10;\n      uVar6 = uVar9;\n    } while (iVar4 != 0);\n    if ((uVar10 == 0) && (uVar9 < 100)) goto LAB_0008b5ac;\n    pbVar8 = *(byte **)param_1;\n    iVar4 = *(int *)(pbVar8 + 0x20);\n    uVar6 = (int)*(uint *)(iVar4 + 0x6c) >> 0x1f;\n    if ((uVar6 < uVar10) || ((uVar10 == uVar6 && (*(uint *)(iVar4 + 0x6c) < uVar9)))) {\n      param_1[0x14] = 0;\n      param_1[0x15] = 0;\n      param_1[0x16] = 0;\n      param_1[0x17] = 0x12;\n      local_128 = 0;\n      FUN_0007d514(pbVar8,puVar2 + -0x612c,0xffffffff,1);\n      goto switchD_0008b4d8_caseD_1;\n    }\n    if ((*(char *)(iVar4 + 0x51) != '\0') ||\n       (pbVar3 = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f),\n       pbVar3 == (byte *)0x0)) {\n      pbVar8 = param_1;\n      (*(code *)PTR_sqlite3_result_error_nomem_001909dc)();\n      goto switchD_0008b4d8_caseD_1;\n    }\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0008b5ac:\n    pbVar3 = abStack_a0;\n  }" { (labeled_statement "LAB_0008b5ac:\n    pbVar3 = abStack_a0;" statement_identifier : (expression_statement "pbVar3 = abStack_a0;" (assignment_expression "pbVar3 = abStack_a0" identifier = identifier) ;)) }) (else_clause "else {\n    iVar14 = 0;\n    uVar10 = 0;\n    uVar6 = 1;\n    do {\n      iVar14 = iVar14 + 1;\n      bVar1 = iVar4 == 0x25;\n      iVar4 = (int)(char)unaff_s2[iVar14];\n      if (bVar1) {\n        uVar6 = iVar4 - 0x25U & 0xff;\n        pbVar8 = (byte *)(uint)(uVar6 < 0x53);\n        if (pbVar8 != (byte *)0x0) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b4cc */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();\n          return;\n        }\n        goto switchD_0008b4d8_caseD_1;\n      }\n      uVar9 = uVar6 + 1;\n      uVar10 = (uVar9 < uVar6) + uVar10;\n      uVar6 = uVar9;\n    } while (iVar4 != 0);\n    if ((uVar10 == 0) && (uVar9 < 100)) goto LAB_0008b5ac;\n    pbVar8 = *(byte **)param_1;\n    iVar4 = *(int *)(pbVar8 + 0x20);\n    uVar6 = (int)*(uint *)(iVar4 + 0x6c) >> 0x1f;\n    if ((uVar6 < uVar10) || ((uVar10 == uVar6 && (*(uint *)(iVar4 + 0x6c) < uVar9)))) {\n      param_1[0x14] = 0;\n      param_1[0x15] = 0;\n      param_1[0x16] = 0;\n      param_1[0x17] = 0x12;\n      local_128 = 0;\n      FUN_0007d514(pbVar8,puVar2 + -0x612c,0xffffffff,1);\n      goto switchD_0008b4d8_caseD_1;\n    }\n    if ((*(char *)(iVar4 + 0x51) != '\0') ||\n       (pbVar3 = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f),\n       pbVar3 == (byte *)0x0)) {\n      pbVar8 = param_1;\n      (*(code *)PTR_sqlite3_result_error_nomem_001909dc)();\n      goto switchD_0008b4d8_caseD_1;\n    }\n  }" else (compound_statement "{\n    iVar14 = 0;\n    uVar10 = 0;\n    uVar6 = 1;\n    do {\n      iVar14 = iVar14 + 1;\n      bVar1 = iVar4 == 0x25;\n      iVar4 = (int)(char)unaff_s2[iVar14];\n      if (bVar1) {\n        uVar6 = iVar4 - 0x25U & 0xff;\n        pbVar8 = (byte *)(uint)(uVar6 < 0x53);\n        if (pbVar8 != (byte *)0x0) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b4cc */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();\n          return;\n        }\n        goto switchD_0008b4d8_caseD_1;\n      }\n      uVar9 = uVar6 + 1;\n      uVar10 = (uVar9 < uVar6) + uVar10;\n      uVar6 = uVar9;\n    } while (iVar4 != 0);\n    if ((uVar10 == 0) && (uVar9 < 100)) goto LAB_0008b5ac;\n    pbVar8 = *(byte **)param_1;\n    iVar4 = *(int *)(pbVar8 + 0x20);\n    uVar6 = (int)*(uint *)(iVar4 + 0x6c) >> 0x1f;\n    if ((uVar6 < uVar10) || ((uVar10 == uVar6 && (*(uint *)(iVar4 + 0x6c) < uVar9)))) {\n      param_1[0x14] = 0;\n      param_1[0x15] = 0;\n      param_1[0x16] = 0;\n      param_1[0x17] = 0x12;\n      local_128 = 0;\n      FUN_0007d514(pbVar8,puVar2 + -0x612c,0xffffffff,1);\n      goto switchD_0008b4d8_caseD_1;\n    }\n    if ((*(char *)(iVar4 + 0x51) != '\0') ||\n       (pbVar3 = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f),\n       pbVar3 == (byte *)0x0)) {\n      pbVar8 = param_1;\n      (*(code *)PTR_sqlite3_result_error_nomem_001909dc)();\n      goto switchD_0008b4d8_caseD_1;\n    }\n  }" { (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (do_statement "do {\n      iVar14 = iVar14 + 1;\n      bVar1 = iVar4 == 0x25;\n      iVar4 = (int)(char)unaff_s2[iVar14];\n      if (bVar1) {\n        uVar6 = iVar4 - 0x25U & 0xff;\n        pbVar8 = (byte *)(uint)(uVar6 < 0x53);\n        if (pbVar8 != (byte *)0x0) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b4cc */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();\n          return;\n        }\n        goto switchD_0008b4d8_caseD_1;\n      }\n      uVar9 = uVar6 + 1;\n      uVar10 = (uVar9 < uVar6) + uVar10;\n      uVar6 = uVar9;\n    } while (iVar4 != 0);" do (compound_statement "{\n      iVar14 = iVar14 + 1;\n      bVar1 = iVar4 == 0x25;\n      iVar4 = (int)(char)unaff_s2[iVar14];\n      if (bVar1) {\n        uVar6 = iVar4 - 0x25U & 0xff;\n        pbVar8 = (byte *)(uint)(uVar6 < 0x53);\n        if (pbVar8 != (byte *)0x0) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b4cc */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();\n          return;\n        }\n        goto switchD_0008b4d8_caseD_1;\n      }\n      uVar9 = uVar6 + 1;\n      uVar10 = (uVar9 < uVar6) + uVar10;\n      uVar6 = uVar9;\n    }" { (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" identifier = (binary_expression "iVar14 + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = iVar4 == 0x25;" (assignment_expression "bVar1 = iVar4 == 0x25" identifier = (binary_expression "iVar4 == 0x25" identifier == number_literal)) ;) (expression_statement "iVar4 = (int)(char)unaff_s2[iVar14];" (assignment_expression "iVar4 = (int)(char)unaff_s2[iVar14]" identifier = (cast_expression "(int)(char)unaff_s2[iVar14]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)unaff_s2[iVar14]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "unaff_s2[iVar14]" identifier [ identifier ])))) ;) (if_statement "if (bVar1) {\n        uVar6 = iVar4 - 0x25U & 0xff;\n        pbVar8 = (byte *)(uint)(uVar6 < 0x53);\n        if (pbVar8 != (byte *)0x0) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b4cc */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();\n          return;\n        }\n        goto switchD_0008b4d8_caseD_1;\n      }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n        uVar6 = iVar4 - 0x25U & 0xff;\n        pbVar8 = (byte *)(uint)(uVar6 < 0x53);\n        if (pbVar8 != (byte *)0x0) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b4cc */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();\n          return;\n        }\n        goto switchD_0008b4d8_caseD_1;\n      }" { (expression_statement "uVar6 = iVar4 - 0x25U & 0xff;" (assignment_expression "uVar6 = iVar4 - 0x25U & 0xff" identifier = (binary_expression "iVar4 - 0x25U & 0xff" (binary_expression "iVar4 - 0x25U" identifier - number_literal) & number_literal)) ;) (expression_statement "pbVar8 = (byte *)(uint)(uVar6 < 0x53);" (assignment_expression "pbVar8 = (byte *)(uint)(uVar6 < 0x53)" identifier = (cast_expression "(byte *)(uint)(uVar6 < 0x53)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(uVar6 < 0x53)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar6 < 0x53)" ( (binary_expression "uVar6 < 0x53" identifier < number_literal) ))))) ;) (if_statement "if (pbVar8 != (byte *)0x0) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b4cc */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();\n          return;\n        }" if (parenthesized_expression "(pbVar8 != (byte *)0x0)" ( (binary_expression "pbVar8 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Could not emulate address calculation at 0x0008b4cc */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();\n          return;\n        }" { comment comment (expression_statement "(*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();" (call_expression "(*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))()" (parenthesized_expression "(*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))" ( (pointer_expression "*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc))" * (cast_expression "(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc))" ( (binary_expression "&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)" (pointer_expression "&_gp_1" & identifier) + (pointer_expression "*(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)" * (cast_expression "(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc" (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4" identifier + (binary_expression "uVar6 * 4" identifier * number_literal)) + number_literal) ))))) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (goto_statement "goto switchD_0008b4d8_caseD_1;" goto statement_identifier ;) })) (expression_statement "uVar9 = uVar6 + 1;" (assignment_expression "uVar9 = uVar6 + 1" identifier = (binary_expression "uVar6 + 1" identifier + number_literal)) ;) (expression_statement "uVar10 = (uVar9 < uVar6) + uVar10;" (assignment_expression "uVar10 = (uVar9 < uVar6) + uVar10" identifier = (binary_expression "(uVar9 < uVar6) + uVar10" (parenthesized_expression "(uVar9 < uVar6)" ( (binary_expression "uVar9 < uVar6" identifier < identifier) )) + identifier)) ;) (expression_statement "uVar6 = uVar9;" (assignment_expression "uVar6 = uVar9" identifier = identifier) ;) }) while (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) ;) (if_statement "if ((uVar10 == 0) && (uVar9 < 100)) goto LAB_0008b5ac;" if (parenthesized_expression "((uVar10 == 0) && (uVar9 < 100))" ( (binary_expression "(uVar10 == 0) && (uVar9 < 100)" (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) && (parenthesized_expression "(uVar9 < 100)" ( (binary_expression "uVar9 < 100" identifier < number_literal) ))) )) (goto_statement "goto LAB_0008b5ac;" goto statement_identifier ;)) (expression_statement "pbVar8 = *(byte **)param_1;" (assignment_expression "pbVar8 = *(byte **)param_1" identifier = (pointer_expression "*(byte **)param_1" * (cast_expression "(byte **)param_1" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "iVar4 = *(int *)(pbVar8 + 0x20);" (assignment_expression "iVar4 = *(int *)(pbVar8 + 0x20)" identifier = (pointer_expression "*(int *)(pbVar8 + 0x20)" * (cast_expression "(int *)(pbVar8 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar8 + 0x20)" ( (binary_expression "pbVar8 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = (int)*(uint *)(iVar4 + 0x6c) >> 0x1f;" (assignment_expression "uVar6 = (int)*(uint *)(iVar4 + 0x6c) >> 0x1f" identifier = (binary_expression "(int)*(uint *)(iVar4 + 0x6c) >> 0x1f" (cast_expression "(int)*(uint *)(iVar4 + 0x6c)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(uint *)(iVar4 + 0x6c)" * (cast_expression "(uint *)(iVar4 + 0x6c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x6c)" ( (binary_expression "iVar4 + 0x6c" identifier + number_literal) ))))) >> number_literal)) ;) (if_statement "if ((uVar6 < uVar10) || ((uVar10 == uVar6 && (*(uint *)(iVar4 + 0x6c) < uVar9)))) {\n      param_1[0x14] = 0;\n      param_1[0x15] = 0;\n      param_1[0x16] = 0;\n      param_1[0x17] = 0x12;\n      local_128 = 0;\n      FUN_0007d514(pbVar8,puVar2 + -0x612c,0xffffffff,1);\n      goto switchD_0008b4d8_caseD_1;\n    }" if (parenthesized_expression "((uVar6 < uVar10) || ((uVar10 == uVar6 && (*(uint *)(iVar4 + 0x6c) < uVar9))))" ( (binary_expression "(uVar6 < uVar10) || ((uVar10 == uVar6 && (*(uint *)(iVar4 + 0x6c) < uVar9)))" (parenthesized_expression "(uVar6 < uVar10)" ( (binary_expression "uVar6 < uVar10" identifier < identifier) )) || (parenthesized_expression "((uVar10 == uVar6 && (*(uint *)(iVar4 + 0x6c) < uVar9)))" ( (parenthesized_expression "(uVar10 == uVar6 && (*(uint *)(iVar4 + 0x6c) < uVar9))" ( (binary_expression "uVar10 == uVar6 && (*(uint *)(iVar4 + 0x6c) < uVar9)" (binary_expression "uVar10 == uVar6" identifier == identifier) && (parenthesized_expression "(*(uint *)(iVar4 + 0x6c) < uVar9)" ( (binary_expression "*(uint *)(iVar4 + 0x6c) < uVar9" (pointer_expression "*(uint *)(iVar4 + 0x6c)" * (cast_expression "(uint *)(iVar4 + 0x6c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x6c)" ( (binary_expression "iVar4 + 0x6c" identifier + number_literal) )))) < identifier) ))) )) ))) )) (compound_statement "{\n      param_1[0x14] = 0;\n      param_1[0x15] = 0;\n      param_1[0x16] = 0;\n      param_1[0x17] = 0x12;\n      local_128 = 0;\n      FUN_0007d514(pbVar8,puVar2 + -0x612c,0xffffffff,1);\n      goto switchD_0008b4d8_caseD_1;\n    }" { (expression_statement "param_1[0x14] = 0;" (assignment_expression "param_1[0x14] = 0" (subscript_expression "param_1[0x14]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x15] = 0;" (assignment_expression "param_1[0x15] = 0" (subscript_expression "param_1[0x15]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x16] = 0;" (assignment_expression "param_1[0x16] = 0" (subscript_expression "param_1[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x17] = 0x12;" (assignment_expression "param_1[0x17] = 0x12" (subscript_expression "param_1[0x17]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_128 = 0;" (assignment_expression "local_128 = 0" identifier = number_literal) ;) (expression_statement "FUN_0007d514(pbVar8,puVar2 + -0x612c,0xffffffff,1);" (call_expression "FUN_0007d514(pbVar8,puVar2 + -0x612c,0xffffffff,1)" identifier (argument_list "(pbVar8,puVar2 + -0x612c,0xffffffff,1)" ( identifier , (binary_expression "puVar2 + -0x612c" identifier + number_literal) , number_literal , number_literal ))) ;) (goto_statement "goto switchD_0008b4d8_caseD_1;" goto statement_identifier ;) })) (if_statement "if ((*(char *)(iVar4 + 0x51) != '\0') ||\n       (pbVar3 = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f),\n       pbVar3 == (byte *)0x0)) {\n      pbVar8 = param_1;\n      (*(code *)PTR_sqlite3_result_error_nomem_001909dc)();\n      goto switchD_0008b4d8_caseD_1;\n    }" if (parenthesized_expression "((*(char *)(iVar4 + 0x51) != '\0') ||\n       (pbVar3 = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f),\n       pbVar3 == (byte *)0x0))" ( (binary_expression "(*(char *)(iVar4 + 0x51) != '\0') ||\n       (pbVar3 = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f),\n       pbVar3 == (byte *)0x0)" (parenthesized_expression "(*(char *)(iVar4 + 0x51) != '\0')" ( (binary_expression "*(char *)(iVar4 + 0x51) != '\0'" (pointer_expression "*(char *)(iVar4 + 0x51)" * (cast_expression "(char *)(iVar4 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x51)" ( (binary_expression "iVar4 + 0x51" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(pbVar3 = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f),\n       pbVar3 == (byte *)0x0)" ( (comma_expression "pbVar3 = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f),\n       pbVar3 == (byte *)0x0" (assignment_expression "pbVar3 = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f)" identifier = (cast_expression "(byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x854))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x854)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x854)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x854)" ( (binary_expression "PTR_LAB_00190ba8 + 0x854" identifier + number_literal) )))) )) (argument_list "(iVar4,0,(int)uVar9 >> 0x1f)" ( identifier , number_literal , (binary_expression "(int)uVar9 >> 0x1f" (cast_expression "(int)uVar9" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))))) , (binary_expression "pbVar3 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n      pbVar8 = param_1;\n      (*(code *)PTR_sqlite3_result_error_nomem_001909dc)();\n      goto switchD_0008b4d8_caseD_1;\n    }" { (expression_statement "pbVar8 = param_1;" (assignment_expression "pbVar8 = param_1" identifier = identifier) ;) (expression_statement "(*(code *)PTR_sqlite3_result_error_nomem_001909dc)();" (call_expression "(*(code *)PTR_sqlite3_result_error_nomem_001909dc)()" (parenthesized_expression "(*(code *)PTR_sqlite3_result_error_nomem_001909dc)" ( (pointer_expression "*(code *)PTR_sqlite3_result_error_nomem_001909dc" * (cast_expression "(code *)PTR_sqlite3_result_error_nomem_001909dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (goto_statement "goto switchD_0008b4d8_caseD_1;" goto statement_identifier ;) })) }))) (expression_statement "local_114 = abStack_a0;" (assignment_expression "local_114 = abStack_a0" identifier = identifier) ;) (if_statement "if (local_d8 == '\0') {\n    (*(code *)(PTR_LAB_00190ba8 + -0x3bac))(unaff_s1);\n  }" if (parenthesized_expression "(local_d8 == '\0')" ( (binary_expression "local_d8 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    (*(code *)(PTR_LAB_00190ba8 + -0x3bac))(unaff_s1);\n  }" { (expression_statement "(*(code *)(PTR_LAB_00190ba8 + -0x3bac))(unaff_s1);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + -0x3bac))(unaff_s1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + -0x3bac))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + -0x3bac)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x3bac)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x3bac)" ( (binary_expression "PTR_LAB_00190ba8 + -0x3bac" identifier + number_literal) )))) )) (argument_list "(unaff_s1)" ( identifier ))) ;) })) (expression_statement "(*(code *)(PTR_LAB_00190ba8 + -0x35ac))(unaff_s1);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + -0x35ac))(unaff_s1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + -0x35ac))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + -0x35ac)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x35ac)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x35ac)" ( (binary_expression "PTR_LAB_00190ba8 + -0x35ac" identifier + number_literal) )))) )) (argument_list "(unaff_s1)" ( identifier ))) ;) (expression_statement "bVar5 = *unaff_s2;" (assignment_expression "bVar5 = *unaff_s2" identifier = (pointer_expression "*unaff_s2" * identifier)) ;) (expression_statement "pbVar8 = pbVar3;" (assignment_expression "pbVar8 = pbVar3" identifier = identifier) ;) (if_statement "if (bVar5 != 0) {\n    iVar14 = 0;\n    iVar4 = 0;\n    do {\n      iVar7 = iVar4 + 1;\n      pbVar11 = unaff_s2 + iVar7;\n      if (bVar5 == 0x25) {\n        iVar7 = iVar4 + 2;\n        uVar6 = *pbVar11 - 0x48 & 0xff;\n        pbVar11 = unaff_s2 + iVar7;\n        if (uVar6 < 0x30) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b67c */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))();\n          return;\n        }\n        *pbVar8 = 0x25;\n      }\n      else {\n        *pbVar8 = bVar5;\n      }\n      iVar14 = iVar14 + 1;\n      pbVar8 = pbVar3 + iVar14;\n      bVar5 = *pbVar11;\n      iVar4 = iVar7;\n    } while (bVar5 != 0);\n  }" if (parenthesized_expression "(bVar5 != 0)" ( (binary_expression "bVar5 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar14 = 0;\n    iVar4 = 0;\n    do {\n      iVar7 = iVar4 + 1;\n      pbVar11 = unaff_s2 + iVar7;\n      if (bVar5 == 0x25) {\n        iVar7 = iVar4 + 2;\n        uVar6 = *pbVar11 - 0x48 & 0xff;\n        pbVar11 = unaff_s2 + iVar7;\n        if (uVar6 < 0x30) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b67c */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))();\n          return;\n        }\n        *pbVar8 = 0x25;\n      }\n      else {\n        *pbVar8 = bVar5;\n      }\n      iVar14 = iVar14 + 1;\n      pbVar8 = pbVar3 + iVar14;\n      bVar5 = *pbVar11;\n      iVar4 = iVar7;\n    } while (bVar5 != 0);\n  }" { (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (do_statement "do {\n      iVar7 = iVar4 + 1;\n      pbVar11 = unaff_s2 + iVar7;\n      if (bVar5 == 0x25) {\n        iVar7 = iVar4 + 2;\n        uVar6 = *pbVar11 - 0x48 & 0xff;\n        pbVar11 = unaff_s2 + iVar7;\n        if (uVar6 < 0x30) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b67c */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))();\n          return;\n        }\n        *pbVar8 = 0x25;\n      }\n      else {\n        *pbVar8 = bVar5;\n      }\n      iVar14 = iVar14 + 1;\n      pbVar8 = pbVar3 + iVar14;\n      bVar5 = *pbVar11;\n      iVar4 = iVar7;\n    } while (bVar5 != 0);" do (compound_statement "{\n      iVar7 = iVar4 + 1;\n      pbVar11 = unaff_s2 + iVar7;\n      if (bVar5 == 0x25) {\n        iVar7 = iVar4 + 2;\n        uVar6 = *pbVar11 - 0x48 & 0xff;\n        pbVar11 = unaff_s2 + iVar7;\n        if (uVar6 < 0x30) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b67c */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))();\n          return;\n        }\n        *pbVar8 = 0x25;\n      }\n      else {\n        *pbVar8 = bVar5;\n      }\n      iVar14 = iVar14 + 1;\n      pbVar8 = pbVar3 + iVar14;\n      bVar5 = *pbVar11;\n      iVar4 = iVar7;\n    }" { (expression_statement "iVar7 = iVar4 + 1;" (assignment_expression "iVar7 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "pbVar11 = unaff_s2 + iVar7;" (assignment_expression "pbVar11 = unaff_s2 + iVar7" identifier = (binary_expression "unaff_s2 + iVar7" identifier + identifier)) ;) (if_statement "if (bVar5 == 0x25) {\n        iVar7 = iVar4 + 2;\n        uVar6 = *pbVar11 - 0x48 & 0xff;\n        pbVar11 = unaff_s2 + iVar7;\n        if (uVar6 < 0x30) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b67c */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))();\n          return;\n        }\n        *pbVar8 = 0x25;\n      }\n      else {\n        *pbVar8 = bVar5;\n      }" if (parenthesized_expression "(bVar5 == 0x25)" ( (binary_expression "bVar5 == 0x25" identifier == number_literal) )) (compound_statement "{\n        iVar7 = iVar4 + 2;\n        uVar6 = *pbVar11 - 0x48 & 0xff;\n        pbVar11 = unaff_s2 + iVar7;\n        if (uVar6 < 0x30) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b67c */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))();\n          return;\n        }\n        *pbVar8 = 0x25;\n      }" { (expression_statement "iVar7 = iVar4 + 2;" (assignment_expression "iVar7 = iVar4 + 2" identifier = (binary_expression "iVar4 + 2" identifier + number_literal)) ;) (expression_statement "uVar6 = *pbVar11 - 0x48 & 0xff;" (assignment_expression "uVar6 = *pbVar11 - 0x48 & 0xff" identifier = (binary_expression "*pbVar11 - 0x48 & 0xff" (binary_expression "*pbVar11 - 0x48" (pointer_expression "*pbVar11" * identifier) - number_literal) & number_literal)) ;) (expression_statement "pbVar11 = unaff_s2 + iVar7;" (assignment_expression "pbVar11 = unaff_s2 + iVar7" identifier = (binary_expression "unaff_s2 + iVar7" identifier + identifier)) ;) (if_statement "if (uVar6 < 0x30) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b67c */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))();\n          return;\n        }" if (parenthesized_expression "(uVar6 < 0x30)" ( (binary_expression "uVar6 < 0x30" identifier < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not emulate address calculation at 0x0008b67c */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))();\n          return;\n        }" { comment comment (expression_statement "(*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))();" (call_expression "(*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))()" (parenthesized_expression "(*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))" ( (pointer_expression "*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28))" * (cast_expression "(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28))" ( (binary_expression "&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)" (pointer_expression "&_gp_1" & identifier) + (pointer_expression "*(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)" * (cast_expression "(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28" (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4" identifier + (binary_expression "uVar6 * 4" identifier * number_literal)) + number_literal) ))))) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "*pbVar8 = 0x25;" (assignment_expression "*pbVar8 = 0x25" (pointer_expression "*pbVar8" * identifier) = number_literal) ;) }) (else_clause "else {\n        *pbVar8 = bVar5;\n      }" else (compound_statement "{\n        *pbVar8 = bVar5;\n      }" { (expression_statement "*pbVar8 = bVar5;" (assignment_expression "*pbVar8 = bVar5" (pointer_expression "*pbVar8" * identifier) = identifier) ;) }))) (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" identifier = (binary_expression "iVar14 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar3 + iVar14;" (assignment_expression "pbVar8 = pbVar3 + iVar14" identifier = (binary_expression "pbVar3 + iVar14" identifier + identifier)) ;) (expression_statement "bVar5 = *pbVar11;" (assignment_expression "bVar5 = *pbVar11" identifier = (pointer_expression "*pbVar11" * identifier)) ;) (expression_statement "iVar4 = iVar7;" (assignment_expression "iVar4 = iVar7" identifier = identifier) ;) }) while (parenthesized_expression "(bVar5 != 0)" ( (binary_expression "bVar5 != 0" identifier != number_literal) )) ;) })) (expression_statement "*pbVar8 = 0;" (assignment_expression "*pbVar8 = 0" (pointer_expression "*pbVar8" * identifier) = number_literal) ;) (if_statement "if (pbVar3 == local_114) {\n    puStack_124 = (undefined *)0xffffffff;\n  }\n  else {\n    puStack_124 = PTR_LAB_00190b40 + -0xf88;\n  }" if (parenthesized_expression "(pbVar3 == local_114)" ( (binary_expression "pbVar3 == local_114" identifier == identifier) )) (compound_statement "{\n    puStack_124 = (undefined *)0xffffffff;\n  }" { (expression_statement "puStack_124 = (undefined *)0xffffffff;" (assignment_expression "puStack_124 = (undefined *)0xffffffff" identifier = (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    puStack_124 = PTR_LAB_00190b40 + -0xf88;\n  }" else (compound_statement "{\n    puStack_124 = PTR_LAB_00190b40 + -0xf88;\n  }" { (expression_statement "puStack_124 = PTR_LAB_00190b40 + -0xf88;" (assignment_expression "puStack_124 = PTR_LAB_00190b40 + -0xf88" identifier = (binary_expression "PTR_LAB_00190b40 + -0xf88" identifier + number_literal)) ;) }))) (expression_statement "local_128 = 1;" (assignment_expression "local_128 = 1" identifier = number_literal) ;) (expression_statement "pbVar8 = param_1;" (assignment_expression "pbVar8 = param_1" identifier = identifier) ;) (expression_statement "FUN_0007ec40(param_1,param_1 + 0x14,pbVar3,0xffffffff);" (call_expression "FUN_0007ec40(param_1,param_1 + 0x14,pbVar3,0xffffffff)" identifier (argument_list "(param_1,param_1 + 0x14,pbVar3,0xffffffff)" ( identifier , (binary_expression "param_1 + 0x14" identifier + number_literal) , identifier , number_literal ))) ;) (labeled_statement "switchD_0008b4d8_caseD_1:\n  if (local_3c != *(int *)puVar13) {\n    uVar16 = 0x8bb30;\n    puVar13 = PTR___stack_chk_fail_00190df8;\n    (*(code *)PTR___stack_chk_fail_00190df8)();\n    puVar15 = auStack_138;\n    while( true ) {\n      pbVar3 = pbVar8;\n      *(byte **)(puVar15 + -0x10) = unaff_s0;\n      *(undefined **)(puVar15 + -0xb0) = puVar13 + 0x10cdf0;\n      *(byte **)(puVar15 + -8) = unaff_s2;\n      *(undefined1 **)(puVar15 + -0xc) = unaff_s1;\n      *(undefined4 *)(puVar15 + -4) = uVar16;\n      unaff_s0 = *(byte **)(puVar13 + 0x1052f4);\n      *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)unaff_s0;\n      pbVar8 = pbVar3;\n      iVar4 = FUN_00087980();\n      iVar14 = *(int *)(puVar15 + -0xb0);\n      unaff_s1 = puVar15 + -0xa8;\n      if (iVar4 == 0) {\n        unaff_s1 = puVar15 + -0x78;\n        (*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))(puVar15 + -0xa8);\n        *(undefined4 *)(puVar15 + -0xbc) = *(undefined4 *)(puVar15 + -0x90);\n        iVar4 = *(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4);\n        *(undefined4 *)(puVar15 + -0xc0) = *(undefined4 *)(puVar15 + -0x94);\n        *(undefined4 *)(puVar15 + -0xc4) = *(undefined4 *)(puVar15 + -0x98);\n        *(int *)(puVar15 + -0xb8) = (int)*(double *)(puVar15 + -0x88);\n        *(undefined4 *)(puVar15 + -200) = *(undefined4 *)(puVar15 + -0x9c);\n        sqlite3_snprintf(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0));\n        *(undefined4 *)(puVar15 + -0xc4) = 0xffffffff;\n        *(undefined4 *)(puVar15 + -200) = 1;\n        pbVar8 = pbVar3;\n        FUN_0007ec40(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff);\n        iVar14 = *(int *)(puVar15 + -0xb0);\n      }\n      if (*(int *)(puVar15 + -0x14) == *(int *)unaff_s0) break;\n      pcVar12 = *(code **)(iVar14 + -0x7b28);\n      uVar16 = 0x8bc4c;\n      (*pcVar12)();\n      puVar13 = (undefined *)(*(int *)(pcVar12 + 0x104f90) + -0x44d0);\n      unaff_s2 = pbVar3;\n      puVar15 = puVar15 + -0xd8;\n    }\n    return;\n  }" statement_identifier : (if_statement "if (local_3c != *(int *)puVar13) {\n    uVar16 = 0x8bb30;\n    puVar13 = PTR___stack_chk_fail_00190df8;\n    (*(code *)PTR___stack_chk_fail_00190df8)();\n    puVar15 = auStack_138;\n    while( true ) {\n      pbVar3 = pbVar8;\n      *(byte **)(puVar15 + -0x10) = unaff_s0;\n      *(undefined **)(puVar15 + -0xb0) = puVar13 + 0x10cdf0;\n      *(byte **)(puVar15 + -8) = unaff_s2;\n      *(undefined1 **)(puVar15 + -0xc) = unaff_s1;\n      *(undefined4 *)(puVar15 + -4) = uVar16;\n      unaff_s0 = *(byte **)(puVar13 + 0x1052f4);\n      *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)unaff_s0;\n      pbVar8 = pbVar3;\n      iVar4 = FUN_00087980();\n      iVar14 = *(int *)(puVar15 + -0xb0);\n      unaff_s1 = puVar15 + -0xa8;\n      if (iVar4 == 0) {\n        unaff_s1 = puVar15 + -0x78;\n        (*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))(puVar15 + -0xa8);\n        *(undefined4 *)(puVar15 + -0xbc) = *(undefined4 *)(puVar15 + -0x90);\n        iVar4 = *(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4);\n        *(undefined4 *)(puVar15 + -0xc0) = *(undefined4 *)(puVar15 + -0x94);\n        *(undefined4 *)(puVar15 + -0xc4) = *(undefined4 *)(puVar15 + -0x98);\n        *(int *)(puVar15 + -0xb8) = (int)*(double *)(puVar15 + -0x88);\n        *(undefined4 *)(puVar15 + -200) = *(undefined4 *)(puVar15 + -0x9c);\n        sqlite3_snprintf(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0));\n        *(undefined4 *)(puVar15 + -0xc4) = 0xffffffff;\n        *(undefined4 *)(puVar15 + -200) = 1;\n        pbVar8 = pbVar3;\n        FUN_0007ec40(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff);\n        iVar14 = *(int *)(puVar15 + -0xb0);\n      }\n      if (*(int *)(puVar15 + -0x14) == *(int *)unaff_s0) break;\n      pcVar12 = *(code **)(iVar14 + -0x7b28);\n      uVar16 = 0x8bc4c;\n      (*pcVar12)();\n      puVar13 = (undefined *)(*(int *)(pcVar12 + 0x104f90) + -0x44d0);\n      unaff_s2 = pbVar3;\n      puVar15 = puVar15 + -0xd8;\n    }\n    return;\n  }" if (parenthesized_expression "(local_3c != *(int *)puVar13)" ( (binary_expression "local_3c != *(int *)puVar13" identifier != (pointer_expression "*(int *)puVar13" * (cast_expression "(int *)puVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    uVar16 = 0x8bb30;\n    puVar13 = PTR___stack_chk_fail_00190df8;\n    (*(code *)PTR___stack_chk_fail_00190df8)();\n    puVar15 = auStack_138;\n    while( true ) {\n      pbVar3 = pbVar8;\n      *(byte **)(puVar15 + -0x10) = unaff_s0;\n      *(undefined **)(puVar15 + -0xb0) = puVar13 + 0x10cdf0;\n      *(byte **)(puVar15 + -8) = unaff_s2;\n      *(undefined1 **)(puVar15 + -0xc) = unaff_s1;\n      *(undefined4 *)(puVar15 + -4) = uVar16;\n      unaff_s0 = *(byte **)(puVar13 + 0x1052f4);\n      *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)unaff_s0;\n      pbVar8 = pbVar3;\n      iVar4 = FUN_00087980();\n      iVar14 = *(int *)(puVar15 + -0xb0);\n      unaff_s1 = puVar15 + -0xa8;\n      if (iVar4 == 0) {\n        unaff_s1 = puVar15 + -0x78;\n        (*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))(puVar15 + -0xa8);\n        *(undefined4 *)(puVar15 + -0xbc) = *(undefined4 *)(puVar15 + -0x90);\n        iVar4 = *(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4);\n        *(undefined4 *)(puVar15 + -0xc0) = *(undefined4 *)(puVar15 + -0x94);\n        *(undefined4 *)(puVar15 + -0xc4) = *(undefined4 *)(puVar15 + -0x98);\n        *(int *)(puVar15 + -0xb8) = (int)*(double *)(puVar15 + -0x88);\n        *(undefined4 *)(puVar15 + -200) = *(undefined4 *)(puVar15 + -0x9c);\n        sqlite3_snprintf(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0));\n        *(undefined4 *)(puVar15 + -0xc4) = 0xffffffff;\n        *(undefined4 *)(puVar15 + -200) = 1;\n        pbVar8 = pbVar3;\n        FUN_0007ec40(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff);\n        iVar14 = *(int *)(puVar15 + -0xb0);\n      }\n      if (*(int *)(puVar15 + -0x14) == *(int *)unaff_s0) break;\n      pcVar12 = *(code **)(iVar14 + -0x7b28);\n      uVar16 = 0x8bc4c;\n      (*pcVar12)();\n      puVar13 = (undefined *)(*(int *)(pcVar12 + 0x104f90) + -0x44d0);\n      unaff_s2 = pbVar3;\n      puVar15 = puVar15 + -0xd8;\n    }\n    return;\n  }" { (expression_statement "uVar16 = 0x8bb30;" (assignment_expression "uVar16 = 0x8bb30" identifier = number_literal) ;) (expression_statement "puVar13 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar13 = PTR___stack_chk_fail_00190df8" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00190df8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" * (cast_expression "(code *)PTR___stack_chk_fail_00190df8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puVar15 = auStack_138;" (assignment_expression "puVar15 = auStack_138" identifier = identifier) ;) (while_statement "while( true ) {\n      pbVar3 = pbVar8;\n      *(byte **)(puVar15 + -0x10) = unaff_s0;\n      *(undefined **)(puVar15 + -0xb0) = puVar13 + 0x10cdf0;\n      *(byte **)(puVar15 + -8) = unaff_s2;\n      *(undefined1 **)(puVar15 + -0xc) = unaff_s1;\n      *(undefined4 *)(puVar15 + -4) = uVar16;\n      unaff_s0 = *(byte **)(puVar13 + 0x1052f4);\n      *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)unaff_s0;\n      pbVar8 = pbVar3;\n      iVar4 = FUN_00087980();\n      iVar14 = *(int *)(puVar15 + -0xb0);\n      unaff_s1 = puVar15 + -0xa8;\n      if (iVar4 == 0) {\n        unaff_s1 = puVar15 + -0x78;\n        (*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))(puVar15 + -0xa8);\n        *(undefined4 *)(puVar15 + -0xbc) = *(undefined4 *)(puVar15 + -0x90);\n        iVar4 = *(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4);\n        *(undefined4 *)(puVar15 + -0xc0) = *(undefined4 *)(puVar15 + -0x94);\n        *(undefined4 *)(puVar15 + -0xc4) = *(undefined4 *)(puVar15 + -0x98);\n        *(int *)(puVar15 + -0xb8) = (int)*(double *)(puVar15 + -0x88);\n        *(undefined4 *)(puVar15 + -200) = *(undefined4 *)(puVar15 + -0x9c);\n        sqlite3_snprintf(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0));\n        *(undefined4 *)(puVar15 + -0xc4) = 0xffffffff;\n        *(undefined4 *)(puVar15 + -200) = 1;\n        pbVar8 = pbVar3;\n        FUN_0007ec40(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff);\n        iVar14 = *(int *)(puVar15 + -0xb0);\n      }\n      if (*(int *)(puVar15 + -0x14) == *(int *)unaff_s0) break;\n      pcVar12 = *(code **)(iVar14 + -0x7b28);\n      uVar16 = 0x8bc4c;\n      (*pcVar12)();\n      puVar13 = (undefined *)(*(int *)(pcVar12 + 0x104f90) + -0x44d0);\n      unaff_s2 = pbVar3;\n      puVar15 = puVar15 + -0xd8;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      pbVar3 = pbVar8;\n      *(byte **)(puVar15 + -0x10) = unaff_s0;\n      *(undefined **)(puVar15 + -0xb0) = puVar13 + 0x10cdf0;\n      *(byte **)(puVar15 + -8) = unaff_s2;\n      *(undefined1 **)(puVar15 + -0xc) = unaff_s1;\n      *(undefined4 *)(puVar15 + -4) = uVar16;\n      unaff_s0 = *(byte **)(puVar13 + 0x1052f4);\n      *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)unaff_s0;\n      pbVar8 = pbVar3;\n      iVar4 = FUN_00087980();\n      iVar14 = *(int *)(puVar15 + -0xb0);\n      unaff_s1 = puVar15 + -0xa8;\n      if (iVar4 == 0) {\n        unaff_s1 = puVar15 + -0x78;\n        (*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))(puVar15 + -0xa8);\n        *(undefined4 *)(puVar15 + -0xbc) = *(undefined4 *)(puVar15 + -0x90);\n        iVar4 = *(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4);\n        *(undefined4 *)(puVar15 + -0xc0) = *(undefined4 *)(puVar15 + -0x94);\n        *(undefined4 *)(puVar15 + -0xc4) = *(undefined4 *)(puVar15 + -0x98);\n        *(int *)(puVar15 + -0xb8) = (int)*(double *)(puVar15 + -0x88);\n        *(undefined4 *)(puVar15 + -200) = *(undefined4 *)(puVar15 + -0x9c);\n        sqlite3_snprintf(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0));\n        *(undefined4 *)(puVar15 + -0xc4) = 0xffffffff;\n        *(undefined4 *)(puVar15 + -200) = 1;\n        pbVar8 = pbVar3;\n        FUN_0007ec40(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff);\n        iVar14 = *(int *)(puVar15 + -0xb0);\n      }\n      if (*(int *)(puVar15 + -0x14) == *(int *)unaff_s0) break;\n      pcVar12 = *(code **)(iVar14 + -0x7b28);\n      uVar16 = 0x8bc4c;\n      (*pcVar12)();\n      puVar13 = (undefined *)(*(int *)(pcVar12 + 0x104f90) + -0x44d0);\n      unaff_s2 = pbVar3;\n      puVar15 = puVar15 + -0xd8;\n    }" { (expression_statement "pbVar3 = pbVar8;" (assignment_expression "pbVar3 = pbVar8" identifier = identifier) ;) (expression_statement "*(byte **)(puVar15 + -0x10) = unaff_s0;" (assignment_expression "*(byte **)(puVar15 + -0x10) = unaff_s0" (pointer_expression "*(byte **)(puVar15 + -0x10)" * (cast_expression "(byte **)(puVar15 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar15 + -0xb0) = puVar13 + 0x10cdf0;" (assignment_expression "*(undefined **)(puVar15 + -0xb0) = puVar13 + 0x10cdf0" (pointer_expression "*(undefined **)(puVar15 + -0xb0)" * (cast_expression "(undefined **)(puVar15 + -0xb0)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xb0)" ( (binary_expression "puVar15 + -0xb0" identifier + number_literal) )))) = (binary_expression "puVar13 + 0x10cdf0" identifier + number_literal)) ;) (expression_statement "*(byte **)(puVar15 + -8) = unaff_s2;" (assignment_expression "*(byte **)(puVar15 + -8) = unaff_s2" (pointer_expression "*(byte **)(puVar15 + -8)" * (cast_expression "(byte **)(puVar15 + -8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar15 + -0xc) = unaff_s1;" (assignment_expression "*(undefined1 **)(puVar15 + -0xc) = unaff_s1" (pointer_expression "*(undefined1 **)(puVar15 + -0xc)" * (cast_expression "(undefined1 **)(puVar15 + -0xc)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -4) = uVar16;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = uVar16" (pointer_expression "*(undefined4 *)(puVar15 + -4)" * (cast_expression "(undefined4 *)(puVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "unaff_s0 = *(byte **)(puVar13 + 0x1052f4);" (assignment_expression "unaff_s0 = *(byte **)(puVar13 + 0x1052f4)" identifier = (pointer_expression "*(byte **)(puVar13 + 0x1052f4)" * (cast_expression "(byte **)(puVar13 + 0x1052f4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x1052f4)" ( (binary_expression "puVar13 + 0x1052f4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)unaff_s0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)unaff_s0" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)unaff_s0" * (cast_expression "(undefined4 *)unaff_s0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pbVar8 = pbVar3;" (assignment_expression "pbVar8 = pbVar3" identifier = identifier) ;) (expression_statement "iVar4 = FUN_00087980();" (assignment_expression "iVar4 = FUN_00087980()" identifier = (call_expression "FUN_00087980()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar14 = *(int *)(puVar15 + -0xb0);" (assignment_expression "iVar14 = *(int *)(puVar15 + -0xb0)" identifier = (pointer_expression "*(int *)(puVar15 + -0xb0)" * (cast_expression "(int *)(puVar15 + -0xb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xb0)" ( (binary_expression "puVar15 + -0xb0" identifier + number_literal) ))))) ;) (expression_statement "unaff_s1 = puVar15 + -0xa8;" (assignment_expression "unaff_s1 = puVar15 + -0xa8" identifier = (binary_expression "puVar15 + -0xa8" identifier + number_literal)) ;) (if_statement "if (iVar4 == 0) {\n        unaff_s1 = puVar15 + -0x78;\n        (*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))(puVar15 + -0xa8);\n        *(undefined4 *)(puVar15 + -0xbc) = *(undefined4 *)(puVar15 + -0x90);\n        iVar4 = *(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4);\n        *(undefined4 *)(puVar15 + -0xc0) = *(undefined4 *)(puVar15 + -0x94);\n        *(undefined4 *)(puVar15 + -0xc4) = *(undefined4 *)(puVar15 + -0x98);\n        *(int *)(puVar15 + -0xb8) = (int)*(double *)(puVar15 + -0x88);\n        *(undefined4 *)(puVar15 + -200) = *(undefined4 *)(puVar15 + -0x9c);\n        sqlite3_snprintf(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0));\n        *(undefined4 *)(puVar15 + -0xc4) = 0xffffffff;\n        *(undefined4 *)(puVar15 + -200) = 1;\n        pbVar8 = pbVar3;\n        FUN_0007ec40(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff);\n        iVar14 = *(int *)(puVar15 + -0xb0);\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        unaff_s1 = puVar15 + -0x78;\n        (*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))(puVar15 + -0xa8);\n        *(undefined4 *)(puVar15 + -0xbc) = *(undefined4 *)(puVar15 + -0x90);\n        iVar4 = *(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4);\n        *(undefined4 *)(puVar15 + -0xc0) = *(undefined4 *)(puVar15 + -0x94);\n        *(undefined4 *)(puVar15 + -0xc4) = *(undefined4 *)(puVar15 + -0x98);\n        *(int *)(puVar15 + -0xb8) = (int)*(double *)(puVar15 + -0x88);\n        *(undefined4 *)(puVar15 + -200) = *(undefined4 *)(puVar15 + -0x9c);\n        sqlite3_snprintf(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0));\n        *(undefined4 *)(puVar15 + -0xc4) = 0xffffffff;\n        *(undefined4 *)(puVar15 + -200) = 1;\n        pbVar8 = pbVar3;\n        FUN_0007ec40(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff);\n        iVar14 = *(int *)(puVar15 + -0xb0);\n      }" { (expression_statement "unaff_s1 = puVar15 + -0x78;" (assignment_expression "unaff_s1 = puVar15 + -0x78" identifier = (binary_expression "puVar15 + -0x78" identifier + number_literal)) ;) (expression_statement "(*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))(puVar15 + -0xa8);" (call_expression "(*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))(puVar15 + -0xa8)" (parenthesized_expression "(*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))" ( (pointer_expression "*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac)" * (cast_expression "(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar14 + -0x7d78) + -0x35ac)" ( (binary_expression "*(int *)(iVar14 + -0x7d78) + -0x35ac" (pointer_expression "*(int *)(iVar14 + -0x7d78)" * (cast_expression "(int *)(iVar14 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + -0x7d78)" ( (binary_expression "iVar14 + -0x7d78" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar15 + -0xa8)" ( (binary_expression "puVar15 + -0xa8" identifier + number_literal) ))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xbc) = *(undefined4 *)(puVar15 + -0x90);" (assignment_expression "*(undefined4 *)(puVar15 + -0xbc) = *(undefined4 *)(puVar15 + -0x90)" (pointer_expression "*(undefined4 *)(puVar15 + -0xbc)" * (cast_expression "(undefined4 *)(puVar15 + -0xbc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xbc)" ( (binary_expression "puVar15 + -0xbc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + -0x90)" * (cast_expression "(undefined4 *)(puVar15 + -0x90)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x90)" ( (binary_expression "puVar15 + -0x90" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4);" (assignment_expression "iVar4 = *(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4)" identifier = (pointer_expression "*(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4)" * (cast_expression "(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + -0xb0) + -0x7fc4)" ( (binary_expression "*(int *)(puVar15 + -0xb0) + -0x7fc4" (pointer_expression "*(int *)(puVar15 + -0xb0)" * (cast_expression "(int *)(puVar15 + -0xb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xb0)" ( (binary_expression "puVar15 + -0xb0" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc0) = *(undefined4 *)(puVar15 + -0x94);" (assignment_expression "*(undefined4 *)(puVar15 + -0xc0) = *(undefined4 *)(puVar15 + -0x94)" (pointer_expression "*(undefined4 *)(puVar15 + -0xc0)" * (cast_expression "(undefined4 *)(puVar15 + -0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc0)" ( (binary_expression "puVar15 + -0xc0" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + -0x94)" * (cast_expression "(undefined4 *)(puVar15 + -0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x94)" ( (binary_expression "puVar15 + -0x94" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc4) = *(undefined4 *)(puVar15 + -0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0xc4) = *(undefined4 *)(puVar15 + -0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0xc4)" * (cast_expression "(undefined4 *)(puVar15 + -0xc4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc4)" ( (binary_expression "puVar15 + -0xc4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + -0x98)" * (cast_expression "(undefined4 *)(puVar15 + -0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x98)" ( (binary_expression "puVar15 + -0x98" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar15 + -0xb8) = (int)*(double *)(puVar15 + -0x88);" (assignment_expression "*(int *)(puVar15 + -0xb8) = (int)*(double *)(puVar15 + -0x88)" (pointer_expression "*(int *)(puVar15 + -0xb8)" * (cast_expression "(int *)(puVar15 + -0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xb8)" ( (binary_expression "puVar15 + -0xb8" identifier + number_literal) )))) = (cast_expression "(int)*(double *)(puVar15 + -0x88)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(double *)(puVar15 + -0x88)" * (cast_expression "(double *)(puVar15 + -0x88)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x88)" ( (binary_expression "puVar15 + -0x88" identifier + number_literal) )))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -200) = *(undefined4 *)(puVar15 + -0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -200) = *(undefined4 *)(puVar15 + -0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -200)" * (cast_expression "(undefined4 *)(puVar15 + -200)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -200)" ( (binary_expression "puVar15 + -200" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + -0x9c)" * (cast_expression "(undefined4 *)(puVar15 + -0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x9c)" ( (binary_expression "puVar15 + -0x9c" identifier + number_literal) ))))) ;) (expression_statement "sqlite3_snprintf(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0));" (call_expression "sqlite3_snprintf(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0))" identifier (argument_list "(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0))" ( number_literal , identifier , (binary_expression "iVar4 + -0x5eac" identifier + number_literal) , (pointer_expression "*(undefined4 *)(puVar15 + -0xa0)" * (cast_expression "(undefined4 *)(puVar15 + -0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xa0)" ( (binary_expression "puVar15 + -0xa0" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc4) = 0xffffffff;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc4) = 0xffffffff" (pointer_expression "*(undefined4 *)(puVar15 + -0xc4)" * (cast_expression "(undefined4 *)(puVar15 + -0xc4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc4)" ( (binary_expression "puVar15 + -0xc4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -200) = 1;" (assignment_expression "*(undefined4 *)(puVar15 + -200) = 1" (pointer_expression "*(undefined4 *)(puVar15 + -200)" * (cast_expression "(undefined4 *)(puVar15 + -200)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -200)" ( (binary_expression "puVar15 + -200" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pbVar8 = pbVar3;" (assignment_expression "pbVar8 = pbVar3" identifier = identifier) ;) (expression_statement "FUN_0007ec40(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff);" (call_expression "FUN_0007ec40(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff)" identifier (argument_list "(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff)" ( identifier , (binary_expression "pbVar3 + 0x14" identifier + number_literal) , identifier , number_literal ))) ;) (expression_statement "iVar14 = *(int *)(puVar15 + -0xb0);" (assignment_expression "iVar14 = *(int *)(puVar15 + -0xb0)" identifier = (pointer_expression "*(int *)(puVar15 + -0xb0)" * (cast_expression "(int *)(puVar15 + -0xb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xb0)" ( (binary_expression "puVar15 + -0xb0" identifier + number_literal) ))))) ;) })) (if_statement "if (*(int *)(puVar15 + -0x14) == *(int *)unaff_s0) break;" if (parenthesized_expression "(*(int *)(puVar15 + -0x14) == *(int *)unaff_s0)" ( (binary_expression "*(int *)(puVar15 + -0x14) == *(int *)unaff_s0" (pointer_expression "*(int *)(puVar15 + -0x14)" * (cast_expression "(int *)(puVar15 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) == (pointer_expression "*(int *)unaff_s0" * (cast_expression "(int *)unaff_s0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (break_statement "break;" break ;)) (expression_statement "pcVar12 = *(code **)(iVar14 + -0x7b28);" (assignment_expression "pcVar12 = *(code **)(iVar14 + -0x7b28)" identifier = (pointer_expression "*(code **)(iVar14 + -0x7b28)" * (cast_expression "(code **)(iVar14 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + -0x7b28)" ( (binary_expression "iVar14 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "uVar16 = 0x8bc4c;" (assignment_expression "uVar16 = 0x8bc4c" identifier = number_literal) ;) (expression_statement "(*pcVar12)();" (call_expression "(*pcVar12)()" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar13 = (undefined *)(*(int *)(pcVar12 + 0x104f90) + -0x44d0);" (assignment_expression "puVar13 = (undefined *)(*(int *)(pcVar12 + 0x104f90) + -0x44d0)" identifier = (cast_expression "(undefined *)(*(int *)(pcVar12 + 0x104f90) + -0x44d0)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar12 + 0x104f90) + -0x44d0)" ( (binary_expression "*(int *)(pcVar12 + 0x104f90) + -0x44d0" (pointer_expression "*(int *)(pcVar12 + 0x104f90)" * (cast_expression "(int *)(pcVar12 + 0x104f90)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x104f90)" ( (binary_expression "pcVar12 + 0x104f90" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "unaff_s2 = pbVar3;" (assignment_expression "unaff_s2 = pbVar3" identifier = identifier) ;) (expression_statement "puVar15 = puVar15 + -0xd8;" (assignment_expression "puVar15 = puVar15 + -0xd8" identifier = (binary_expression "puVar15 + -0xd8" identifier + number_literal)) ;) })) (return_statement "return;" return ;) }))) (return_statement "return;" return ;) })))
(translation_unit "void strftimeFunc(sqlite3_context *context,int argc,sqlite3_value **argv)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  byte *pbVar5;\n  int iVar6;\n  byte *n;\n  byte bVar7;\n  sqlite3_context *pCtx_1;\n  uint uVar8;\n  int iVar9;\n  sqlite3 *psVar10;\n  int iVar11;\n  uint uVar12;\n  uint uVar13;\n  byte *pbVar14;\n  byte *pbVar15;\n  byte *pbStack_114;\n  DateTime x;\n  DateTime y;\n  char zBuf [100];\n  \n  puVar3 = PTR___stack_chk_guard_00190e24;\n  iVar4 = *(int *)PTR___stack_chk_guard_00190e24;\n  if ((argc == 0) || (pbVar5 = (byte *)sqlite3ValueText(*argv,'\x01'), pbVar5 == (byte *)0x0))\n  goto LAB_0008b3d0;\n  iVar6 = isDate(context,argc + -1,argv + 1,&x);\n  puVar2 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n  if (iVar6 != 0) goto LAB_0008b3d0;\n  iVar6 = (int)(char)*pbVar5;\n  if (iVar6 == 0) {\nLAB_0008b5ac:\n    n = (byte *)zBuf;\n  }\n  else {\n    iVar11 = 0;\n    uVar13 = 0;\n    uVar8 = 1;\n    do {\n      iVar11 = iVar11 + 1;\n      bVar1 = iVar6 == 0x25;\n      iVar6 = (int)(char)pbVar5[iVar11];\n      if (bVar1) {\n        uVar8 = iVar6 - 0x25U & 0xff;\n        if (uVar8 < 0x53) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b4cc */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x39dc)))();\n          return;\n        }\n        goto LAB_0008b3d0;\n      }\n      uVar12 = uVar8 + 1;\n      uVar13 = (uVar12 < uVar8) + uVar13;\n      uVar8 = uVar12;\n    } while (iVar6 != 0);\n    if ((uVar13 == 0) && (uVar12 < 100)) goto LAB_0008b5ac;\n    psVar10 = context->pOut->db;\n    uVar8 = psVar10->aLimit[0] >> 0x1f;\n    if ((uVar8 < uVar13) || ((uVar13 == uVar8 && ((uint)psVar10->aLimit[0] < uVar12)))) {\n      context->isError = 0x12;\n      sqlite3VdbeMemSetStr(context->pOut,puVar2 + -0x612c,-1,'\x01',(_func_void_void_ptr *)0x0);\n      goto LAB_0008b3d0;\n    }\n    if ((psVar10->mallocFailed != '\0') ||\n       (n = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(psVar10,0,(int)uVar12 >> 0x1f),\n       n == (byte *)0x0)) {\n      (*(code *)PTR_sqlite3_result_error_nomem_001909dc)(context);\n      goto LAB_0008b3d0;\n    }\n  }\n  pbStack_114 = (byte *)zBuf;\n  if (x.validJD == '\0') {\n    (*(code *)(PTR_LAB_00190ba8 + -0x3bac))(&x);\n  }\n  (*(code *)(PTR_LAB_00190ba8 + -0x35ac))(&x);\n  bVar7 = *pbVar5;\n  pbVar15 = n;\n  if (bVar7 != 0) {\n    iVar11 = 0;\n    iVar6 = 0;\n    do {\n      iVar9 = iVar6 + 1;\n      pbVar14 = pbVar5 + iVar9;\n      if (bVar7 == 0x25) {\n        iVar9 = iVar6 + 2;\n        uVar8 = *pbVar14 - 0x48 & 0xff;\n        pbVar14 = pbVar5 + iVar9;\n        if (uVar8 < 0x30) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b67c */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x3b28)))();\n          return;\n        }\n        *pbVar15 = 0x25;\n      }\n      else {\n        *pbVar15 = bVar7;\n      }\n      iVar11 = iVar11 + 1;\n      pbVar15 = n + iVar11;\n      bVar7 = *pbVar14;\n      iVar6 = iVar9;\n    } while (bVar7 != 0);\n  }\n  *pbVar15 = 0;\n  if (n == pbStack_114) {\n    pCtx_1 = (sqlite3_context *)0xffffffff;\n  }\n  else {\n    pCtx_1 = (sqlite3_context *)(PTR_LAB_00190b40 + -0xf88);\n  }\n  setResultStrOrError(context,(char *)&context->isError,(int)n,0xff,(_func_void_void_ptr *)0x1,\n                      pCtx_1);\nLAB_0008b3d0:\n  if (iVar4 != *(int *)puVar3) {\n    (*(code *)PTR___stack_chk_fail_00190df8)();\n    return;\n  }\n  return;\n}\n\n" (function_definition "void strftimeFunc(sqlite3_context *context,int argc,sqlite3_value **argv)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  byte *pbVar5;\n  int iVar6;\n  byte *n;\n  byte bVar7;\n  sqlite3_context *pCtx_1;\n  uint uVar8;\n  int iVar9;\n  sqlite3 *psVar10;\n  int iVar11;\n  uint uVar12;\n  uint uVar13;\n  byte *pbVar14;\n  byte *pbVar15;\n  byte *pbStack_114;\n  DateTime x;\n  DateTime y;\n  char zBuf [100];\n  \n  puVar3 = PTR___stack_chk_guard_00190e24;\n  iVar4 = *(int *)PTR___stack_chk_guard_00190e24;\n  if ((argc == 0) || (pbVar5 = (byte *)sqlite3ValueText(*argv,'\x01'), pbVar5 == (byte *)0x0))\n  goto LAB_0008b3d0;\n  iVar6 = isDate(context,argc + -1,argv + 1,&x);\n  puVar2 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n  if (iVar6 != 0) goto LAB_0008b3d0;\n  iVar6 = (int)(char)*pbVar5;\n  if (iVar6 == 0) {\nLAB_0008b5ac:\n    n = (byte *)zBuf;\n  }\n  else {\n    iVar11 = 0;\n    uVar13 = 0;\n    uVar8 = 1;\n    do {\n      iVar11 = iVar11 + 1;\n      bVar1 = iVar6 == 0x25;\n      iVar6 = (int)(char)pbVar5[iVar11];\n      if (bVar1) {\n        uVar8 = iVar6 - 0x25U & 0xff;\n        if (uVar8 < 0x53) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b4cc */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x39dc)))();\n          return;\n        }\n        goto LAB_0008b3d0;\n      }\n      uVar12 = uVar8 + 1;\n      uVar13 = (uVar12 < uVar8) + uVar13;\n      uVar8 = uVar12;\n    } while (iVar6 != 0);\n    if ((uVar13 == 0) && (uVar12 < 100)) goto LAB_0008b5ac;\n    psVar10 = context->pOut->db;\n    uVar8 = psVar10->aLimit[0] >> 0x1f;\n    if ((uVar8 < uVar13) || ((uVar13 == uVar8 && ((uint)psVar10->aLimit[0] < uVar12)))) {\n      context->isError = 0x12;\n      sqlite3VdbeMemSetStr(context->pOut,puVar2 + -0x612c,-1,'\x01',(_func_void_void_ptr *)0x0);\n      goto LAB_0008b3d0;\n    }\n    if ((psVar10->mallocFailed != '\0') ||\n       (n = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(psVar10,0,(int)uVar12 >> 0x1f),\n       n == (byte *)0x0)) {\n      (*(code *)PTR_sqlite3_result_error_nomem_001909dc)(context);\n      goto LAB_0008b3d0;\n    }\n  }\n  pbStack_114 = (byte *)zBuf;\n  if (x.validJD == '\0') {\n    (*(code *)(PTR_LAB_00190ba8 + -0x3bac))(&x);\n  }\n  (*(code *)(PTR_LAB_00190ba8 + -0x35ac))(&x);\n  bVar7 = *pbVar5;\n  pbVar15 = n;\n  if (bVar7 != 0) {\n    iVar11 = 0;\n    iVar6 = 0;\n    do {\n      iVar9 = iVar6 + 1;\n      pbVar14 = pbVar5 + iVar9;\n      if (bVar7 == 0x25) {\n        iVar9 = iVar6 + 2;\n        uVar8 = *pbVar14 - 0x48 & 0xff;\n        pbVar14 = pbVar5 + iVar9;\n        if (uVar8 < 0x30) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b67c */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x3b28)))();\n          return;\n        }\n        *pbVar15 = 0x25;\n      }\n      else {\n        *pbVar15 = bVar7;\n      }\n      iVar11 = iVar11 + 1;\n      pbVar15 = n + iVar11;\n      bVar7 = *pbVar14;\n      iVar6 = iVar9;\n    } while (bVar7 != 0);\n  }\n  *pbVar15 = 0;\n  if (n == pbStack_114) {\n    pCtx_1 = (sqlite3_context *)0xffffffff;\n  }\n  else {\n    pCtx_1 = (sqlite3_context *)(PTR_LAB_00190b40 + -0xf88);\n  }\n  setResultStrOrError(context,(char *)&context->isError,(int)n,0xff,(_func_void_void_ptr *)0x1,\n                      pCtx_1);\nLAB_0008b3d0:\n  if (iVar4 != *(int *)puVar3) {\n    (*(code *)PTR___stack_chk_fail_00190df8)();\n    return;\n  }\n  return;\n}" primitive_type (function_declarator "strftimeFunc(sqlite3_context *context,int argc,sqlite3_value **argv)" identifier (parameter_list "(sqlite3_context *context,int argc,sqlite3_value **argv)" ( (parameter_declaration "sqlite3_context *context" type_identifier (pointer_declarator "*context" * identifier)) , (parameter_declaration "int argc" primitive_type identifier) , (parameter_declaration "sqlite3_value **argv" type_identifier (pointer_declarator "**argv" * (pointer_declarator "*argv" * identifier))) ))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  byte *pbVar5;\n  int iVar6;\n  byte *n;\n  byte bVar7;\n  sqlite3_context *pCtx_1;\n  uint uVar8;\n  int iVar9;\n  sqlite3 *psVar10;\n  int iVar11;\n  uint uVar12;\n  uint uVar13;\n  byte *pbVar14;\n  byte *pbVar15;\n  byte *pbStack_114;\n  DateTime x;\n  DateTime y;\n  char zBuf [100];\n  \n  puVar3 = PTR___stack_chk_guard_00190e24;\n  iVar4 = *(int *)PTR___stack_chk_guard_00190e24;\n  if ((argc == 0) || (pbVar5 = (byte *)sqlite3ValueText(*argv,'\x01'), pbVar5 == (byte *)0x0))\n  goto LAB_0008b3d0;\n  iVar6 = isDate(context,argc + -1,argv + 1,&x);\n  puVar2 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n  if (iVar6 != 0) goto LAB_0008b3d0;\n  iVar6 = (int)(char)*pbVar5;\n  if (iVar6 == 0) {\nLAB_0008b5ac:\n    n = (byte *)zBuf;\n  }\n  else {\n    iVar11 = 0;\n    uVar13 = 0;\n    uVar8 = 1;\n    do {\n      iVar11 = iVar11 + 1;\n      bVar1 = iVar6 == 0x25;\n      iVar6 = (int)(char)pbVar5[iVar11];\n      if (bVar1) {\n        uVar8 = iVar6 - 0x25U & 0xff;\n        if (uVar8 < 0x53) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b4cc */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x39dc)))();\n          return;\n        }\n        goto LAB_0008b3d0;\n      }\n      uVar12 = uVar8 + 1;\n      uVar13 = (uVar12 < uVar8) + uVar13;\n      uVar8 = uVar12;\n    } while (iVar6 != 0);\n    if ((uVar13 == 0) && (uVar12 < 100)) goto LAB_0008b5ac;\n    psVar10 = context->pOut->db;\n    uVar8 = psVar10->aLimit[0] >> 0x1f;\n    if ((uVar8 < uVar13) || ((uVar13 == uVar8 && ((uint)psVar10->aLimit[0] < uVar12)))) {\n      context->isError = 0x12;\n      sqlite3VdbeMemSetStr(context->pOut,puVar2 + -0x612c,-1,'\x01',(_func_void_void_ptr *)0x0);\n      goto LAB_0008b3d0;\n    }\n    if ((psVar10->mallocFailed != '\0') ||\n       (n = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(psVar10,0,(int)uVar12 >> 0x1f),\n       n == (byte *)0x0)) {\n      (*(code *)PTR_sqlite3_result_error_nomem_001909dc)(context);\n      goto LAB_0008b3d0;\n    }\n  }\n  pbStack_114 = (byte *)zBuf;\n  if (x.validJD == '\0') {\n    (*(code *)(PTR_LAB_00190ba8 + -0x3bac))(&x);\n  }\n  (*(code *)(PTR_LAB_00190ba8 + -0x35ac))(&x);\n  bVar7 = *pbVar5;\n  pbVar15 = n;\n  if (bVar7 != 0) {\n    iVar11 = 0;\n    iVar6 = 0;\n    do {\n      iVar9 = iVar6 + 1;\n      pbVar14 = pbVar5 + iVar9;\n      if (bVar7 == 0x25) {\n        iVar9 = iVar6 + 2;\n        uVar8 = *pbVar14 - 0x48 & 0xff;\n        pbVar14 = pbVar5 + iVar9;\n        if (uVar8 < 0x30) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b67c */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x3b28)))();\n          return;\n        }\n        *pbVar15 = 0x25;\n      }\n      else {\n        *pbVar15 = bVar7;\n      }\n      iVar11 = iVar11 + 1;\n      pbVar15 = n + iVar11;\n      bVar7 = *pbVar14;\n      iVar6 = iVar9;\n    } while (bVar7 != 0);\n  }\n  *pbVar15 = 0;\n  if (n == pbStack_114) {\n    pCtx_1 = (sqlite3_context *)0xffffffff;\n  }\n  else {\n    pCtx_1 = (sqlite3_context *)(PTR_LAB_00190b40 + -0xf88);\n  }\n  setResultStrOrError(context,(char *)&context->isError,(int)n,0xff,(_func_void_void_ptr *)0x1,\n                      pCtx_1);\nLAB_0008b3d0:\n  if (iVar4 != *(int *)puVar3) {\n    (*(code *)PTR___stack_chk_fail_00190df8)();\n    return;\n  }\n  return;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "byte *pbVar5;" type_identifier (pointer_declarator "*pbVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "byte *n;" type_identifier (pointer_declarator "*n" * identifier) ;) (declaration "byte bVar7;" type_identifier identifier ;) (declaration "sqlite3_context *pCtx_1;" type_identifier (pointer_declarator "*pCtx_1" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "sqlite3 *psVar10;" type_identifier (pointer_declarator "*psVar10" * identifier) ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "byte *pbVar14;" type_identifier (pointer_declarator "*pbVar14" * identifier) ;) (declaration "byte *pbVar15;" type_identifier (pointer_declarator "*pbVar15" * identifier) ;) (declaration "byte *pbStack_114;" type_identifier (pointer_declarator "*pbStack_114" * identifier) ;) (declaration "DateTime x;" type_identifier identifier ;) (declaration "DateTime y;" type_identifier identifier ;) (declaration "char zBuf [100];" primitive_type (array_declarator "zBuf [100]" identifier [ number_literal ]) ;) (expression_statement "puVar3 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar3 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "iVar4 = *(int *)PTR___stack_chk_guard_00190e24;" (assignment_expression "iVar4 = *(int *)PTR___stack_chk_guard_00190e24" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_00190e24" * (cast_expression "(int *)PTR___stack_chk_guard_00190e24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((argc == 0) || (pbVar5 = (byte *)sqlite3ValueText(*argv,'\x01'), pbVar5 == (byte *)0x0))\n  goto LAB_0008b3d0;" if (parenthesized_expression "((argc == 0) || (pbVar5 = (byte *)sqlite3ValueText(*argv,'\x01'), pbVar5 == (byte *)0x0))" ( (binary_expression "(argc == 0) || (pbVar5 = (byte *)sqlite3ValueText(*argv,'\x01'), pbVar5 == (byte *)0x0)" (parenthesized_expression "(argc == 0)" ( (binary_expression "argc == 0" identifier == number_literal) )) || (parenthesized_expression "(pbVar5 = (byte *)sqlite3ValueText(*argv,'\x01'), pbVar5 == (byte *)0x0)" ( (comma_expression "pbVar5 = (byte *)sqlite3ValueText(*argv,'\x01'), pbVar5 == (byte *)0x0" (assignment_expression "pbVar5 = (byte *)sqlite3ValueText(*argv,'\x01')" identifier = (cast_expression "(byte *)sqlite3ValueText(*argv,'\x01')" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sqlite3ValueText(*argv,'\x01')" identifier (argument_list "(*argv,'\x01')" ( (pointer_expression "*argv" * identifier) , (char_literal "'\x01'" ' escape_sequence ') ))))) , (binary_expression "pbVar5 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_0008b3d0;" goto statement_identifier ;)) (expression_statement "iVar6 = isDate(context,argc + -1,argv + 1,&x);" (assignment_expression "iVar6 = isDate(context,argc + -1,argv + 1,&x)" identifier = (call_expression "isDate(context,argc + -1,argv + 1,&x)" identifier (argument_list "(context,argc + -1,argv + 1,&x)" ( identifier , (binary_expression "argc + -1" identifier + number_literal) , (binary_expression "argv + 1" identifier + number_literal) , (pointer_expression "&x" & identifier) )))) ;) (expression_statement "puVar2 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;" (assignment_expression "puVar2 = PTR_s_o_page_from_root____pageno_INTEG_0019095c" identifier = identifier) ;) (if_statement "if (iVar6 != 0) goto LAB_0008b3d0;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0008b3d0;" goto statement_identifier ;)) (expression_statement "iVar6 = (int)(char)*pbVar5;" (assignment_expression "iVar6 = (int)(char)*pbVar5" identifier = (cast_expression "(int)(char)*pbVar5" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*pbVar5" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*pbVar5" * identifier)))) ;) (if_statement "if (iVar6 == 0) {\nLAB_0008b5ac:\n    n = (byte *)zBuf;\n  }\n  else {\n    iVar11 = 0;\n    uVar13 = 0;\n    uVar8 = 1;\n    do {\n      iVar11 = iVar11 + 1;\n      bVar1 = iVar6 == 0x25;\n      iVar6 = (int)(char)pbVar5[iVar11];\n      if (bVar1) {\n        uVar8 = iVar6 - 0x25U & 0xff;\n        if (uVar8 < 0x53) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b4cc */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x39dc)))();\n          return;\n        }\n        goto LAB_0008b3d0;\n      }\n      uVar12 = uVar8 + 1;\n      uVar13 = (uVar12 < uVar8) + uVar13;\n      uVar8 = uVar12;\n    } while (iVar6 != 0);\n    if ((uVar13 == 0) && (uVar12 < 100)) goto LAB_0008b5ac;\n    psVar10 = context->pOut->db;\n    uVar8 = psVar10->aLimit[0] >> 0x1f;\n    if ((uVar8 < uVar13) || ((uVar13 == uVar8 && ((uint)psVar10->aLimit[0] < uVar12)))) {\n      context->isError = 0x12;\n      sqlite3VdbeMemSetStr(context->pOut,puVar2 + -0x612c,-1,'\x01',(_func_void_void_ptr *)0x0);\n      goto LAB_0008b3d0;\n    }\n    if ((psVar10->mallocFailed != '\0') ||\n       (n = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(psVar10,0,(int)uVar12 >> 0x1f),\n       n == (byte *)0x0)) {\n      (*(code *)PTR_sqlite3_result_error_nomem_001909dc)(context);\n      goto LAB_0008b3d0;\n    }\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0008b5ac:\n    n = (byte *)zBuf;\n  }" { (labeled_statement "LAB_0008b5ac:\n    n = (byte *)zBuf;" statement_identifier : (expression_statement "n = (byte *)zBuf;" (assignment_expression "n = (byte *)zBuf" identifier = (cast_expression "(byte *)zBuf" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) }) (else_clause "else {\n    iVar11 = 0;\n    uVar13 = 0;\n    uVar8 = 1;\n    do {\n      iVar11 = iVar11 + 1;\n      bVar1 = iVar6 == 0x25;\n      iVar6 = (int)(char)pbVar5[iVar11];\n      if (bVar1) {\n        uVar8 = iVar6 - 0x25U & 0xff;\n        if (uVar8 < 0x53) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b4cc */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x39dc)))();\n          return;\n        }\n        goto LAB_0008b3d0;\n      }\n      uVar12 = uVar8 + 1;\n      uVar13 = (uVar12 < uVar8) + uVar13;\n      uVar8 = uVar12;\n    } while (iVar6 != 0);\n    if ((uVar13 == 0) && (uVar12 < 100)) goto LAB_0008b5ac;\n    psVar10 = context->pOut->db;\n    uVar8 = psVar10->aLimit[0] >> 0x1f;\n    if ((uVar8 < uVar13) || ((uVar13 == uVar8 && ((uint)psVar10->aLimit[0] < uVar12)))) {\n      context->isError = 0x12;\n      sqlite3VdbeMemSetStr(context->pOut,puVar2 + -0x612c,-1,'\x01',(_func_void_void_ptr *)0x0);\n      goto LAB_0008b3d0;\n    }\n    if ((psVar10->mallocFailed != '\0') ||\n       (n = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(psVar10,0,(int)uVar12 >> 0x1f),\n       n == (byte *)0x0)) {\n      (*(code *)PTR_sqlite3_result_error_nomem_001909dc)(context);\n      goto LAB_0008b3d0;\n    }\n  }" else (compound_statement "{\n    iVar11 = 0;\n    uVar13 = 0;\n    uVar8 = 1;\n    do {\n      iVar11 = iVar11 + 1;\n      bVar1 = iVar6 == 0x25;\n      iVar6 = (int)(char)pbVar5[iVar11];\n      if (bVar1) {\n        uVar8 = iVar6 - 0x25U & 0xff;\n        if (uVar8 < 0x53) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b4cc */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x39dc)))();\n          return;\n        }\n        goto LAB_0008b3d0;\n      }\n      uVar12 = uVar8 + 1;\n      uVar13 = (uVar12 < uVar8) + uVar13;\n      uVar8 = uVar12;\n    } while (iVar6 != 0);\n    if ((uVar13 == 0) && (uVar12 < 100)) goto LAB_0008b5ac;\n    psVar10 = context->pOut->db;\n    uVar8 = psVar10->aLimit[0] >> 0x1f;\n    if ((uVar8 < uVar13) || ((uVar13 == uVar8 && ((uint)psVar10->aLimit[0] < uVar12)))) {\n      context->isError = 0x12;\n      sqlite3VdbeMemSetStr(context->pOut,puVar2 + -0x612c,-1,'\x01',(_func_void_void_ptr *)0x0);\n      goto LAB_0008b3d0;\n    }\n    if ((psVar10->mallocFailed != '\0') ||\n       (n = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(psVar10,0,(int)uVar12 >> 0x1f),\n       n == (byte *)0x0)) {\n      (*(code *)PTR_sqlite3_result_error_nomem_001909dc)(context);\n      goto LAB_0008b3d0;\n    }\n  }" { (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;) (do_statement "do {\n      iVar11 = iVar11 + 1;\n      bVar1 = iVar6 == 0x25;\n      iVar6 = (int)(char)pbVar5[iVar11];\n      if (bVar1) {\n        uVar8 = iVar6 - 0x25U & 0xff;\n        if (uVar8 < 0x53) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b4cc */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x39dc)))();\n          return;\n        }\n        goto LAB_0008b3d0;\n      }\n      uVar12 = uVar8 + 1;\n      uVar13 = (uVar12 < uVar8) + uVar13;\n      uVar8 = uVar12;\n    } while (iVar6 != 0);" do (compound_statement "{\n      iVar11 = iVar11 + 1;\n      bVar1 = iVar6 == 0x25;\n      iVar6 = (int)(char)pbVar5[iVar11];\n      if (bVar1) {\n        uVar8 = iVar6 - 0x25U & 0xff;\n        if (uVar8 < 0x53) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b4cc */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x39dc)))();\n          return;\n        }\n        goto LAB_0008b3d0;\n      }\n      uVar12 = uVar8 + 1;\n      uVar13 = (uVar12 < uVar8) + uVar13;\n      uVar8 = uVar12;\n    }" { (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = iVar6 == 0x25;" (assignment_expression "bVar1 = iVar6 == 0x25" identifier = (binary_expression "iVar6 == 0x25" identifier == number_literal)) ;) (expression_statement "iVar6 = (int)(char)pbVar5[iVar11];" (assignment_expression "iVar6 = (int)(char)pbVar5[iVar11]" identifier = (cast_expression "(int)(char)pbVar5[iVar11]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar5[iVar11]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar5[iVar11]" identifier [ identifier ])))) ;) (if_statement "if (bVar1) {\n        uVar8 = iVar6 - 0x25U & 0xff;\n        if (uVar8 < 0x53) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b4cc */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x39dc)))();\n          return;\n        }\n        goto LAB_0008b3d0;\n      }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n        uVar8 = iVar6 - 0x25U & 0xff;\n        if (uVar8 < 0x53) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b4cc */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x39dc)))();\n          return;\n        }\n        goto LAB_0008b3d0;\n      }" { (expression_statement "uVar8 = iVar6 - 0x25U & 0xff;" (assignment_expression "uVar8 = iVar6 - 0x25U & 0xff" identifier = (binary_expression "iVar6 - 0x25U & 0xff" (binary_expression "iVar6 - 0x25U" identifier - number_literal) & number_literal)) ;) (if_statement "if (uVar8 < 0x53) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b4cc */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x39dc)))();\n          return;\n        }" if (parenthesized_expression "(uVar8 < 0x53)" ( (binary_expression "uVar8 < 0x53" identifier < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not emulate address calculation at 0x0008b4cc */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x39dc)))();\n          return;\n        }" { comment comment (expression_statement "(*(code *)(&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x39dc)))();" (call_expression "(*(code *)(&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x39dc)))()" (parenthesized_expression "(*(code *)(&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x39dc)))" ( (pointer_expression "*(code *)(&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x39dc))" * (cast_expression "(code *)(&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x39dc))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x39dc))" ( (binary_expression "&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x39dc)" (pointer_expression "&_gp" & identifier) + (pointer_expression "*(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x39dc)" * (cast_expression "(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x39dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x39dc)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x39dc" (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4" identifier + (binary_expression "uVar8 * 4" identifier * number_literal)) + number_literal) ))))) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (goto_statement "goto LAB_0008b3d0;" goto statement_identifier ;) })) (expression_statement "uVar12 = uVar8 + 1;" (assignment_expression "uVar12 = uVar8 + 1" identifier = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) (expression_statement "uVar13 = (uVar12 < uVar8) + uVar13;" (assignment_expression "uVar13 = (uVar12 < uVar8) + uVar13" identifier = (binary_expression "(uVar12 < uVar8) + uVar13" (parenthesized_expression "(uVar12 < uVar8)" ( (binary_expression "uVar12 < uVar8" identifier < identifier) )) + identifier)) ;) (expression_statement "uVar8 = uVar12;" (assignment_expression "uVar8 = uVar12" identifier = identifier) ;) }) while (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) ;) (if_statement "if ((uVar13 == 0) && (uVar12 < 100)) goto LAB_0008b5ac;" if (parenthesized_expression "((uVar13 == 0) && (uVar12 < 100))" ( (binary_expression "(uVar13 == 0) && (uVar12 < 100)" (parenthesized_expression "(uVar13 == 0)" ( (binary_expression "uVar13 == 0" identifier == number_literal) )) && (parenthesized_expression "(uVar12 < 100)" ( (binary_expression "uVar12 < 100" identifier < number_literal) ))) )) (goto_statement "goto LAB_0008b5ac;" goto statement_identifier ;)) (expression_statement "psVar10 = context->pOut->db;" (assignment_expression "psVar10 = context->pOut->db" identifier = (field_expression "context->pOut->db" (field_expression "context->pOut" identifier -> field_identifier) -> field_identifier)) ;) (expression_statement "uVar8 = psVar10->aLimit[0] >> 0x1f;" (assignment_expression "uVar8 = psVar10->aLimit[0] >> 0x1f" identifier = (binary_expression "psVar10->aLimit[0] >> 0x1f" (subscript_expression "psVar10->aLimit[0]" (field_expression "psVar10->aLimit" identifier -> field_identifier) [ number_literal ]) >> number_literal)) ;) (if_statement "if ((uVar8 < uVar13) || ((uVar13 == uVar8 && ((uint)psVar10->aLimit[0] < uVar12)))) {\n      context->isError = 0x12;\n      sqlite3VdbeMemSetStr(context->pOut,puVar2 + -0x612c,-1,'\x01',(_func_void_void_ptr *)0x0);\n      goto LAB_0008b3d0;\n    }" if (parenthesized_expression "((uVar8 < uVar13) || ((uVar13 == uVar8 && ((uint)psVar10->aLimit[0] < uVar12))))" ( (binary_expression "(uVar8 < uVar13) || ((uVar13 == uVar8 && ((uint)psVar10->aLimit[0] < uVar12)))" (parenthesized_expression "(uVar8 < uVar13)" ( (binary_expression "uVar8 < uVar13" identifier < identifier) )) || (parenthesized_expression "((uVar13 == uVar8 && ((uint)psVar10->aLimit[0] < uVar12)))" ( (parenthesized_expression "(uVar13 == uVar8 && ((uint)psVar10->aLimit[0] < uVar12))" ( (binary_expression "uVar13 == uVar8 && ((uint)psVar10->aLimit[0] < uVar12)" (binary_expression "uVar13 == uVar8" identifier == identifier) && (parenthesized_expression "((uint)psVar10->aLimit[0] < uVar12)" ( (binary_expression "(uint)psVar10->aLimit[0] < uVar12" (cast_expression "(uint)psVar10->aLimit[0]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "psVar10->aLimit[0]" (field_expression "psVar10->aLimit" identifier -> field_identifier) [ number_literal ])) < identifier) ))) )) ))) )) (compound_statement "{\n      context->isError = 0x12;\n      sqlite3VdbeMemSetStr(context->pOut,puVar2 + -0x612c,-1,'\x01',(_func_void_void_ptr *)0x0);\n      goto LAB_0008b3d0;\n    }" { (expression_statement "context->isError = 0x12;" (assignment_expression "context->isError = 0x12" (field_expression "context->isError" identifier -> field_identifier) = number_literal) ;) (expression_statement "sqlite3VdbeMemSetStr(context->pOut,puVar2 + -0x612c,-1,'\x01',(_func_void_void_ptr *)0x0);" (call_expression "sqlite3VdbeMemSetStr(context->pOut,puVar2 + -0x612c,-1,'\x01',(_func_void_void_ptr *)0x0)" identifier (argument_list "(context->pOut,puVar2 + -0x612c,-1,'\x01',(_func_void_void_ptr *)0x0)" ( (field_expression "context->pOut" identifier -> field_identifier) , (binary_expression "puVar2 + -0x612c" identifier + number_literal) , number_literal , (char_literal "'\x01'" ' escape_sequence ') , (cast_expression "(_func_void_void_ptr *)0x0" ( (type_descriptor "_func_void_void_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;) (goto_statement "goto LAB_0008b3d0;" goto statement_identifier ;) })) (if_statement "if ((psVar10->mallocFailed != '\0') ||\n       (n = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(psVar10,0,(int)uVar12 >> 0x1f),\n       n == (byte *)0x0)) {\n      (*(code *)PTR_sqlite3_result_error_nomem_001909dc)(context);\n      goto LAB_0008b3d0;\n    }" if (parenthesized_expression "((psVar10->mallocFailed != '\0') ||\n       (n = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(psVar10,0,(int)uVar12 >> 0x1f),\n       n == (byte *)0x0))" ( (binary_expression "(psVar10->mallocFailed != '\0') ||\n       (n = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(psVar10,0,(int)uVar12 >> 0x1f),\n       n == (byte *)0x0)" (parenthesized_expression "(psVar10->mallocFailed != '\0')" ( (binary_expression "psVar10->mallocFailed != '\0'" (field_expression "psVar10->mallocFailed" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(n = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(psVar10,0,(int)uVar12 >> 0x1f),\n       n == (byte *)0x0)" ( (comma_expression "n = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(psVar10,0,(int)uVar12 >> 0x1f),\n       n == (byte *)0x0" (assignment_expression "n = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(psVar10,0,(int)uVar12 >> 0x1f)" identifier = (cast_expression "(byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(psVar10,0,(int)uVar12 >> 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x854))(psVar10,0,(int)uVar12 >> 0x1f)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x854))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x854)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x854)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x854)" ( (binary_expression "PTR_LAB_00190ba8 + 0x854" identifier + number_literal) )))) )) (argument_list "(psVar10,0,(int)uVar12 >> 0x1f)" ( identifier , number_literal , (binary_expression "(int)uVar12 >> 0x1f" (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))))) , (binary_expression "n == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n      (*(code *)PTR_sqlite3_result_error_nomem_001909dc)(context);\n      goto LAB_0008b3d0;\n    }" { (expression_statement "(*(code *)PTR_sqlite3_result_error_nomem_001909dc)(context);" (call_expression "(*(code *)PTR_sqlite3_result_error_nomem_001909dc)(context)" (parenthesized_expression "(*(code *)PTR_sqlite3_result_error_nomem_001909dc)" ( (pointer_expression "*(code *)PTR_sqlite3_result_error_nomem_001909dc" * (cast_expression "(code *)PTR_sqlite3_result_error_nomem_001909dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(context)" ( identifier ))) ;) (goto_statement "goto LAB_0008b3d0;" goto statement_identifier ;) })) }))) (expression_statement "pbStack_114 = (byte *)zBuf;" (assignment_expression "pbStack_114 = (byte *)zBuf" identifier = (cast_expression "(byte *)zBuf" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (x.validJD == '\0') {\n    (*(code *)(PTR_LAB_00190ba8 + -0x3bac))(&x);\n  }" if (parenthesized_expression "(x.validJD == '\0')" ( (binary_expression "x.validJD == '\0'" (field_expression "x.validJD" identifier . field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    (*(code *)(PTR_LAB_00190ba8 + -0x3bac))(&x);\n  }" { (expression_statement "(*(code *)(PTR_LAB_00190ba8 + -0x3bac))(&x);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + -0x3bac))(&x)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + -0x3bac))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + -0x3bac)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x3bac)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x3bac)" ( (binary_expression "PTR_LAB_00190ba8 + -0x3bac" identifier + number_literal) )))) )) (argument_list "(&x)" ( (pointer_expression "&x" & identifier) ))) ;) })) (expression_statement "(*(code *)(PTR_LAB_00190ba8 + -0x35ac))(&x);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + -0x35ac))(&x)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + -0x35ac))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + -0x35ac)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x35ac)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x35ac)" ( (binary_expression "PTR_LAB_00190ba8 + -0x35ac" identifier + number_literal) )))) )) (argument_list "(&x)" ( (pointer_expression "&x" & identifier) ))) ;) (expression_statement "bVar7 = *pbVar5;" (assignment_expression "bVar7 = *pbVar5" identifier = (pointer_expression "*pbVar5" * identifier)) ;) (expression_statement "pbVar15 = n;" (assignment_expression "pbVar15 = n" identifier = identifier) ;) (if_statement "if (bVar7 != 0) {\n    iVar11 = 0;\n    iVar6 = 0;\n    do {\n      iVar9 = iVar6 + 1;\n      pbVar14 = pbVar5 + iVar9;\n      if (bVar7 == 0x25) {\n        iVar9 = iVar6 + 2;\n        uVar8 = *pbVar14 - 0x48 & 0xff;\n        pbVar14 = pbVar5 + iVar9;\n        if (uVar8 < 0x30) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b67c */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x3b28)))();\n          return;\n        }\n        *pbVar15 = 0x25;\n      }\n      else {\n        *pbVar15 = bVar7;\n      }\n      iVar11 = iVar11 + 1;\n      pbVar15 = n + iVar11;\n      bVar7 = *pbVar14;\n      iVar6 = iVar9;\n    } while (bVar7 != 0);\n  }" if (parenthesized_expression "(bVar7 != 0)" ( (binary_expression "bVar7 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar11 = 0;\n    iVar6 = 0;\n    do {\n      iVar9 = iVar6 + 1;\n      pbVar14 = pbVar5 + iVar9;\n      if (bVar7 == 0x25) {\n        iVar9 = iVar6 + 2;\n        uVar8 = *pbVar14 - 0x48 & 0xff;\n        pbVar14 = pbVar5 + iVar9;\n        if (uVar8 < 0x30) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b67c */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x3b28)))();\n          return;\n        }\n        *pbVar15 = 0x25;\n      }\n      else {\n        *pbVar15 = bVar7;\n      }\n      iVar11 = iVar11 + 1;\n      pbVar15 = n + iVar11;\n      bVar7 = *pbVar14;\n      iVar6 = iVar9;\n    } while (bVar7 != 0);\n  }" { (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n      iVar9 = iVar6 + 1;\n      pbVar14 = pbVar5 + iVar9;\n      if (bVar7 == 0x25) {\n        iVar9 = iVar6 + 2;\n        uVar8 = *pbVar14 - 0x48 & 0xff;\n        pbVar14 = pbVar5 + iVar9;\n        if (uVar8 < 0x30) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b67c */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x3b28)))();\n          return;\n        }\n        *pbVar15 = 0x25;\n      }\n      else {\n        *pbVar15 = bVar7;\n      }\n      iVar11 = iVar11 + 1;\n      pbVar15 = n + iVar11;\n      bVar7 = *pbVar14;\n      iVar6 = iVar9;\n    } while (bVar7 != 0);" do (compound_statement "{\n      iVar9 = iVar6 + 1;\n      pbVar14 = pbVar5 + iVar9;\n      if (bVar7 == 0x25) {\n        iVar9 = iVar6 + 2;\n        uVar8 = *pbVar14 - 0x48 & 0xff;\n        pbVar14 = pbVar5 + iVar9;\n        if (uVar8 < 0x30) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b67c */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x3b28)))();\n          return;\n        }\n        *pbVar15 = 0x25;\n      }\n      else {\n        *pbVar15 = bVar7;\n      }\n      iVar11 = iVar11 + 1;\n      pbVar15 = n + iVar11;\n      bVar7 = *pbVar14;\n      iVar6 = iVar9;\n    }" { (expression_statement "iVar9 = iVar6 + 1;" (assignment_expression "iVar9 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "pbVar14 = pbVar5 + iVar9;" (assignment_expression "pbVar14 = pbVar5 + iVar9" identifier = (binary_expression "pbVar5 + iVar9" identifier + identifier)) ;) (if_statement "if (bVar7 == 0x25) {\n        iVar9 = iVar6 + 2;\n        uVar8 = *pbVar14 - 0x48 & 0xff;\n        pbVar14 = pbVar5 + iVar9;\n        if (uVar8 < 0x30) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b67c */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x3b28)))();\n          return;\n        }\n        *pbVar15 = 0x25;\n      }\n      else {\n        *pbVar15 = bVar7;\n      }" if (parenthesized_expression "(bVar7 == 0x25)" ( (binary_expression "bVar7 == 0x25" identifier == number_literal) )) (compound_statement "{\n        iVar9 = iVar6 + 2;\n        uVar8 = *pbVar14 - 0x48 & 0xff;\n        pbVar14 = pbVar5 + iVar9;\n        if (uVar8 < 0x30) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b67c */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x3b28)))();\n          return;\n        }\n        *pbVar15 = 0x25;\n      }" { (expression_statement "iVar9 = iVar6 + 2;" (assignment_expression "iVar9 = iVar6 + 2" identifier = (binary_expression "iVar6 + 2" identifier + number_literal)) ;) (expression_statement "uVar8 = *pbVar14 - 0x48 & 0xff;" (assignment_expression "uVar8 = *pbVar14 - 0x48 & 0xff" identifier = (binary_expression "*pbVar14 - 0x48 & 0xff" (binary_expression "*pbVar14 - 0x48" (pointer_expression "*pbVar14" * identifier) - number_literal) & number_literal)) ;) (expression_statement "pbVar14 = pbVar5 + iVar9;" (assignment_expression "pbVar14 = pbVar5 + iVar9" identifier = (binary_expression "pbVar5 + iVar9" identifier + identifier)) ;) (if_statement "if (uVar8 < 0x30) {\n                    /* WARNING: Could not emulate address calculation at 0x0008b67c */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x3b28)))();\n          return;\n        }" if (parenthesized_expression "(uVar8 < 0x30)" ( (binary_expression "uVar8 < 0x30" identifier < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not emulate address calculation at 0x0008b67c */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x3b28)))();\n          return;\n        }" { comment comment (expression_statement "(*(code *)(&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x3b28)))();" (call_expression "(*(code *)(&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x3b28)))()" (parenthesized_expression "(*(code *)(&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x3b28)))" ( (pointer_expression "*(code *)(&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x3b28))" * (cast_expression "(code *)(&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x3b28))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x3b28))" ( (binary_expression "&_gp + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x3b28)" (pointer_expression "&_gp" & identifier) + (pointer_expression "*(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x3b28)" * (cast_expression "(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x3b28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x3b28)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4 + 0x3b28" (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                    uVar8 * 4" identifier + (binary_expression "uVar8 * 4" identifier * number_literal)) + number_literal) ))))) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "*pbVar15 = 0x25;" (assignment_expression "*pbVar15 = 0x25" (pointer_expression "*pbVar15" * identifier) = number_literal) ;) }) (else_clause "else {\n        *pbVar15 = bVar7;\n      }" else (compound_statement "{\n        *pbVar15 = bVar7;\n      }" { (expression_statement "*pbVar15 = bVar7;" (assignment_expression "*pbVar15 = bVar7" (pointer_expression "*pbVar15" * identifier) = identifier) ;) }))) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "pbVar15 = n + iVar11;" (assignment_expression "pbVar15 = n + iVar11" identifier = (binary_expression "n + iVar11" identifier + identifier)) ;) (expression_statement "bVar7 = *pbVar14;" (assignment_expression "bVar7 = *pbVar14" identifier = (pointer_expression "*pbVar14" * identifier)) ;) (expression_statement "iVar6 = iVar9;" (assignment_expression "iVar6 = iVar9" identifier = identifier) ;) }) while (parenthesized_expression "(bVar7 != 0)" ( (binary_expression "bVar7 != 0" identifier != number_literal) )) ;) })) (expression_statement "*pbVar15 = 0;" (assignment_expression "*pbVar15 = 0" (pointer_expression "*pbVar15" * identifier) = number_literal) ;) (if_statement "if (n == pbStack_114) {\n    pCtx_1 = (sqlite3_context *)0xffffffff;\n  }\n  else {\n    pCtx_1 = (sqlite3_context *)(PTR_LAB_00190b40 + -0xf88);\n  }" if (parenthesized_expression "(n == pbStack_114)" ( (binary_expression "n == pbStack_114" identifier == identifier) )) (compound_statement "{\n    pCtx_1 = (sqlite3_context *)0xffffffff;\n  }" { (expression_statement "pCtx_1 = (sqlite3_context *)0xffffffff;" (assignment_expression "pCtx_1 = (sqlite3_context *)0xffffffff" identifier = (cast_expression "(sqlite3_context *)0xffffffff" ( (type_descriptor "sqlite3_context *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    pCtx_1 = (sqlite3_context *)(PTR_LAB_00190b40 + -0xf88);\n  }" else (compound_statement "{\n    pCtx_1 = (sqlite3_context *)(PTR_LAB_00190b40 + -0xf88);\n  }" { (expression_statement "pCtx_1 = (sqlite3_context *)(PTR_LAB_00190b40 + -0xf88);" (assignment_expression "pCtx_1 = (sqlite3_context *)(PTR_LAB_00190b40 + -0xf88)" identifier = (cast_expression "(sqlite3_context *)(PTR_LAB_00190b40 + -0xf88)" ( (type_descriptor "sqlite3_context *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190b40 + -0xf88)" ( (binary_expression "PTR_LAB_00190b40 + -0xf88" identifier + number_literal) )))) ;) }))) (expression_statement "setResultStrOrError(context,(char *)&context->isError,(int)n,0xff,(_func_void_void_ptr *)0x1,\n                      pCtx_1);" (call_expression "setResultStrOrError(context,(char *)&context->isError,(int)n,0xff,(_func_void_void_ptr *)0x1,\n                      pCtx_1)" identifier (argument_list "(context,(char *)&context->isError,(int)n,0xff,(_func_void_void_ptr *)0x1,\n                      pCtx_1)" ( identifier , (cast_expression "(char *)&context->isError" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&context->isError" & (field_expression "context->isError" identifier -> field_identifier))) , (cast_expression "(int)n" ( (type_descriptor "int" primitive_type) ) identifier) , number_literal , (cast_expression "(_func_void_void_ptr *)0x1" ( (type_descriptor "_func_void_void_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier ))) ;) (labeled_statement "LAB_0008b3d0:\n  if (iVar4 != *(int *)puVar3) {\n    (*(code *)PTR___stack_chk_fail_00190df8)();\n    return;\n  }" statement_identifier : (if_statement "if (iVar4 != *(int *)puVar3) {\n    (*(code *)PTR___stack_chk_fail_00190df8)();\n    return;\n  }" if (parenthesized_expression "(iVar4 != *(int *)puVar3)" ( (binary_expression "iVar4 != *(int *)puVar3" identifier != (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    (*(code *)PTR___stack_chk_fail_00190df8)();\n    return;\n  }" { (expression_statement "(*(code *)PTR___stack_chk_fail_00190df8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" * (cast_expression "(code *)PTR___stack_chk_fail_00190df8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) }))) (return_statement "return;" return ;) })))
(translation_unit "void FUN_0008b378(byte *param_1,int param_2,undefined4 *param_3)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  byte *pbVar3;\n  byte bVar5;\n  int iVar4;\n  uint uVar6;\n  int iVar7;\n  byte *pbVar8;\n  uint uVar9;\n  uint uVar10;\n  byte *pbVar11;\n  byte *unaff_s0;\n  undefined1 *unaff_s1;\n  byte *unaff_s2;\n  code *pcVar12;\n  undefined *puVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  undefined4 uVar16;\n  undefined1 auStack_138 [16];\n  undefined4 local_128;\n  undefined *puStack_124;\n  byte *local_114;\n  undefined1 local_100 [40];\n  char local_d8;\n  byte abStack_a0 [100];\n  int local_3c;\n  \n  puVar13 = PTR___stack_chk_guard_00190e24;\n  local_3c = *(int *)PTR___stack_chk_guard_00190e24;\n  pbVar8 = param_1;\n  if (param_2 == 0) goto switchD_0008b4d8_caseD_1;\n  pbVar8 = (byte *)*param_3;\n  unaff_s2 = (byte *)FUN_00086f60(pbVar8,1);\n  unaff_s0 = param_1;\n  if (unaff_s2 == (byte *)0x0) goto switchD_0008b4d8_caseD_1;\n  unaff_s1 = local_100;\n  pbVar8 = param_1;\n  iVar4 = FUN_00087980(param_1,param_2 + -1,param_3 + 1,unaff_s1);\n  puVar2 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n  if (iVar4 != 0) goto switchD_0008b4d8_caseD_1;\n  iVar4 = (int)(char)*unaff_s2;\n  if (iVar4 == 0) {\nLAB_0008b5ac:\n    pbVar3 = abStack_a0;\n  }\n  else {\n    iVar14 = 0;\n    uVar10 = 0;\n    uVar6 = 1;\n    do {\n      iVar14 = iVar14 + 1;\n      bVar1 = iVar4 == 0x25;\n      iVar4 = (int)(char)unaff_s2[iVar14];\n      if (bVar1) {\n        uVar6 = iVar4 - 0x25U & 0xff;\n        pbVar8 = (byte *)(uint)(uVar6 < 0x53);\n        if (pbVar8 != (byte *)0x0) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();\n          return;\n        }\n        goto switchD_0008b4d8_caseD_1;\n      }\n      uVar9 = uVar6 + 1;\n      uVar10 = (uVar9 < uVar6) + uVar10;\n      uVar6 = uVar9;\n    } while (iVar4 != 0);\n    if ((uVar10 == 0) && (uVar9 < 100)) goto LAB_0008b5ac;\n    pbVar8 = *(byte **)param_1;\n    iVar4 = *(int *)(pbVar8 + 0x20);\n    uVar6 = (int)*(uint *)(iVar4 + 0x6c) >> 0x1f;\n    if ((uVar6 < uVar10) || ((uVar10 == uVar6 && (*(uint *)(iVar4 + 0x6c) < uVar9)))) {\n      param_1[0x14] = 0;\n      param_1[0x15] = 0;\n      param_1[0x16] = 0;\n      param_1[0x17] = 0x12;\n      local_128 = 0;\n      FUN_0007d514(pbVar8,puVar2 + -0x612c,0xffffffff,1);\n      goto switchD_0008b4d8_caseD_1;\n    }\n    if ((*(char *)(iVar4 + 0x51) != '\0') ||\n       (pbVar3 = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f),\n       pbVar3 == (byte *)0x0)) {\n      pbVar8 = param_1;\n      (*(code *)PTR_sqlite3_result_error_nomem_001909dc)();\n      goto switchD_0008b4d8_caseD_1;\n    }\n  }\n  local_114 = abStack_a0;\n  if (local_d8 == '\0') {\n    (*(code *)(PTR_LAB_00190ba8 + -0x3bac))(unaff_s1);\n  }\n  (*(code *)(PTR_LAB_00190ba8 + -0x35ac))(unaff_s1);\n  bVar5 = *unaff_s2;\n  pbVar8 = pbVar3;\n  if (bVar5 != 0) {\n    iVar14 = 0;\n    iVar4 = 0;\n    do {\n      iVar7 = iVar4 + 1;\n      pbVar11 = unaff_s2 + iVar7;\n      if (bVar5 == 0x25) {\n        iVar7 = iVar4 + 2;\n        uVar6 = *pbVar11 - 0x48 & 0xff;\n        pbVar11 = unaff_s2 + iVar7;\n        if (uVar6 < 0x30) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))();\n          return;\n        }\n        *pbVar8 = 0x25;\n      }\n      else {\n        *pbVar8 = bVar5;\n      }\n      iVar14 = iVar14 + 1;\n      pbVar8 = pbVar3 + iVar14;\n      bVar5 = *pbVar11;\n      iVar4 = iVar7;\n    } while (bVar5 != 0);\n  }\n  *pbVar8 = 0;\n  if (pbVar3 == local_114) {\n    puStack_124 = (undefined *)0xffffffff;\n  }\n  else {\n    puStack_124 = PTR_LAB_00190b40 + -0xf88;\n  }\n  local_128 = 1;\n  pbVar8 = param_1;\n  FUN_0007ec40(param_1,param_1 + 0x14,pbVar3,0xffffffff);\nswitchD_0008b4d8_caseD_1:\n  if (local_3c != *(int *)puVar13) {\n    uVar16 = 0x8bb30;\n    puVar13 = PTR___stack_chk_fail_00190df8;\n    (*(code *)PTR___stack_chk_fail_00190df8)();\n    puVar15 = auStack_138;\n    while( true ) {\n      pbVar3 = pbVar8;\n      *(byte **)(puVar15 + -0x10) = unaff_s0;\n      *(undefined **)(puVar15 + -0xb0) = puVar13 + 0x10cdf0;\n      *(byte **)(puVar15 + -8) = unaff_s2;\n      *(undefined1 **)(puVar15 + -0xc) = unaff_s1;\n      *(undefined4 *)(puVar15 + -4) = uVar16;\n      unaff_s0 = *(byte **)(puVar13 + 0x1052f4);\n      *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)unaff_s0;\n      pbVar8 = pbVar3;\n      iVar4 = FUN_00087980();\n      iVar14 = *(int *)(puVar15 + -0xb0);\n      unaff_s1 = puVar15 + -0xa8;\n      if (iVar4 == 0) {\n        unaff_s1 = puVar15 + -0x78;\n        (*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))(puVar15 + -0xa8);\n        *(undefined4 *)(puVar15 + -0xbc) = *(undefined4 *)(puVar15 + -0x90);\n        iVar4 = *(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4);\n        *(undefined4 *)(puVar15 + -0xc0) = *(undefined4 *)(puVar15 + -0x94);\n        *(undefined4 *)(puVar15 + -0xc4) = *(undefined4 *)(puVar15 + -0x98);\n        *(int *)(puVar15 + -0xb8) = (int)*(double *)(puVar15 + -0x88);\n        *(undefined4 *)(puVar15 + -200) = *(undefined4 *)(puVar15 + -0x9c);\n        sqlite3_snprintf(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0));\n        *(undefined4 *)(puVar15 + -0xc4) = 0xffffffff;\n        *(undefined4 *)(puVar15 + -200) = 1;\n        pbVar8 = pbVar3;\n        FUN_0007ec40(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff);\n        iVar14 = *(int *)(puVar15 + -0xb0);\n      }\n      if (*(int *)(puVar15 + -0x14) == *(int *)unaff_s0) break;\n      pcVar12 = *(code **)(iVar14 + -0x7b28);\n      uVar16 = 0x8bc4c;\n      (*pcVar12)();\n      puVar13 = (undefined *)(*(int *)(pcVar12 + 0x104f90) + -0x44d0);\n      unaff_s2 = pbVar3;\n      puVar15 = puVar15 + -0xd8;\n    }\n    return;\n  }\n  return;\n}\n\n" (function_definition "void FUN_0008b378(byte *param_1,int param_2,undefined4 *param_3)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  byte *pbVar3;\n  byte bVar5;\n  int iVar4;\n  uint uVar6;\n  int iVar7;\n  byte *pbVar8;\n  uint uVar9;\n  uint uVar10;\n  byte *pbVar11;\n  byte *unaff_s0;\n  undefined1 *unaff_s1;\n  byte *unaff_s2;\n  code *pcVar12;\n  undefined *puVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  undefined4 uVar16;\n  undefined1 auStack_138 [16];\n  undefined4 local_128;\n  undefined *puStack_124;\n  byte *local_114;\n  undefined1 local_100 [40];\n  char local_d8;\n  byte abStack_a0 [100];\n  int local_3c;\n  \n  puVar13 = PTR___stack_chk_guard_00190e24;\n  local_3c = *(int *)PTR___stack_chk_guard_00190e24;\n  pbVar8 = param_1;\n  if (param_2 == 0) goto switchD_0008b4d8_caseD_1;\n  pbVar8 = (byte *)*param_3;\n  unaff_s2 = (byte *)FUN_00086f60(pbVar8,1);\n  unaff_s0 = param_1;\n  if (unaff_s2 == (byte *)0x0) goto switchD_0008b4d8_caseD_1;\n  unaff_s1 = local_100;\n  pbVar8 = param_1;\n  iVar4 = FUN_00087980(param_1,param_2 + -1,param_3 + 1,unaff_s1);\n  puVar2 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n  if (iVar4 != 0) goto switchD_0008b4d8_caseD_1;\n  iVar4 = (int)(char)*unaff_s2;\n  if (iVar4 == 0) {\nLAB_0008b5ac:\n    pbVar3 = abStack_a0;\n  }\n  else {\n    iVar14 = 0;\n    uVar10 = 0;\n    uVar6 = 1;\n    do {\n      iVar14 = iVar14 + 1;\n      bVar1 = iVar4 == 0x25;\n      iVar4 = (int)(char)unaff_s2[iVar14];\n      if (bVar1) {\n        uVar6 = iVar4 - 0x25U & 0xff;\n        pbVar8 = (byte *)(uint)(uVar6 < 0x53);\n        if (pbVar8 != (byte *)0x0) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();\n          return;\n        }\n        goto switchD_0008b4d8_caseD_1;\n      }\n      uVar9 = uVar6 + 1;\n      uVar10 = (uVar9 < uVar6) + uVar10;\n      uVar6 = uVar9;\n    } while (iVar4 != 0);\n    if ((uVar10 == 0) && (uVar9 < 100)) goto LAB_0008b5ac;\n    pbVar8 = *(byte **)param_1;\n    iVar4 = *(int *)(pbVar8 + 0x20);\n    uVar6 = (int)*(uint *)(iVar4 + 0x6c) >> 0x1f;\n    if ((uVar6 < uVar10) || ((uVar10 == uVar6 && (*(uint *)(iVar4 + 0x6c) < uVar9)))) {\n      param_1[0x14] = 0;\n      param_1[0x15] = 0;\n      param_1[0x16] = 0;\n      param_1[0x17] = 0x12;\n      local_128 = 0;\n      FUN_0007d514(pbVar8,puVar2 + -0x612c,0xffffffff,1);\n      goto switchD_0008b4d8_caseD_1;\n    }\n    if ((*(char *)(iVar4 + 0x51) != '\0') ||\n       (pbVar3 = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f),\n       pbVar3 == (byte *)0x0)) {\n      pbVar8 = param_1;\n      (*(code *)PTR_sqlite3_result_error_nomem_001909dc)();\n      goto switchD_0008b4d8_caseD_1;\n    }\n  }\n  local_114 = abStack_a0;\n  if (local_d8 == '\0') {\n    (*(code *)(PTR_LAB_00190ba8 + -0x3bac))(unaff_s1);\n  }\n  (*(code *)(PTR_LAB_00190ba8 + -0x35ac))(unaff_s1);\n  bVar5 = *unaff_s2;\n  pbVar8 = pbVar3;\n  if (bVar5 != 0) {\n    iVar14 = 0;\n    iVar4 = 0;\n    do {\n      iVar7 = iVar4 + 1;\n      pbVar11 = unaff_s2 + iVar7;\n      if (bVar5 == 0x25) {\n        iVar7 = iVar4 + 2;\n        uVar6 = *pbVar11 - 0x48 & 0xff;\n        pbVar11 = unaff_s2 + iVar7;\n        if (uVar6 < 0x30) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))();\n          return;\n        }\n        *pbVar8 = 0x25;\n      }\n      else {\n        *pbVar8 = bVar5;\n      }\n      iVar14 = iVar14 + 1;\n      pbVar8 = pbVar3 + iVar14;\n      bVar5 = *pbVar11;\n      iVar4 = iVar7;\n    } while (bVar5 != 0);\n  }\n  *pbVar8 = 0;\n  if (pbVar3 == local_114) {\n    puStack_124 = (undefined *)0xffffffff;\n  }\n  else {\n    puStack_124 = PTR_LAB_00190b40 + -0xf88;\n  }\n  local_128 = 1;\n  pbVar8 = param_1;\n  FUN_0007ec40(param_1,param_1 + 0x14,pbVar3,0xffffffff);\nswitchD_0008b4d8_caseD_1:\n  if (local_3c != *(int *)puVar13) {\n    uVar16 = 0x8bb30;\n    puVar13 = PTR___stack_chk_fail_00190df8;\n    (*(code *)PTR___stack_chk_fail_00190df8)();\n    puVar15 = auStack_138;\n    while( true ) {\n      pbVar3 = pbVar8;\n      *(byte **)(puVar15 + -0x10) = unaff_s0;\n      *(undefined **)(puVar15 + -0xb0) = puVar13 + 0x10cdf0;\n      *(byte **)(puVar15 + -8) = unaff_s2;\n      *(undefined1 **)(puVar15 + -0xc) = unaff_s1;\n      *(undefined4 *)(puVar15 + -4) = uVar16;\n      unaff_s0 = *(byte **)(puVar13 + 0x1052f4);\n      *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)unaff_s0;\n      pbVar8 = pbVar3;\n      iVar4 = FUN_00087980();\n      iVar14 = *(int *)(puVar15 + -0xb0);\n      unaff_s1 = puVar15 + -0xa8;\n      if (iVar4 == 0) {\n        unaff_s1 = puVar15 + -0x78;\n        (*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))(puVar15 + -0xa8);\n        *(undefined4 *)(puVar15 + -0xbc) = *(undefined4 *)(puVar15 + -0x90);\n        iVar4 = *(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4);\n        *(undefined4 *)(puVar15 + -0xc0) = *(undefined4 *)(puVar15 + -0x94);\n        *(undefined4 *)(puVar15 + -0xc4) = *(undefined4 *)(puVar15 + -0x98);\n        *(int *)(puVar15 + -0xb8) = (int)*(double *)(puVar15 + -0x88);\n        *(undefined4 *)(puVar15 + -200) = *(undefined4 *)(puVar15 + -0x9c);\n        sqlite3_snprintf(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0));\n        *(undefined4 *)(puVar15 + -0xc4) = 0xffffffff;\n        *(undefined4 *)(puVar15 + -200) = 1;\n        pbVar8 = pbVar3;\n        FUN_0007ec40(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff);\n        iVar14 = *(int *)(puVar15 + -0xb0);\n      }\n      if (*(int *)(puVar15 + -0x14) == *(int *)unaff_s0) break;\n      pcVar12 = *(code **)(iVar14 + -0x7b28);\n      uVar16 = 0x8bc4c;\n      (*pcVar12)();\n      puVar13 = (undefined *)(*(int *)(pcVar12 + 0x104f90) + -0x44d0);\n      unaff_s2 = pbVar3;\n      puVar15 = puVar15 + -0xd8;\n    }\n    return;\n  }\n  return;\n}" primitive_type (function_declarator "FUN_0008b378(byte *param_1,int param_2,undefined4 *param_3)" identifier (parameter_list "(byte *param_1,int param_2,undefined4 *param_3)" ( (parameter_declaration "byte *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined4 *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  byte *pbVar3;\n  byte bVar5;\n  int iVar4;\n  uint uVar6;\n  int iVar7;\n  byte *pbVar8;\n  uint uVar9;\n  uint uVar10;\n  byte *pbVar11;\n  byte *unaff_s0;\n  undefined1 *unaff_s1;\n  byte *unaff_s2;\n  code *pcVar12;\n  undefined *puVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  undefined4 uVar16;\n  undefined1 auStack_138 [16];\n  undefined4 local_128;\n  undefined *puStack_124;\n  byte *local_114;\n  undefined1 local_100 [40];\n  char local_d8;\n  byte abStack_a0 [100];\n  int local_3c;\n  \n  puVar13 = PTR___stack_chk_guard_00190e24;\n  local_3c = *(int *)PTR___stack_chk_guard_00190e24;\n  pbVar8 = param_1;\n  if (param_2 == 0) goto switchD_0008b4d8_caseD_1;\n  pbVar8 = (byte *)*param_3;\n  unaff_s2 = (byte *)FUN_00086f60(pbVar8,1);\n  unaff_s0 = param_1;\n  if (unaff_s2 == (byte *)0x0) goto switchD_0008b4d8_caseD_1;\n  unaff_s1 = local_100;\n  pbVar8 = param_1;\n  iVar4 = FUN_00087980(param_1,param_2 + -1,param_3 + 1,unaff_s1);\n  puVar2 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n  if (iVar4 != 0) goto switchD_0008b4d8_caseD_1;\n  iVar4 = (int)(char)*unaff_s2;\n  if (iVar4 == 0) {\nLAB_0008b5ac:\n    pbVar3 = abStack_a0;\n  }\n  else {\n    iVar14 = 0;\n    uVar10 = 0;\n    uVar6 = 1;\n    do {\n      iVar14 = iVar14 + 1;\n      bVar1 = iVar4 == 0x25;\n      iVar4 = (int)(char)unaff_s2[iVar14];\n      if (bVar1) {\n        uVar6 = iVar4 - 0x25U & 0xff;\n        pbVar8 = (byte *)(uint)(uVar6 < 0x53);\n        if (pbVar8 != (byte *)0x0) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();\n          return;\n        }\n        goto switchD_0008b4d8_caseD_1;\n      }\n      uVar9 = uVar6 + 1;\n      uVar10 = (uVar9 < uVar6) + uVar10;\n      uVar6 = uVar9;\n    } while (iVar4 != 0);\n    if ((uVar10 == 0) && (uVar9 < 100)) goto LAB_0008b5ac;\n    pbVar8 = *(byte **)param_1;\n    iVar4 = *(int *)(pbVar8 + 0x20);\n    uVar6 = (int)*(uint *)(iVar4 + 0x6c) >> 0x1f;\n    if ((uVar6 < uVar10) || ((uVar10 == uVar6 && (*(uint *)(iVar4 + 0x6c) < uVar9)))) {\n      param_1[0x14] = 0;\n      param_1[0x15] = 0;\n      param_1[0x16] = 0;\n      param_1[0x17] = 0x12;\n      local_128 = 0;\n      FUN_0007d514(pbVar8,puVar2 + -0x612c,0xffffffff,1);\n      goto switchD_0008b4d8_caseD_1;\n    }\n    if ((*(char *)(iVar4 + 0x51) != '\0') ||\n       (pbVar3 = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f),\n       pbVar3 == (byte *)0x0)) {\n      pbVar8 = param_1;\n      (*(code *)PTR_sqlite3_result_error_nomem_001909dc)();\n      goto switchD_0008b4d8_caseD_1;\n    }\n  }\n  local_114 = abStack_a0;\n  if (local_d8 == '\0') {\n    (*(code *)(PTR_LAB_00190ba8 + -0x3bac))(unaff_s1);\n  }\n  (*(code *)(PTR_LAB_00190ba8 + -0x35ac))(unaff_s1);\n  bVar5 = *unaff_s2;\n  pbVar8 = pbVar3;\n  if (bVar5 != 0) {\n    iVar14 = 0;\n    iVar4 = 0;\n    do {\n      iVar7 = iVar4 + 1;\n      pbVar11 = unaff_s2 + iVar7;\n      if (bVar5 == 0x25) {\n        iVar7 = iVar4 + 2;\n        uVar6 = *pbVar11 - 0x48 & 0xff;\n        pbVar11 = unaff_s2 + iVar7;\n        if (uVar6 < 0x30) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))();\n          return;\n        }\n        *pbVar8 = 0x25;\n      }\n      else {\n        *pbVar8 = bVar5;\n      }\n      iVar14 = iVar14 + 1;\n      pbVar8 = pbVar3 + iVar14;\n      bVar5 = *pbVar11;\n      iVar4 = iVar7;\n    } while (bVar5 != 0);\n  }\n  *pbVar8 = 0;\n  if (pbVar3 == local_114) {\n    puStack_124 = (undefined *)0xffffffff;\n  }\n  else {\n    puStack_124 = PTR_LAB_00190b40 + -0xf88;\n  }\n  local_128 = 1;\n  pbVar8 = param_1;\n  FUN_0007ec40(param_1,param_1 + 0x14,pbVar3,0xffffffff);\nswitchD_0008b4d8_caseD_1:\n  if (local_3c != *(int *)puVar13) {\n    uVar16 = 0x8bb30;\n    puVar13 = PTR___stack_chk_fail_00190df8;\n    (*(code *)PTR___stack_chk_fail_00190df8)();\n    puVar15 = auStack_138;\n    while( true ) {\n      pbVar3 = pbVar8;\n      *(byte **)(puVar15 + -0x10) = unaff_s0;\n      *(undefined **)(puVar15 + -0xb0) = puVar13 + 0x10cdf0;\n      *(byte **)(puVar15 + -8) = unaff_s2;\n      *(undefined1 **)(puVar15 + -0xc) = unaff_s1;\n      *(undefined4 *)(puVar15 + -4) = uVar16;\n      unaff_s0 = *(byte **)(puVar13 + 0x1052f4);\n      *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)unaff_s0;\n      pbVar8 = pbVar3;\n      iVar4 = FUN_00087980();\n      iVar14 = *(int *)(puVar15 + -0xb0);\n      unaff_s1 = puVar15 + -0xa8;\n      if (iVar4 == 0) {\n        unaff_s1 = puVar15 + -0x78;\n        (*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))(puVar15 + -0xa8);\n        *(undefined4 *)(puVar15 + -0xbc) = *(undefined4 *)(puVar15 + -0x90);\n        iVar4 = *(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4);\n        *(undefined4 *)(puVar15 + -0xc0) = *(undefined4 *)(puVar15 + -0x94);\n        *(undefined4 *)(puVar15 + -0xc4) = *(undefined4 *)(puVar15 + -0x98);\n        *(int *)(puVar15 + -0xb8) = (int)*(double *)(puVar15 + -0x88);\n        *(undefined4 *)(puVar15 + -200) = *(undefined4 *)(puVar15 + -0x9c);\n        sqlite3_snprintf(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0));\n        *(undefined4 *)(puVar15 + -0xc4) = 0xffffffff;\n        *(undefined4 *)(puVar15 + -200) = 1;\n        pbVar8 = pbVar3;\n        FUN_0007ec40(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff);\n        iVar14 = *(int *)(puVar15 + -0xb0);\n      }\n      if (*(int *)(puVar15 + -0x14) == *(int *)unaff_s0) break;\n      pcVar12 = *(code **)(iVar14 + -0x7b28);\n      uVar16 = 0x8bc4c;\n      (*pcVar12)();\n      puVar13 = (undefined *)(*(int *)(pcVar12 + 0x104f90) + -0x44d0);\n      unaff_s2 = pbVar3;\n      puVar15 = puVar15 + -0xd8;\n    }\n    return;\n  }\n  return;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "byte *pbVar3;" type_identifier (pointer_declarator "*pbVar3" * identifier) ;) (declaration "byte bVar5;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "byte *pbVar11;" type_identifier (pointer_declarator "*pbVar11" * identifier) ;) (declaration "byte *unaff_s0;" type_identifier (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "undefined1 *unaff_s1;" type_identifier (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "byte *unaff_s2;" type_identifier (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "code *pcVar12;" type_identifier (pointer_declarator "*pcVar12" * identifier) ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "undefined1 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "undefined4 uVar16;" type_identifier identifier ;) (declaration "undefined1 auStack_138 [16];" type_identifier (array_declarator "auStack_138 [16]" identifier [ number_literal ]) ;) (declaration "undefined4 local_128;" type_identifier identifier ;) (declaration "undefined *puStack_124;" type_identifier (pointer_declarator "*puStack_124" * identifier) ;) (declaration "byte *local_114;" type_identifier (pointer_declarator "*local_114" * identifier) ;) (declaration "undefined1 local_100 [40];" type_identifier (array_declarator "local_100 [40]" identifier [ number_literal ]) ;) (declaration "char local_d8;" primitive_type identifier ;) (declaration "byte abStack_a0 [100];" type_identifier (array_declarator "abStack_a0 [100]" identifier [ number_literal ]) ;) (declaration "int local_3c;" primitive_type identifier ;) (expression_statement "puVar13 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar13 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "local_3c = *(int *)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_3c = *(int *)PTR___stack_chk_guard_00190e24" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_00190e24" * (cast_expression "(int *)PTR___stack_chk_guard_00190e24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pbVar8 = param_1;" (assignment_expression "pbVar8 = param_1" identifier = identifier) ;) (if_statement "if (param_2 == 0) goto switchD_0008b4d8_caseD_1;" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (goto_statement "goto switchD_0008b4d8_caseD_1;" goto statement_identifier ;)) (expression_statement "pbVar8 = (byte *)*param_3;" (assignment_expression "pbVar8 = (byte *)*param_3" identifier = (cast_expression "(byte *)*param_3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_3" * identifier))) ;) (expression_statement "unaff_s2 = (byte *)FUN_00086f60(pbVar8,1);" (assignment_expression "unaff_s2 = (byte *)FUN_00086f60(pbVar8,1)" identifier = (cast_expression "(byte *)FUN_00086f60(pbVar8,1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00086f60(pbVar8,1)" identifier (argument_list "(pbVar8,1)" ( identifier , number_literal ))))) ;) (expression_statement "unaff_s0 = param_1;" (assignment_expression "unaff_s0 = param_1" identifier = identifier) ;) (if_statement "if (unaff_s2 == (byte *)0x0) goto switchD_0008b4d8_caseD_1;" if (parenthesized_expression "(unaff_s2 == (byte *)0x0)" ( (binary_expression "unaff_s2 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto switchD_0008b4d8_caseD_1;" goto statement_identifier ;)) (expression_statement "unaff_s1 = local_100;" (assignment_expression "unaff_s1 = local_100" identifier = identifier) ;) (expression_statement "pbVar8 = param_1;" (assignment_expression "pbVar8 = param_1" identifier = identifier) ;) (expression_statement "iVar4 = FUN_00087980(param_1,param_2 + -1,param_3 + 1,unaff_s1);" (assignment_expression "iVar4 = FUN_00087980(param_1,param_2 + -1,param_3 + 1,unaff_s1)" identifier = (call_expression "FUN_00087980(param_1,param_2 + -1,param_3 + 1,unaff_s1)" identifier (argument_list "(param_1,param_2 + -1,param_3 + 1,unaff_s1)" ( identifier , (binary_expression "param_2 + -1" identifier + number_literal) , (binary_expression "param_3 + 1" identifier + number_literal) , identifier )))) ;) (expression_statement "puVar2 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;" (assignment_expression "puVar2 = PTR_s_o_page_from_root____pageno_INTEG_0019095c" identifier = identifier) ;) (if_statement "if (iVar4 != 0) goto switchD_0008b4d8_caseD_1;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (goto_statement "goto switchD_0008b4d8_caseD_1;" goto statement_identifier ;)) (expression_statement "iVar4 = (int)(char)*unaff_s2;" (assignment_expression "iVar4 = (int)(char)*unaff_s2" identifier = (cast_expression "(int)(char)*unaff_s2" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*unaff_s2" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*unaff_s2" * identifier)))) ;) (if_statement "if (iVar4 == 0) {\nLAB_0008b5ac:\n    pbVar3 = abStack_a0;\n  }\n  else {\n    iVar14 = 0;\n    uVar10 = 0;\n    uVar6 = 1;\n    do {\n      iVar14 = iVar14 + 1;\n      bVar1 = iVar4 == 0x25;\n      iVar4 = (int)(char)unaff_s2[iVar14];\n      if (bVar1) {\n        uVar6 = iVar4 - 0x25U & 0xff;\n        pbVar8 = (byte *)(uint)(uVar6 < 0x53);\n        if (pbVar8 != (byte *)0x0) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();\n          return;\n        }\n        goto switchD_0008b4d8_caseD_1;\n      }\n      uVar9 = uVar6 + 1;\n      uVar10 = (uVar9 < uVar6) + uVar10;\n      uVar6 = uVar9;\n    } while (iVar4 != 0);\n    if ((uVar10 == 0) && (uVar9 < 100)) goto LAB_0008b5ac;\n    pbVar8 = *(byte **)param_1;\n    iVar4 = *(int *)(pbVar8 + 0x20);\n    uVar6 = (int)*(uint *)(iVar4 + 0x6c) >> 0x1f;\n    if ((uVar6 < uVar10) || ((uVar10 == uVar6 && (*(uint *)(iVar4 + 0x6c) < uVar9)))) {\n      param_1[0x14] = 0;\n      param_1[0x15] = 0;\n      param_1[0x16] = 0;\n      param_1[0x17] = 0x12;\n      local_128 = 0;\n      FUN_0007d514(pbVar8,puVar2 + -0x612c,0xffffffff,1);\n      goto switchD_0008b4d8_caseD_1;\n    }\n    if ((*(char *)(iVar4 + 0x51) != '\0') ||\n       (pbVar3 = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f),\n       pbVar3 == (byte *)0x0)) {\n      pbVar8 = param_1;\n      (*(code *)PTR_sqlite3_result_error_nomem_001909dc)();\n      goto switchD_0008b4d8_caseD_1;\n    }\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0008b5ac:\n    pbVar3 = abStack_a0;\n  }" { (labeled_statement "LAB_0008b5ac:\n    pbVar3 = abStack_a0;" statement_identifier : (expression_statement "pbVar3 = abStack_a0;" (assignment_expression "pbVar3 = abStack_a0" identifier = identifier) ;)) }) (else_clause "else {\n    iVar14 = 0;\n    uVar10 = 0;\n    uVar6 = 1;\n    do {\n      iVar14 = iVar14 + 1;\n      bVar1 = iVar4 == 0x25;\n      iVar4 = (int)(char)unaff_s2[iVar14];\n      if (bVar1) {\n        uVar6 = iVar4 - 0x25U & 0xff;\n        pbVar8 = (byte *)(uint)(uVar6 < 0x53);\n        if (pbVar8 != (byte *)0x0) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();\n          return;\n        }\n        goto switchD_0008b4d8_caseD_1;\n      }\n      uVar9 = uVar6 + 1;\n      uVar10 = (uVar9 < uVar6) + uVar10;\n      uVar6 = uVar9;\n    } while (iVar4 != 0);\n    if ((uVar10 == 0) && (uVar9 < 100)) goto LAB_0008b5ac;\n    pbVar8 = *(byte **)param_1;\n    iVar4 = *(int *)(pbVar8 + 0x20);\n    uVar6 = (int)*(uint *)(iVar4 + 0x6c) >> 0x1f;\n    if ((uVar6 < uVar10) || ((uVar10 == uVar6 && (*(uint *)(iVar4 + 0x6c) < uVar9)))) {\n      param_1[0x14] = 0;\n      param_1[0x15] = 0;\n      param_1[0x16] = 0;\n      param_1[0x17] = 0x12;\n      local_128 = 0;\n      FUN_0007d514(pbVar8,puVar2 + -0x612c,0xffffffff,1);\n      goto switchD_0008b4d8_caseD_1;\n    }\n    if ((*(char *)(iVar4 + 0x51) != '\0') ||\n       (pbVar3 = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f),\n       pbVar3 == (byte *)0x0)) {\n      pbVar8 = param_1;\n      (*(code *)PTR_sqlite3_result_error_nomem_001909dc)();\n      goto switchD_0008b4d8_caseD_1;\n    }\n  }" else (compound_statement "{\n    iVar14 = 0;\n    uVar10 = 0;\n    uVar6 = 1;\n    do {\n      iVar14 = iVar14 + 1;\n      bVar1 = iVar4 == 0x25;\n      iVar4 = (int)(char)unaff_s2[iVar14];\n      if (bVar1) {\n        uVar6 = iVar4 - 0x25U & 0xff;\n        pbVar8 = (byte *)(uint)(uVar6 < 0x53);\n        if (pbVar8 != (byte *)0x0) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();\n          return;\n        }\n        goto switchD_0008b4d8_caseD_1;\n      }\n      uVar9 = uVar6 + 1;\n      uVar10 = (uVar9 < uVar6) + uVar10;\n      uVar6 = uVar9;\n    } while (iVar4 != 0);\n    if ((uVar10 == 0) && (uVar9 < 100)) goto LAB_0008b5ac;\n    pbVar8 = *(byte **)param_1;\n    iVar4 = *(int *)(pbVar8 + 0x20);\n    uVar6 = (int)*(uint *)(iVar4 + 0x6c) >> 0x1f;\n    if ((uVar6 < uVar10) || ((uVar10 == uVar6 && (*(uint *)(iVar4 + 0x6c) < uVar9)))) {\n      param_1[0x14] = 0;\n      param_1[0x15] = 0;\n      param_1[0x16] = 0;\n      param_1[0x17] = 0x12;\n      local_128 = 0;\n      FUN_0007d514(pbVar8,puVar2 + -0x612c,0xffffffff,1);\n      goto switchD_0008b4d8_caseD_1;\n    }\n    if ((*(char *)(iVar4 + 0x51) != '\0') ||\n       (pbVar3 = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f),\n       pbVar3 == (byte *)0x0)) {\n      pbVar8 = param_1;\n      (*(code *)PTR_sqlite3_result_error_nomem_001909dc)();\n      goto switchD_0008b4d8_caseD_1;\n    }\n  }" { (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (do_statement "do {\n      iVar14 = iVar14 + 1;\n      bVar1 = iVar4 == 0x25;\n      iVar4 = (int)(char)unaff_s2[iVar14];\n      if (bVar1) {\n        uVar6 = iVar4 - 0x25U & 0xff;\n        pbVar8 = (byte *)(uint)(uVar6 < 0x53);\n        if (pbVar8 != (byte *)0x0) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();\n          return;\n        }\n        goto switchD_0008b4d8_caseD_1;\n      }\n      uVar9 = uVar6 + 1;\n      uVar10 = (uVar9 < uVar6) + uVar10;\n      uVar6 = uVar9;\n    } while (iVar4 != 0);" do (compound_statement "{\n      iVar14 = iVar14 + 1;\n      bVar1 = iVar4 == 0x25;\n      iVar4 = (int)(char)unaff_s2[iVar14];\n      if (bVar1) {\n        uVar6 = iVar4 - 0x25U & 0xff;\n        pbVar8 = (byte *)(uint)(uVar6 < 0x53);\n        if (pbVar8 != (byte *)0x0) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();\n          return;\n        }\n        goto switchD_0008b4d8_caseD_1;\n      }\n      uVar9 = uVar6 + 1;\n      uVar10 = (uVar9 < uVar6) + uVar10;\n      uVar6 = uVar9;\n    }" { (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" identifier = (binary_expression "iVar14 + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = iVar4 == 0x25;" (assignment_expression "bVar1 = iVar4 == 0x25" identifier = (binary_expression "iVar4 == 0x25" identifier == number_literal)) ;) (expression_statement "iVar4 = (int)(char)unaff_s2[iVar14];" (assignment_expression "iVar4 = (int)(char)unaff_s2[iVar14]" identifier = (cast_expression "(int)(char)unaff_s2[iVar14]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)unaff_s2[iVar14]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "unaff_s2[iVar14]" identifier [ identifier ])))) ;) (if_statement "if (bVar1) {\n        uVar6 = iVar4 - 0x25U & 0xff;\n        pbVar8 = (byte *)(uint)(uVar6 < 0x53);\n        if (pbVar8 != (byte *)0x0) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();\n          return;\n        }\n        goto switchD_0008b4d8_caseD_1;\n      }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n        uVar6 = iVar4 - 0x25U & 0xff;\n        pbVar8 = (byte *)(uint)(uVar6 < 0x53);\n        if (pbVar8 != (byte *)0x0) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();\n          return;\n        }\n        goto switchD_0008b4d8_caseD_1;\n      }" { (expression_statement "uVar6 = iVar4 - 0x25U & 0xff;" (assignment_expression "uVar6 = iVar4 - 0x25U & 0xff" identifier = (binary_expression "iVar4 - 0x25U & 0xff" (binary_expression "iVar4 - 0x25U" identifier - number_literal) & number_literal)) ;) (expression_statement "pbVar8 = (byte *)(uint)(uVar6 < 0x53);" (assignment_expression "pbVar8 = (byte *)(uint)(uVar6 < 0x53)" identifier = (cast_expression "(byte *)(uint)(uVar6 < 0x53)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(uVar6 < 0x53)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar6 < 0x53)" ( (binary_expression "uVar6 < 0x53" identifier < number_literal) ))))) ;) (if_statement "if (pbVar8 != (byte *)0x0) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();\n          return;\n        }" if (parenthesized_expression "(pbVar8 != (byte *)0x0)" ( (binary_expression "pbVar8 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();\n          return;\n        }" { (expression_statement "(*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();" (call_expression "(*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))()" (parenthesized_expression "(*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))" ( (pointer_expression "*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc))" * (cast_expression "(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc))" ( (binary_expression "&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)" (pointer_expression "&_gp_1" & identifier) + (pointer_expression "*(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)" * (cast_expression "(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc" (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4" identifier + (binary_expression "uVar6 * 4" identifier * number_literal)) + number_literal) ))))) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (goto_statement "goto switchD_0008b4d8_caseD_1;" goto statement_identifier ;) })) (expression_statement "uVar9 = uVar6 + 1;" (assignment_expression "uVar9 = uVar6 + 1" identifier = (binary_expression "uVar6 + 1" identifier + number_literal)) ;) (expression_statement "uVar10 = (uVar9 < uVar6) + uVar10;" (assignment_expression "uVar10 = (uVar9 < uVar6) + uVar10" identifier = (binary_expression "(uVar9 < uVar6) + uVar10" (parenthesized_expression "(uVar9 < uVar6)" ( (binary_expression "uVar9 < uVar6" identifier < identifier) )) + identifier)) ;) (expression_statement "uVar6 = uVar9;" (assignment_expression "uVar6 = uVar9" identifier = identifier) ;) }) while (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) ;) (if_statement "if ((uVar10 == 0) && (uVar9 < 100)) goto LAB_0008b5ac;" if (parenthesized_expression "((uVar10 == 0) && (uVar9 < 100))" ( (binary_expression "(uVar10 == 0) && (uVar9 < 100)" (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) && (parenthesized_expression "(uVar9 < 100)" ( (binary_expression "uVar9 < 100" identifier < number_literal) ))) )) (goto_statement "goto LAB_0008b5ac;" goto statement_identifier ;)) (expression_statement "pbVar8 = *(byte **)param_1;" (assignment_expression "pbVar8 = *(byte **)param_1" identifier = (pointer_expression "*(byte **)param_1" * (cast_expression "(byte **)param_1" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "iVar4 = *(int *)(pbVar8 + 0x20);" (assignment_expression "iVar4 = *(int *)(pbVar8 + 0x20)" identifier = (pointer_expression "*(int *)(pbVar8 + 0x20)" * (cast_expression "(int *)(pbVar8 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar8 + 0x20)" ( (binary_expression "pbVar8 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = (int)*(uint *)(iVar4 + 0x6c) >> 0x1f;" (assignment_expression "uVar6 = (int)*(uint *)(iVar4 + 0x6c) >> 0x1f" identifier = (binary_expression "(int)*(uint *)(iVar4 + 0x6c) >> 0x1f" (cast_expression "(int)*(uint *)(iVar4 + 0x6c)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(uint *)(iVar4 + 0x6c)" * (cast_expression "(uint *)(iVar4 + 0x6c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x6c)" ( (binary_expression "iVar4 + 0x6c" identifier + number_literal) ))))) >> number_literal)) ;) (if_statement "if ((uVar6 < uVar10) || ((uVar10 == uVar6 && (*(uint *)(iVar4 + 0x6c) < uVar9)))) {\n      param_1[0x14] = 0;\n      param_1[0x15] = 0;\n      param_1[0x16] = 0;\n      param_1[0x17] = 0x12;\n      local_128 = 0;\n      FUN_0007d514(pbVar8,puVar2 + -0x612c,0xffffffff,1);\n      goto switchD_0008b4d8_caseD_1;\n    }" if (parenthesized_expression "((uVar6 < uVar10) || ((uVar10 == uVar6 && (*(uint *)(iVar4 + 0x6c) < uVar9))))" ( (binary_expression "(uVar6 < uVar10) || ((uVar10 == uVar6 && (*(uint *)(iVar4 + 0x6c) < uVar9)))" (parenthesized_expression "(uVar6 < uVar10)" ( (binary_expression "uVar6 < uVar10" identifier < identifier) )) || (parenthesized_expression "((uVar10 == uVar6 && (*(uint *)(iVar4 + 0x6c) < uVar9)))" ( (parenthesized_expression "(uVar10 == uVar6 && (*(uint *)(iVar4 + 0x6c) < uVar9))" ( (binary_expression "uVar10 == uVar6 && (*(uint *)(iVar4 + 0x6c) < uVar9)" (binary_expression "uVar10 == uVar6" identifier == identifier) && (parenthesized_expression "(*(uint *)(iVar4 + 0x6c) < uVar9)" ( (binary_expression "*(uint *)(iVar4 + 0x6c) < uVar9" (pointer_expression "*(uint *)(iVar4 + 0x6c)" * (cast_expression "(uint *)(iVar4 + 0x6c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x6c)" ( (binary_expression "iVar4 + 0x6c" identifier + number_literal) )))) < identifier) ))) )) ))) )) (compound_statement "{\n      param_1[0x14] = 0;\n      param_1[0x15] = 0;\n      param_1[0x16] = 0;\n      param_1[0x17] = 0x12;\n      local_128 = 0;\n      FUN_0007d514(pbVar8,puVar2 + -0x612c,0xffffffff,1);\n      goto switchD_0008b4d8_caseD_1;\n    }" { (expression_statement "param_1[0x14] = 0;" (assignment_expression "param_1[0x14] = 0" (subscript_expression "param_1[0x14]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x15] = 0;" (assignment_expression "param_1[0x15] = 0" (subscript_expression "param_1[0x15]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x16] = 0;" (assignment_expression "param_1[0x16] = 0" (subscript_expression "param_1[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x17] = 0x12;" (assignment_expression "param_1[0x17] = 0x12" (subscript_expression "param_1[0x17]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_128 = 0;" (assignment_expression "local_128 = 0" identifier = number_literal) ;) (expression_statement "FUN_0007d514(pbVar8,puVar2 + -0x612c,0xffffffff,1);" (call_expression "FUN_0007d514(pbVar8,puVar2 + -0x612c,0xffffffff,1)" identifier (argument_list "(pbVar8,puVar2 + -0x612c,0xffffffff,1)" ( identifier , (binary_expression "puVar2 + -0x612c" identifier + number_literal) , number_literal , number_literal ))) ;) (goto_statement "goto switchD_0008b4d8_caseD_1;" goto statement_identifier ;) })) (if_statement "if ((*(char *)(iVar4 + 0x51) != '\0') ||\n       (pbVar3 = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f),\n       pbVar3 == (byte *)0x0)) {\n      pbVar8 = param_1;\n      (*(code *)PTR_sqlite3_result_error_nomem_001909dc)();\n      goto switchD_0008b4d8_caseD_1;\n    }" if (parenthesized_expression "((*(char *)(iVar4 + 0x51) != '\0') ||\n       (pbVar3 = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f),\n       pbVar3 == (byte *)0x0))" ( (binary_expression "(*(char *)(iVar4 + 0x51) != '\0') ||\n       (pbVar3 = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f),\n       pbVar3 == (byte *)0x0)" (parenthesized_expression "(*(char *)(iVar4 + 0x51) != '\0')" ( (binary_expression "*(char *)(iVar4 + 0x51) != '\0'" (pointer_expression "*(char *)(iVar4 + 0x51)" * (cast_expression "(char *)(iVar4 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x51)" ( (binary_expression "iVar4 + 0x51" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(pbVar3 = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f),\n       pbVar3 == (byte *)0x0)" ( (comma_expression "pbVar3 = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f),\n       pbVar3 == (byte *)0x0" (assignment_expression "pbVar3 = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f)" identifier = (cast_expression "(byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x854))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x854)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x854)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x854)" ( (binary_expression "PTR_LAB_00190ba8 + 0x854" identifier + number_literal) )))) )) (argument_list "(iVar4,0,(int)uVar9 >> 0x1f)" ( identifier , number_literal , (binary_expression "(int)uVar9 >> 0x1f" (cast_expression "(int)uVar9" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))))) , (binary_expression "pbVar3 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n      pbVar8 = param_1;\n      (*(code *)PTR_sqlite3_result_error_nomem_001909dc)();\n      goto switchD_0008b4d8_caseD_1;\n    }" { (expression_statement "pbVar8 = param_1;" (assignment_expression "pbVar8 = param_1" identifier = identifier) ;) (expression_statement "(*(code *)PTR_sqlite3_result_error_nomem_001909dc)();" (call_expression "(*(code *)PTR_sqlite3_result_error_nomem_001909dc)()" (parenthesized_expression "(*(code *)PTR_sqlite3_result_error_nomem_001909dc)" ( (pointer_expression "*(code *)PTR_sqlite3_result_error_nomem_001909dc" * (cast_expression "(code *)PTR_sqlite3_result_error_nomem_001909dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (goto_statement "goto switchD_0008b4d8_caseD_1;" goto statement_identifier ;) })) }))) (expression_statement "local_114 = abStack_a0;" (assignment_expression "local_114 = abStack_a0" identifier = identifier) ;) (if_statement "if (local_d8 == '\0') {\n    (*(code *)(PTR_LAB_00190ba8 + -0x3bac))(unaff_s1);\n  }" if (parenthesized_expression "(local_d8 == '\0')" ( (binary_expression "local_d8 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    (*(code *)(PTR_LAB_00190ba8 + -0x3bac))(unaff_s1);\n  }" { (expression_statement "(*(code *)(PTR_LAB_00190ba8 + -0x3bac))(unaff_s1);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + -0x3bac))(unaff_s1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + -0x3bac))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + -0x3bac)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x3bac)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x3bac)" ( (binary_expression "PTR_LAB_00190ba8 + -0x3bac" identifier + number_literal) )))) )) (argument_list "(unaff_s1)" ( identifier ))) ;) })) (expression_statement "(*(code *)(PTR_LAB_00190ba8 + -0x35ac))(unaff_s1);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + -0x35ac))(unaff_s1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + -0x35ac))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + -0x35ac)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x35ac)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x35ac)" ( (binary_expression "PTR_LAB_00190ba8 + -0x35ac" identifier + number_literal) )))) )) (argument_list "(unaff_s1)" ( identifier ))) ;) (expression_statement "bVar5 = *unaff_s2;" (assignment_expression "bVar5 = *unaff_s2" identifier = (pointer_expression "*unaff_s2" * identifier)) ;) (expression_statement "pbVar8 = pbVar3;" (assignment_expression "pbVar8 = pbVar3" identifier = identifier) ;) (if_statement "if (bVar5 != 0) {\n    iVar14 = 0;\n    iVar4 = 0;\n    do {\n      iVar7 = iVar4 + 1;\n      pbVar11 = unaff_s2 + iVar7;\n      if (bVar5 == 0x25) {\n        iVar7 = iVar4 + 2;\n        uVar6 = *pbVar11 - 0x48 & 0xff;\n        pbVar11 = unaff_s2 + iVar7;\n        if (uVar6 < 0x30) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))();\n          return;\n        }\n        *pbVar8 = 0x25;\n      }\n      else {\n        *pbVar8 = bVar5;\n      }\n      iVar14 = iVar14 + 1;\n      pbVar8 = pbVar3 + iVar14;\n      bVar5 = *pbVar11;\n      iVar4 = iVar7;\n    } while (bVar5 != 0);\n  }" if (parenthesized_expression "(bVar5 != 0)" ( (binary_expression "bVar5 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar14 = 0;\n    iVar4 = 0;\n    do {\n      iVar7 = iVar4 + 1;\n      pbVar11 = unaff_s2 + iVar7;\n      if (bVar5 == 0x25) {\n        iVar7 = iVar4 + 2;\n        uVar6 = *pbVar11 - 0x48 & 0xff;\n        pbVar11 = unaff_s2 + iVar7;\n        if (uVar6 < 0x30) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))();\n          return;\n        }\n        *pbVar8 = 0x25;\n      }\n      else {\n        *pbVar8 = bVar5;\n      }\n      iVar14 = iVar14 + 1;\n      pbVar8 = pbVar3 + iVar14;\n      bVar5 = *pbVar11;\n      iVar4 = iVar7;\n    } while (bVar5 != 0);\n  }" { (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (do_statement "do {\n      iVar7 = iVar4 + 1;\n      pbVar11 = unaff_s2 + iVar7;\n      if (bVar5 == 0x25) {\n        iVar7 = iVar4 + 2;\n        uVar6 = *pbVar11 - 0x48 & 0xff;\n        pbVar11 = unaff_s2 + iVar7;\n        if (uVar6 < 0x30) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))();\n          return;\n        }\n        *pbVar8 = 0x25;\n      }\n      else {\n        *pbVar8 = bVar5;\n      }\n      iVar14 = iVar14 + 1;\n      pbVar8 = pbVar3 + iVar14;\n      bVar5 = *pbVar11;\n      iVar4 = iVar7;\n    } while (bVar5 != 0);" do (compound_statement "{\n      iVar7 = iVar4 + 1;\n      pbVar11 = unaff_s2 + iVar7;\n      if (bVar5 == 0x25) {\n        iVar7 = iVar4 + 2;\n        uVar6 = *pbVar11 - 0x48 & 0xff;\n        pbVar11 = unaff_s2 + iVar7;\n        if (uVar6 < 0x30) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))();\n          return;\n        }\n        *pbVar8 = 0x25;\n      }\n      else {\n        *pbVar8 = bVar5;\n      }\n      iVar14 = iVar14 + 1;\n      pbVar8 = pbVar3 + iVar14;\n      bVar5 = *pbVar11;\n      iVar4 = iVar7;\n    }" { (expression_statement "iVar7 = iVar4 + 1;" (assignment_expression "iVar7 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "pbVar11 = unaff_s2 + iVar7;" (assignment_expression "pbVar11 = unaff_s2 + iVar7" identifier = (binary_expression "unaff_s2 + iVar7" identifier + identifier)) ;) (if_statement "if (bVar5 == 0x25) {\n        iVar7 = iVar4 + 2;\n        uVar6 = *pbVar11 - 0x48 & 0xff;\n        pbVar11 = unaff_s2 + iVar7;\n        if (uVar6 < 0x30) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))();\n          return;\n        }\n        *pbVar8 = 0x25;\n      }\n      else {\n        *pbVar8 = bVar5;\n      }" if (parenthesized_expression "(bVar5 == 0x25)" ( (binary_expression "bVar5 == 0x25" identifier == number_literal) )) (compound_statement "{\n        iVar7 = iVar4 + 2;\n        uVar6 = *pbVar11 - 0x48 & 0xff;\n        pbVar11 = unaff_s2 + iVar7;\n        if (uVar6 < 0x30) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))();\n          return;\n        }\n        *pbVar8 = 0x25;\n      }" { (expression_statement "iVar7 = iVar4 + 2;" (assignment_expression "iVar7 = iVar4 + 2" identifier = (binary_expression "iVar4 + 2" identifier + number_literal)) ;) (expression_statement "uVar6 = *pbVar11 - 0x48 & 0xff;" (assignment_expression "uVar6 = *pbVar11 - 0x48 & 0xff" identifier = (binary_expression "*pbVar11 - 0x48 & 0xff" (binary_expression "*pbVar11 - 0x48" (pointer_expression "*pbVar11" * identifier) - number_literal) & number_literal)) ;) (expression_statement "pbVar11 = unaff_s2 + iVar7;" (assignment_expression "pbVar11 = unaff_s2 + iVar7" identifier = (binary_expression "unaff_s2 + iVar7" identifier + identifier)) ;) (if_statement "if (uVar6 < 0x30) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))();\n          return;\n        }" if (parenthesized_expression "(uVar6 < 0x30)" ( (binary_expression "uVar6 < 0x30" identifier < number_literal) )) (compound_statement "{\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))();\n          return;\n        }" { (expression_statement "(*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))();" (call_expression "(*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))()" (parenthesized_expression "(*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))" ( (pointer_expression "*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28))" * (cast_expression "(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28))" ( (binary_expression "&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)" (pointer_expression "&_gp_1" & identifier) + (pointer_expression "*(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)" * (cast_expression "(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28" (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4" identifier + (binary_expression "uVar6 * 4" identifier * number_literal)) + number_literal) ))))) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "*pbVar8 = 0x25;" (assignment_expression "*pbVar8 = 0x25" (pointer_expression "*pbVar8" * identifier) = number_literal) ;) }) (else_clause "else {\n        *pbVar8 = bVar5;\n      }" else (compound_statement "{\n        *pbVar8 = bVar5;\n      }" { (expression_statement "*pbVar8 = bVar5;" (assignment_expression "*pbVar8 = bVar5" (pointer_expression "*pbVar8" * identifier) = identifier) ;) }))) (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" identifier = (binary_expression "iVar14 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar3 + iVar14;" (assignment_expression "pbVar8 = pbVar3 + iVar14" identifier = (binary_expression "pbVar3 + iVar14" identifier + identifier)) ;) (expression_statement "bVar5 = *pbVar11;" (assignment_expression "bVar5 = *pbVar11" identifier = (pointer_expression "*pbVar11" * identifier)) ;) (expression_statement "iVar4 = iVar7;" (assignment_expression "iVar4 = iVar7" identifier = identifier) ;) }) while (parenthesized_expression "(bVar5 != 0)" ( (binary_expression "bVar5 != 0" identifier != number_literal) )) ;) })) (expression_statement "*pbVar8 = 0;" (assignment_expression "*pbVar8 = 0" (pointer_expression "*pbVar8" * identifier) = number_literal) ;) (if_statement "if (pbVar3 == local_114) {\n    puStack_124 = (undefined *)0xffffffff;\n  }\n  else {\n    puStack_124 = PTR_LAB_00190b40 + -0xf88;\n  }" if (parenthesized_expression "(pbVar3 == local_114)" ( (binary_expression "pbVar3 == local_114" identifier == identifier) )) (compound_statement "{\n    puStack_124 = (undefined *)0xffffffff;\n  }" { (expression_statement "puStack_124 = (undefined *)0xffffffff;" (assignment_expression "puStack_124 = (undefined *)0xffffffff" identifier = (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    puStack_124 = PTR_LAB_00190b40 + -0xf88;\n  }" else (compound_statement "{\n    puStack_124 = PTR_LAB_00190b40 + -0xf88;\n  }" { (expression_statement "puStack_124 = PTR_LAB_00190b40 + -0xf88;" (assignment_expression "puStack_124 = PTR_LAB_00190b40 + -0xf88" identifier = (binary_expression "PTR_LAB_00190b40 + -0xf88" identifier + number_literal)) ;) }))) (expression_statement "local_128 = 1;" (assignment_expression "local_128 = 1" identifier = number_literal) ;) (expression_statement "pbVar8 = param_1;" (assignment_expression "pbVar8 = param_1" identifier = identifier) ;) (expression_statement "FUN_0007ec40(param_1,param_1 + 0x14,pbVar3,0xffffffff);" (call_expression "FUN_0007ec40(param_1,param_1 + 0x14,pbVar3,0xffffffff)" identifier (argument_list "(param_1,param_1 + 0x14,pbVar3,0xffffffff)" ( identifier , (binary_expression "param_1 + 0x14" identifier + number_literal) , identifier , number_literal ))) ;) (labeled_statement "switchD_0008b4d8_caseD_1:\n  if (local_3c != *(int *)puVar13) {\n    uVar16 = 0x8bb30;\n    puVar13 = PTR___stack_chk_fail_00190df8;\n    (*(code *)PTR___stack_chk_fail_00190df8)();\n    puVar15 = auStack_138;\n    while( true ) {\n      pbVar3 = pbVar8;\n      *(byte **)(puVar15 + -0x10) = unaff_s0;\n      *(undefined **)(puVar15 + -0xb0) = puVar13 + 0x10cdf0;\n      *(byte **)(puVar15 + -8) = unaff_s2;\n      *(undefined1 **)(puVar15 + -0xc) = unaff_s1;\n      *(undefined4 *)(puVar15 + -4) = uVar16;\n      unaff_s0 = *(byte **)(puVar13 + 0x1052f4);\n      *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)unaff_s0;\n      pbVar8 = pbVar3;\n      iVar4 = FUN_00087980();\n      iVar14 = *(int *)(puVar15 + -0xb0);\n      unaff_s1 = puVar15 + -0xa8;\n      if (iVar4 == 0) {\n        unaff_s1 = puVar15 + -0x78;\n        (*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))(puVar15 + -0xa8);\n        *(undefined4 *)(puVar15 + -0xbc) = *(undefined4 *)(puVar15 + -0x90);\n        iVar4 = *(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4);\n        *(undefined4 *)(puVar15 + -0xc0) = *(undefined4 *)(puVar15 + -0x94);\n        *(undefined4 *)(puVar15 + -0xc4) = *(undefined4 *)(puVar15 + -0x98);\n        *(int *)(puVar15 + -0xb8) = (int)*(double *)(puVar15 + -0x88);\n        *(undefined4 *)(puVar15 + -200) = *(undefined4 *)(puVar15 + -0x9c);\n        sqlite3_snprintf(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0));\n        *(undefined4 *)(puVar15 + -0xc4) = 0xffffffff;\n        *(undefined4 *)(puVar15 + -200) = 1;\n        pbVar8 = pbVar3;\n        FUN_0007ec40(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff);\n        iVar14 = *(int *)(puVar15 + -0xb0);\n      }\n      if (*(int *)(puVar15 + -0x14) == *(int *)unaff_s0) break;\n      pcVar12 = *(code **)(iVar14 + -0x7b28);\n      uVar16 = 0x8bc4c;\n      (*pcVar12)();\n      puVar13 = (undefined *)(*(int *)(pcVar12 + 0x104f90) + -0x44d0);\n      unaff_s2 = pbVar3;\n      puVar15 = puVar15 + -0xd8;\n    }\n    return;\n  }" statement_identifier : (if_statement "if (local_3c != *(int *)puVar13) {\n    uVar16 = 0x8bb30;\n    puVar13 = PTR___stack_chk_fail_00190df8;\n    (*(code *)PTR___stack_chk_fail_00190df8)();\n    puVar15 = auStack_138;\n    while( true ) {\n      pbVar3 = pbVar8;\n      *(byte **)(puVar15 + -0x10) = unaff_s0;\n      *(undefined **)(puVar15 + -0xb0) = puVar13 + 0x10cdf0;\n      *(byte **)(puVar15 + -8) = unaff_s2;\n      *(undefined1 **)(puVar15 + -0xc) = unaff_s1;\n      *(undefined4 *)(puVar15 + -4) = uVar16;\n      unaff_s0 = *(byte **)(puVar13 + 0x1052f4);\n      *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)unaff_s0;\n      pbVar8 = pbVar3;\n      iVar4 = FUN_00087980();\n      iVar14 = *(int *)(puVar15 + -0xb0);\n      unaff_s1 = puVar15 + -0xa8;\n      if (iVar4 == 0) {\n        unaff_s1 = puVar15 + -0x78;\n        (*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))(puVar15 + -0xa8);\n        *(undefined4 *)(puVar15 + -0xbc) = *(undefined4 *)(puVar15 + -0x90);\n        iVar4 = *(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4);\n        *(undefined4 *)(puVar15 + -0xc0) = *(undefined4 *)(puVar15 + -0x94);\n        *(undefined4 *)(puVar15 + -0xc4) = *(undefined4 *)(puVar15 + -0x98);\n        *(int *)(puVar15 + -0xb8) = (int)*(double *)(puVar15 + -0x88);\n        *(undefined4 *)(puVar15 + -200) = *(undefined4 *)(puVar15 + -0x9c);\n        sqlite3_snprintf(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0));\n        *(undefined4 *)(puVar15 + -0xc4) = 0xffffffff;\n        *(undefined4 *)(puVar15 + -200) = 1;\n        pbVar8 = pbVar3;\n        FUN_0007ec40(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff);\n        iVar14 = *(int *)(puVar15 + -0xb0);\n      }\n      if (*(int *)(puVar15 + -0x14) == *(int *)unaff_s0) break;\n      pcVar12 = *(code **)(iVar14 + -0x7b28);\n      uVar16 = 0x8bc4c;\n      (*pcVar12)();\n      puVar13 = (undefined *)(*(int *)(pcVar12 + 0x104f90) + -0x44d0);\n      unaff_s2 = pbVar3;\n      puVar15 = puVar15 + -0xd8;\n    }\n    return;\n  }" if (parenthesized_expression "(local_3c != *(int *)puVar13)" ( (binary_expression "local_3c != *(int *)puVar13" identifier != (pointer_expression "*(int *)puVar13" * (cast_expression "(int *)puVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    uVar16 = 0x8bb30;\n    puVar13 = PTR___stack_chk_fail_00190df8;\n    (*(code *)PTR___stack_chk_fail_00190df8)();\n    puVar15 = auStack_138;\n    while( true ) {\n      pbVar3 = pbVar8;\n      *(byte **)(puVar15 + -0x10) = unaff_s0;\n      *(undefined **)(puVar15 + -0xb0) = puVar13 + 0x10cdf0;\n      *(byte **)(puVar15 + -8) = unaff_s2;\n      *(undefined1 **)(puVar15 + -0xc) = unaff_s1;\n      *(undefined4 *)(puVar15 + -4) = uVar16;\n      unaff_s0 = *(byte **)(puVar13 + 0x1052f4);\n      *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)unaff_s0;\n      pbVar8 = pbVar3;\n      iVar4 = FUN_00087980();\n      iVar14 = *(int *)(puVar15 + -0xb0);\n      unaff_s1 = puVar15 + -0xa8;\n      if (iVar4 == 0) {\n        unaff_s1 = puVar15 + -0x78;\n        (*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))(puVar15 + -0xa8);\n        *(undefined4 *)(puVar15 + -0xbc) = *(undefined4 *)(puVar15 + -0x90);\n        iVar4 = *(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4);\n        *(undefined4 *)(puVar15 + -0xc0) = *(undefined4 *)(puVar15 + -0x94);\n        *(undefined4 *)(puVar15 + -0xc4) = *(undefined4 *)(puVar15 + -0x98);\n        *(int *)(puVar15 + -0xb8) = (int)*(double *)(puVar15 + -0x88);\n        *(undefined4 *)(puVar15 + -200) = *(undefined4 *)(puVar15 + -0x9c);\n        sqlite3_snprintf(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0));\n        *(undefined4 *)(puVar15 + -0xc4) = 0xffffffff;\n        *(undefined4 *)(puVar15 + -200) = 1;\n        pbVar8 = pbVar3;\n        FUN_0007ec40(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff);\n        iVar14 = *(int *)(puVar15 + -0xb0);\n      }\n      if (*(int *)(puVar15 + -0x14) == *(int *)unaff_s0) break;\n      pcVar12 = *(code **)(iVar14 + -0x7b28);\n      uVar16 = 0x8bc4c;\n      (*pcVar12)();\n      puVar13 = (undefined *)(*(int *)(pcVar12 + 0x104f90) + -0x44d0);\n      unaff_s2 = pbVar3;\n      puVar15 = puVar15 + -0xd8;\n    }\n    return;\n  }" { (expression_statement "uVar16 = 0x8bb30;" (assignment_expression "uVar16 = 0x8bb30" identifier = number_literal) ;) (expression_statement "puVar13 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar13 = PTR___stack_chk_fail_00190df8" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00190df8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" * (cast_expression "(code *)PTR___stack_chk_fail_00190df8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puVar15 = auStack_138;" (assignment_expression "puVar15 = auStack_138" identifier = identifier) ;) (while_statement "while( true ) {\n      pbVar3 = pbVar8;\n      *(byte **)(puVar15 + -0x10) = unaff_s0;\n      *(undefined **)(puVar15 + -0xb0) = puVar13 + 0x10cdf0;\n      *(byte **)(puVar15 + -8) = unaff_s2;\n      *(undefined1 **)(puVar15 + -0xc) = unaff_s1;\n      *(undefined4 *)(puVar15 + -4) = uVar16;\n      unaff_s0 = *(byte **)(puVar13 + 0x1052f4);\n      *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)unaff_s0;\n      pbVar8 = pbVar3;\n      iVar4 = FUN_00087980();\n      iVar14 = *(int *)(puVar15 + -0xb0);\n      unaff_s1 = puVar15 + -0xa8;\n      if (iVar4 == 0) {\n        unaff_s1 = puVar15 + -0x78;\n        (*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))(puVar15 + -0xa8);\n        *(undefined4 *)(puVar15 + -0xbc) = *(undefined4 *)(puVar15 + -0x90);\n        iVar4 = *(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4);\n        *(undefined4 *)(puVar15 + -0xc0) = *(undefined4 *)(puVar15 + -0x94);\n        *(undefined4 *)(puVar15 + -0xc4) = *(undefined4 *)(puVar15 + -0x98);\n        *(int *)(puVar15 + -0xb8) = (int)*(double *)(puVar15 + -0x88);\n        *(undefined4 *)(puVar15 + -200) = *(undefined4 *)(puVar15 + -0x9c);\n        sqlite3_snprintf(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0));\n        *(undefined4 *)(puVar15 + -0xc4) = 0xffffffff;\n        *(undefined4 *)(puVar15 + -200) = 1;\n        pbVar8 = pbVar3;\n        FUN_0007ec40(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff);\n        iVar14 = *(int *)(puVar15 + -0xb0);\n      }\n      if (*(int *)(puVar15 + -0x14) == *(int *)unaff_s0) break;\n      pcVar12 = *(code **)(iVar14 + -0x7b28);\n      uVar16 = 0x8bc4c;\n      (*pcVar12)();\n      puVar13 = (undefined *)(*(int *)(pcVar12 + 0x104f90) + -0x44d0);\n      unaff_s2 = pbVar3;\n      puVar15 = puVar15 + -0xd8;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      pbVar3 = pbVar8;\n      *(byte **)(puVar15 + -0x10) = unaff_s0;\n      *(undefined **)(puVar15 + -0xb0) = puVar13 + 0x10cdf0;\n      *(byte **)(puVar15 + -8) = unaff_s2;\n      *(undefined1 **)(puVar15 + -0xc) = unaff_s1;\n      *(undefined4 *)(puVar15 + -4) = uVar16;\n      unaff_s0 = *(byte **)(puVar13 + 0x1052f4);\n      *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)unaff_s0;\n      pbVar8 = pbVar3;\n      iVar4 = FUN_00087980();\n      iVar14 = *(int *)(puVar15 + -0xb0);\n      unaff_s1 = puVar15 + -0xa8;\n      if (iVar4 == 0) {\n        unaff_s1 = puVar15 + -0x78;\n        (*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))(puVar15 + -0xa8);\n        *(undefined4 *)(puVar15 + -0xbc) = *(undefined4 *)(puVar15 + -0x90);\n        iVar4 = *(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4);\n        *(undefined4 *)(puVar15 + -0xc0) = *(undefined4 *)(puVar15 + -0x94);\n        *(undefined4 *)(puVar15 + -0xc4) = *(undefined4 *)(puVar15 + -0x98);\n        *(int *)(puVar15 + -0xb8) = (int)*(double *)(puVar15 + -0x88);\n        *(undefined4 *)(puVar15 + -200) = *(undefined4 *)(puVar15 + -0x9c);\n        sqlite3_snprintf(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0));\n        *(undefined4 *)(puVar15 + -0xc4) = 0xffffffff;\n        *(undefined4 *)(puVar15 + -200) = 1;\n        pbVar8 = pbVar3;\n        FUN_0007ec40(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff);\n        iVar14 = *(int *)(puVar15 + -0xb0);\n      }\n      if (*(int *)(puVar15 + -0x14) == *(int *)unaff_s0) break;\n      pcVar12 = *(code **)(iVar14 + -0x7b28);\n      uVar16 = 0x8bc4c;\n      (*pcVar12)();\n      puVar13 = (undefined *)(*(int *)(pcVar12 + 0x104f90) + -0x44d0);\n      unaff_s2 = pbVar3;\n      puVar15 = puVar15 + -0xd8;\n    }" { (expression_statement "pbVar3 = pbVar8;" (assignment_expression "pbVar3 = pbVar8" identifier = identifier) ;) (expression_statement "*(byte **)(puVar15 + -0x10) = unaff_s0;" (assignment_expression "*(byte **)(puVar15 + -0x10) = unaff_s0" (pointer_expression "*(byte **)(puVar15 + -0x10)" * (cast_expression "(byte **)(puVar15 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar15 + -0xb0) = puVar13 + 0x10cdf0;" (assignment_expression "*(undefined **)(puVar15 + -0xb0) = puVar13 + 0x10cdf0" (pointer_expression "*(undefined **)(puVar15 + -0xb0)" * (cast_expression "(undefined **)(puVar15 + -0xb0)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xb0)" ( (binary_expression "puVar15 + -0xb0" identifier + number_literal) )))) = (binary_expression "puVar13 + 0x10cdf0" identifier + number_literal)) ;) (expression_statement "*(byte **)(puVar15 + -8) = unaff_s2;" (assignment_expression "*(byte **)(puVar15 + -8) = unaff_s2" (pointer_expression "*(byte **)(puVar15 + -8)" * (cast_expression "(byte **)(puVar15 + -8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar15 + -0xc) = unaff_s1;" (assignment_expression "*(undefined1 **)(puVar15 + -0xc) = unaff_s1" (pointer_expression "*(undefined1 **)(puVar15 + -0xc)" * (cast_expression "(undefined1 **)(puVar15 + -0xc)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -4) = uVar16;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = uVar16" (pointer_expression "*(undefined4 *)(puVar15 + -4)" * (cast_expression "(undefined4 *)(puVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "unaff_s0 = *(byte **)(puVar13 + 0x1052f4);" (assignment_expression "unaff_s0 = *(byte **)(puVar13 + 0x1052f4)" identifier = (pointer_expression "*(byte **)(puVar13 + 0x1052f4)" * (cast_expression "(byte **)(puVar13 + 0x1052f4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x1052f4)" ( (binary_expression "puVar13 + 0x1052f4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)unaff_s0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)unaff_s0" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)unaff_s0" * (cast_expression "(undefined4 *)unaff_s0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pbVar8 = pbVar3;" (assignment_expression "pbVar8 = pbVar3" identifier = identifier) ;) (expression_statement "iVar4 = FUN_00087980();" (assignment_expression "iVar4 = FUN_00087980()" identifier = (call_expression "FUN_00087980()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar14 = *(int *)(puVar15 + -0xb0);" (assignment_expression "iVar14 = *(int *)(puVar15 + -0xb0)" identifier = (pointer_expression "*(int *)(puVar15 + -0xb0)" * (cast_expression "(int *)(puVar15 + -0xb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xb0)" ( (binary_expression "puVar15 + -0xb0" identifier + number_literal) ))))) ;) (expression_statement "unaff_s1 = puVar15 + -0xa8;" (assignment_expression "unaff_s1 = puVar15 + -0xa8" identifier = (binary_expression "puVar15 + -0xa8" identifier + number_literal)) ;) (if_statement "if (iVar4 == 0) {\n        unaff_s1 = puVar15 + -0x78;\n        (*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))(puVar15 + -0xa8);\n        *(undefined4 *)(puVar15 + -0xbc) = *(undefined4 *)(puVar15 + -0x90);\n        iVar4 = *(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4);\n        *(undefined4 *)(puVar15 + -0xc0) = *(undefined4 *)(puVar15 + -0x94);\n        *(undefined4 *)(puVar15 + -0xc4) = *(undefined4 *)(puVar15 + -0x98);\n        *(int *)(puVar15 + -0xb8) = (int)*(double *)(puVar15 + -0x88);\n        *(undefined4 *)(puVar15 + -200) = *(undefined4 *)(puVar15 + -0x9c);\n        sqlite3_snprintf(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0));\n        *(undefined4 *)(puVar15 + -0xc4) = 0xffffffff;\n        *(undefined4 *)(puVar15 + -200) = 1;\n        pbVar8 = pbVar3;\n        FUN_0007ec40(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff);\n        iVar14 = *(int *)(puVar15 + -0xb0);\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        unaff_s1 = puVar15 + -0x78;\n        (*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))(puVar15 + -0xa8);\n        *(undefined4 *)(puVar15 + -0xbc) = *(undefined4 *)(puVar15 + -0x90);\n        iVar4 = *(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4);\n        *(undefined4 *)(puVar15 + -0xc0) = *(undefined4 *)(puVar15 + -0x94);\n        *(undefined4 *)(puVar15 + -0xc4) = *(undefined4 *)(puVar15 + -0x98);\n        *(int *)(puVar15 + -0xb8) = (int)*(double *)(puVar15 + -0x88);\n        *(undefined4 *)(puVar15 + -200) = *(undefined4 *)(puVar15 + -0x9c);\n        sqlite3_snprintf(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0));\n        *(undefined4 *)(puVar15 + -0xc4) = 0xffffffff;\n        *(undefined4 *)(puVar15 + -200) = 1;\n        pbVar8 = pbVar3;\n        FUN_0007ec40(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff);\n        iVar14 = *(int *)(puVar15 + -0xb0);\n      }" { (expression_statement "unaff_s1 = puVar15 + -0x78;" (assignment_expression "unaff_s1 = puVar15 + -0x78" identifier = (binary_expression "puVar15 + -0x78" identifier + number_literal)) ;) (expression_statement "(*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))(puVar15 + -0xa8);" (call_expression "(*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))(puVar15 + -0xa8)" (parenthesized_expression "(*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))" ( (pointer_expression "*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac)" * (cast_expression "(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar14 + -0x7d78) + -0x35ac)" ( (binary_expression "*(int *)(iVar14 + -0x7d78) + -0x35ac" (pointer_expression "*(int *)(iVar14 + -0x7d78)" * (cast_expression "(int *)(iVar14 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + -0x7d78)" ( (binary_expression "iVar14 + -0x7d78" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar15 + -0xa8)" ( (binary_expression "puVar15 + -0xa8" identifier + number_literal) ))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xbc) = *(undefined4 *)(puVar15 + -0x90);" (assignment_expression "*(undefined4 *)(puVar15 + -0xbc) = *(undefined4 *)(puVar15 + -0x90)" (pointer_expression "*(undefined4 *)(puVar15 + -0xbc)" * (cast_expression "(undefined4 *)(puVar15 + -0xbc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xbc)" ( (binary_expression "puVar15 + -0xbc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + -0x90)" * (cast_expression "(undefined4 *)(puVar15 + -0x90)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x90)" ( (binary_expression "puVar15 + -0x90" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4);" (assignment_expression "iVar4 = *(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4)" identifier = (pointer_expression "*(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4)" * (cast_expression "(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + -0xb0) + -0x7fc4)" ( (binary_expression "*(int *)(puVar15 + -0xb0) + -0x7fc4" (pointer_expression "*(int *)(puVar15 + -0xb0)" * (cast_expression "(int *)(puVar15 + -0xb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xb0)" ( (binary_expression "puVar15 + -0xb0" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc0) = *(undefined4 *)(puVar15 + -0x94);" (assignment_expression "*(undefined4 *)(puVar15 + -0xc0) = *(undefined4 *)(puVar15 + -0x94)" (pointer_expression "*(undefined4 *)(puVar15 + -0xc0)" * (cast_expression "(undefined4 *)(puVar15 + -0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc0)" ( (binary_expression "puVar15 + -0xc0" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + -0x94)" * (cast_expression "(undefined4 *)(puVar15 + -0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x94)" ( (binary_expression "puVar15 + -0x94" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc4) = *(undefined4 *)(puVar15 + -0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0xc4) = *(undefined4 *)(puVar15 + -0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0xc4)" * (cast_expression "(undefined4 *)(puVar15 + -0xc4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc4)" ( (binary_expression "puVar15 + -0xc4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + -0x98)" * (cast_expression "(undefined4 *)(puVar15 + -0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x98)" ( (binary_expression "puVar15 + -0x98" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar15 + -0xb8) = (int)*(double *)(puVar15 + -0x88);" (assignment_expression "*(int *)(puVar15 + -0xb8) = (int)*(double *)(puVar15 + -0x88)" (pointer_expression "*(int *)(puVar15 + -0xb8)" * (cast_expression "(int *)(puVar15 + -0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xb8)" ( (binary_expression "puVar15 + -0xb8" identifier + number_literal) )))) = (cast_expression "(int)*(double *)(puVar15 + -0x88)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(double *)(puVar15 + -0x88)" * (cast_expression "(double *)(puVar15 + -0x88)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x88)" ( (binary_expression "puVar15 + -0x88" identifier + number_literal) )))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -200) = *(undefined4 *)(puVar15 + -0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -200) = *(undefined4 *)(puVar15 + -0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -200)" * (cast_expression "(undefined4 *)(puVar15 + -200)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -200)" ( (binary_expression "puVar15 + -200" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + -0x9c)" * (cast_expression "(undefined4 *)(puVar15 + -0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x9c)" ( (binary_expression "puVar15 + -0x9c" identifier + number_literal) ))))) ;) (expression_statement "sqlite3_snprintf(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0));" (call_expression "sqlite3_snprintf(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0))" identifier (argument_list "(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0))" ( number_literal , identifier , (binary_expression "iVar4 + -0x5eac" identifier + number_literal) , (pointer_expression "*(undefined4 *)(puVar15 + -0xa0)" * (cast_expression "(undefined4 *)(puVar15 + -0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xa0)" ( (binary_expression "puVar15 + -0xa0" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc4) = 0xffffffff;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc4) = 0xffffffff" (pointer_expression "*(undefined4 *)(puVar15 + -0xc4)" * (cast_expression "(undefined4 *)(puVar15 + -0xc4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc4)" ( (binary_expression "puVar15 + -0xc4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -200) = 1;" (assignment_expression "*(undefined4 *)(puVar15 + -200) = 1" (pointer_expression "*(undefined4 *)(puVar15 + -200)" * (cast_expression "(undefined4 *)(puVar15 + -200)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -200)" ( (binary_expression "puVar15 + -200" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pbVar8 = pbVar3;" (assignment_expression "pbVar8 = pbVar3" identifier = identifier) ;) (expression_statement "FUN_0007ec40(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff);" (call_expression "FUN_0007ec40(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff)" identifier (argument_list "(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff)" ( identifier , (binary_expression "pbVar3 + 0x14" identifier + number_literal) , identifier , number_literal ))) ;) (expression_statement "iVar14 = *(int *)(puVar15 + -0xb0);" (assignment_expression "iVar14 = *(int *)(puVar15 + -0xb0)" identifier = (pointer_expression "*(int *)(puVar15 + -0xb0)" * (cast_expression "(int *)(puVar15 + -0xb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xb0)" ( (binary_expression "puVar15 + -0xb0" identifier + number_literal) ))))) ;) })) (if_statement "if (*(int *)(puVar15 + -0x14) == *(int *)unaff_s0) break;" if (parenthesized_expression "(*(int *)(puVar15 + -0x14) == *(int *)unaff_s0)" ( (binary_expression "*(int *)(puVar15 + -0x14) == *(int *)unaff_s0" (pointer_expression "*(int *)(puVar15 + -0x14)" * (cast_expression "(int *)(puVar15 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) == (pointer_expression "*(int *)unaff_s0" * (cast_expression "(int *)unaff_s0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (break_statement "break;" break ;)) (expression_statement "pcVar12 = *(code **)(iVar14 + -0x7b28);" (assignment_expression "pcVar12 = *(code **)(iVar14 + -0x7b28)" identifier = (pointer_expression "*(code **)(iVar14 + -0x7b28)" * (cast_expression "(code **)(iVar14 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + -0x7b28)" ( (binary_expression "iVar14 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "uVar16 = 0x8bc4c;" (assignment_expression "uVar16 = 0x8bc4c" identifier = number_literal) ;) (expression_statement "(*pcVar12)();" (call_expression "(*pcVar12)()" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar13 = (undefined *)(*(int *)(pcVar12 + 0x104f90) + -0x44d0);" (assignment_expression "puVar13 = (undefined *)(*(int *)(pcVar12 + 0x104f90) + -0x44d0)" identifier = (cast_expression "(undefined *)(*(int *)(pcVar12 + 0x104f90) + -0x44d0)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar12 + 0x104f90) + -0x44d0)" ( (binary_expression "*(int *)(pcVar12 + 0x104f90) + -0x44d0" (pointer_expression "*(int *)(pcVar12 + 0x104f90)" * (cast_expression "(int *)(pcVar12 + 0x104f90)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x104f90)" ( (binary_expression "pcVar12 + 0x104f90" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "unaff_s2 = pbVar3;" (assignment_expression "unaff_s2 = pbVar3" identifier = identifier) ;) (expression_statement "puVar15 = puVar15 + -0xd8;" (assignment_expression "puVar15 = puVar15 + -0xd8" identifier = (binary_expression "puVar15 + -0xd8" identifier + number_literal)) ;) })) (return_statement "return;" return ;) }))) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ IDENT ])))) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT - LIT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) ))))) )))) )) (argument_list ( ))) ;) (return_statement return ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression IDENT < LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (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 IDENT < IDENT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == IDENT) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , LIT , LIT ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , LIT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))))) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (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 ( ))) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * IDENT) - LIT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (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 *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) ))))) )))) )) (argument_list ( ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (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)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT , LIT ))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (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) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (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 IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT , (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (return_statement return ;) }))) (return_statement return ;) })))
(function_definition "void FUN_0008b378(byte *param_1,int param_2,undefined4 *param_3)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  byte *pbVar3;\n  byte bVar5;\n  int iVar4;\n  uint uVar6;\n  int iVar7;\n  byte *pbVar8;\n  uint uVar9;\n  uint uVar10;\n  byte *pbVar11;\n  byte *unaff_s0;\n  undefined1 *unaff_s1;\n  byte *unaff_s2;\n  code *pcVar12;\n  undefined *puVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  undefined4 uVar16;\n  undefined1 auStack_138 [16];\n  undefined4 local_128;\n  undefined *puStack_124;\n  byte *local_114;\n  undefined1 local_100 [40];\n  char local_d8;\n  byte abStack_a0 [100];\n  int local_3c;\n  \n  puVar13 = PTR___stack_chk_guard_00190e24;\n  local_3c = *(int *)PTR___stack_chk_guard_00190e24;\n  pbVar8 = param_1;\n  if (param_2 == 0) goto switchD_0008b4d8_caseD_1;\n  pbVar8 = (byte *)*param_3;\n  unaff_s2 = (byte *)FUN_00086f60(pbVar8,1);\n  unaff_s0 = param_1;\n  if (unaff_s2 == (byte *)0x0) goto switchD_0008b4d8_caseD_1;\n  unaff_s1 = local_100;\n  pbVar8 = param_1;\n  iVar4 = FUN_00087980(param_1,param_2 + -1,param_3 + 1,unaff_s1);\n  puVar2 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n  if (iVar4 != 0) goto switchD_0008b4d8_caseD_1;\n  iVar4 = (int)(char)*unaff_s2;\n  if (iVar4 == 0) {\nLAB_0008b5ac:\n    pbVar3 = abStack_a0;\n  }\n  else {\n    iVar14 = 0;\n    uVar10 = 0;\n    uVar6 = 1;\n    do {\n      iVar14 = iVar14 + 1;\n      bVar1 = iVar4 == 0x25;\n      iVar4 = (int)(char)unaff_s2[iVar14];\n      if (bVar1) {\n        uVar6 = iVar4 - 0x25U & 0xff;\n        pbVar8 = (byte *)(uint)(uVar6 < 0x53);\n        if (pbVar8 != (byte *)0x0) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();\n          return;\n        }\n        goto switchD_0008b4d8_caseD_1;\n      }\n      uVar9 = uVar6 + 1;\n      uVar10 = (uVar9 < uVar6) + uVar10;\n      uVar6 = uVar9;\n    } while (iVar4 != 0);\n    if ((uVar10 == 0) && (uVar9 < 100)) goto LAB_0008b5ac;\n    pbVar8 = *(byte **)param_1;\n    iVar4 = *(int *)(pbVar8 + 0x20);\n    uVar6 = (int)*(uint *)(iVar4 + 0x6c) >> 0x1f;\n    if ((uVar6 < uVar10) || ((uVar10 == uVar6 && (*(uint *)(iVar4 + 0x6c) < uVar9)))) {\n      param_1[0x14] = 0;\n      param_1[0x15] = 0;\n      param_1[0x16] = 0;\n      param_1[0x17] = 0x12;\n      local_128 = 0;\n      FUN_0007d514(pbVar8,puVar2 + -0x612c,0xffffffff,1);\n      goto switchD_0008b4d8_caseD_1;\n    }\n    if ((*(char *)(iVar4 + 0x51) != '\0') ||\n       (pbVar3 = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f),\n       pbVar3 == (byte *)0x0)) {\n      pbVar8 = param_1;\n      (*(code *)PTR_sqlite3_result_error_nomem_001909dc)();\n      goto switchD_0008b4d8_caseD_1;\n    }\n  }\n  local_114 = abStack_a0;\n  if (local_d8 == '\0') {\n    (*(code *)(PTR_LAB_00190ba8 + -0x3bac))(unaff_s1);\n  }\n  (*(code *)(PTR_LAB_00190ba8 + -0x35ac))(unaff_s1);\n  bVar5 = *unaff_s2;\n  pbVar8 = pbVar3;\n  if (bVar5 != 0) {\n    iVar14 = 0;\n    iVar4 = 0;\n    do {\n      iVar7 = iVar4 + 1;\n      pbVar11 = unaff_s2 + iVar7;\n      if (bVar5 == 0x25) {\n        iVar7 = iVar4 + 2;\n        uVar6 = *pbVar11 - 0x48 & 0xff;\n        pbVar11 = unaff_s2 + iVar7;\n        if (uVar6 < 0x30) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))();\n          return;\n        }\n        *pbVar8 = 0x25;\n      }\n      else {\n        *pbVar8 = bVar5;\n      }\n      iVar14 = iVar14 + 1;\n      pbVar8 = pbVar3 + iVar14;\n      bVar5 = *pbVar11;\n      iVar4 = iVar7;\n    } while (bVar5 != 0);\n  }\n  *pbVar8 = 0;\n  if (pbVar3 == local_114) {\n    puStack_124 = (undefined *)0xffffffff;\n  }\n  else {\n    puStack_124 = PTR_LAB_00190b40 + -0xf88;\n  }\n  local_128 = 1;\n  pbVar8 = param_1;\n  FUN_0007ec40(param_1,param_1 + 0x14,pbVar3,0xffffffff);\nswitchD_0008b4d8_caseD_1:\n  if (local_3c != *(int *)puVar13) {\n    uVar16 = 0x8bb30;\n    puVar13 = PTR___stack_chk_fail_00190df8;\n    (*(code *)PTR___stack_chk_fail_00190df8)();\n    puVar15 = auStack_138;\n    while( true ) {\n      pbVar3 = pbVar8;\n      *(byte **)(puVar15 + -0x10) = unaff_s0;\n      *(undefined **)(puVar15 + -0xb0) = puVar13 + 0x10cdf0;\n      *(byte **)(puVar15 + -8) = unaff_s2;\n      *(undefined1 **)(puVar15 + -0xc) = unaff_s1;\n      *(undefined4 *)(puVar15 + -4) = uVar16;\n      unaff_s0 = *(byte **)(puVar13 + 0x1052f4);\n      *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)unaff_s0;\n      pbVar8 = pbVar3;\n      iVar4 = FUN_00087980();\n      iVar14 = *(int *)(puVar15 + -0xb0);\n      unaff_s1 = puVar15 + -0xa8;\n      if (iVar4 == 0) {\n        unaff_s1 = puVar15 + -0x78;\n        (*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))(puVar15 + -0xa8);\n        *(undefined4 *)(puVar15 + -0xbc) = *(undefined4 *)(puVar15 + -0x90);\n        iVar4 = *(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4);\n        *(undefined4 *)(puVar15 + -0xc0) = *(undefined4 *)(puVar15 + -0x94);\n        *(undefined4 *)(puVar15 + -0xc4) = *(undefined4 *)(puVar15 + -0x98);\n        *(int *)(puVar15 + -0xb8) = (int)*(double *)(puVar15 + -0x88);\n        *(undefined4 *)(puVar15 + -200) = *(undefined4 *)(puVar15 + -0x9c);\n        sqlite3_snprintf(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0));\n        *(undefined4 *)(puVar15 + -0xc4) = 0xffffffff;\n        *(undefined4 *)(puVar15 + -200) = 1;\n        pbVar8 = pbVar3;\n        FUN_0007ec40(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff);\n        iVar14 = *(int *)(puVar15 + -0xb0);\n      }\n      if (*(int *)(puVar15 + -0x14) == *(int *)unaff_s0) break;\n      pcVar12 = *(code **)(iVar14 + -0x7b28);\n      uVar16 = 0x8bc4c;\n      (*pcVar12)();\n      puVar13 = (undefined *)(*(int *)(pcVar12 + 0x104f90) + -0x44d0);\n      unaff_s2 = pbVar3;\n      puVar15 = puVar15 + -0xd8;\n    }\n    return;\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0008b378(byte *param_1,int param_2,undefined4 *param_3)" (identifier "FUN_0008b378") (parameter_list "(byte *param_1,int param_2,undefined4 *param_3)" (( "(") (parameter_declaration "byte *param_1" (type_identifier "byte") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 *param_3" (type_identifier "undefined4") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) () ")"))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  byte *pbVar3;\n  byte bVar5;\n  int iVar4;\n  uint uVar6;\n  int iVar7;\n  byte *pbVar8;\n  uint uVar9;\n  uint uVar10;\n  byte *pbVar11;\n  byte *unaff_s0;\n  undefined1 *unaff_s1;\n  byte *unaff_s2;\n  code *pcVar12;\n  undefined *puVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  undefined4 uVar16;\n  undefined1 auStack_138 [16];\n  undefined4 local_128;\n  undefined *puStack_124;\n  byte *local_114;\n  undefined1 local_100 [40];\n  char local_d8;\n  byte abStack_a0 [100];\n  int local_3c;\n  \n  puVar13 = PTR___stack_chk_guard_00190e24;\n  local_3c = *(int *)PTR___stack_chk_guard_00190e24;\n  pbVar8 = param_1;\n  if (param_2 == 0) goto switchD_0008b4d8_caseD_1;\n  pbVar8 = (byte *)*param_3;\n  unaff_s2 = (byte *)FUN_00086f60(pbVar8,1);\n  unaff_s0 = param_1;\n  if (unaff_s2 == (byte *)0x0) goto switchD_0008b4d8_caseD_1;\n  unaff_s1 = local_100;\n  pbVar8 = param_1;\n  iVar4 = FUN_00087980(param_1,param_2 + -1,param_3 + 1,unaff_s1);\n  puVar2 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n  if (iVar4 != 0) goto switchD_0008b4d8_caseD_1;\n  iVar4 = (int)(char)*unaff_s2;\n  if (iVar4 == 0) {\nLAB_0008b5ac:\n    pbVar3 = abStack_a0;\n  }\n  else {\n    iVar14 = 0;\n    uVar10 = 0;\n    uVar6 = 1;\n    do {\n      iVar14 = iVar14 + 1;\n      bVar1 = iVar4 == 0x25;\n      iVar4 = (int)(char)unaff_s2[iVar14];\n      if (bVar1) {\n        uVar6 = iVar4 - 0x25U & 0xff;\n        pbVar8 = (byte *)(uint)(uVar6 < 0x53);\n        if (pbVar8 != (byte *)0x0) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();\n          return;\n        }\n        goto switchD_0008b4d8_caseD_1;\n      }\n      uVar9 = uVar6 + 1;\n      uVar10 = (uVar9 < uVar6) + uVar10;\n      uVar6 = uVar9;\n    } while (iVar4 != 0);\n    if ((uVar10 == 0) && (uVar9 < 100)) goto LAB_0008b5ac;\n    pbVar8 = *(byte **)param_1;\n    iVar4 = *(int *)(pbVar8 + 0x20);\n    uVar6 = (int)*(uint *)(iVar4 + 0x6c) >> 0x1f;\n    if ((uVar6 < uVar10) || ((uVar10 == uVar6 && (*(uint *)(iVar4 + 0x6c) < uVar9)))) {\n      param_1[0x14] = 0;\n      param_1[0x15] = 0;\n      param_1[0x16] = 0;\n      param_1[0x17] = 0x12;\n      local_128 = 0;\n      FUN_0007d514(pbVar8,puVar2 + -0x612c,0xffffffff,1);\n      goto switchD_0008b4d8_caseD_1;\n    }\n    if ((*(char *)(iVar4 + 0x51) != '\0') ||\n       (pbVar3 = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f),\n       pbVar3 == (byte *)0x0)) {\n      pbVar8 = param_1;\n      (*(code *)PTR_sqlite3_result_error_nomem_001909dc)();\n      goto switchD_0008b4d8_caseD_1;\n    }\n  }\n  local_114 = abStack_a0;\n  if (local_d8 == '\0') {\n    (*(code *)(PTR_LAB_00190ba8 + -0x3bac))(unaff_s1);\n  }\n  (*(code *)(PTR_LAB_00190ba8 + -0x35ac))(unaff_s1);\n  bVar5 = *unaff_s2;\n  pbVar8 = pbVar3;\n  if (bVar5 != 0) {\n    iVar14 = 0;\n    iVar4 = 0;\n    do {\n      iVar7 = iVar4 + 1;\n      pbVar11 = unaff_s2 + iVar7;\n      if (bVar5 == 0x25) {\n        iVar7 = iVar4 + 2;\n        uVar6 = *pbVar11 - 0x48 & 0xff;\n        pbVar11 = unaff_s2 + iVar7;\n        if (uVar6 < 0x30) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))();\n          return;\n        }\n        *pbVar8 = 0x25;\n      }\n      else {\n        *pbVar8 = bVar5;\n      }\n      iVar14 = iVar14 + 1;\n      pbVar8 = pbVar3 + iVar14;\n      bVar5 = *pbVar11;\n      iVar4 = iVar7;\n    } while (bVar5 != 0);\n  }\n  *pbVar8 = 0;\n  if (pbVar3 == local_114) {\n    puStack_124 = (undefined *)0xffffffff;\n  }\n  else {\n    puStack_124 = PTR_LAB_00190b40 + -0xf88;\n  }\n  local_128 = 1;\n  pbVar8 = param_1;\n  FUN_0007ec40(param_1,param_1 + 0x14,pbVar3,0xffffffff);\nswitchD_0008b4d8_caseD_1:\n  if (local_3c != *(int *)puVar13) {\n    uVar16 = 0x8bb30;\n    puVar13 = PTR___stack_chk_fail_00190df8;\n    (*(code *)PTR___stack_chk_fail_00190df8)();\n    puVar15 = auStack_138;\n    while( true ) {\n      pbVar3 = pbVar8;\n      *(byte **)(puVar15 + -0x10) = unaff_s0;\n      *(undefined **)(puVar15 + -0xb0) = puVar13 + 0x10cdf0;\n      *(byte **)(puVar15 + -8) = unaff_s2;\n      *(undefined1 **)(puVar15 + -0xc) = unaff_s1;\n      *(undefined4 *)(puVar15 + -4) = uVar16;\n      unaff_s0 = *(byte **)(puVar13 + 0x1052f4);\n      *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)unaff_s0;\n      pbVar8 = pbVar3;\n      iVar4 = FUN_00087980();\n      iVar14 = *(int *)(puVar15 + -0xb0);\n      unaff_s1 = puVar15 + -0xa8;\n      if (iVar4 == 0) {\n        unaff_s1 = puVar15 + -0x78;\n        (*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))(puVar15 + -0xa8);\n        *(undefined4 *)(puVar15 + -0xbc) = *(undefined4 *)(puVar15 + -0x90);\n        iVar4 = *(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4);\n        *(undefined4 *)(puVar15 + -0xc0) = *(undefined4 *)(puVar15 + -0x94);\n        *(undefined4 *)(puVar15 + -0xc4) = *(undefined4 *)(puVar15 + -0x98);\n        *(int *)(puVar15 + -0xb8) = (int)*(double *)(puVar15 + -0x88);\n        *(undefined4 *)(puVar15 + -200) = *(undefined4 *)(puVar15 + -0x9c);\n        sqlite3_snprintf(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0));\n        *(undefined4 *)(puVar15 + -0xc4) = 0xffffffff;\n        *(undefined4 *)(puVar15 + -200) = 1;\n        pbVar8 = pbVar3;\n        FUN_0007ec40(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff);\n        iVar14 = *(int *)(puVar15 + -0xb0);\n      }\n      if (*(int *)(puVar15 + -0x14) == *(int *)unaff_s0) break;\n      pcVar12 = *(code **)(iVar14 + -0x7b28);\n      uVar16 = 0x8bc4c;\n      (*pcVar12)();\n      puVar13 = (undefined *)(*(int *)(pcVar12 + 0x104f90) + -0x44d0);\n      unaff_s2 = pbVar3;\n      puVar15 = puVar15 + -0xd8;\n    }\n    return;\n  }\n  return;\n}" ({ "{") (declaration "bool bVar1;" (primitive_type "bool") (identifier "bVar1") (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "byte *pbVar3;" (type_identifier "byte") (pointer_declarator "*pbVar3" (* "*") (identifier "pbVar3")) (; ";")) (declaration "byte bVar5;" (type_identifier "byte") (identifier "bVar5") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "byte *pbVar8;" (type_identifier "byte") (pointer_declarator "*pbVar8" (* "*") (identifier "pbVar8")) (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "byte *pbVar11;" (type_identifier "byte") (pointer_declarator "*pbVar11" (* "*") (identifier "pbVar11")) (; ";")) (declaration "byte *unaff_s0;" (type_identifier "byte") (pointer_declarator "*unaff_s0" (* "*") (identifier "unaff_s0")) (; ";")) (declaration "undefined1 *unaff_s1;" (type_identifier "undefined1") (pointer_declarator "*unaff_s1" (* "*") (identifier "unaff_s1")) (; ";")) (declaration "byte *unaff_s2;" (type_identifier "byte") (pointer_declarator "*unaff_s2" (* "*") (identifier "unaff_s2")) (; ";")) (declaration "code *pcVar12;" (type_identifier "code") (pointer_declarator "*pcVar12" (* "*") (identifier "pcVar12")) (; ";")) (declaration "undefined *puVar13;" (type_identifier "undefined") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "undefined1 *puVar15;" (type_identifier "undefined1") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "undefined4 uVar16;" (type_identifier "undefined4") (identifier "uVar16") (; ";")) (declaration "undefined1 auStack_138 [16];" (type_identifier "undefined1") (array_declarator "auStack_138 [16]" (identifier "auStack_138") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined4 local_128;" (type_identifier "undefined4") (identifier "local_128") (; ";")) (declaration "undefined *puStack_124;" (type_identifier "undefined") (pointer_declarator "*puStack_124" (* "*") (identifier "puStack_124")) (; ";")) (declaration "byte *local_114;" (type_identifier "byte") (pointer_declarator "*local_114" (* "*") (identifier "local_114")) (; ";")) (declaration "undefined1 local_100 [40];" (type_identifier "undefined1") (array_declarator "local_100 [40]" (identifier "local_100") ([ "[") (number_literal "40") (] "]")) (; ";")) (declaration "char local_d8;" (primitive_type "char") (identifier "local_d8") (; ";")) (declaration "byte abStack_a0 [100];" (type_identifier "byte") (array_declarator "abStack_a0 [100]" (identifier "abStack_a0") ([ "[") (number_literal "100") (] "]")) (; ";")) (declaration "int local_3c;" (primitive_type "int") (identifier "local_3c") (; ";")) (expression_statement "puVar13 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar13 = PTR___stack_chk_guard_00190e24" (identifier "puVar13") (= "=") (identifier "PTR___stack_chk_guard_00190e24")) (; ";")) (expression_statement "local_3c = *(int *)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_3c = *(int *)PTR___stack_chk_guard_00190e24" (identifier "local_3c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_00190e24" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_00190e24" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_00190e24")))) (; ";")) (expression_statement "pbVar8 = param_1;" (assignment_expression "pbVar8 = param_1" (identifier "pbVar8") (= "=") (identifier "param_1")) (; ";")) (if_statement "if (param_2 == 0) goto switchD_0008b4d8_caseD_1;" (if "if") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (goto_statement "goto switchD_0008b4d8_caseD_1;" (goto "goto") (statement_identifier "switchD_0008b4d8_caseD_1") (; ";"))) (expression_statement "pbVar8 = (byte *)*param_3;" (assignment_expression "pbVar8 = (byte *)*param_3" (identifier "pbVar8") (= "=") (cast_expression "(byte *)*param_3" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_3" (* "*") (identifier "param_3")))) (; ";")) (expression_statement "unaff_s2 = (byte *)FUN_00086f60(pbVar8,1);" (assignment_expression "unaff_s2 = (byte *)FUN_00086f60(pbVar8,1)" (identifier "unaff_s2") (= "=") (cast_expression "(byte *)FUN_00086f60(pbVar8,1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00086f60(pbVar8,1)" (identifier "FUN_00086f60") (argument_list "(pbVar8,1)" (( "(") (identifier "pbVar8") (, ",") (number_literal "1") () ")"))))) (; ";")) (expression_statement "unaff_s0 = param_1;" (assignment_expression "unaff_s0 = param_1" (identifier "unaff_s0") (= "=") (identifier "param_1")) (; ";")) (if_statement "if (unaff_s2 == (byte *)0x0) goto switchD_0008b4d8_caseD_1;" (if "if") (parenthesized_expression "(unaff_s2 == (byte *)0x0)" (( "(") (binary_expression "unaff_s2 == (byte *)0x0" (identifier "unaff_s2") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto switchD_0008b4d8_caseD_1;" (goto "goto") (statement_identifier "switchD_0008b4d8_caseD_1") (; ";"))) (expression_statement "unaff_s1 = local_100;" (assignment_expression "unaff_s1 = local_100" (identifier "unaff_s1") (= "=") (identifier "local_100")) (; ";")) (expression_statement "pbVar8 = param_1;" (assignment_expression "pbVar8 = param_1" (identifier "pbVar8") (= "=") (identifier "param_1")) (; ";")) (expression_statement "iVar4 = FUN_00087980(param_1,param_2 + -1,param_3 + 1,unaff_s1);" (assignment_expression "iVar4 = FUN_00087980(param_1,param_2 + -1,param_3 + 1,unaff_s1)" (identifier "iVar4") (= "=") (call_expression "FUN_00087980(param_1,param_2 + -1,param_3 + 1,unaff_s1)" (identifier "FUN_00087980") (argument_list "(param_1,param_2 + -1,param_3 + 1,unaff_s1)" (( "(") (identifier "param_1") (, ",") (binary_expression "param_2 + -1" (identifier "param_2") (+ "+") (number_literal "-1")) (, ",") (binary_expression "param_3 + 1" (identifier "param_3") (+ "+") (number_literal "1")) (, ",") (identifier "unaff_s1") () ")")))) (; ";")) (expression_statement "puVar2 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;" (assignment_expression "puVar2 = PTR_s_o_page_from_root____pageno_INTEG_0019095c" (identifier "puVar2") (= "=") (identifier "PTR_s_o_page_from_root____pageno_INTEG_0019095c")) (; ";")) (if_statement "if (iVar4 != 0) goto switchD_0008b4d8_caseD_1;" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto switchD_0008b4d8_caseD_1;" (goto "goto") (statement_identifier "switchD_0008b4d8_caseD_1") (; ";"))) (expression_statement "iVar4 = (int)(char)*unaff_s2;" (assignment_expression "iVar4 = (int)(char)*unaff_s2" (identifier "iVar4") (= "=") (cast_expression "(int)(char)*unaff_s2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)*unaff_s2" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*unaff_s2" (* "*") (identifier "unaff_s2"))))) (; ";")) (if_statement "if (iVar4 == 0) {\nLAB_0008b5ac:\n    pbVar3 = abStack_a0;\n  }\n  else {\n    iVar14 = 0;\n    uVar10 = 0;\n    uVar6 = 1;\n    do {\n      iVar14 = iVar14 + 1;\n      bVar1 = iVar4 == 0x25;\n      iVar4 = (int)(char)unaff_s2[iVar14];\n      if (bVar1) {\n        uVar6 = iVar4 - 0x25U & 0xff;\n        pbVar8 = (byte *)(uint)(uVar6 < 0x53);\n        if (pbVar8 != (byte *)0x0) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();\n          return;\n        }\n        goto switchD_0008b4d8_caseD_1;\n      }\n      uVar9 = uVar6 + 1;\n      uVar10 = (uVar9 < uVar6) + uVar10;\n      uVar6 = uVar9;\n    } while (iVar4 != 0);\n    if ((uVar10 == 0) && (uVar9 < 100)) goto LAB_0008b5ac;\n    pbVar8 = *(byte **)param_1;\n    iVar4 = *(int *)(pbVar8 + 0x20);\n    uVar6 = (int)*(uint *)(iVar4 + 0x6c) >> 0x1f;\n    if ((uVar6 < uVar10) || ((uVar10 == uVar6 && (*(uint *)(iVar4 + 0x6c) < uVar9)))) {\n      param_1[0x14] = 0;\n      param_1[0x15] = 0;\n      param_1[0x16] = 0;\n      param_1[0x17] = 0x12;\n      local_128 = 0;\n      FUN_0007d514(pbVar8,puVar2 + -0x612c,0xffffffff,1);\n      goto switchD_0008b4d8_caseD_1;\n    }\n    if ((*(char *)(iVar4 + 0x51) != '\0') ||\n       (pbVar3 = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f),\n       pbVar3 == (byte *)0x0)) {\n      pbVar8 = param_1;\n      (*(code *)PTR_sqlite3_result_error_nomem_001909dc)();\n      goto switchD_0008b4d8_caseD_1;\n    }\n  }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0008b5ac:\n    pbVar3 = abStack_a0;\n  }" ({ "{") (labeled_statement "LAB_0008b5ac:\n    pbVar3 = abStack_a0;" (statement_identifier "LAB_0008b5ac") (: ":") (expression_statement "pbVar3 = abStack_a0;" (assignment_expression "pbVar3 = abStack_a0" (identifier "pbVar3") (= "=") (identifier "abStack_a0")) (; ";"))) (} "}")) (else_clause "else {\n    iVar14 = 0;\n    uVar10 = 0;\n    uVar6 = 1;\n    do {\n      iVar14 = iVar14 + 1;\n      bVar1 = iVar4 == 0x25;\n      iVar4 = (int)(char)unaff_s2[iVar14];\n      if (bVar1) {\n        uVar6 = iVar4 - 0x25U & 0xff;\n        pbVar8 = (byte *)(uint)(uVar6 < 0x53);\n        if (pbVar8 != (byte *)0x0) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();\n          return;\n        }\n        goto switchD_0008b4d8_caseD_1;\n      }\n      uVar9 = uVar6 + 1;\n      uVar10 = (uVar9 < uVar6) + uVar10;\n      uVar6 = uVar9;\n    } while (iVar4 != 0);\n    if ((uVar10 == 0) && (uVar9 < 100)) goto LAB_0008b5ac;\n    pbVar8 = *(byte **)param_1;\n    iVar4 = *(int *)(pbVar8 + 0x20);\n    uVar6 = (int)*(uint *)(iVar4 + 0x6c) >> 0x1f;\n    if ((uVar6 < uVar10) || ((uVar10 == uVar6 && (*(uint *)(iVar4 + 0x6c) < uVar9)))) {\n      param_1[0x14] = 0;\n      param_1[0x15] = 0;\n      param_1[0x16] = 0;\n      param_1[0x17] = 0x12;\n      local_128 = 0;\n      FUN_0007d514(pbVar8,puVar2 + -0x612c,0xffffffff,1);\n      goto switchD_0008b4d8_caseD_1;\n    }\n    if ((*(char *)(iVar4 + 0x51) != '\0') ||\n       (pbVar3 = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f),\n       pbVar3 == (byte *)0x0)) {\n      pbVar8 = param_1;\n      (*(code *)PTR_sqlite3_result_error_nomem_001909dc)();\n      goto switchD_0008b4d8_caseD_1;\n    }\n  }" (else "else") (compound_statement "{\n    iVar14 = 0;\n    uVar10 = 0;\n    uVar6 = 1;\n    do {\n      iVar14 = iVar14 + 1;\n      bVar1 = iVar4 == 0x25;\n      iVar4 = (int)(char)unaff_s2[iVar14];\n      if (bVar1) {\n        uVar6 = iVar4 - 0x25U & 0xff;\n        pbVar8 = (byte *)(uint)(uVar6 < 0x53);\n        if (pbVar8 != (byte *)0x0) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();\n          return;\n        }\n        goto switchD_0008b4d8_caseD_1;\n      }\n      uVar9 = uVar6 + 1;\n      uVar10 = (uVar9 < uVar6) + uVar10;\n      uVar6 = uVar9;\n    } while (iVar4 != 0);\n    if ((uVar10 == 0) && (uVar9 < 100)) goto LAB_0008b5ac;\n    pbVar8 = *(byte **)param_1;\n    iVar4 = *(int *)(pbVar8 + 0x20);\n    uVar6 = (int)*(uint *)(iVar4 + 0x6c) >> 0x1f;\n    if ((uVar6 < uVar10) || ((uVar10 == uVar6 && (*(uint *)(iVar4 + 0x6c) < uVar9)))) {\n      param_1[0x14] = 0;\n      param_1[0x15] = 0;\n      param_1[0x16] = 0;\n      param_1[0x17] = 0x12;\n      local_128 = 0;\n      FUN_0007d514(pbVar8,puVar2 + -0x612c,0xffffffff,1);\n      goto switchD_0008b4d8_caseD_1;\n    }\n    if ((*(char *)(iVar4 + 0x51) != '\0') ||\n       (pbVar3 = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f),\n       pbVar3 == (byte *)0x0)) {\n      pbVar8 = param_1;\n      (*(code *)PTR_sqlite3_result_error_nomem_001909dc)();\n      goto switchD_0008b4d8_caseD_1;\n    }\n  }" ({ "{") (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" (identifier "iVar14") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" (identifier "uVar10") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";")) (do_statement "do {\n      iVar14 = iVar14 + 1;\n      bVar1 = iVar4 == 0x25;\n      iVar4 = (int)(char)unaff_s2[iVar14];\n      if (bVar1) {\n        uVar6 = iVar4 - 0x25U & 0xff;\n        pbVar8 = (byte *)(uint)(uVar6 < 0x53);\n        if (pbVar8 != (byte *)0x0) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();\n          return;\n        }\n        goto switchD_0008b4d8_caseD_1;\n      }\n      uVar9 = uVar6 + 1;\n      uVar10 = (uVar9 < uVar6) + uVar10;\n      uVar6 = uVar9;\n    } while (iVar4 != 0);" (do "do") (compound_statement "{\n      iVar14 = iVar14 + 1;\n      bVar1 = iVar4 == 0x25;\n      iVar4 = (int)(char)unaff_s2[iVar14];\n      if (bVar1) {\n        uVar6 = iVar4 - 0x25U & 0xff;\n        pbVar8 = (byte *)(uint)(uVar6 < 0x53);\n        if (pbVar8 != (byte *)0x0) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();\n          return;\n        }\n        goto switchD_0008b4d8_caseD_1;\n      }\n      uVar9 = uVar6 + 1;\n      uVar10 = (uVar9 < uVar6) + uVar10;\n      uVar6 = uVar9;\n    }" ({ "{") (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" (identifier "iVar14") (= "=") (binary_expression "iVar14 + 1" (identifier "iVar14") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar1 = iVar4 == 0x25;" (assignment_expression "bVar1 = iVar4 == 0x25" (identifier "bVar1") (= "=") (binary_expression "iVar4 == 0x25" (identifier "iVar4") (== "==") (number_literal "0x25"))) (; ";")) (expression_statement "iVar4 = (int)(char)unaff_s2[iVar14];" (assignment_expression "iVar4 = (int)(char)unaff_s2[iVar14]" (identifier "iVar4") (= "=") (cast_expression "(int)(char)unaff_s2[iVar14]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)unaff_s2[iVar14]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "unaff_s2[iVar14]" (identifier "unaff_s2") ([ "[") (identifier "iVar14") (] "]"))))) (; ";")) (if_statement "if (bVar1) {\n        uVar6 = iVar4 - 0x25U & 0xff;\n        pbVar8 = (byte *)(uint)(uVar6 < 0x53);\n        if (pbVar8 != (byte *)0x0) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();\n          return;\n        }\n        goto switchD_0008b4d8_caseD_1;\n      }" (if "if") (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (compound_statement "{\n        uVar6 = iVar4 - 0x25U & 0xff;\n        pbVar8 = (byte *)(uint)(uVar6 < 0x53);\n        if (pbVar8 != (byte *)0x0) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();\n          return;\n        }\n        goto switchD_0008b4d8_caseD_1;\n      }" ({ "{") (expression_statement "uVar6 = iVar4 - 0x25U & 0xff;" (assignment_expression "uVar6 = iVar4 - 0x25U & 0xff" (identifier "uVar6") (= "=") (binary_expression "iVar4 - 0x25U & 0xff" (binary_expression "iVar4 - 0x25U" (identifier "iVar4") (- "-") (number_literal "0x25U")) (& "&") (number_literal "0xff"))) (; ";")) (expression_statement "pbVar8 = (byte *)(uint)(uVar6 < 0x53);" (assignment_expression "pbVar8 = (byte *)(uint)(uVar6 < 0x53)" (identifier "pbVar8") (= "=") (cast_expression "(byte *)(uint)(uVar6 < 0x53)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)(uVar6 < 0x53)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar6 < 0x53)" (( "(") (binary_expression "uVar6 < 0x53" (identifier "uVar6") (< "<") (number_literal "0x53")) () ")"))))) (; ";")) (if_statement "if (pbVar8 != (byte *)0x0) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();\n          return;\n        }" (if "if") (parenthesized_expression "(pbVar8 != (byte *)0x0)" (( "(") (binary_expression "pbVar8 != (byte *)0x0" (identifier "pbVar8") (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();\n          return;\n        }" ({ "{") (expression_statement "(*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))();" (call_expression "(*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))()" (parenthesized_expression "(*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)))" (( "(") (pointer_expression "*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc))" (* "*") (cast_expression "(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc))" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc))" (( "(") (binary_expression "&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)" (pointer_expression "&_gp_1" (& "&") (identifier "_gp_1")) (+ "+") (pointer_expression "*(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)" (* "*") (cast_expression "(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc)" (( "(") (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x39dc" (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4" (identifier "PTR_s_o_page_from_root____pageno_INTEG_0019095c") (+ "+") (binary_expression "uVar6 * 4" (identifier "uVar6") (* "*") (number_literal "4"))) (+ "+") (number_literal "0x39dc")) () ")"))))) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (goto_statement "goto switchD_0008b4d8_caseD_1;" (goto "goto") (statement_identifier "switchD_0008b4d8_caseD_1") (; ";")) (} "}"))) (expression_statement "uVar9 = uVar6 + 1;" (assignment_expression "uVar9 = uVar6 + 1" (identifier "uVar9") (= "=") (binary_expression "uVar6 + 1" (identifier "uVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar10 = (uVar9 < uVar6) + uVar10;" (assignment_expression "uVar10 = (uVar9 < uVar6) + uVar10" (identifier "uVar10") (= "=") (binary_expression "(uVar9 < uVar6) + uVar10" (parenthesized_expression "(uVar9 < uVar6)" (( "(") (binary_expression "uVar9 < uVar6" (identifier "uVar9") (< "<") (identifier "uVar6")) () ")")) (+ "+") (identifier "uVar10"))) (; ";")) (expression_statement "uVar6 = uVar9;" (assignment_expression "uVar6 = uVar9" (identifier "uVar6") (= "=") (identifier "uVar9")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (; ";")) (if_statement "if ((uVar10 == 0) && (uVar9 < 100)) goto LAB_0008b5ac;" (if "if") (parenthesized_expression "((uVar10 == 0) && (uVar9 < 100))" (( "(") (binary_expression "(uVar10 == 0) && (uVar9 < 100)" (parenthesized_expression "(uVar10 == 0)" (( "(") (binary_expression "uVar10 == 0" (identifier "uVar10") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(uVar9 < 100)" (( "(") (binary_expression "uVar9 < 100" (identifier "uVar9") (< "<") (number_literal "100")) () ")"))) () ")")) (goto_statement "goto LAB_0008b5ac;" (goto "goto") (statement_identifier "LAB_0008b5ac") (; ";"))) (expression_statement "pbVar8 = *(byte **)param_1;" (assignment_expression "pbVar8 = *(byte **)param_1" (identifier "pbVar8") (= "=") (pointer_expression "*(byte **)param_1" (* "*") (cast_expression "(byte **)param_1" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "param_1")))) (; ";")) (expression_statement "iVar4 = *(int *)(pbVar8 + 0x20);" (assignment_expression "iVar4 = *(int *)(pbVar8 + 0x20)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(pbVar8 + 0x20)" (* "*") (cast_expression "(int *)(pbVar8 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar8 + 0x20)" (( "(") (binary_expression "pbVar8 + 0x20" (identifier "pbVar8") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "uVar6 = (int)*(uint *)(iVar4 + 0x6c) >> 0x1f;" (assignment_expression "uVar6 = (int)*(uint *)(iVar4 + 0x6c) >> 0x1f" (identifier "uVar6") (= "=") (binary_expression "(int)*(uint *)(iVar4 + 0x6c) >> 0x1f" (cast_expression "(int)*(uint *)(iVar4 + 0x6c)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(uint *)(iVar4 + 0x6c)" (* "*") (cast_expression "(uint *)(iVar4 + 0x6c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x6c)" (( "(") (binary_expression "iVar4 + 0x6c" (identifier "iVar4") (+ "+") (number_literal "0x6c")) () ")"))))) (>> ">>") (number_literal "0x1f"))) (; ";")) (if_statement "if ((uVar6 < uVar10) || ((uVar10 == uVar6 && (*(uint *)(iVar4 + 0x6c) < uVar9)))) {\n      param_1[0x14] = 0;\n      param_1[0x15] = 0;\n      param_1[0x16] = 0;\n      param_1[0x17] = 0x12;\n      local_128 = 0;\n      FUN_0007d514(pbVar8,puVar2 + -0x612c,0xffffffff,1);\n      goto switchD_0008b4d8_caseD_1;\n    }" (if "if") (parenthesized_expression "((uVar6 < uVar10) || ((uVar10 == uVar6 && (*(uint *)(iVar4 + 0x6c) < uVar9))))" (( "(") (binary_expression "(uVar6 < uVar10) || ((uVar10 == uVar6 && (*(uint *)(iVar4 + 0x6c) < uVar9)))" (parenthesized_expression "(uVar6 < uVar10)" (( "(") (binary_expression "uVar6 < uVar10" (identifier "uVar6") (< "<") (identifier "uVar10")) () ")")) (|| "||") (parenthesized_expression "((uVar10 == uVar6 && (*(uint *)(iVar4 + 0x6c) < uVar9)))" (( "(") (parenthesized_expression "(uVar10 == uVar6 && (*(uint *)(iVar4 + 0x6c) < uVar9))" (( "(") (binary_expression "uVar10 == uVar6 && (*(uint *)(iVar4 + 0x6c) < uVar9)" (binary_expression "uVar10 == uVar6" (identifier "uVar10") (== "==") (identifier "uVar6")) (&& "&&") (parenthesized_expression "(*(uint *)(iVar4 + 0x6c) < uVar9)" (( "(") (binary_expression "*(uint *)(iVar4 + 0x6c) < uVar9" (pointer_expression "*(uint *)(iVar4 + 0x6c)" (* "*") (cast_expression "(uint *)(iVar4 + 0x6c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x6c)" (( "(") (binary_expression "iVar4 + 0x6c" (identifier "iVar4") (+ "+") (number_literal "0x6c")) () ")")))) (< "<") (identifier "uVar9")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n      param_1[0x14] = 0;\n      param_1[0x15] = 0;\n      param_1[0x16] = 0;\n      param_1[0x17] = 0x12;\n      local_128 = 0;\n      FUN_0007d514(pbVar8,puVar2 + -0x612c,0xffffffff,1);\n      goto switchD_0008b4d8_caseD_1;\n    }" ({ "{") (expression_statement "param_1[0x14] = 0;" (assignment_expression "param_1[0x14] = 0" (subscript_expression "param_1[0x14]" (identifier "param_1") ([ "[") (number_literal "0x14") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x15] = 0;" (assignment_expression "param_1[0x15] = 0" (subscript_expression "param_1[0x15]" (identifier "param_1") ([ "[") (number_literal "0x15") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x16] = 0;" (assignment_expression "param_1[0x16] = 0" (subscript_expression "param_1[0x16]" (identifier "param_1") ([ "[") (number_literal "0x16") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x17] = 0x12;" (assignment_expression "param_1[0x17] = 0x12" (subscript_expression "param_1[0x17]" (identifier "param_1") ([ "[") (number_literal "0x17") (] "]")) (= "=") (number_literal "0x12")) (; ";")) (expression_statement "local_128 = 0;" (assignment_expression "local_128 = 0" (identifier "local_128") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_0007d514(pbVar8,puVar2 + -0x612c,0xffffffff,1);" (call_expression "FUN_0007d514(pbVar8,puVar2 + -0x612c,0xffffffff,1)" (identifier "FUN_0007d514") (argument_list "(pbVar8,puVar2 + -0x612c,0xffffffff,1)" (( "(") (identifier "pbVar8") (, ",") (binary_expression "puVar2 + -0x612c" (identifier "puVar2") (+ "+") (number_literal "-0x612c")) (, ",") (number_literal "0xffffffff") (, ",") (number_literal "1") () ")"))) (; ";")) (goto_statement "goto switchD_0008b4d8_caseD_1;" (goto "goto") (statement_identifier "switchD_0008b4d8_caseD_1") (; ";")) (} "}"))) (if_statement "if ((*(char *)(iVar4 + 0x51) != '\0') ||\n       (pbVar3 = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f),\n       pbVar3 == (byte *)0x0)) {\n      pbVar8 = param_1;\n      (*(code *)PTR_sqlite3_result_error_nomem_001909dc)();\n      goto switchD_0008b4d8_caseD_1;\n    }" (if "if") (parenthesized_expression "((*(char *)(iVar4 + 0x51) != '\0') ||\n       (pbVar3 = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f),\n       pbVar3 == (byte *)0x0))" (( "(") (binary_expression "(*(char *)(iVar4 + 0x51) != '\0') ||\n       (pbVar3 = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f),\n       pbVar3 == (byte *)0x0)" (parenthesized_expression "(*(char *)(iVar4 + 0x51) != '\0')" (( "(") (binary_expression "*(char *)(iVar4 + 0x51) != '\0'" (pointer_expression "*(char *)(iVar4 + 0x51)" (* "*") (cast_expression "(char *)(iVar4 + 0x51)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x51)" (( "(") (binary_expression "iVar4 + 0x51" (identifier "iVar4") (+ "+") (number_literal "0x51")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(pbVar3 = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f),\n       pbVar3 == (byte *)0x0)" (( "(") (comma_expression "pbVar3 = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f),\n       pbVar3 == (byte *)0x0" (assignment_expression "pbVar3 = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f)" (identifier "pbVar3") (= "=") (cast_expression "(byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x854))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x854)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x854)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + 0x854)" (( "(") (binary_expression "PTR_LAB_00190ba8 + 0x854" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "0x854")) () ")")))) () ")")) (argument_list "(iVar4,0,(int)uVar9 >> 0x1f)" (( "(") (identifier "iVar4") (, ",") (number_literal "0") (, ",") (binary_expression "(int)uVar9 >> 0x1f" (cast_expression "(int)uVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar9")) (>> ">>") (number_literal "0x1f")) () ")"))))) (, ",") (binary_expression "pbVar3 == (byte *)0x0" (identifier "pbVar3") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n      pbVar8 = param_1;\n      (*(code *)PTR_sqlite3_result_error_nomem_001909dc)();\n      goto switchD_0008b4d8_caseD_1;\n    }" ({ "{") (expression_statement "pbVar8 = param_1;" (assignment_expression "pbVar8 = param_1" (identifier "pbVar8") (= "=") (identifier "param_1")) (; ";")) (expression_statement "(*(code *)PTR_sqlite3_result_error_nomem_001909dc)();" (call_expression "(*(code *)PTR_sqlite3_result_error_nomem_001909dc)()" (parenthesized_expression "(*(code *)PTR_sqlite3_result_error_nomem_001909dc)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_result_error_nomem_001909dc" (* "*") (cast_expression "(code *)PTR_sqlite3_result_error_nomem_001909dc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_result_error_nomem_001909dc"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto switchD_0008b4d8_caseD_1;" (goto "goto") (statement_identifier "switchD_0008b4d8_caseD_1") (; ";")) (} "}"))) (} "}")))) (expression_statement "local_114 = abStack_a0;" (assignment_expression "local_114 = abStack_a0" (identifier "local_114") (= "=") (identifier "abStack_a0")) (; ";")) (if_statement "if (local_d8 == '\0') {\n    (*(code *)(PTR_LAB_00190ba8 + -0x3bac))(unaff_s1);\n  }" (if "if") (parenthesized_expression "(local_d8 == '\0')" (( "(") (binary_expression "local_d8 == '\0'" (identifier "local_d8") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    (*(code *)(PTR_LAB_00190ba8 + -0x3bac))(unaff_s1);\n  }" ({ "{") (expression_statement "(*(code *)(PTR_LAB_00190ba8 + -0x3bac))(unaff_s1);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + -0x3bac))(unaff_s1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + -0x3bac))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba8 + -0x3bac)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x3bac)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + -0x3bac)" (( "(") (binary_expression "PTR_LAB_00190ba8 + -0x3bac" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "-0x3bac")) () ")")))) () ")")) (argument_list "(unaff_s1)" (( "(") (identifier "unaff_s1") () ")"))) (; ";")) (} "}"))) (expression_statement "(*(code *)(PTR_LAB_00190ba8 + -0x35ac))(unaff_s1);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + -0x35ac))(unaff_s1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + -0x35ac))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba8 + -0x35ac)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x35ac)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + -0x35ac)" (( "(") (binary_expression "PTR_LAB_00190ba8 + -0x35ac" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "-0x35ac")) () ")")))) () ")")) (argument_list "(unaff_s1)" (( "(") (identifier "unaff_s1") () ")"))) (; ";")) (expression_statement "bVar5 = *unaff_s2;" (assignment_expression "bVar5 = *unaff_s2" (identifier "bVar5") (= "=") (pointer_expression "*unaff_s2" (* "*") (identifier "unaff_s2"))) (; ";")) (expression_statement "pbVar8 = pbVar3;" (assignment_expression "pbVar8 = pbVar3" (identifier "pbVar8") (= "=") (identifier "pbVar3")) (; ";")) (if_statement "if (bVar5 != 0) {\n    iVar14 = 0;\n    iVar4 = 0;\n    do {\n      iVar7 = iVar4 + 1;\n      pbVar11 = unaff_s2 + iVar7;\n      if (bVar5 == 0x25) {\n        iVar7 = iVar4 + 2;\n        uVar6 = *pbVar11 - 0x48 & 0xff;\n        pbVar11 = unaff_s2 + iVar7;\n        if (uVar6 < 0x30) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))();\n          return;\n        }\n        *pbVar8 = 0x25;\n      }\n      else {\n        *pbVar8 = bVar5;\n      }\n      iVar14 = iVar14 + 1;\n      pbVar8 = pbVar3 + iVar14;\n      bVar5 = *pbVar11;\n      iVar4 = iVar7;\n    } while (bVar5 != 0);\n  }" (if "if") (parenthesized_expression "(bVar5 != 0)" (( "(") (binary_expression "bVar5 != 0" (identifier "bVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar14 = 0;\n    iVar4 = 0;\n    do {\n      iVar7 = iVar4 + 1;\n      pbVar11 = unaff_s2 + iVar7;\n      if (bVar5 == 0x25) {\n        iVar7 = iVar4 + 2;\n        uVar6 = *pbVar11 - 0x48 & 0xff;\n        pbVar11 = unaff_s2 + iVar7;\n        if (uVar6 < 0x30) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))();\n          return;\n        }\n        *pbVar8 = 0x25;\n      }\n      else {\n        *pbVar8 = bVar5;\n      }\n      iVar14 = iVar14 + 1;\n      pbVar8 = pbVar3 + iVar14;\n      bVar5 = *pbVar11;\n      iVar4 = iVar7;\n    } while (bVar5 != 0);\n  }" ({ "{") (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" (identifier "iVar14") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      iVar7 = iVar4 + 1;\n      pbVar11 = unaff_s2 + iVar7;\n      if (bVar5 == 0x25) {\n        iVar7 = iVar4 + 2;\n        uVar6 = *pbVar11 - 0x48 & 0xff;\n        pbVar11 = unaff_s2 + iVar7;\n        if (uVar6 < 0x30) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))();\n          return;\n        }\n        *pbVar8 = 0x25;\n      }\n      else {\n        *pbVar8 = bVar5;\n      }\n      iVar14 = iVar14 + 1;\n      pbVar8 = pbVar3 + iVar14;\n      bVar5 = *pbVar11;\n      iVar4 = iVar7;\n    } while (bVar5 != 0);" (do "do") (compound_statement "{\n      iVar7 = iVar4 + 1;\n      pbVar11 = unaff_s2 + iVar7;\n      if (bVar5 == 0x25) {\n        iVar7 = iVar4 + 2;\n        uVar6 = *pbVar11 - 0x48 & 0xff;\n        pbVar11 = unaff_s2 + iVar7;\n        if (uVar6 < 0x30) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))();\n          return;\n        }\n        *pbVar8 = 0x25;\n      }\n      else {\n        *pbVar8 = bVar5;\n      }\n      iVar14 = iVar14 + 1;\n      pbVar8 = pbVar3 + iVar14;\n      bVar5 = *pbVar11;\n      iVar4 = iVar7;\n    }" ({ "{") (expression_statement "iVar7 = iVar4 + 1;" (assignment_expression "iVar7 = iVar4 + 1" (identifier "iVar7") (= "=") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar11 = unaff_s2 + iVar7;" (assignment_expression "pbVar11 = unaff_s2 + iVar7" (identifier "pbVar11") (= "=") (binary_expression "unaff_s2 + iVar7" (identifier "unaff_s2") (+ "+") (identifier "iVar7"))) (; ";")) (if_statement "if (bVar5 == 0x25) {\n        iVar7 = iVar4 + 2;\n        uVar6 = *pbVar11 - 0x48 & 0xff;\n        pbVar11 = unaff_s2 + iVar7;\n        if (uVar6 < 0x30) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))();\n          return;\n        }\n        *pbVar8 = 0x25;\n      }\n      else {\n        *pbVar8 = bVar5;\n      }" (if "if") (parenthesized_expression "(bVar5 == 0x25)" (( "(") (binary_expression "bVar5 == 0x25" (identifier "bVar5") (== "==") (number_literal "0x25")) () ")")) (compound_statement "{\n        iVar7 = iVar4 + 2;\n        uVar6 = *pbVar11 - 0x48 & 0xff;\n        pbVar11 = unaff_s2 + iVar7;\n        if (uVar6 < 0x30) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))();\n          return;\n        }\n        *pbVar8 = 0x25;\n      }" ({ "{") (expression_statement "iVar7 = iVar4 + 2;" (assignment_expression "iVar7 = iVar4 + 2" (identifier "iVar7") (= "=") (binary_expression "iVar4 + 2" (identifier "iVar4") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "uVar6 = *pbVar11 - 0x48 & 0xff;" (assignment_expression "uVar6 = *pbVar11 - 0x48 & 0xff" (identifier "uVar6") (= "=") (binary_expression "*pbVar11 - 0x48 & 0xff" (binary_expression "*pbVar11 - 0x48" (pointer_expression "*pbVar11" (* "*") (identifier "pbVar11")) (- "-") (number_literal "0x48")) (& "&") (number_literal "0xff"))) (; ";")) (expression_statement "pbVar11 = unaff_s2 + iVar7;" (assignment_expression "pbVar11 = unaff_s2 + iVar7" (identifier "pbVar11") (= "=") (binary_expression "unaff_s2 + iVar7" (identifier "unaff_s2") (+ "+") (identifier "iVar7"))) (; ";")) (if_statement "if (uVar6 < 0x30) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))();\n          return;\n        }" (if "if") (parenthesized_expression "(uVar6 < 0x30)" (( "(") (binary_expression "uVar6 < 0x30" (identifier "uVar6") (< "<") (number_literal "0x30")) () ")")) (compound_statement "{\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))();\n          return;\n        }" ({ "{") (expression_statement "(*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))();" (call_expression "(*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))()" (parenthesized_expression "(*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)))" (( "(") (pointer_expression "*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28))" (* "*") (cast_expression "(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28))" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28))" (( "(") (binary_expression "&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)" (pointer_expression "&_gp_1" (& "&") (identifier "_gp_1")) (+ "+") (pointer_expression "*(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)" (* "*") (cast_expression "(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28)" (( "(") (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4 + 0x3b28" (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c +\n                                      uVar6 * 4" (identifier "PTR_s_o_page_from_root____pageno_INTEG_0019095c") (+ "+") (binary_expression "uVar6 * 4" (identifier "uVar6") (* "*") (number_literal "4"))) (+ "+") (number_literal "0x3b28")) () ")"))))) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "*pbVar8 = 0x25;" (assignment_expression "*pbVar8 = 0x25" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (= "=") (number_literal "0x25")) (; ";")) (} "}")) (else_clause "else {\n        *pbVar8 = bVar5;\n      }" (else "else") (compound_statement "{\n        *pbVar8 = bVar5;\n      }" ({ "{") (expression_statement "*pbVar8 = bVar5;" (assignment_expression "*pbVar8 = bVar5" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (= "=") (identifier "bVar5")) (; ";")) (} "}")))) (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" (identifier "iVar14") (= "=") (binary_expression "iVar14 + 1" (identifier "iVar14") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar8 = pbVar3 + iVar14;" (assignment_expression "pbVar8 = pbVar3 + iVar14" (identifier "pbVar8") (= "=") (binary_expression "pbVar3 + iVar14" (identifier "pbVar3") (+ "+") (identifier "iVar14"))) (; ";")) (expression_statement "bVar5 = *pbVar11;" (assignment_expression "bVar5 = *pbVar11" (identifier "bVar5") (= "=") (pointer_expression "*pbVar11" (* "*") (identifier "pbVar11"))) (; ";")) (expression_statement "iVar4 = iVar7;" (assignment_expression "iVar4 = iVar7" (identifier "iVar4") (= "=") (identifier "iVar7")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar5 != 0)" (( "(") (binary_expression "bVar5 != 0" (identifier "bVar5") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))) (expression_statement "*pbVar8 = 0;" (assignment_expression "*pbVar8 = 0" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (pbVar3 == local_114) {\n    puStack_124 = (undefined *)0xffffffff;\n  }\n  else {\n    puStack_124 = PTR_LAB_00190b40 + -0xf88;\n  }" (if "if") (parenthesized_expression "(pbVar3 == local_114)" (( "(") (binary_expression "pbVar3 == local_114" (identifier "pbVar3") (== "==") (identifier "local_114")) () ")")) (compound_statement "{\n    puStack_124 = (undefined *)0xffffffff;\n  }" ({ "{") (expression_statement "puStack_124 = (undefined *)0xffffffff;" (assignment_expression "puStack_124 = (undefined *)0xffffffff" (identifier "puStack_124") (= "=") (cast_expression "(undefined *)0xffffffff" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (} "}")) (else_clause "else {\n    puStack_124 = PTR_LAB_00190b40 + -0xf88;\n  }" (else "else") (compound_statement "{\n    puStack_124 = PTR_LAB_00190b40 + -0xf88;\n  }" ({ "{") (expression_statement "puStack_124 = PTR_LAB_00190b40 + -0xf88;" (assignment_expression "puStack_124 = PTR_LAB_00190b40 + -0xf88" (identifier "puStack_124") (= "=") (binary_expression "PTR_LAB_00190b40 + -0xf88" (identifier "PTR_LAB_00190b40") (+ "+") (number_literal "-0xf88"))) (; ";")) (} "}")))) (expression_statement "local_128 = 1;" (assignment_expression "local_128 = 1" (identifier "local_128") (= "=") (number_literal "1")) (; ";")) (expression_statement "pbVar8 = param_1;" (assignment_expression "pbVar8 = param_1" (identifier "pbVar8") (= "=") (identifier "param_1")) (; ";")) (expression_statement "FUN_0007ec40(param_1,param_1 + 0x14,pbVar3,0xffffffff);" (call_expression "FUN_0007ec40(param_1,param_1 + 0x14,pbVar3,0xffffffff)" (identifier "FUN_0007ec40") (argument_list "(param_1,param_1 + 0x14,pbVar3,0xffffffff)" (( "(") (identifier "param_1") (, ",") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) (, ",") (identifier "pbVar3") (, ",") (number_literal "0xffffffff") () ")"))) (; ";")) (labeled_statement "switchD_0008b4d8_caseD_1:\n  if (local_3c != *(int *)puVar13) {\n    uVar16 = 0x8bb30;\n    puVar13 = PTR___stack_chk_fail_00190df8;\n    (*(code *)PTR___stack_chk_fail_00190df8)();\n    puVar15 = auStack_138;\n    while( true ) {\n      pbVar3 = pbVar8;\n      *(byte **)(puVar15 + -0x10) = unaff_s0;\n      *(undefined **)(puVar15 + -0xb0) = puVar13 + 0x10cdf0;\n      *(byte **)(puVar15 + -8) = unaff_s2;\n      *(undefined1 **)(puVar15 + -0xc) = unaff_s1;\n      *(undefined4 *)(puVar15 + -4) = uVar16;\n      unaff_s0 = *(byte **)(puVar13 + 0x1052f4);\n      *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)unaff_s0;\n      pbVar8 = pbVar3;\n      iVar4 = FUN_00087980();\n      iVar14 = *(int *)(puVar15 + -0xb0);\n      unaff_s1 = puVar15 + -0xa8;\n      if (iVar4 == 0) {\n        unaff_s1 = puVar15 + -0x78;\n        (*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))(puVar15 + -0xa8);\n        *(undefined4 *)(puVar15 + -0xbc) = *(undefined4 *)(puVar15 + -0x90);\n        iVar4 = *(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4);\n        *(undefined4 *)(puVar15 + -0xc0) = *(undefined4 *)(puVar15 + -0x94);\n        *(undefined4 *)(puVar15 + -0xc4) = *(undefined4 *)(puVar15 + -0x98);\n        *(int *)(puVar15 + -0xb8) = (int)*(double *)(puVar15 + -0x88);\n        *(undefined4 *)(puVar15 + -200) = *(undefined4 *)(puVar15 + -0x9c);\n        sqlite3_snprintf(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0));\n        *(undefined4 *)(puVar15 + -0xc4) = 0xffffffff;\n        *(undefined4 *)(puVar15 + -200) = 1;\n        pbVar8 = pbVar3;\n        FUN_0007ec40(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff);\n        iVar14 = *(int *)(puVar15 + -0xb0);\n      }\n      if (*(int *)(puVar15 + -0x14) == *(int *)unaff_s0) break;\n      pcVar12 = *(code **)(iVar14 + -0x7b28);\n      uVar16 = 0x8bc4c;\n      (*pcVar12)();\n      puVar13 = (undefined *)(*(int *)(pcVar12 + 0x104f90) + -0x44d0);\n      unaff_s2 = pbVar3;\n      puVar15 = puVar15 + -0xd8;\n    }\n    return;\n  }" (statement_identifier "switchD_0008b4d8_caseD_1") (: ":") (if_statement "if (local_3c != *(int *)puVar13) {\n    uVar16 = 0x8bb30;\n    puVar13 = PTR___stack_chk_fail_00190df8;\n    (*(code *)PTR___stack_chk_fail_00190df8)();\n    puVar15 = auStack_138;\n    while( true ) {\n      pbVar3 = pbVar8;\n      *(byte **)(puVar15 + -0x10) = unaff_s0;\n      *(undefined **)(puVar15 + -0xb0) = puVar13 + 0x10cdf0;\n      *(byte **)(puVar15 + -8) = unaff_s2;\n      *(undefined1 **)(puVar15 + -0xc) = unaff_s1;\n      *(undefined4 *)(puVar15 + -4) = uVar16;\n      unaff_s0 = *(byte **)(puVar13 + 0x1052f4);\n      *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)unaff_s0;\n      pbVar8 = pbVar3;\n      iVar4 = FUN_00087980();\n      iVar14 = *(int *)(puVar15 + -0xb0);\n      unaff_s1 = puVar15 + -0xa8;\n      if (iVar4 == 0) {\n        unaff_s1 = puVar15 + -0x78;\n        (*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))(puVar15 + -0xa8);\n        *(undefined4 *)(puVar15 + -0xbc) = *(undefined4 *)(puVar15 + -0x90);\n        iVar4 = *(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4);\n        *(undefined4 *)(puVar15 + -0xc0) = *(undefined4 *)(puVar15 + -0x94);\n        *(undefined4 *)(puVar15 + -0xc4) = *(undefined4 *)(puVar15 + -0x98);\n        *(int *)(puVar15 + -0xb8) = (int)*(double *)(puVar15 + -0x88);\n        *(undefined4 *)(puVar15 + -200) = *(undefined4 *)(puVar15 + -0x9c);\n        sqlite3_snprintf(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0));\n        *(undefined4 *)(puVar15 + -0xc4) = 0xffffffff;\n        *(undefined4 *)(puVar15 + -200) = 1;\n        pbVar8 = pbVar3;\n        FUN_0007ec40(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff);\n        iVar14 = *(int *)(puVar15 + -0xb0);\n      }\n      if (*(int *)(puVar15 + -0x14) == *(int *)unaff_s0) break;\n      pcVar12 = *(code **)(iVar14 + -0x7b28);\n      uVar16 = 0x8bc4c;\n      (*pcVar12)();\n      puVar13 = (undefined *)(*(int *)(pcVar12 + 0x104f90) + -0x44d0);\n      unaff_s2 = pbVar3;\n      puVar15 = puVar15 + -0xd8;\n    }\n    return;\n  }" (if "if") (parenthesized_expression "(local_3c != *(int *)puVar13)" (( "(") (binary_expression "local_3c != *(int *)puVar13" (identifier "local_3c") (!= "!=") (pointer_expression "*(int *)puVar13" (* "*") (cast_expression "(int *)puVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar13")))) () ")")) (compound_statement "{\n    uVar16 = 0x8bb30;\n    puVar13 = PTR___stack_chk_fail_00190df8;\n    (*(code *)PTR___stack_chk_fail_00190df8)();\n    puVar15 = auStack_138;\n    while( true ) {\n      pbVar3 = pbVar8;\n      *(byte **)(puVar15 + -0x10) = unaff_s0;\n      *(undefined **)(puVar15 + -0xb0) = puVar13 + 0x10cdf0;\n      *(byte **)(puVar15 + -8) = unaff_s2;\n      *(undefined1 **)(puVar15 + -0xc) = unaff_s1;\n      *(undefined4 *)(puVar15 + -4) = uVar16;\n      unaff_s0 = *(byte **)(puVar13 + 0x1052f4);\n      *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)unaff_s0;\n      pbVar8 = pbVar3;\n      iVar4 = FUN_00087980();\n      iVar14 = *(int *)(puVar15 + -0xb0);\n      unaff_s1 = puVar15 + -0xa8;\n      if (iVar4 == 0) {\n        unaff_s1 = puVar15 + -0x78;\n        (*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))(puVar15 + -0xa8);\n        *(undefined4 *)(puVar15 + -0xbc) = *(undefined4 *)(puVar15 + -0x90);\n        iVar4 = *(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4);\n        *(undefined4 *)(puVar15 + -0xc0) = *(undefined4 *)(puVar15 + -0x94);\n        *(undefined4 *)(puVar15 + -0xc4) = *(undefined4 *)(puVar15 + -0x98);\n        *(int *)(puVar15 + -0xb8) = (int)*(double *)(puVar15 + -0x88);\n        *(undefined4 *)(puVar15 + -200) = *(undefined4 *)(puVar15 + -0x9c);\n        sqlite3_snprintf(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0));\n        *(undefined4 *)(puVar15 + -0xc4) = 0xffffffff;\n        *(undefined4 *)(puVar15 + -200) = 1;\n        pbVar8 = pbVar3;\n        FUN_0007ec40(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff);\n        iVar14 = *(int *)(puVar15 + -0xb0);\n      }\n      if (*(int *)(puVar15 + -0x14) == *(int *)unaff_s0) break;\n      pcVar12 = *(code **)(iVar14 + -0x7b28);\n      uVar16 = 0x8bc4c;\n      (*pcVar12)();\n      puVar13 = (undefined *)(*(int *)(pcVar12 + 0x104f90) + -0x44d0);\n      unaff_s2 = pbVar3;\n      puVar15 = puVar15 + -0xd8;\n    }\n    return;\n  }" ({ "{") (expression_statement "uVar16 = 0x8bb30;" (assignment_expression "uVar16 = 0x8bb30" (identifier "uVar16") (= "=") (number_literal "0x8bb30")) (; ";")) (expression_statement "puVar13 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar13 = PTR___stack_chk_fail_00190df8" (identifier "puVar13") (= "=") (identifier "PTR___stack_chk_fail_00190df8")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_00190df8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_00190df8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_00190df8"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar15 = auStack_138;" (assignment_expression "puVar15 = auStack_138" (identifier "puVar15") (= "=") (identifier "auStack_138")) (; ";")) (while_statement "while( true ) {\n      pbVar3 = pbVar8;\n      *(byte **)(puVar15 + -0x10) = unaff_s0;\n      *(undefined **)(puVar15 + -0xb0) = puVar13 + 0x10cdf0;\n      *(byte **)(puVar15 + -8) = unaff_s2;\n      *(undefined1 **)(puVar15 + -0xc) = unaff_s1;\n      *(undefined4 *)(puVar15 + -4) = uVar16;\n      unaff_s0 = *(byte **)(puVar13 + 0x1052f4);\n      *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)unaff_s0;\n      pbVar8 = pbVar3;\n      iVar4 = FUN_00087980();\n      iVar14 = *(int *)(puVar15 + -0xb0);\n      unaff_s1 = puVar15 + -0xa8;\n      if (iVar4 == 0) {\n        unaff_s1 = puVar15 + -0x78;\n        (*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))(puVar15 + -0xa8);\n        *(undefined4 *)(puVar15 + -0xbc) = *(undefined4 *)(puVar15 + -0x90);\n        iVar4 = *(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4);\n        *(undefined4 *)(puVar15 + -0xc0) = *(undefined4 *)(puVar15 + -0x94);\n        *(undefined4 *)(puVar15 + -0xc4) = *(undefined4 *)(puVar15 + -0x98);\n        *(int *)(puVar15 + -0xb8) = (int)*(double *)(puVar15 + -0x88);\n        *(undefined4 *)(puVar15 + -200) = *(undefined4 *)(puVar15 + -0x9c);\n        sqlite3_snprintf(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0));\n        *(undefined4 *)(puVar15 + -0xc4) = 0xffffffff;\n        *(undefined4 *)(puVar15 + -200) = 1;\n        pbVar8 = pbVar3;\n        FUN_0007ec40(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff);\n        iVar14 = *(int *)(puVar15 + -0xb0);\n      }\n      if (*(int *)(puVar15 + -0x14) == *(int *)unaff_s0) break;\n      pcVar12 = *(code **)(iVar14 + -0x7b28);\n      uVar16 = 0x8bc4c;\n      (*pcVar12)();\n      puVar13 = (undefined *)(*(int *)(pcVar12 + 0x104f90) + -0x44d0);\n      unaff_s2 = pbVar3;\n      puVar15 = puVar15 + -0xd8;\n    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n      pbVar3 = pbVar8;\n      *(byte **)(puVar15 + -0x10) = unaff_s0;\n      *(undefined **)(puVar15 + -0xb0) = puVar13 + 0x10cdf0;\n      *(byte **)(puVar15 + -8) = unaff_s2;\n      *(undefined1 **)(puVar15 + -0xc) = unaff_s1;\n      *(undefined4 *)(puVar15 + -4) = uVar16;\n      unaff_s0 = *(byte **)(puVar13 + 0x1052f4);\n      *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)unaff_s0;\n      pbVar8 = pbVar3;\n      iVar4 = FUN_00087980();\n      iVar14 = *(int *)(puVar15 + -0xb0);\n      unaff_s1 = puVar15 + -0xa8;\n      if (iVar4 == 0) {\n        unaff_s1 = puVar15 + -0x78;\n        (*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))(puVar15 + -0xa8);\n        *(undefined4 *)(puVar15 + -0xbc) = *(undefined4 *)(puVar15 + -0x90);\n        iVar4 = *(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4);\n        *(undefined4 *)(puVar15 + -0xc0) = *(undefined4 *)(puVar15 + -0x94);\n        *(undefined4 *)(puVar15 + -0xc4) = *(undefined4 *)(puVar15 + -0x98);\n        *(int *)(puVar15 + -0xb8) = (int)*(double *)(puVar15 + -0x88);\n        *(undefined4 *)(puVar15 + -200) = *(undefined4 *)(puVar15 + -0x9c);\n        sqlite3_snprintf(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0));\n        *(undefined4 *)(puVar15 + -0xc4) = 0xffffffff;\n        *(undefined4 *)(puVar15 + -200) = 1;\n        pbVar8 = pbVar3;\n        FUN_0007ec40(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff);\n        iVar14 = *(int *)(puVar15 + -0xb0);\n      }\n      if (*(int *)(puVar15 + -0x14) == *(int *)unaff_s0) break;\n      pcVar12 = *(code **)(iVar14 + -0x7b28);\n      uVar16 = 0x8bc4c;\n      (*pcVar12)();\n      puVar13 = (undefined *)(*(int *)(pcVar12 + 0x104f90) + -0x44d0);\n      unaff_s2 = pbVar3;\n      puVar15 = puVar15 + -0xd8;\n    }" ({ "{") (expression_statement "pbVar3 = pbVar8;" (assignment_expression "pbVar3 = pbVar8" (identifier "pbVar3") (= "=") (identifier "pbVar8")) (; ";")) (expression_statement "*(byte **)(puVar15 + -0x10) = unaff_s0;" (assignment_expression "*(byte **)(puVar15 + -0x10) = unaff_s0" (pointer_expression "*(byte **)(puVar15 + -0x10)" (* "*") (cast_expression "(byte **)(puVar15 + -0x10)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "unaff_s0")) (; ";")) (expression_statement "*(undefined **)(puVar15 + -0xb0) = puVar13 + 0x10cdf0;" (assignment_expression "*(undefined **)(puVar15 + -0xb0) = puVar13 + 0x10cdf0" (pointer_expression "*(undefined **)(puVar15 + -0xb0)" (* "*") (cast_expression "(undefined **)(puVar15 + -0xb0)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0xb0)" (( "(") (binary_expression "puVar15 + -0xb0" (identifier "puVar15") (+ "+") (number_literal "-0xb0")) () ")")))) (= "=") (binary_expression "puVar13 + 0x10cdf0" (identifier "puVar13") (+ "+") (number_literal "0x10cdf0"))) (; ";")) (expression_statement "*(byte **)(puVar15 + -8) = unaff_s2;" (assignment_expression "*(byte **)(puVar15 + -8) = unaff_s2" (pointer_expression "*(byte **)(puVar15 + -8)" (* "*") (cast_expression "(byte **)(puVar15 + -8)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "unaff_s2")) (; ";")) (expression_statement "*(undefined1 **)(puVar15 + -0xc) = unaff_s1;" (assignment_expression "*(undefined1 **)(puVar15 + -0xc) = unaff_s1" (pointer_expression "*(undefined1 **)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "unaff_s1")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -4) = uVar16;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = uVar16" (pointer_expression "*(undefined4 *)(puVar15 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "uVar16")) (; ";")) (expression_statement "unaff_s0 = *(byte **)(puVar13 + 0x1052f4);" (assignment_expression "unaff_s0 = *(byte **)(puVar13 + 0x1052f4)" (identifier "unaff_s0") (= "=") (pointer_expression "*(byte **)(puVar13 + 0x1052f4)" (* "*") (cast_expression "(byte **)(puVar13 + 0x1052f4)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar13 + 0x1052f4)" (( "(") (binary_expression "puVar13 + 0x1052f4" (identifier "puVar13") (+ "+") (number_literal "0x1052f4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)unaff_s0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)unaff_s0" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)unaff_s0" (* "*") (cast_expression "(undefined4 *)unaff_s0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "unaff_s0")))) (; ";")) (expression_statement "pbVar8 = pbVar3;" (assignment_expression "pbVar8 = pbVar3" (identifier "pbVar8") (= "=") (identifier "pbVar3")) (; ";")) (expression_statement "iVar4 = FUN_00087980();" (assignment_expression "iVar4 = FUN_00087980()" (identifier "iVar4") (= "=") (call_expression "FUN_00087980()" (identifier "FUN_00087980") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar14 = *(int *)(puVar15 + -0xb0);" (assignment_expression "iVar14 = *(int *)(puVar15 + -0xb0)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(puVar15 + -0xb0)" (* "*") (cast_expression "(int *)(puVar15 + -0xb0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xb0)" (( "(") (binary_expression "puVar15 + -0xb0" (identifier "puVar15") (+ "+") (number_literal "-0xb0")) () ")"))))) (; ";")) (expression_statement "unaff_s1 = puVar15 + -0xa8;" (assignment_expression "unaff_s1 = puVar15 + -0xa8" (identifier "unaff_s1") (= "=") (binary_expression "puVar15 + -0xa8" (identifier "puVar15") (+ "+") (number_literal "-0xa8"))) (; ";")) (if_statement "if (iVar4 == 0) {\n        unaff_s1 = puVar15 + -0x78;\n        (*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))(puVar15 + -0xa8);\n        *(undefined4 *)(puVar15 + -0xbc) = *(undefined4 *)(puVar15 + -0x90);\n        iVar4 = *(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4);\n        *(undefined4 *)(puVar15 + -0xc0) = *(undefined4 *)(puVar15 + -0x94);\n        *(undefined4 *)(puVar15 + -0xc4) = *(undefined4 *)(puVar15 + -0x98);\n        *(int *)(puVar15 + -0xb8) = (int)*(double *)(puVar15 + -0x88);\n        *(undefined4 *)(puVar15 + -200) = *(undefined4 *)(puVar15 + -0x9c);\n        sqlite3_snprintf(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0));\n        *(undefined4 *)(puVar15 + -0xc4) = 0xffffffff;\n        *(undefined4 *)(puVar15 + -200) = 1;\n        pbVar8 = pbVar3;\n        FUN_0007ec40(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff);\n        iVar14 = *(int *)(puVar15 + -0xb0);\n      }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        unaff_s1 = puVar15 + -0x78;\n        (*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))(puVar15 + -0xa8);\n        *(undefined4 *)(puVar15 + -0xbc) = *(undefined4 *)(puVar15 + -0x90);\n        iVar4 = *(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4);\n        *(undefined4 *)(puVar15 + -0xc0) = *(undefined4 *)(puVar15 + -0x94);\n        *(undefined4 *)(puVar15 + -0xc4) = *(undefined4 *)(puVar15 + -0x98);\n        *(int *)(puVar15 + -0xb8) = (int)*(double *)(puVar15 + -0x88);\n        *(undefined4 *)(puVar15 + -200) = *(undefined4 *)(puVar15 + -0x9c);\n        sqlite3_snprintf(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0));\n        *(undefined4 *)(puVar15 + -0xc4) = 0xffffffff;\n        *(undefined4 *)(puVar15 + -200) = 1;\n        pbVar8 = pbVar3;\n        FUN_0007ec40(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff);\n        iVar14 = *(int *)(puVar15 + -0xb0);\n      }" ({ "{") (expression_statement "unaff_s1 = puVar15 + -0x78;" (assignment_expression "unaff_s1 = puVar15 + -0x78" (identifier "unaff_s1") (= "=") (binary_expression "puVar15 + -0x78" (identifier "puVar15") (+ "+") (number_literal "-0x78"))) (; ";")) (expression_statement "(*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))(puVar15 + -0xa8);" (call_expression "(*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))(puVar15 + -0xa8)" (parenthesized_expression "(*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))" (( "(") (pointer_expression "*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac)" (* "*") (cast_expression "(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar14 + -0x7d78) + -0x35ac)" (( "(") (binary_expression "*(int *)(iVar14 + -0x7d78) + -0x35ac" (pointer_expression "*(int *)(iVar14 + -0x7d78)" (* "*") (cast_expression "(int *)(iVar14 + -0x7d78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + -0x7d78)" (( "(") (binary_expression "iVar14 + -0x7d78" (identifier "iVar14") (+ "+") (number_literal "-0x7d78")) () ")")))) (+ "+") (number_literal "-0x35ac")) () ")")))) () ")")) (argument_list "(puVar15 + -0xa8)" (( "(") (binary_expression "puVar15 + -0xa8" (identifier "puVar15") (+ "+") (number_literal "-0xa8")) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0xbc) = *(undefined4 *)(puVar15 + -0x90);" (assignment_expression "*(undefined4 *)(puVar15 + -0xbc) = *(undefined4 *)(puVar15 + -0x90)" (pointer_expression "*(undefined4 *)(puVar15 + -0xbc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xbc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xbc)" (( "(") (binary_expression "puVar15 + -0xbc" (identifier "puVar15") (+ "+") (number_literal "-0xbc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + -0x90)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x90)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x90)" (( "(") (binary_expression "puVar15 + -0x90" (identifier "puVar15") (+ "+") (number_literal "-0x90")) () ")"))))) (; ";")) (expression_statement "iVar4 = *(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4);" (assignment_expression "iVar4 = *(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4)" (* "*") (cast_expression "(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar15 + -0xb0) + -0x7fc4)" (( "(") (binary_expression "*(int *)(puVar15 + -0xb0) + -0x7fc4" (pointer_expression "*(int *)(puVar15 + -0xb0)" (* "*") (cast_expression "(int *)(puVar15 + -0xb0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xb0)" (( "(") (binary_expression "puVar15 + -0xb0" (identifier "puVar15") (+ "+") (number_literal "-0xb0")) () ")")))) (+ "+") (number_literal "-0x7fc4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0xc0) = *(undefined4 *)(puVar15 + -0x94);" (assignment_expression "*(undefined4 *)(puVar15 + -0xc0) = *(undefined4 *)(puVar15 + -0x94)" (pointer_expression "*(undefined4 *)(puVar15 + -0xc0)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc0)" (( "(") (binary_expression "puVar15 + -0xc0" (identifier "puVar15") (+ "+") (number_literal "-0xc0")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + -0x94)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x94)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x94)" (( "(") (binary_expression "puVar15 + -0x94" (identifier "puVar15") (+ "+") (number_literal "-0x94")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0xc4) = *(undefined4 *)(puVar15 + -0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0xc4) = *(undefined4 *)(puVar15 + -0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0xc4)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc4)" (( "(") (binary_expression "puVar15 + -0xc4" (identifier "puVar15") (+ "+") (number_literal "-0xc4")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + -0x98)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x98)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x98)" (( "(") (binary_expression "puVar15 + -0x98" (identifier "puVar15") (+ "+") (number_literal "-0x98")) () ")"))))) (; ";")) (expression_statement "*(int *)(puVar15 + -0xb8) = (int)*(double *)(puVar15 + -0x88);" (assignment_expression "*(int *)(puVar15 + -0xb8) = (int)*(double *)(puVar15 + -0x88)" (pointer_expression "*(int *)(puVar15 + -0xb8)" (* "*") (cast_expression "(int *)(puVar15 + -0xb8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xb8)" (( "(") (binary_expression "puVar15 + -0xb8" (identifier "puVar15") (+ "+") (number_literal "-0xb8")) () ")")))) (= "=") (cast_expression "(int)*(double *)(puVar15 + -0x88)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(double *)(puVar15 + -0x88)" (* "*") (cast_expression "(double *)(puVar15 + -0x88)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x88)" (( "(") (binary_expression "puVar15 + -0x88" (identifier "puVar15") (+ "+") (number_literal "-0x88")) () ")")))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -200) = *(undefined4 *)(puVar15 + -0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -200) = *(undefined4 *)(puVar15 + -0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -200)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -200)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -200)" (( "(") (binary_expression "puVar15 + -200" (identifier "puVar15") (+ "+") (number_literal "-200")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + -0x9c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x9c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x9c)" (( "(") (binary_expression "puVar15 + -0x9c" (identifier "puVar15") (+ "+") (number_literal "-0x9c")) () ")"))))) (; ";")) (expression_statement "sqlite3_snprintf(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0));" (call_expression "sqlite3_snprintf(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0))" (identifier "sqlite3_snprintf") (argument_list "(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0))" (( "(") (number_literal "100") (, ",") (identifier "unaff_s1") (, ",") (binary_expression "iVar4 + -0x5eac" (identifier "iVar4") (+ "+") (number_literal "-0x5eac")) (, ",") (pointer_expression "*(undefined4 *)(puVar15 + -0xa0)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xa0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xa0)" (( "(") (binary_expression "puVar15 + -0xa0" (identifier "puVar15") (+ "+") (number_literal "-0xa0")) () ")")))) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0xc4) = 0xffffffff;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc4) = 0xffffffff" (pointer_expression "*(undefined4 *)(puVar15 + -0xc4)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc4)" (( "(") (binary_expression "puVar15 + -0xc4" (identifier "puVar15") (+ "+") (number_literal "-0xc4")) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -200) = 1;" (assignment_expression "*(undefined4 *)(puVar15 + -200) = 1" (pointer_expression "*(undefined4 *)(puVar15 + -200)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -200)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -200)" (( "(") (binary_expression "puVar15 + -200" (identifier "puVar15") (+ "+") (number_literal "-200")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "pbVar8 = pbVar3;" (assignment_expression "pbVar8 = pbVar3" (identifier "pbVar8") (= "=") (identifier "pbVar3")) (; ";")) (expression_statement "FUN_0007ec40(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff);" (call_expression "FUN_0007ec40(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff)" (identifier "FUN_0007ec40") (argument_list "(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff)" (( "(") (identifier "pbVar3") (, ",") (binary_expression "pbVar3 + 0x14" (identifier "pbVar3") (+ "+") (number_literal "0x14")) (, ",") (identifier "unaff_s1") (, ",") (number_literal "0xffffffff") () ")"))) (; ";")) (expression_statement "iVar14 = *(int *)(puVar15 + -0xb0);" (assignment_expression "iVar14 = *(int *)(puVar15 + -0xb0)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(puVar15 + -0xb0)" (* "*") (cast_expression "(int *)(puVar15 + -0xb0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xb0)" (( "(") (binary_expression "puVar15 + -0xb0" (identifier "puVar15") (+ "+") (number_literal "-0xb0")) () ")"))))) (; ";")) (} "}"))) (if_statement "if (*(int *)(puVar15 + -0x14) == *(int *)unaff_s0) break;" (if "if") (parenthesized_expression "(*(int *)(puVar15 + -0x14) == *(int *)unaff_s0)" (( "(") (binary_expression "*(int *)(puVar15 + -0x14) == *(int *)unaff_s0" (pointer_expression "*(int *)(puVar15 + -0x14)" (* "*") (cast_expression "(int *)(puVar15 + -0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (== "==") (pointer_expression "*(int *)unaff_s0" (* "*") (cast_expression "(int *)unaff_s0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "unaff_s0")))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pcVar12 = *(code **)(iVar14 + -0x7b28);" (assignment_expression "pcVar12 = *(code **)(iVar14 + -0x7b28)" (identifier "pcVar12") (= "=") (pointer_expression "*(code **)(iVar14 + -0x7b28)" (* "*") (cast_expression "(code **)(iVar14 + -0x7b28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar14 + -0x7b28)" (( "(") (binary_expression "iVar14 + -0x7b28" (identifier "iVar14") (+ "+") (number_literal "-0x7b28")) () ")"))))) (; ";")) (expression_statement "uVar16 = 0x8bc4c;" (assignment_expression "uVar16 = 0x8bc4c" (identifier "uVar16") (= "=") (number_literal "0x8bc4c")) (; ";")) (expression_statement "(*pcVar12)();" (call_expression "(*pcVar12)()" (parenthesized_expression "(*pcVar12)" (( "(") (pointer_expression "*pcVar12" (* "*") (identifier "pcVar12")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar13 = (undefined *)(*(int *)(pcVar12 + 0x104f90) + -0x44d0);" (assignment_expression "puVar13 = (undefined *)(*(int *)(pcVar12 + 0x104f90) + -0x44d0)" (identifier "puVar13") (= "=") (cast_expression "(undefined *)(*(int *)(pcVar12 + 0x104f90) + -0x44d0)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar12 + 0x104f90) + -0x44d0)" (( "(") (binary_expression "*(int *)(pcVar12 + 0x104f90) + -0x44d0" (pointer_expression "*(int *)(pcVar12 + 0x104f90)" (* "*") (cast_expression "(int *)(pcVar12 + 0x104f90)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar12 + 0x104f90)" (( "(") (binary_expression "pcVar12 + 0x104f90" (identifier "pcVar12") (+ "+") (number_literal "0x104f90")) () ")")))) (+ "+") (number_literal "-0x44d0")) () ")")))) (; ";")) (expression_statement "unaff_s2 = pbVar3;" (assignment_expression "unaff_s2 = pbVar3" (identifier "unaff_s2") (= "=") (identifier "pbVar3")) (; ";")) (expression_statement "puVar15 = puVar15 + -0xd8;" (assignment_expression "puVar15 = puVar15 + -0xd8" (identifier "puVar15") (= "=") (binary_expression "puVar15 + -0xd8" (identifier "puVar15") (+ "+") (number_literal "-0xd8"))) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))) (return_statement "return;" (return "return") (; ";")) (} "}")))

void function_1(type_1 *context,int var_1,type_2 **var_5)

{
  bool bVar1;
  type_3 *var_13;
  type_3 *puVar3;
  int var_21;
  type_4 *var_3;
  int var_6;
  type_4 *var_15;
  type_4 var_16;
  type_1 *pCtx_1;
  type_5 var_8;
  int var_17;
  type_6 *psVar10;
  int var_7;
  type_5 var_10;
  type_5 var_11;
  type_4 *pbVar14;
  type_4 *pbVar15;
  type_4 *var_18;
  type_7 x;
  type_7 y;
  char zBuf [100];
  
  puVar3 = PTR___stack_chk_guard_00190e24;
  var_21 = *(int *)PTR___stack_chk_guard_00190e24;
  if ((var_1 == 0) || (var_3 = (type_4 *)var_2(*var_5,'\x01'), var_3 == (type_4 *)0x0))
  goto LAB_0008b3d0;
  var_6 = var_4(context,var_1 + -1,var_5 + 1,&x);
  var_13 = var_9;
  if (var_6 != 0) goto LAB_0008b3d0;
  var_6 = (int)(char)*var_3;
  if (var_6 == 0) {
LAB_0008b5ac:
    var_15 = (type_4 *)zBuf;
  }
  else {
    var_7 = 0;
    var_11 = 0;
    var_8 = 1;
    do {
      var_7 = var_7 + 1;
      bVar1 = var_6 == 0x25;
      var_6 = (int)(char)var_3[var_7];
      if (bVar1) {
        var_8 = var_6 - 0x25U & 0xff;
        if (var_8 < 0x53) {
                    /* WARNING: Could not emulate address calculation at 0x0008b4cc */
                    /* WARNING: Treating indirect jump as call */
          (*(type_8 *)(&_gp + *(int *)(var_9 +
                                    var_8 * 4 + 0x39dc)))();
          return;
        }
        goto LAB_0008b3d0;
      }
      var_10 = var_8 + 1;
      var_11 = (var_10 < var_8) + var_11;
      var_8 = var_10;
    } while (var_6 != 0);
    if ((var_11 == 0) && (var_10 < 100)) goto LAB_0008b5ac;
    psVar10 = context->pOut->db;
    var_8 = psVar10->aLimit[0] >> 0x1f;
    if ((var_8 < var_11) || ((var_11 == var_8 && ((type_5)psVar10->aLimit[0] < var_10)))) {
      context->isError = 0x12;
      var_12(context->pOut,var_13 + -0x612c,-1,'\x01',(type_9 *)0x0);
      goto LAB_0008b3d0;
    }
    if ((psVar10->mallocFailed != '\0') ||
       (var_15 = (type_4 *)(*(type_8 *)(var_14 + 0x854))(psVar10,0,(int)var_10 >> 0x1f),
       var_15 == (type_4 *)0x0)) {
      (*(type_8 *)PTR_sqlite3_result_error_nomem_001909dc)(context);
      goto LAB_0008b3d0;
    }
  }
  var_18 = (type_4 *)zBuf;
  if (x.validJD == '\0') {
    (*(type_8 *)(var_14 + -0x3bac))(&x);
  }
  (*(type_8 *)(var_14 + -0x35ac))(&x);
  var_16 = *var_3;
  pbVar15 = var_15;
  if (var_16 != 0) {
    var_7 = 0;
    var_6 = 0;
    do {
      var_17 = var_6 + 1;
      pbVar14 = var_3 + var_17;
      if (var_16 == 0x25) {
        var_17 = var_6 + 2;
        var_8 = *pbVar14 - 0x48 & 0xff;
        pbVar14 = var_3 + var_17;
        if (var_8 < 0x30) {
                    /* WARNING: Could not emulate address calculation at 0x0008b67c */
                    /* WARNING: Treating indirect jump as call */
          (*(type_8 *)(&_gp + *(int *)(var_9 +
                                    var_8 * 4 + 0x3b28)))();
          return;
        }
        *pbVar15 = 0x25;
      }
      else {
        *pbVar15 = var_16;
      }
      var_7 = var_7 + 1;
      pbVar15 = var_15 + var_7;
      var_16 = *pbVar14;
      var_6 = var_17;
    } while (var_16 != 0);
  }
  *pbVar15 = 0;
  if (var_15 == var_18) {
    pCtx_1 = (type_1 *)0xffffffff;
  }
  else {
    pCtx_1 = (type_1 *)(var_19 + -0xf88);
  }
  var_20(context,(char *)&context->isError,(int)var_15,0xff,(type_9 *)0x1,
                      pCtx_1);
LAB_0008b3d0:
  if (var_21 != *(int *)puVar3) {
    (*(type_8 *)PTR___stack_chk_fail_00190df8)();
    return;
  }
  return;
}


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

void MASKED(byte *param_1,int param_2,undefined4 *param_3)

{
  bool bVar1;
  undefined *puVar2;
  byte *pbVar3;
  byte bVar5;
  int iVar4;
  uint uVar6;
  int iVar7;
  byte *pbVar8;
  uint uVar9;
  uint uVar10;
  byte *pbVar11;
  byte *unaff_s0;
  undefined1 *unaff_s1;
  byte *unaff_s2;
  code *pcVar12;
  undefined *puVar13;
  int iVar14;
  undefined1 *puVar15;
  undefined4 uVar16;
  undefined1 auStack_138 [16];
  undefined4 local_128;
  undefined *puStack_124;
  byte *local_114;
  undefined1 local_100 [40];
  char local_d8;
  byte abStack_a0 [100];
  int local_3c;
  
  puVar13 = PTR___stack_chk_guard_00190e24;
  local_3c = *(int *)PTR___stack_chk_guard_00190e24;
  pbVar8 = param_1;
  if (param_2 == 0) goto switchD_0008b4d8_caseD_1;
  pbVar8 = (byte *)*param_3;
  unaff_s2 = (byte *)FUN_00086f60(pbVar8,1);
  unaff_s0 = param_1;
  if (unaff_s2 == (byte *)0x0) goto switchD_0008b4d8_caseD_1;
  unaff_s1 = local_100;
  pbVar8 = param_1;
  iVar4 = FUN_00087980(param_1,param_2 + -1,param_3 + 1,unaff_s1);
  puVar2 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;
  if (iVar4 != 0) goto switchD_0008b4d8_caseD_1;
  iVar4 = (int)(char)*unaff_s2;
  if (iVar4 == 0) {
LAB_0008b5ac:
    pbVar3 = abStack_a0;
  }
  else {
    iVar14 = 0;
    uVar10 = 0;
    uVar6 = 1;
    do {
      iVar14 = iVar14 + 1;
      bVar1 = iVar4 == 0x25;
      iVar4 = (int)(char)unaff_s2[iVar14];
      if (bVar1) {
        uVar6 = iVar4 - 0x25U & 0xff;
        pbVar8 = (byte *)(uint)(uVar6 < 0x53);
        if (pbVar8 != (byte *)0x0) {
                    /* WARNING: Could not emulate address calculation at 0x0008b4cc */
                    /* WARNING: Treating indirect jump as call */
          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +
                                      uVar6 * 4 + 0x39dc)))();
          return;
        }
        goto switchD_0008b4d8_caseD_1;
      }
      uVar9 = uVar6 + 1;
      uVar10 = (uVar9 < uVar6) + uVar10;
      uVar6 = uVar9;
    } while (iVar4 != 0);
    if ((uVar10 == 0) && (uVar9 < 100)) goto LAB_0008b5ac;
    pbVar8 = *(byte **)param_1;
    iVar4 = *(int *)(pbVar8 + 0x20);
    uVar6 = (int)*(uint *)(iVar4 + 0x6c) >> 0x1f;
    if ((uVar6 < uVar10) || ((uVar10 == uVar6 && (*(uint *)(iVar4 + 0x6c) < uVar9)))) {
      param_1[0x14] = 0;
      param_1[0x15] = 0;
      param_1[0x16] = 0;
      param_1[0x17] = 0x12;
      local_128 = 0;
      FUN_0007d514(pbVar8,puVar2 + -0x612c,0xffffffff,1);
      goto switchD_0008b4d8_caseD_1;
    }
    if ((*(char *)(iVar4 + 0x51) != '\0') ||
       (pbVar3 = (byte *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(iVar4,0,(int)uVar9 >> 0x1f),
       pbVar3 == (byte *)0x0)) {
      pbVar8 = param_1;
      (*(code *)PTR_sqlite3_result_error_nomem_001909dc)();
      goto switchD_0008b4d8_caseD_1;
    }
  }
  local_114 = abStack_a0;
  if (local_d8 == '\0') {
    (*(code *)(PTR_LAB_00190ba8 + -0x3bac))(unaff_s1);
  }
  (*(code *)(PTR_LAB_00190ba8 + -0x35ac))(unaff_s1);
  bVar5 = *unaff_s2;
  pbVar8 = pbVar3;
  if (bVar5 != 0) {
    iVar14 = 0;
    iVar4 = 0;
    do {
      iVar7 = iVar4 + 1;
      pbVar11 = unaff_s2 + iVar7;
      if (bVar5 == 0x25) {
        iVar7 = iVar4 + 2;
        uVar6 = *pbVar11 - 0x48 & 0xff;
        pbVar11 = unaff_s2 + iVar7;
        if (uVar6 < 0x30) {
                    /* WARNING: Could not emulate address calculation at 0x0008b67c */
                    /* WARNING: Treating indirect jump as call */
          (*(code *)(&_gp_1 + *(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c +
                                      uVar6 * 4 + 0x3b28)))();
          return;
        }
        *pbVar8 = 0x25;
      }
      else {
        *pbVar8 = bVar5;
      }
      iVar14 = iVar14 + 1;
      pbVar8 = pbVar3 + iVar14;
      bVar5 = *pbVar11;
      iVar4 = iVar7;
    } while (bVar5 != 0);
  }
  *pbVar8 = 0;
  if (pbVar3 == local_114) {
    puStack_124 = (undefined *)0xffffffff;
  }
  else {
    puStack_124 = PTR_LAB_00190b40 + -0xf88;
  }
  local_128 = 1;
  pbVar8 = param_1;
  FUN_0007ec40(param_1,param_1 + 0x14,pbVar3,0xffffffff);
switchD_0008b4d8_caseD_1:
  if (local_3c != *(int *)puVar13) {
    uVar16 = 0x8bb30;
    puVar13 = PTR___stack_chk_fail_00190df8;
    (*(code *)PTR___stack_chk_fail_00190df8)();
    puVar15 = auStack_138;
    while( true ) {
      pbVar3 = pbVar8;
      *(byte **)(puVar15 + -0x10) = unaff_s0;
      *(undefined **)(puVar15 + -0xb0) = puVar13 + 0x10cdf0;
      *(byte **)(puVar15 + -8) = unaff_s2;
      *(undefined1 **)(puVar15 + -0xc) = unaff_s1;
      *(undefined4 *)(puVar15 + -4) = uVar16;
      unaff_s0 = *(byte **)(puVar13 + 0x1052f4);
      *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)unaff_s0;
      pbVar8 = pbVar3;
      iVar4 = FUN_00087980();
      iVar14 = *(int *)(puVar15 + -0xb0);
      unaff_s1 = puVar15 + -0xa8;
      if (iVar4 == 0) {
        unaff_s1 = puVar15 + -0x78;
        (*(code *)(*(int *)(iVar14 + -0x7d78) + -0x35ac))(puVar15 + -0xa8);
        *(undefined4 *)(puVar15 + -0xbc) = *(undefined4 *)(puVar15 + -0x90);
        iVar4 = *(int *)(*(int *)(puVar15 + -0xb0) + -0x7fc4);
        *(undefined4 *)(puVar15 + -0xc0) = *(undefined4 *)(puVar15 + -0x94);
        *(undefined4 *)(puVar15 + -0xc4) = *(undefined4 *)(puVar15 + -0x98);
        *(int *)(puVar15 + -0xb8) = (int)*(double *)(puVar15 + -0x88);
        *(undefined4 *)(puVar15 + -200) = *(undefined4 *)(puVar15 + -0x9c);
        sqlite3_snprintf(100,unaff_s1,iVar4 + -0x5eac,*(undefined4 *)(puVar15 + -0xa0));
        *(undefined4 *)(puVar15 + -0xc4) = 0xffffffff;
        *(undefined4 *)(puVar15 + -200) = 1;
        pbVar8 = pbVar3;
        FUN_0007ec40(pbVar3,pbVar3 + 0x14,unaff_s1,0xffffffff);
        iVar14 = *(int *)(puVar15 + -0xb0);
      }
      if (*(int *)(puVar15 + -0x14) == *(int *)unaff_s0) break;
      pcVar12 = *(code **)(iVar14 + -0x7b28);
      uVar16 = 0x8bc4c;
      (*pcVar12)();
      puVar13 = (undefined *)(*(int *)(pcVar12 + 0x104f90) + -0x44d0);
      unaff_s2 = pbVar3;
      puVar15 = puVar15 + -0xd8;
    }
    return;
  }
  return;
}

